Google+

Τετάρτη 23 Μαρτίου 2011

Arduino IR Remote Control

Η προσθήκη δυνατότητας απομακρυσμένου ελέγχου μιας εφαρμογής-κατασκευής με Arduino πάντα συναρπάζει το χρήστη αλλά και το δημιουργό. Ένας από τους πιο φτηνούς τρόπους απομακρυσμένης επικοινωνίας υλοποιείται με τη χρήση "υπερύρθρων" IR.

Ευτυχώς, η περισσότερη δουλειά έχει ήδη γίνει από άλλους και το μόνο που "μένει" για κάποιον είναι, απλά να σκεφτεί μια ιδέα για μια πραγματική εφαρμογή χρήσης ;)

Στο δικό μου πολύ απλό παράδειγμα, χρησιμοποιώ τη βιβλιοθήκη #IRremote.h και επεκτείνω την υλοποίηση του @efxa για την εμφάνιση κι ενός μηνύματος σε μια LCD ελεγχόμενο από ένα IR TV Remote . Στην αρχική υλοποίηση παρέχονται τα εξής σημαντικά :

1. IR remote code reading/learning via #IRremote.h
2. EEPROM save/load
3. Arduino <-> PC connectivity through serial/usb
4. Python script to execute external programs on linux

H δική μου προσθήκη :

5. Εμφάνιση μηνύματος στην LCD (πχ κανάλι)

HW υλικά για IR :
1. TSOP1238 IR Receiver Module (datasheet)
2. 220Ω resistor
3. push button

φώτο με όλα τα υλικά στο ράστερ :



TSOP1238+Push button(δεξιά)

SW code (προσθήκη στο έργο του @efxa):



#include shiftreglcd.h

ShiftRegLCD srlcd(12, 13, 8); // set the pin number for data,clock,enable

// display each character to the LCD
srlcd.clear();
delay(20);
int i=index; // use the remoteKey array index as display number
srlcd.print("Ch. ");
srlcd.print(i);
Βίντεο από τη λειτουργία του μπορείτε να δείτε εδώ.

Τέλος, κάποια βασικά για pull-down/up resistors εδώ.