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 εδώ.

2 σχόλια:

  1. Καλησπέρα,

    καλή αρχή, δεν μας λες τι είναι το μαραφέτι, εγώ σε κάτι PIC έμεινα.

    Σταύρος

    ΑπάντησηΔιαγραφή
  2. Α, κι εγώ εκεί στα PIC είχα μείνει με την picBasic, picASM κτλ

    Το Arduino περιέχει μικροελεγκτές της Atmel (avr), σε μια πλακέτα που αποτελεί ολοκληρωμένο IDE(περιβάλλον ανάπτυξης), serial/usb interface για επικ/νία με pc, programmer* και χρήση της γλώσσας Processing (που μοιάζει πολύ με c++) για την ανάπτυξη εφαρμογών.

    Φυσικά, το Arduino είναι "ανοικτό" δλδ schematics,pcb, i/o specs κτλ είναι Open Source Hardware και φυσικά διαθέσιμα προς επέκταση/ανάπτυξη ελεύθερα όπως δλδ γίνεται αντίστοιχα και με το Open Source Software. Έτσι υπάρχουν ήδη "ανοικτοί" κλώνοι του Arduino(Freeduino κτλ) και shields(δλδ πλακέτες με αισθητήρες για επέκταση δυνατοτήτων) που είναι αρκετά φθηνοί!

    Μιλάμε η αρχική ιδέα της ομάδας των Ιταλών δημιουργών στο παν/μο του Τορίνο το 2006 ήταν πολύ μπροστά :) αυτή τη στιγμή υπάρχει μια πολύ μεγάλη κοινότητα παγκοσμίως που υποστηρίζει όλη αυτήν την ιστορία και ως ένα βαθμό επιβεβαιώνει το moto : "The Future is Open"

    άντε να μαζευόμαστε σιγά-σιγά ;)

    *Δε θα ξεχάσω τους πανάκριβους programmer που χρειαζότανε να έχω στη διάθεσή μου για προγραμματίσω τα PIC16F84 εκείνες τις παλιές καλές εποχές ;)

    ΑπάντησηΔιαγραφή