求助各位大神 Arduino+直流电机 (语音控制+触摸按键控制)

各为大神们好,刚加入CSND就有一个小项目的问题想要咨询大家:

本次的项目是 用非特定人语音传感器LD3320 来控制 12V的直流电机(连接了LN298的电机驱动模块),又加了额外的一个触摸传感器想要增加一个控制模块。

想要实现的功能:语音控制电机的正反转。每次说上升之后,电机正转8秒停。每次说下降之后,电机反转8秒停。

触摸传感器也是实现一样的功能。

逻辑:触摸传感器和语音传感器可以单独触发,但是当语音控制上升之后,触摸传感器被触摸之后只能触发下降的指令,语音传感控制下降之后,如果这时候触发触摸按键的时候,只能触发上升的命令。

问题是:怎么把两个整合在一起?现在语音控制没有问题,但是没有办法像我设想的运行逻辑和触摸不起作用。。

恳请大神们帮我解决一下问题,跪谢!!!大哭

#include <ld3320.h>
#include<PinMap.h>
#include<Wire.h>

VoiceRecognition Voice;                         //声明一个语音识别对象

//int i=0;
int input1 = 3; // 定义uno的pin 5 向 input1 输出
int input2 = 5; // 定义uno的pin 6 向 input2 输出
int input3 = 6; // 定义uno的pin 9 向 input3 输出
int input4 = 10;// 定义uno的pin 10向 input4 输出

#define S1 7//触摸开关口为7

unsigned char mode;
unsigned char temp;

void key_scan();

void setup()
{
  pinMode(S1, INPUT); //输入

  // 初始化各IO, 模式为OUTPUT 输出模式
  pinMode(input1, OUTPUT);
  pinMode(input2, OUTPUT);
  pinMode(input3, OUTPUT);
  pinMode(input4, OUTPUT);

  //初始状态电机不转
  digitalWrite(input1, LOW); //给低电平
  digitalWrite(input2, LOW); //给低电平
  digitalWrite(input3, LOW); //给低电平
  digitalWrite(input4, LOW); //给低电平

  Serial.begin(9600);                        //配置9600
  Serial.print("Motor start!\n");            //Motor启动
  Serial.print("Voiceread start!\n");        //声音识别启动
  Voice.init();                               //初始化VoiceRecognition模块
  Voice.addCommand("shang sheng", 0);         //上升到30度
  Voice.addCommand("xia jiang", 1);           //下降到180度初始状态

  Voice.addCommand("shang", 2);            //杂音
  Voice.addCommand("sheng", 3);            //杂音
  Voice.addCommand("xia", 4);              //杂音
  Voice.addCommand("jiang", 5);            //杂音
  Voice.addCommand("zhuan", 6);            //杂音
  Voice.addCommand("san shi zhuan", 7);
  Voice.addCommand("ke jin zhuan", 8);
  Voice.addCommand("zhuan bu zhuan&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值