Θα δημιουργήσουμε ένα σύστημα IR remote arduino το οποίο θα ανοιγοκλείνει μία πόρτα μέσω ενός σερβομοτέρ.
Σκοπός του άρθρου είναι να γνωρίσουμε πως ακριβώς λειτουργεί η υπέρυθρη ακτινοβολία και πως μπορούμε να την αξιοποιήσουμε με την βοήθεια του Arduino.
Εννοείται ότι μπορείτε να τσεκάρετε και τα υπόλοιπα άρθρα και βίντεο με κατασκευές Arduino στην σελίδα tutorials.
Τι είναι η υπέρυθρη ακτινοβολία
Οι υπέρυθρες ακτινοβολίες έχουν μήκη κύματος που κυμαίνονται μεταξύ 700nm και 106nm και αποτελούν περίπου το 60% της ηλιακής ακτινοβολίας.
Το βάθος διείσδυσής τους στο δέρμα είναι πολύ μικρό φτάνοντας μέχρι 1mm το μέγιστο. Μερικές από τις ιδιότητες των υπερύθρων είναι οι εξής:
Απορροφώνται επιλεκτικά από διάφορα σώματα και προκαλούν αύξηση της θερμοκρασίας τους.
- Διέρχονται μέσα από την ομίχλη και τα σύννεφα.
- Δεν έχουν χημική δράση και δεν προκαλούν φωσφορισμό.
Στην παρακάτω εικόνα φαίνεται το εύρος φάσματος όπου λειτουργεί η υπέρυθρη ακτινοβολία. Είναι ακριβώς μετά το ορατό φάσμα χρωμάτων που μπορούμε να δούμε με γυμνό μάτι.
Το project
Κάνοντας χρήση ενός συστήματος IR remote και με την βοήθεια του arduino, θα χρησιμοποιήσουμε ένα τηλεκοντρόλ για να ανοιγοκλείνουμε μία "γκαραζόπορτα".
Θα υπάρχει μία "γκαραζόπορτα" η οποία με την βοήθεια του σερβομοτέρ, θα ανοίγει για να μπούμε ή να βγούμε. Το project δεν έχει ως στόχο να σας δείξει πως γίνεται μία τέτοια εφαρμογή, αλλά πως λειτουργούν οι υπέρυθρες ακτίνες και ο τηλεχειρισμός με αυτές.
Προετοιμασία σερβοκινητήρα SG90
Όταν δουλεύουμε με σερβοκινητήρες ρυθμίζουμε τις μοίρες. Επειδή λοιπόν πρέπει να υπάρχει ένα σημείο αναφοράς, πάντα ορίζουμε τις 0 μοίρες στην κατασκευή μας.
Βάζουμε τον σερβοκινητήρα και στην μέθοδο Setup, βάζουμε την θέση στις 0 μοίρες. Στο σημείο που θα σταματήσει, κουμπώνουμε τον βραχίονα σε τέτοια θέση που να είναι στις 0 μοίρες. (απλό είναι το λέω και στο βίντεο)
Τα υλικά που θα χρειαστούμε για το σύστημα IR remote είναι:
- 1 x arduino (οποιαδήποτε έκδοση)
- 1 x infrared remote control transmiter + receiver
- Μερικά καλώδια
- bredboard
- 1 x Servomotor SG90
Πατώντας το κουμπί με το βέλος επάνω από το IR remote control, η πόρτα ανοίγει και παραμένει ανοιχτή για 15sec, εκτός και αν πατήσουμε το πλήκτρο με το βέλος κάτω για να κλείσει πιο γρήγορα.
IR Remote module για Arduino
Θα χρειαστείτε και την βιβλιοθήκη για να λειτουργήσει το module, την οποία μπορείτε να κατεβάσετε ακολουθώντας τις οδηγίες στο Βίντεο. προσοχή να κατεβάσετε την ίδια βιβλιοθήκη με μένα!.
Με κόστος λιγότερο από 1,5€, πήρα έναν πομπό (τηλεχειριστήριο) και έναν δέκτη. Χρειάστηκε μία μπαταρία CR2032 3.0v την οποία μπορείτε να πάρετε από οπουδήποτε πουλάνε ηλεκτρολογικό υλικό (παίζει να την βρείτε και στα περίπτερα)
Το κύκλωμα
Ο κώδικας
// Βιβλιοθήκες
include <Servo.h>
include <boarddefs.h>
include <IRremote.h>
include <IRremoteInt.h>
include <ir_Lego_P
// Μεταβλητές
int servoPin = 7;
const int infraredPin = 6;
int closePosition = 10;
int openPosition = 180;
long previousMillis = 0;
long interval = 8000;
IRrecv irReceiver(infraredPin);
decode_results results;
Servo myservo;
void setup() {
myservo.attach(servoPin);
Serial.begin(9600);
//myservo.write(pos);
//Ενεργοποίηση υπερύθρων.
irReceiver.enableIRIn();
myservo.write(closePosition);
}
void loop() {
unsigned long currentMillis = millis();
if (irReceiver.decode(&results))
{
Serial.println(results.value, HEX);
irReceiver.resume();
switch(results.value)
{
case 0xFF18E7:
myservo.write(openPosition);
break;
case 0xFF4AB5:
myservo.write(closePosition);
previousMillis = currentMillis;
break;
}
}
if (currentMillis - previousMillis > interval)
{
previousMillis = currentMillis;
myservo.write(closePosition);
}
}
Θέλεις να μάθεις και εσύ να φτιάχνεις πράγματα;
Επίλεξε τα μαθήματα Arduino που προσφέρουμε, για να αποκτήσεις τις γνώσεις που χρειάζονται.