Не всегда сброс работает как надо
- Войдите на сайт для отправки комментариев
Чт, 13/03/2014 - 13:05
Уважаемый народ, прошу у вас помощи, ибо я уже сломал мозг разбираться в чем проблема.
У меня есть ардуинка про мини 328 (5В), которая обрабатывает приходящий сигнал с пульта, и тем самым сбрасывает мегу2560 от определенной кнопки путем прерывания. Все бы ничего, если бы он сбрасывался всегда. Каждый 5 раз мега не сбрасывается, а это очень критично в моем случае. Методом тестов я выяснил, что не всегда приходит сигнал сброса с про мини. Вот собственно код с нее:
#include <IRremote.h> #include <IRremoteInt.h> int RECV_PIN = 10; #define POP 0X40BF18E7 //значение кнопки #define P1 0X40BFD02F //значение кнопки #define P2 0X40BFE01F //значение кнопки #define P3 0X40BFD827 //значение кнопки IRrecv irrecv(RECV_PIN); decode_results results; void osnov() { { digitalWrite(11, LOW); digitalWrite(3, LOW); delay(50); } { digitalWrite(11, HIGH); digitalWrite(3, HIGH); delay(50); } } void setup() { Serial.begin(9600); irrecv.enableIRIn(); // Inicializamos el receptor pinMode(3, OUTPUT); pinMode(11, OUTPUT); pinMode(RECV_PIN, INPUT); unsigned char i; int a; int dan; } void loop() { int dan; digitalWrite(11, HIGH); digitalWrite(3, HIGH); if (irrecv.decode(&results)) { if ( results.value != 0xFFFFFFFF) { switch (results.value) { case POP : osnov(); break; case P1 : dan=1; break; case P2 : dan=2; break; case P3 : dan=3; break; } } irrecv.resume(); // Receive the next value } }
Подскажите, в чем может быть проблема?
Есть такая вероятность, что сигнал с пульта просто приходит искаженным и обработчик его просто не распознает? Если да, то как решить эту проблему?
А зачем ресетить ардуину через пульт ?
Синхронизация одновременно 6 ардуинок мега2560