Projekt: Infračervené ovládanie
Zo stránky SensorWiki
Sem príde správa z riešenia projektu.
Hodiny na orientačný beh
DVPS - infračervený príjmač
- Vypracovali:
- Bc. Martin Lacko
- Bc. Andrej Pecho
- Študijný odbor: Aplikovaná mechatronika
- Ročník: 2. Ing.
- Úloha:
- Naprogramujte prijímač infračerveného (IR) diaľkového (DO) ovládania. Vypracujte dokumentáciu (schéma zapojenia, zapojenie konektorov, popis funkcie obvodov, pripojenie k procesoru,...). Demonštrujte pochopenie funkcie jednoduchým programom: Po stlačení klávesy na DO zobrazíte jej hodnotu na displeji. Na niektoré tlačidlá pripojte aj inú funkciu - ovládanie LED, bzučiak, príp. ovládanie mobilného robota.
Obr. Použitý IR príjimač PNA4601M |center
<source lang="c">
- include <IRremote.h> // kniznica pre IR ovladace - tuto treba pridat pretoze standardne nie je sucastou
- include <LiquidCrystal.h> // knižnica pre display
// initialize the library with the numbers of the interface pins // LiquidCrystal(RS, RW, EN, D4, D5, D6, D7) // konkretne piny displaya LiquidCrystal lcd( 3, 2, 1, 4, 5, 6, 7); // piny na ktore sa pripaja display
long int Button_1 = 1634762879; // kody konkretnych tlacitok v desiatkovej sustave ovladaca ORANGE long int Button_2 = 1634746559; // musi to byt typ long lebo int bol kratky long int Button_3 = 1634779199; long int Button_4 = 1634738399; long int Button_5 = 1634771039; long int Button_6 = 1634754719; long int Button_7 = 1634787359; long int Button_8 = 1634734319; long int Button_9 = 1634766959; long int Button_0 = 1634730239; long int Button_OK = 1634773079; long int Button_EXIT = 1634764919; long int Button_OFF = 1634748599;
int count = 0; // premena pocitadka, kontrola ci uz je display zapnyty = 0 a ked vypnuty je 1
int LED = 13; // pin na ktorom je zlta ledka int RECV_PIN = 8; // pin na ktorom je zapojeny infra prijimac IRrecv irrecv(RECV_PIN); // toto je trieda v kotrej je aj funkcia na primanie signalu, nastavi primanie na ten pin teda na 8 decode_results results; // meno premenej do ktorej sa bude ukladat vysledok dekodovania long int incomming; // premnna do ktorej sa uklada hodnota PWM signalu z dialkoveho v desiatkovej sustave
<source>
- Ročník: 2. Ing.
<source lang="c">
void setup() // tu zacina finkcia kotra zbehne iba raz ked sa zapne arduino {
//Serial.begin(9600); // musi byt zakomentovane aby fungoval display, AK je odkomentovany tak NEFUNGUJE display irrecv.enableIRIn(); // Start the receiver = inicializuje prijimanie signalu Serial.println("ZADAJ VOLBU :"); // vypis na seriovu linku pinMode(LED,OUTPUT); // to je jasne // set up the LCD's number of columns and rows: lcd.begin(8, 2); // inicializuje komunikaciu s LCD na 8 strplcov a 2 riadky lcd.clear(); // vymaze delay(500); // po vymazani pocka 0.5s // Print a message to the LCD. lcd.print("Cakam..."); // potom inicializ. vypise cakam ...
} <source>