#6 Κατανόηση προγράμματος στο Arduino IDE


Στα τρία προηγούμενα άρθρα γνωριστήκαμε με το Arduino IDE, είδαμε την δομή που πρέπει να έχει ο κώδικας / πρόγραμμα μας και μάθαμε για τις μεταβλητές και βασικές συναρτήσεις του Arduino. Με το παρακάτω παράδειγμα θα κατανοήσουμε πως όλα αυτά συνδέονται μεταξύ τους.

Ο κώδικας / πρόγραμμα στην παρακάτω εικόνα ανάβει ένα λαμπάκι-led με το πάτημα ενός κουμπιού. Μέσα απο την συνθήκη ελέγχου if, την οποία θα εξηγήσουμε λεπτομερώς μελλοντικά, ανάβει το led οταν πατηθεί το κουμπί-διακόπτης και σβήνει όταν σταματήσουμε να το πατάμε.


Ερώτηση με βάση οτι είδαμε στα προηγούμενα μαθήματα:
Στο πρόγραμμα παραπάνω, εάν θέλαμε να ανάψουμε το led στο 50% της φωτεινότητας του, πια συνάρτηση θα χρησιμοποιούσαμε και πώς; Χρειάζεται να συνδέσουμε σε άλλο pin / ακροδέκτη του Arduino uno το led μας;

Απάντηση:
Θα πρέπει να συνδέσουμε το led σε ένα απ' τα PWM pins / ακροδέκτες του Arduino uno, δηλαδή σε ένα απ' τα 3, 5, 6, 9, 10 ή 11. Η συνάρτηση που θα χρησιμοποιούσαμε είναι η alalogWrite (led, 126);

Συντάκτης: Βασιλάκης Μιχάλης
Πηγή: http://www.ardumotive.com/

Post a Comment

4 Comments

Καλησπέρα Βασίλη έχεις κάνει πολύ καλή δουλειά. Παρακολουθώ τα μαθήματα σου και ελπίζω, στο τέλος να ξέρω τα βασικά, και να έχω αποκτήσει της γνώσεις για να κάνω κάποιους δικούς μου προγραμματισμούς.
Στην ερώτηση σου τώρα, πρέπει να χρησιμοποιήσουμε κάποιο από τα pin 3, 5, 6, 9, 10, 11 για το led
και να αλλάξουμε τη σειρά:
digitalWrite (led, HIGH); --> alalogWrite (led, 126);

δεν είμαι σίγουρος αν χρειάζεται αλλά δεν πρέπει να είναι λάθος
digitalWrite (led, LOW); --> alalogWrite (led, 0);
thomas said…
πολυ ωραιο με ενδιαφερει και εμενα να αχοληθω με το andruino.ειμαι ασχετος απο προγραματισμο ομως.
Unknown said…
Επισης και εμενα με ενδιαφερει να ασχοληθω με το andruino uno, αλλα ειμαι ασχετος με προγραμματισμο.
Unknown said…
Καλησπέρα σας!

Δεν χρειάζεται να έχετε καμία προηγούμενη γνώση πάνω σε προγραμματισμό ή ηλεκτρονικά, θα τα πάμε βήμα βήμα. Ωστόσο αν κάτι δεν καταλαβαίνεται να με ρωτάτε γιατί αν μένουν κενά θα υπάρχει πρόβλημα στην συνέχεια. Να είστε σίγουροι πως θα γράφω τα άρθρα όσο πιο κατανοητά γίνεται χωρίς να εμβαθύνω σε "περιττές" γνώσεις οι οποίες κάποιους θα μπερδέψουν.

Φίλε Αναστάση, πολύ σωστά απάντησες στην ερώτηση μου.
Το digitalWrite (led, LOW); και alalogWrite (led, 0); κάνουν ακριβώς το ίδιο πράγμα.