Attiny85 + приемник/передатчик 433Mhz
- Войдите на сайт для отправки комментариев
Решил попробовать передавать данные с датчика на Uno по радиоканалу. Передатчик собрал на Attiny 85, приемник на UNO. Приемник-передатчик такие http://ru.aliexpress.com/item/RF-wireless-receiver-module-transmitter-module-board-Ordinary-super-regeneration-315-433MHZ-DC5V-ASK-OOK/1814791569.html?recommendVersion=1
Attiny прошил на 8 Mhz на внутреннем осцилляторе и залил такой скетч:
#include <VirtualWire.h> const int txPin = 4; void setup() { Serial.begin(9600); Serial.println("setup"); // Initialise the IO and ISR vw_set_ptt_inverted(true); // Required for DR3100 vw_setup(2000); // Bits per sec vw_set_tx_pin(txPin); void loop() { const char *msg = "hello"; digitalWrite(13, true); // Flash a light to show transmitting vw_send((uint8_t *)msg, strlen(msg)); vw_wait_tx(); // Wait until the whole message is gone digitalWrite(13, false); delay(200); }
Скетч для UNO тоже стандартный:
#include <VirtualWire.h> void setup() { Serial.begin(9600); // Debugging only Serial.println("setup"); // Initialise the IO and ISR vw_set_ptt_inverted(true); // Required for DR3100 vw_setup(2000); // Bits per sec vw_set_rx_pin (9); vw_rx_start(); // Start the receiver PLL running } void loop() { uint8_t buf[VW_MAX_MESSAGE_LEN]; uint8_t buflen = VW_MAX_MESSAGE_LEN; if (vw_get_message(buf, &buflen)) // Non-blocking { int i; digitalWrite(13, true); // Flash a light to show received good message // Message with a good checksum received, dump it. Serial.print("Got: "); for (i = 0; i < buflen; i++) { Serial.print(buf[i], HEX); Serial.print(" "); } Serial.println(""); digitalWrite(13, false); } }
В итогое все как бы работает, но нестабильно. Если закрыть монитор порта и выйти из IDE - прием-передача продолжаеться еще где-то минуту, потом TX диод прекращает мигать и горит постоянно. Я так понимаю, прием прекращаеться. Если опять запустить IDE и открыть монитор порта - мигание продолжиться и побегут обычные пакеты:
Got: 68 65 6C 6C 6F
Не изобретайте велосипед, тут тоже но более готовое, хотя там тоже есть ошибки, проверял: http://sagis.ru/blog/?p=195
Спасибо за ссылку, будем бороться