Серийный пин Arduino не получает данные - PullRequest
0 голосов
/ 21 июня 2019

Я пытаюсь запустить модуль распознавания голоса Geeetech, чтобы распознать мои команды и изменить цвет Neopixels вместе с ними. Проблема в том, что мой Arduino никогда не получает вывод от модуля распознавания голоса. Когда подключаете его к моему компьютеру и используете AccessPort для связи, все работает отлично. Модуль правильно подключен к контактам Rx и Tx и даже получает данные запуска от Arduino Uno.

Я уже пытался отправить команду через последовательный монитор, светодиод Arduino Rx мигает в ближайшее время, потому что никогда не мигает, когда мой модуль распознавания голоса должен отправить данные. Я даже пытался включить его через отдельный источник питания, но это ничего не изменило. Я отключаю вывод 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);
}

Я ожидаю, что цвет светодиода изменится, но он никогда не изменится.

...