Помагите разобраться с радиоуправлением на основе модуля приемника и пульта на 433МГц
- Войдите на сайт для отправки комментариев
Сб, 21/05/2016 - 08:53
Имеется пару модулей приемников на 433МГц, а так же имеется пульт от люстры на 433МГц, коды с кнопок мне удалось прочесть с изпользованием библиотеки RCSwitch, но я хотел бы реализовать управление 4 реле с помощью этого пульта, приемника и ARDUINO, весь гугл перерыл, но рабочего скетча по этой теме я так и нашел


Читаете код, сравниваете с известным, включаете/отключаете реле. Что тут сложного? Давайте код того как читали коды, попытаемся из него сделать управление реле.
#include <RemoteReceiver.h>
// Connect the receiver to digital pin 2.-пин 2.это вход для Радиоприёмника
void setup() {
Serial.begin(9600);
RemoteReceiver::init(0, 3, showCode);
}
void loop() {
}
void showCode(unsigned long receivedCode, unsigned int period) {
Serial.print("Code: ");
Serial.print(receivedCode);
Serial.print(", period duration: ");
Serial.print(period);
Serial.println("us.");
}
Эх... если бы для меня было легко, я бы не спрашивал где только можно
#include <RemoteReceiver.h> //Пины реле #define RELE1 4 #define RELE2 5 #define RELE3 6 #define RELE4 7 // Коды кнопок #define CODE1 000001 #define CODE2 000002 #define CODE3 000003 #define CODE4 000004 // Connect the receiver to digital pin 2.-пин 2.это вход для Радиоприёмника void setup() { Serial.begin(9600); RemoteReceiver::init(0, 3, showCode); pinMode(RELE1, OUTPUT); pinMode(RELE2, OUTPUT); pinMode(RELE3, OUTPUT); pinMode(RELE4, OUTPUT); // инициализируем статус реле digitalWrite(RELE1, HIGH); digitalWrite(RELE2, HIGH); digitalWrite(RELE3, HIGH); digitalWrite(RELE4, HIGH); } void loop() { } void showCode(unsigned long receivedCode, unsigned int period) { Serial.print("Code: "); Serial.print(receivedCode); Serial.print(", period duration: "); Serial.print(period); Serial.println("us."); //Переключаем реле с нужным кодом switch(receivedCode){ case CODE1: digitalWrite(RELE1,!digitalRead(RELE1)); break; case CODE2: digitalWrite(RELE2,!digitalRead(RELE2)); break; case CODE3: digitalWrite(RELE3,!digitalRead(RELE3)); break; case CODE4: digitalWrite(RELE4,!digitalRead(RELE4)); break; } delay(500); //антидребезг }Вот как то так
Ругается на ошибку
ну там очепятки были. А если бы я вам вирус написал??? Вы бы так же не проверив сделали копировать/вставить ))))
у меня антивирус стоит, я ему доверяю