// Prikazuje IR signal
// Danijel Ptičar
#define IRpin 4
unsigned long micros1;
unsigned long micros2;
unsigned long micros3;
void setup() {
pinMode(IRpin,INPUT);
Serial.begin(57600);
}
void loop() {
// nema IR signala
while( digitalRead(IRpin) == 1 ) ;
// IR signal prisutan
micros1 = micros();
do
{
// petlja se vrti dok imamo IR signal
while( digitalRead(IRpin) == 0 ) ;
micros2 = micros(); // signal je završio, spremi vrijeme
// pošalji koliko je trajao PULS
Serial.println(micros2-micros1);
// nema signala
micros3 = micros2;
// čekamo novi signal ili timeout
while( digitalRead(IRpin) == 1 && (micros3-micros2)<10000) micros3 = micros();
// novi IR signal
Serial.println(micros3-micros2);
micros1=micros3;
} while(micros3-micros2<10000); // 10000us se smatra da više nema signala
Serial.println("----");
}