Не всегда сброс работает как надо
- Войдите на сайт для отправки комментариев
Чт, 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