RC Rocket Launch System (10 / 11 steg)
Steg 10: kod
#include < IRremote.h > //For IR-fjärrkontroller
#include < LiquidCrystal.h > //For displayen
LiquidCrystal lcd (7, 8, 9, 10, 11, 12); Skapar displayen
int RECV_PIN = 3; Mottagaren är ansluten till stift 3
int sekunder = 0;
IRrecv irrecv(RECV_PIN);
decode_results resultat.
void setup()
{
pinMode (2, utgång); Relay pin
LCD.BEGIN (16, 2); 16 x 2 lcd
irrecv.enableIRIn();
}
Ogiltig loop)
{
lcd.setCursor(0,0);
LCD.Print(seconds); Visar förseningen
LCD.Print ("fördröjning");
om (irrecv.decode (& resultat))
{
om (results.value == 2672) //Your mittknappen förändring denna linje!
{
om (sekunder > 0)
{
int loopar = 0;
medan (loopar! = sekunder) //Countdown
{
lcd.setCursor(0,1);
LCD.Print("");
lcd.setCursor(0,1);
LCD.Print((seconds-1)-Loops);
Delay(1000);
loopar ++;
}
digitalWrite (2, hög).
Delay(1000);
digitalWrite (2, låg).
Delay(200);
digitalWrite (2, hög). Försök ett par gånger om det inte fungerar första gången
Delay(700);
digitalWrite (2, låg).
Delay(200);
digitalWrite (2, hög).
Delay(700);
digitalWrite (2, låg).
Delay(200);
digitalWrite (2, hög).
Delay(700);
digitalWrite (2, låg).
Delay(200);
digitalWrite (2, hög).
Delay(700);
}
annat
{
digitalWrite (2, hög).
}
}
om (results.value == 752) //Your upp knappen ändra denna linje!
{sekunder ++; lcd.clear(); delay(200);}
om (results.value == 2800) //Your ned knappen ändra denna linje!
{sekunder--; lcd.clear(); delay(200);}
}
annat
{
digitalWrite (2, låg).
}
irrecv.Resume();
Delay(100);
}