我正在尝试运行Geeetech语音识别模块以识别我的命令并随其更改Neopixels的颜色。问题是,我的Arduino从未收到语音识别模块的输出。将其连接到我的计算机并使用AccessPort进行通信时,一切正常。 该模块已正确连接到Rx和Tx引脚,甚至可以从Arduino Uno接收启动数据。
我已经尝试过通过串行监视器发送命令,Arduino Rx LED会短暂闪烁,因为当我的语音识别模块发送数据时,它永远不会闪烁。 我什至尝试通过单独的电源为其供电,但它没有任何改变。 我在上传时断开Rx引脚,然后连接该引脚,然后使用Arduino的重置按钮。
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
#define PIN 5
Adafruit_NeoPixel strip = Adafruit_NeoPixel(1, PIN, NEO_GRB + NEO_KHZ800);
byte com = 0;
void setup()
{
Serial.begin(9600);
strip.begin();
strip.show();
delay(2000);
Serial.write(0xAA);
Serial.write(0x37);
delay(1000);
Serial.write(0xAA);
Serial.write(0x21);
}
void loop() // run over and over again
{
if(Serial.available() > 0)
{
com = lowByte(Serial.read());
switch(com)
{
case 0x11:
strip.setPixelColor(0, strip.Color(255,255,255));
break;
case 0x12:
strip.setPixelColor(0, strip.Color(255,0, 0));
break;
case 0x13:
strip.setPixelColor(0, strip.Color(0,255, 0));
break;
case 0x14:
strip.setPixelColor(0, strip.Color(0, 0, 255));
break;
case 0x15:
strip.setPixelColor(0, strip.Color(0,0,0));
break;
}
}
delay(250);
}
我希望LED的颜色会改变,但是永远不会改变。