Скетч --- как убедиться, что скетч работает

Grt
Offline
Зарегистрирован: 19.07.2019

Есть скетч в котором я хочу включать и выключать реле, с помощью ИК управления :

#include "IRremote.h"

IRrecv irrecv(2);
decode_results results;

int rele=0;

void setup() 
{
  pinMode(5,OUTPUT);

  Serial.begin(9600);
  irrecv.enableIRIn();

}                                                
                                                 
void loop() 
{
  if(irrecv.decode(&results))
  {
    Serial.println(results.value, HEX);

    if(results.value==0x55AA14EB&&rele==0)
    {
      Serial.println("releON");
      digitalWrite(5,HIGH);rele=1;
    }

    else if(results.value==0x55AA14EB&&rele==1)
    {
      Serial.println("releOff");
      digitalWrite(5,LOW);rele=0;
    }

  irrecv.resume();
  results.value=0;
  }

}

И как убедится, что он работает в жизни без Протеуса? (К слову, я пока не могу собрать в реальности)

sadman41
Онлайн
Зарегистрирован: 19.10.2016

Работает в чьей жизни?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Grt пишет:

И как убедится, что он работает в жизни без Протеуса?

Запустить и провести испытания. Чем грамотнее программа и методика испытаний, тем больше уверенности в их адекватности.

Grt пишет:

К слову, я пока не могу собрать в реальности

К слову, тогда никак.

Rostislav_lv
Offline
Зарегистрирован: 12.02.2019
ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

что это было?

vosara
vosara аватар
Offline
Зарегистрирован: 08.02.2014

Пробуйте Сам не проверял

#include "IRremote.h"

IRrecv irrecv(2);
decode_results results;

bool rele=0;
uint32_t lastMil = millis();

void setup() 
{
  pinMode(5,OUTPUT);
  //  Serial.begin(9600);
  irrecv.enableIRIn();
}

void loop() 
{
  if(irrecv.decode(&results))
  {
    if(results.value == 0x55AA14EB){
      if (millis() - lastMil >= 500)
      {
        rele = !rele;
        digitalWrite(5, rele);
      }
      lastMil = millis();
    }
    irrecv.resume();
  }
}