ATTINY85 HC-05 BLUETOOTH SOFTWARESERIAL DEVICE
На модуле hc-05 все ноги подписаны, подключение для нашего примера очень просто. Земля к земле, питание к питанию, RX к TX и TX к RX. Диод подключается одной ногой резистра 220 ОМ к пину МК, а другой к катоду самого диода, в то время как анод, соответственно, идет на землю. Как заливать скетчи в МК, читайте здесь.
#define F_CPU 1200000UL // Указываем тактовую частоту МК //Программа загружается в МК при internal clock 1 Mhz из ядра от ATtiny microcontrollers. //Если при загрузке скетча проиходит сбой, следует тыкнуть кнопку ресет на ардуинке. //Кондер на 10 мФ должен быть подключен. #include //Подключаем библиотеку серийного порта SoftwareSerial mySerial(1, 0); //rx, tx char data = 0; // Переменная для хранения принятых данных const int rx = PB1; //Объявляем ноги приема-передачи серийного порта const int tx = PB0; int led = PB2; //Объявляем пин диода void setup() { pinMode(led, OUTPUT); mySerial.begin(9600); //стартуем серийный порт mySerial.println("Program started..."); //Пишем в порт, что программа запустилась. DDRB |= (1 << led); // конфигурируем пин диода как выход PORTB &= ~(1 << led); // по умолчанию светодиод выключен } void loop() { if (mySerial.available() > 0) // Если есть принятые данные { data = mySerial.read(); // Принимаем эти данные и сохраняем в переменной data mySerial.print(data); // Выводим данные из data в монитор серийного порта mySerial.print("\n"); if (data == '1') // Если data равна 1 PORTB ^= (1 << led) & mySerial.println("Light ON!"); // Включаем светодиод, инвертируя состояние пина else if (data == '0') // Если data равна 0 PORTB &= ~(1 << led) & mySerial.println("Light Off!"); // Выключаем светодиод, инвертируя состояние пина } }