Arduino串行引脚未接收数据

时间:2019-06-21 07:49:43

标签: arduino voice-recognition neopixel

我正在尝试运行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的颜色会改变,但是永远不会改变。

0 个答案:

没有答案