Добрый день. Я пыталась подключить bluetooth-модуль HC-06 к плате Digispark attiny85 и отправлять на него значение со смартфона через bluetooth-терминал. При получении значения, отличного от нуля, должен загораться встроенный светодиод. Но по какой-то причине от не загорается. Плата и модуль точно исправны. Сама никак не могу разобраться, так как в arduino новичок. Помогите, пожалуйста найти ошибку. Заранее благодарна за любую помощь. Код (C++): #include <SoftSerial.h> #include <TinyPinChange.h> #define RX 5 #define TX 3 SoftSerial bluetooth(TX, RX); int rasst = 0; void setup() { pinMode(1, OUTPUT); bluetooth.begin(9600); } void loop() { if(bluetooth.available()) { rasst = bluetooth.read(); delay(100); } if(rasst == 0) { digitalWrite(1,LOW); } else { digitalWrite(1, HIGH); } delay(10000); }
#include <TinyPinChange.h> - удалите строку пины 5 и 3 замените на 0 и 2 (если нет особых соображений). 5 - это reset, а 3 занят USB интерфейсом if(rasst ==0) - замените 0 на 0x30 (код символа '0') delay(10000); - удалите строку
Я внесла поправки. Теперь через несколько секунд после подключения схемы к питаю светодиод сам по себе, без команды и даже до подключения смартфона, загорается и не выключается ни при каких обстоятельствах. Как правильно записать код символа? Возможно, я ошиблась в этом. Но мне кажется, проблема есть где-то ещё.
Код (C++): #include <SoftSerial.h> #define RX 0 #define TX 2 SoftSerial bluetooth(TX, RX); int rasst = 0; void setup() { pinMode(1, OUTPUT); digitalWrite(1,LOW); bluetooth.begin(9600); } void loop() { if(bluetooth.available()) { rasst = bluetooth.read(); delay(100); } if(rasst == 0x30) { digitalWrite(1,LOW); } else { digitalWrite(1, HIGH); } } RXT bluetooth-модуля подключен к P2 на Digispark, TXD к P0. (VCC и GND модуля подключены не к плате, а к другому источнику питания)
Отключите их. Если к Digispark ничего не подключено, то загораться не должно. GND должны быть соединены в любом случае. 6. int rasst = 0; Здесь забыли тоже поменять 0 на 0x30