Модуль HC-06
- Войдите на сайт для отправки комментариев
Вс, 07/09/2014 - 06:55
Получил долгожданный HC-06, решил побаловаться, но не тут то было...
Подключил согласно документации: RX - TX, TX-RX, VCC - 5v, GND - GND
Накидал небольшой скетч для теста - управление 3-мя светодиодами: красный, жёлтый, зелёный.
int val; int LED1 = 2; int LED2 = 3; int LED3 = 4; void setup() { Serial.begin(9600); pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); } void loop() { if (Serial.available()) { val = Serial.read(); if (val == 'RED') { digitalWrite(LED1, HIGH); } if ( val == 'REDOFF') { digitalWrite(LED1, LOW); } if (val == 'YELLOW') { digitalWrite(LED2, HIGH); } if ( val == 'YELLOWOFF') { digitalWrite(LED2, LOW); } if (val == 'GREEN') { digitalWrite(LED3, HIGH); } if ( val == 'GREENOFF') { digitalWrite(LED3, LOW); } } }
Управление должно происходить с Android устройства при помощи "BT Terminal".
Сопряжение с модулем проходит успешно, а вот с терминалом коннектиться не желает.
Также пытался изменить скорость передачи, но в мониторе порта модуль отвечает только на команду "AT+NAME".
Хотелось бы понять в чём проблема и зставить всё это работать.
попробуй в первой строчке поменять типы данных, вместо
int
val; поставь char val;
serial.read() возвращает один символ
поэтому
val ==
'RED'
низзя. хочется сравнивать со строкой - считывайте посимвольно, склеивайте в строку и сравнивайте strcmp()