- Επισκόπιση
- Υλικά
- Το ‘L’ λαμπάκι
- Φορτώστε το παράδειγμα ‘Blink’
- Αποθηκεύστε ένα αντίγραφο του ‘Blink’
- Φορτώστε το νέο παράδειγμα MyBlink στην πλακέτα
- Πως λειτουργεί το ‘Blink’
- Αυξήστε τον ρυθμό αναβοσβησίματος
Επισκόπηση
Υλικά
The ‘L’ LED
Στον Arduino θα βρείτε στις δύο άκρες μια σειρά απο υποδοχές (pin header) οι οποίες χρησιμοποιούνται για την σύνδεση ηλεκτρονικών εξαρτημάτων ή συσκευών για την επέκταση των λειτουργιών του.
Παρόλα αυτά το Arduino έχει ένα λαμπάκι ενσωματωμένο πάνω στην πλακέτα και μπορούμε να το ελέγξουμε απο το πρόγραμμα. Θα βρείτε αυτό το led συνήθως με το χαρακτηριστικό γράμμα “L” Led.
Μπορείτε να διακρίνετε στην εικόνα παρακάτω το ενσωματωμένο λαμπάκι το οποίο είναι κυκλωμένο στην πλακέτα Arduino Uno & Leonardo αντίστοιχα.
Φόρτωση του παραδείγματος’Blink’
Ίσως διαπιστώσετε ότι το “L” λαμπάκι πάνω στον Arduino αναβοσβήνει όταν συνδέσετε το καλώδιο USB. Αυτό συμβαίνει γιατί οι πλακέτες Arduino αποστέλλονται με φορτωμένο το παράδειγμα “Blink”. Με αυτό τον τρόπο η κατασκευάστρια εταιρεία ελέγχει τις πλακέτες προτού τις διαθέσει για πώληση.
Σε αυτό το μάθημα θα επαναπρογραμματίσουμε τον Arduino με το παράδειγμα “Blink” και στην συνέχεια θα αλλάξουμε την ταχύτητα που θα αναβοσβήνει το λαμπάκι.
Στο προηγούμενο μάθημα μάθατε πως να εγκαταστήσετε το πρόγραμμα Arduino IDE και πως να διαλέξετε την σωστή σειριακή θύρα. Τώρα ήρθε η ώρα να συνδέσετε τον Arduino στον υπολογιστή και να τον προγραμματίσετε.
Το πρόγραμμα της Arduino περιλαμβάνει μεγάλη ποικιλία απο έτοιμα παραδείγματα, μεταξύ των οποίων βρίσκεται και το πρόγραμμα που θα χρησιμοποιήσετε για να κάνετε το λαμπάκι να αναβοσβήνει.
Φορτώστε το παράδειγμα ‘Blink’ το οποίο θα βρείτε στο πρόγραμμα Arduino ακολουθώντας αυτή την διαδρομή File → Examples → 01.Basics
Δημιουργήστε αντίγραφο του’Blink’
Τα παραδείγματα που θα βρείτε στο πρόγραμμα Arduino έχουν δικαιώματα μόνο για ανάγνωση. Αυτό σημαίνει ότι μπορείτε μόνο να τα δείτε και να τα φορτώσετε στον Arduino. Για να μπορέσετε να κάνετε αλλαγές θα πρέπει να δημιουργήσετε ένα καινούργιο αρχείο.
Για να αλλάξετε αυτό το παράδειγμα, θα πρέπει πρώτα να το αποθηκεύσετε ως νέο αρχείο.
Απο το μενού File στο πρόγραμμα Arduino επιλέξτε την επιλογή ‘Save As..’ και τέλος επιλέξτε το νέο όνομα του αρχείου. για παράδειγμα ‘MyBlink’.
Φόρτωση του MyBlink στην πλακέτα
Συνδέστε την πλακέτα Arduino στον υπολογιστή χρησιμοποιώντας ένα καλώδιο USB (κάθε μοντέλο Arduino μπορεί να χρησιμοποιεί διαφορετικό τύπο USB). Ελέγξετε αν οι ρυθμίσεις “Board Type” και “Serial Port” είναι σωστές.
Στο κάτω μέρος του προγράμματος μπορείτε να δείτε τις τρέχουσες ρυθμίσεις.
Το παραπάνω μήνυμα σημαίνει ότι η πλακέτα δεν είναι συνδεδεμένη ή οι οδηγοί δεν έχουν εγκατασταθεί με επιτυχία ή δεν έχετε επιλέξει σωστή σειριακή θύρα.
Αν αντιμετωπίζετε αυτό το πρόβλημα μεταβείτε στο μάθημα 0 και ακολουθήστε τα βήματα εγκατάστασης απο την αρχή.
Μόλις η φόρτωση του προγράμματος ολοκληρωθεί η πλακέτα θα ξεκινήσει απο την αρχή και το λαμπάκι θα αρχίσει να αναβοσβήνει.
Πως δουλεύει το ‘Blink’
- /*
- Blink
- Turns on an LED on for one second, then off for one second, repeatedly.
- This example code is in the public domain.
- */
- // Pin 13 has an LED connected on most Arduino boards.
- // give it a name:
- int led =13;
- // the setup routine runs once when you press reset:
- void setup(){
- // initialize the digital pin as an output.
- pinMode(led, OUTPUT);
- }
- // the loop routine runs over and over again forever:
- void loop(){
- digitalWrite(led, HIGH);// turn the LED on (HIGH is the voltage level)
- delay(1000);// wait for a second
- digitalWrite(led, LOW);// turn the LED off by making the voltage LOW
- delay(1000);// wait for a second
- }
Σε αυτό το παράδειγμα το μεγαλύτερο μέρος του αποτελείται απο σχόλια. Τα σχόλια δεν είναι μέρος του προγράμματος, είναι απλά σημειώσεις για το πως λειτουργεί το πρόγραμμα. Τα σχόλια χρησιμοποιούνται για να μας διευκολύνουν και να επεξηγούν τον κώδικα.
Οτιδήποτε ανάμεσα σε /* and */ στην αρχή του προγράμματος είναι σχόλια τα οποία περιγράφουν την λειτουργία του.
Επίσης θα συναντήσετε και σχόλια στο ενδιάμεσο του προγράμματος τα οποία αρχίζουν με // και τελειώνουν όταν αλλάζουμε γραμμή.
Η πρώτη ουσιαστική γραμμή του κώδικα είναι:
- int led =13;
Όπως αναφέρει και το σχόλιο απο πάνω, η γραμμή αυτή δίνει ένα όνομα στο pin όπου το λαμπάκι είναι συνδεδεμένο. Στις περισσότερες πλακέτες Arduino το ενσωματωμένο λαμπάκι είναι στο pin 13.
Στην συνέχεια υπάρχει η ενότητα ‘setup’. Όπως εξηγεί επίσης το σχόλιο το κομμάτι του προγράμματος ‘setup’ εκτελείται μόνο μια φορά στην αρχή ή όταν κάνουμε reset τον Arduino. Reset μπορεί να γίνει απο τον χρήστη πατώντας το κουμπί Reset στην πλακέτα, όταν για οποιαδήποτε λόγο διακοπή η τροφοδοσία και όταν φορτώνουμε ένα πρόγραμμα.
- void setup(){
- // initialize the digital pin as an output.
- pinMode(led, OUTPUT);
- }
Κάθε πρόγραμμα Arduino πρέπει να περιέχει την ενότητα ‘Setup’ και ανάμεσα στις αγκύλες { } γράφουμε τις οδηγίες του προγράμματος.
Στο παράδειγμα αυτό έχουμε μόνο μια εντολή μέσα στην ενότητα ‘setup’, η οποία όπως εξηγεί και το σχόλιο δηλώνει ότι το Led pin λειτουργεί σαν έξοδος.
Η επόμενη ενότητα που πρέπει υποχρεωτικά να περιλαμβάνει το πρόγραμμα του Arduino ονομάζεται “loop”. Η διαφορά τους είναι ότι η function setup εκτελείται μόνο μια φορά όταν τροφοδοτείται η πλακέτα ή όταν γίνει reset στον Arduino, ενώ σε αντίθεση με την function loop όπου εκτελείται στην συνέχεια όταν ολοκληρωθεί η function setup και επαναλαμβάνεται συνέχεια απο την αρχή ως το τέλος της.
- void loop(){
- digitalWrite(led, HIGH);// turn the LED on (HIGH is the voltage level)
- delay(1000);// wait for a second
- digitalWrite(led, LOW);// turn the LED off by making the voltage LOW
- delay(1000);// wait for a second
- }
Αυξήστε τον ρυθμό αναβοσβησίματος
Η τιμή αυτή αναφέρεται σε milliseconds, οπότε μπορείτε να δοκιμάσετε και να αλλάξετε την τιμή απο 1000 σε 500, το αποτέλεσμα θα είναι να αναβοσβήνει το λεντάκι πιο γρήγορα (ανά μισό δευτερόλεπτο). Αντίστοιχα θα μπορούσατε να το κάνετε να αναβοσβήνει πιο αργά αν αυξήσετε την τιμή (π.χ 2000 ανά δύο δευτερόλεπτα).
Μετά απο κάθε αλλαγή στο πρόγραμμα θα πρέπει να το φορτώσετε ξανά στην πλακέτα Arduino.
Leave a Reply