Δευτέρα 2 Μαρτίου 2026

Μάθημα 8 - Έλεγχος Συσκευής με Ρελέ

 

β1: 

β2: 

Στόχοι μαθήματος:

  • Να κατανοήσουμε τη λειτουργία του ηλεκτρομηχανικού ρελέ.
  • Να συνδέσουμε και να ελέγξουμε ένα ρελέ με το Arduino.
  • Να συνδυάσουμε το ρελέ με τον αισθητήρα θερμοκρασίας DHT11.
  • Να δημιουργήσουμε έναν αυτόματο θερμοστάτη.

 Τα project που δημιουργήσαμε στην τάξη (δεν δημιουργήθηκε κάποιο project στο Tinkercad, διότι το ρελέ που διαθέτει έχει διαφορετικό τρόπο σύνδεσης από το ρελέ που είχε το kit μας):

Project 1:  

Συνδέσαμε .  


Project 2: 

Εδώ θα βρείτε το project 2 που κάναμε στην τάξη

 

Επισημάνσεις μαθήματος 

1. Το ρελέ JQC3F είναι ένα μικρό ηλεκτρονικό εξάρτημα που λειτουργεί σαν διακόπτης… με τηλεχειρισμό! Δηλαδή, μπορείς να του δώσεις εντολή από ένα μικροελεγκτή (π.χ. Arduino) και εκείνο με τη σειρά του ανοίγει ή κλείνει ένα κύκλωμα που αντέχει πολύ μεγαλύτερη τάση και ρεύμα. Με λίγα λόγια, με ένα σήμα 5V ελέγχεις συσκευές που απαιτούν περισσότερα βολτ (π.χ. 9V ή 12V ή 24V, όπως λάμπες, μοτέρ κτλ). Το συναντάς συχνά σε αυτοματισμούς σπιτιού, συστήματα ασφαλείας και ρομποτικές κατασκευές, γιατί είναι φτηνό, αξιόπιστο και αντέχει αρκετά. 

2.  Τα pin του ρελέ JQC3F φαίνονται στην παρακάτω εικόνα. Επειδή υπάρχουν διάφοροι τύποι του ρελέ αυτού με λίγο διαφορετική σειρά εμφάνισης των pin, η εικόνα δείχνει ένα τύπο ρελέ που συμπίπτει με αυτόν που έχουμε στο kit με το οποίο δουλεύουμε. 
Δεξιά στην εικόνα διακρίνουμε τρία pin: αυτό που φαίνεται κάτω με το σύμβολο "S" συνδέεται με κάποιο pin του Arduino από τα 13 - 2 (π.χ. το pin 4). Το μεσαίο με το σύμβολο "+" συνδέεται με τα 5V και αυτό που φαίνεται πάνω με το σύμβολο "-" συνδέεται με το GND. Με λίγα λόγια αυτά τα τρία pin συνδέονται με το μικροεπεξεργαστή (arduino). 
Αριστερά διακρίνουμε τρεις εξόδους. Η πρώτη έχει το σύμβολο "NC" που προέρχεται από τα αρχικά γράμματα της φράσης "Normally Closed" που σημαίνει "κανονικά κλειστός". Η μεσαία έχει το σύμβολο "C" ή "COM" και η τρίτη έχει το σύμβολο "NO" που προέρχεται από τα αρχικά γράμματα της φράσης "Normally Open" που σημαίνει "κανονικά ανοικτός".  
 
3. Φανταστείτε ότι έχετε ένα απλό κύκλωμα που αποτελείται από μια μπαταρία, ένα λαμπάκι και διακόπτη, όπως φαίνεται στην παρακάτω εικόνα. 
Κάθε φορά που κλείνουμε το διακόπτη το λαμπάκι ανάβει και κάθε φορά που ανοίγουμε το διακόπτη το λαμπάκι σβήνει. Φανταστείτε τώρα ότι αντικαθιστούμε το διακόπτη με ένα άλλο ηλεκτρικό στοιχείο που λειτουργεί αυτόματα, χωρίς να χρειάζεται εμείς να πιάσουμε το διακόπτη για να τον ανοίξουμε ή να τον κλείσουμε. Αυτό το ηλεκτρικό στοιχείο που παίζει το ρόλο του αυτόματου διακόπτη είναι το ρελέ. 
Το video που ακολουθεί δείχνει τι συμβαίνει στο εσωτερικό του ρελέ, όταν λειτουργεί. 
 
Όπως σημειώσαμε παραπάνω για τον τρόπο σύνδεσης του ρελέ, τα τρία pin συνδέονται με το μικροεπεξεργαστή. Το ένα από αυτά τα pin συνδέεται με κάποιο από τα pin 3 - 13 του μικροεπεξεργαστή. Ας πούμε ότι συνδέεται στο pin 4. Ο μικροεπεξεργαστής στέλνει ένα ηλεκτρικό σήμα μέσω του pin 4 στο ρελέ. Αυτό το ηλεκτρικό σήμα περνάει στο τυλιγμένο καλώδιο (πηνίο - coil) που υπάρχει στο εσωτερικό του ρελέ. Το πηνίο όταν διαρρέεται από αυτό το ρεύμα λειτουργεί ως μαγνήτης, οπότε έλκει τη μπίλια (steel ball) η οποία ακουμπά στο πηνίο. Αυτή η κίνηση της μπίλιας αντιστοιχεί με το άνοιγμα και το κλείσιμο ενός διακόπτη. Μάλιστα όταν ενεργοποιείται το ρελέ ακούγεται ένα χαρακτηριστικό "κλακ", το οποίο οφείλεται στο χτύπημα της μπίλιας πάνω στο πηνίο. 
Με βάση τα παραπάνω μπορούμε να καταλάβουμε τι σημαίνουν τα αρχικά NO και NC των εξόδων του ρελέ. Το ΝΟ όπως είπαμε παραπάνω σημαίνει "Normally Open", δηλαδή "Κανονικά Ανοικτό", ενώ το "NC" σημαίνει "Normally Closed", δηλαδή "Κανονικά Κλειστό". Αν συνδέσουμε τη συσκευή που έχουμε με το ρελέ στα άκρα του "ΝΟ" και "COM", τότε όταν το ρελέ δε λειτουργεί ή με άλλα λόγια δεν λαμβάνει κάποιο σήμα από το μικροεπεξεργαστή, τότε ως διακόπτης είναι ανοικτός. Αυτό σημαίνει ότι η συσκευή μας δεν θα διαρρέεται από ηλεκτρικό ρεύμα. Μόλις όμως το ρελέ λάβει το ηλεκτρικό σήμα από το μικροεπεξεργαστή, τότε ως διακόπτης που είναι κλείνει και η συσκευή μας διαρρέεται από ρεύμα και λειτουργεί. Από την άλλη το αντίθετο συμβαίνει αν συνδέσουμε τη συσκευή μας το το "NC" και "COM". Συγκεκριμένα, πριν πάρει το σήμα από το μικροεπεξεργαστή το ρελέ ως διακόπτης είναι κλειστός και όταν λάβει το σήμα ανοίγει.  

 


 
Εργασίες για το σπίτι (Tinkercad ή πραγματικό kit)
 
Εργασίες για το σπίτι για τους μαθητές που δεν μπορούν να κάνουν τις εργασίες στο Tinkercad ή με πραγματικό kit

Παρασκευή 6 Φεβρουαρίου 2026

Μάθημα 7 - Ρομποτική κίνηση

 

β1: Το μάθημα ολοκληρώθηκε

β2: Το μάθημα ολοκληρώθηκε

Στόχοι μαθήματος:

  • Να συνδέσουμε και να προγραμματίσουμε έναν πραγματικό servo κινητήρα.
  • Να ελέγξουμε την ακριβή γωνία περιστροφής (0° έως 180°).
  • Να συνδυάσουμε το servo με αισθητήρες (ποτενσιόμετρο, κλίση) για έξυπνες εφαρμογές.

 

Τα project που δημιουργήσαμε στο Tinkercad:

Project 1:  

Συνδέσαμε τον μικροκινητήρα SG90 στο pin 9 και τον προγραμματίσαμε ώστε να στραφεί από τις 0 μοίρες στις 90 μοίρες με μικρά βήματα των 10 μοιρών, όπου σε κάθε βήμα ο προσανατολισμός του θα διατηρείται για ένα δευτερόλεπτο. Η αλήθεια είναι ότι κατά τη διάρκεια του μαθήματος πειραματιστήκαμε με το χρόνο παραμονής σε κάθε προσανατολισμό ξεκινώντας από τη διάρκεια του μισού δευτερολέπτου μέχρι τα 0,1 δευτερόλεπτα. Ωστόσο στο περιβάλλον του Tinkercad γίνεται πιο καλά αντιληπτός ο τρόπος κίνησης του μικροκινητήρα αν ορίσουμε το χρόνο παραμονής σε κάθε προσανατολισμό στο 1 δευτερόλεπτο.  

Εδώ θα βρείτε το project 1 που κάναμε στην τάξη

Project 2: 

Εδώ θα βρείτε το project 2 που κάναμε στην τάξη

 

Επισημάνσεις μαθήματος 

1. Το micro servo SG90 είναι ένας μικρός, ελαφρύς και οικονομικός μηχανισμός, που χρησιμοποιείται ευρέως σε έργα ρομποτικής και αυτοματισμού. Σε αντίθεση με τους συνεχώς περιστρεφόμενους κινητήρες (DC motors), τα σέρβο μπορούν να κινηθούν σε συγκεκριμένη γωνία και να παραμείνουν σταθερά σε εκείνη τη θέση. Αυτό επιτυγχάνεται με έναν εσωτερικό μηχανισμό (ποτενσιόμετρο) που ελέγχει τη θέση του άξονα. Το SG90 μπορεί να περιστραφεί συνήθως από 0° έως 180° (αν και με κατάλληλο παλμό μπορεί να φτάσει και λίγο παραπάνω). Η γωνία καθορίζεται από το πλάτος ενός ηλεκτρικού παλμού που στέλνεται μέσω του καλωδίου σήματος.

Το SG90 είναι ιδανικό για κατασκευές όπου χρειάζεται ακριβής κίνηση, όπως ρομποτικοί βραχίονες, πηδάλια σε μοντέλα αυτοκινήτων/αεροπλάνων, κινούμενες κάμερες ή οποιοδήποτε έργο απαιτεί ελεγχόμενη γωνιακή περιστροφή. Χάρη στο μικρό του μέγεθος και το χαμηλό κόστος, αποτελεί βασικό δομικό στοιχείο για αρχάριους και προχωρημένους δημιουργούς.
 

2. Ο τρόπος με τον οποίο συνδέουμε σε ένα κύκλωμα τον servo κινητήρα φαίνεται στην παρακάτω εικόνα. 

Οι servo κινητήρες τύπου SG90 έχουν τρία pin τα οποία συνδέονται με τρία καλώδια. Το πρώτο pin με το καφέ (brown) καλώδιο συνδέεται με το GND. Το δεύτερο pin με το κόκκινο (red) καλώδιο συνδέεται με το pin των 5V. Τέλος, το pin με το πορτοκαλί (orange) καλώδιο συνδέεται με κάποιο από τα pin 11, 10, 9, 6, 5 , 3. Πρόκειται για τα pin με την ένδειξη ~. Αυτό φαίνεται στην παρακάτω εικόνα:
3. Ο μικροελεγκτής (π.χ. Arduino) ελέγχει το servo κινητήρα στέλνοντας διαρκώς παλμούς μέσω του καλωδίου σήματος (το πορτοκαλί καλώδιο). Κάθε παλμός έχει διάρκεια (πλάτος) μεταξύ 1 και 2 χιλιοστών του δευτερολέπτου (ms) και επαναλαμβάνεται κάθε 20 ms (περίοδος 50 Hz).
  • Ένας παλμός διάρκειας 1 ms αντιστοιχεί συνήθως σε γωνία 0°.
  • Ένας παλμός διάρκειας 1,5 ms αντιστοιχεί σε γωνία 90°.
  • Ένας παλμός διάρκειας 2 ms αντιστοιχεί σε γωνία 180°.
Το εσωτερικό κύκλωμα του servo συγκρίνει τη διάρκεια του παλμού που λαμβάνει με την τρέχουσα θέση του άξονα (όπως την ανιχνεύει το ποτενσιόμετρο). Αν υπάρχει απόκλιση, οδηγεί τον κινητήρα να περιστραφεί προς την επιθυμητή γωνία και να παραμείνει εκεί. 
Η σύνδεση της μορφής των ηλεκτρικών σημάτων και της γωνίας του κινητήρα φαίνεται στην παρακάτω εικόνα:
  
4. Ο προγραμματισμός του servo SG90 μέσω του Arduino Ide απαιτεί την εγκατάσταση της βιβλιοθήκης "Servo". Σε προηγούμενα μαθήματα έχει περιγραφεί ο τρόπος εγκατάστασης μιας βιβλιοθήκης στο Arduino Ide. 
5. Ο αισθητήρας κλίσης SW-520D, ο οποίος φαίνεται στην παρακάτω εικόνα, είναι μια μικρή, απλή και οικονομική διάταξη που ανιχνεύει προσανατολισμό και κίνηση. 

Σε αντίθεση με πιο σύνθετους αισθητήρες (όπως τα επιταχυνσιόμετρα), λειτουργεί σαν ένας απλός διακόπτης που ανοίγει ή κλείνει ανάλογα με τη θέση του. Μέσα στο μεταλλικό του περίβλημα υπάρχει μια μικρή μεταλλική μπίλια που κυλάει ελεύθερα. Όταν ο αισθητήρας είναι σε συγκεκριμένη γωνία (συνήθως με τους ακροδέκτες προς τα κάτω), η μπίλια ακουμπάει τους ακροδέκτες και κλείνει το κύκλωμα, επιτρέποντας το ρεύμα να περάσει. Αν γύρει τότε η μπίλια χάνει την επαφή με τους ακροδέκτες και το ρεύμα διακόπτεται, όπως φαίνεται στην παρακάτω εικόνα. 
Το SW-520D μπορεί να ανιχνεύσει κλίση συνήθως από 15° έως 90° , ενώ παράλληλα είναι ευαίσθητο και σε κραδασμούς και δονήσεις. Είναι πλήρως σφραγισμένο, αδιάβροχο και προστατευμένο από σκόνη, γεγονός που το καθιστά ιδανικό για χρήση σε διάφορα περιβάλλοντα.
Το SW-520D είναι ιδανικό για έργα όπου χρειάζεται να γνωρίζουμε τον προσανατολισμό ή την κίνηση ενός αντικειμένου, όπως συστήματα συναγερμού και ασφάλειας, ανίχνευση πτώσης συσκευών, διακόπτες ενεργοποίησης σε περίπτωση ανατροπής ρομποτικών οχημάτων, ηλεκτρονικά παιχνίδια που αντιδρούν στην κίνηση και αυτόματη απενεργοποίηση συσκευών όταν ανατρέπονται (π.χ. θερμάστρες) . Χάρη στην απλότητά του, το χαμηλό κόστος και την αξιοπιστία του, αποτελεί μια εξαιρετική λύση για αρχάριους και προχωρημένους δημιουργούς που θέλουν να προσθέσουν ανίχνευση κλίσης στα έργα τους. 
6. Ο τρόπος σύνδεσης του αισθητήρα κλίσης SW-520D φαίνεται στην επόμενη εικόνα (Προσοχή! Στο περιβάλλον του Tinkercad δεν θα βρούμε τον αισθητήρα SW-520D, ωστόσο αυτός που θα βρούμε εκεί έχει τον ίδιο τρόπο σύνδεσης). 
Συγκεκριμένα το ένα άκρο του αισθητήρα (δεν έχει σημασία ποιο) συνδέεται με το pin των 5V, ενώ το δεύτερο άκρο συνδέεται με κάποιο ψηφιακό pin από το 2 ως το 13 (γενικά αποφεύγουμε τη χρήση των pin 0 και 1) και αντιστάτη των 10kΩ. Το άλλο άκρο του αντιστάτη συνδέεται με το pin GND. 
7. Η ψηφιακή λειτουργία του αισθητήρα κλίσης είναι απλή. Όταν ο αισθητήρας είναι όρθιος (με τα άκρα του προς τα κάτω), τότε διαρρέεται από ηλεκτρικό ρεύμα και στέλνει στο pin όπου είναι συνδεδεμένος (π.χ. pin 4) ένα ηλεκτρικό σήμα με την τιμή 1 (ή HIGH). Όταν ο αισθητήρας γύρει, τότε παύει να διαρρέεται από ηλεκτρικό ρεύμα, επομένως στέλνει στο συνδεδεμένο pin του Arduino ένα ηλεκτρικό σήμα με τιμή 0 (ή LOW). Η τιμή αυτού του σήματος μπορεί να δώσει τη μία ή την άλλη εντολή σε κάποιο ηλεκτρικό στοιχείο στο κύκλωμα (π.χ. led, buzzer, servo κινητήρας κτλ). 
8. Στο περιβάλλον του Tinkercad υπάρχει ο αισθητήρας κλίσης SW-200D. Θα τον βρούμε αν επιλέξουμε στο πλαίσιο "Components" την επιλογή "All", όπως δείχνει η παρακάτω εικόνα. 
Ο αισθητήρας αυτός λειτουργεί και συνδέεται ακριβώς όπως ο πραγματικός αισθητήρας SW-520D. 
Όταν κάνετε το project σας και πατήσετε το "Start simulation" για να το δείτε να λειτουργεί, αν κάνετε κλικ πάνω στον αισθητήρα θα δείτε την επόμενη εικόνα. 
 
Μετακινώντας το δρομέα με το μικρό βελάκι προς τα δεξιά, τότε προσομοιάζεται την κλίση του αισθητήρα. 
 
Εργασίες για το σπίτι (Tinkercad ή πραγματικό kit)
 
Εργασίες για το σπίτι για τους μαθητές που δεν μπορούν να κάνουν τις εργασίες στο Tinkercad ή με πραγματικό kit
 


Τετάρτη 21 Ιανουαρίου 2026

Μάθημα 6 - Αισθητήρες και Οθόνες

 

 

β1: Η ενότητα ολοκληρώθηκε

β2: Η ενότητα ολοκληρώθηκε

Στόχοι μαθήματος:

  • Να συνδέσουμε και να προγραμματίσουμε έναν υπερηχητικό αισθητήρα (HC-SR04) για μέτρηση απόστασης και απλή ένδειξη.
  • Να εισαγάγουμε και να ελέγξουμε μια οθόνη LCD 16x2 ως συσκευή εξόδου για να εμφανίσουμε πληροφορίες.

 

Τα project που δημιουργήσαμε στο Tinkercad:

Project 1: Την πρώτη ώρα χρησιμοποιήσαμε τον αισθητήρα απόστασης HC - SR04 μαζί με ένα active buzzer, ώστε να προσομοιώσουμε τον αισθητήρα παρκαρίσματος σε ένα αυτοκίνητο. Συγκεκριμένα, ο αισθητήρας απόστασης ήταν συνδεδεμένος με το pin Trig στο pin 9 του μικροεπεξεργαστή και το pin Echo στο pin 8. Ο active buzzer ήταν συνδεδεμένος στο pin 12. Ο κώδικας που χρησιμοποιήθηκε έκανε το κύκλωμα να λειτουργεί ως εξής: αν ο αισθητήρας αντιλαμβανόταν απόσταση μεγαλύτερη από 50 εκατοστά, τότε δεν ενεργοποιούνταν ο buzzer. Όταν η απόσταση ήταν μεταξύ των 10 και των 50 εκατοστών, ο buzzer ενεργοποιούνταν, βγάζοντας συνεχόμενα "μπιπ". Ο χρόνος από το ένα "μπιπ" ως το επόμενο γινόταν μικρότερος, όσο μικρότερη γινόταν η απόσταση. Τέλος, όταν η απόσταση γινόταν μικρότερη από 10 εκατοστά, ο buzzer έβγαζε συνεχόμενο προειδοποιητικό ήχο.  

 Εδώ θα βρείτε το project 1 που κάναμε στην τάξη

Η αλήθεια είναι ότι το στοιχείο piezo του Tinkercad δεν αποδίδει πλήρως τη λειτουργικότητα του κυκλώματος που φτιάξαμε στην τάξη, αλλά δεν μπορεί να γίνει κάτι άλλο, αφού το Tinkercad αυτόν έχει. Το παραπάνω link σας πηγαίνει στο αρχείο του Tinkercad, στο οποίο φαίνεται το κύκλωμα και ο κώδικας που το προγραμμάτισε. Μπορείτε να επέμβετε στο παραπάνω αρχείο, αν θέλετε. Δεν θα το συνιστούσα, ώστε να δουν όλοι το ίδιο αποτέλεσμα. Ωστόσο αν κάνετε αλλαγές φροντίστε να τις αναιρέσετε μετά. 

Project 2: 

Εδώ θα βρείτε το project 2 που κάναμε στην τάξη

Η οθόνη είναι lcd 16x2 με I2C. Αν δείτε την αρχή του κώδικα αναφέρεται το "lcd(0x27)". Αυτή η ρύθμιση είναι σημαντική. Φροντίστε πατώντας πάνω στην οθόνη στο Tinkercad να έχετε αυτή τη ρύθμιση, για να λειτουργήσουν όλα σωστά. Θα δείτε ότι το κείμενο που εμφανίζεται είναι το "Hello!", το οποίο μετά σέρνεται προς τα αριστερά κι εξαφανίζεται. Αυτή η κίνηση του μηνύματος δεν χρησιμοποιήθηκε στο project της τάξης, αλλά το πρόσθεσα γιατί μου άρεσε και ήθελα να σας δείξω κάποιες από τις δυνατότητες προβολής κειμένου στην lcd οθόνη.   

Επισημάνσεις μαθήματος 

1. Ο αισθητήρας HC-SR04 είναι ένας αισθητήρας απόστασης, ο οποίος λειτουργεί χρησιμοποιώντας ένα τύπο ήχων που ονομάζονται υπέρηχοι και δεν γίνονται αντιληπτοί από το ανθρώπινο αυτί. Συγκεκριμένα, στέλνει ένα πακέτο υπερήχων και υπολογίζει την απόσταση από το χρόνο που χρειάζεται ο ήχος να επιστρέψει, αφού ανακλαστεί από ένα αντικείμενο. Στην μπροστινή του πλευρά διαθέτει δύο κυκλικά μέρη (το ένα είναι ο πομπός και το άλλο ο δέκτης), όπως φαίνεται στην παρακάτω εικόνα. Διαθέτει τέσσερις ακροδέκτες (VCC, GND, Trig και Echo) οι οποίοι έχουν συγκεκριμένη λειτουργία και πολικότητα, επομένως έχει σημασία πώς θα συνδεθούν. 
2. Ο τρόπος με τον οποίο συνδέουμε σε ένα κύκλωμα τον αισθητήρα απόστασης φαίνεται στην παρακάτω εικόνα. 

Το αριστερό ποδαράκι (Vcc) συνδέεται στο pin των 5V, όπως δείχνει το κόκκινο καλώδιο, το δεύτερο κατά σειρά (Trig) συνδέεται με κάποιο από τα pin 2 - 12, όπως και το τρίτο (Echo) (δείτε το πράσινο και το κίτρινο καλώδιο). Τέλος, το δεξί ποδαράκι (GND) συνδέεται με το pin GND, όπως δείχνει το μαύρο καλώδιο.
 
3. Ο αισθητήρας απόστασης HC-SR04 διαθέτει δύο βασικούς ψηφιακούς ακροδέκτες: τον Trig (Trigger - Σκανδάλη) και τον Echo (Ηχώ). Στο κύκλωμά μας, ο Trig συνδέεται σε μία ψηφιακή θύρα εξόδου (π.χ. pin 2) και ο Echo σε μία άλλη ψηφιακή θύρα εισόδου (π.χ. pin 3) του Arduino.
  1. Αποστολή παλμού: Ο μικροελεγκτής (π.χ. Arduino) στέλνει έναν σύντομο ηλεκτρικό σήμα στον ακροδέκτη Trig. Αυτό το σήμα παλμός λειτουργεί ως εντολή για τον αισθητήρα να εκπέμψει ένα πακέτο υπερήχων (8 ηχητικοί παλμών στα 40.000Hz).

  2. Λήψη ανταπόκρισης: Μόλις ο αισθητήρας εντοπίσει τον ανακλώμενο ήχο (ηχώ), ο ακροδέκτης Echo παράγει ένα ηλεκτρικό σήμα, του οποίου η διάρκεια είναι ανάλογη με τον χρόνο όπου το πακέτο των υπέρηχων ταξίδεψε από τον αισθητήρα ως το εμπόδιο και πίσω. Δηλαδή, η θύρα Echo παραμένει σε κατάσταση HIGH για όσο χρονικό διάστημα ταξίδεψε ο υπέρηχος.

  3. Μετατροπή σε απόσταση: Ο μικροελεγκτής μετράει τη διάρκεια (σε μικροδευτερόλεπτα) αυτού του ηλεκτρικού σήματος από τον Echo και, γνωρίζοντας την ταχύτητα του ήχου στον αέρα (περίπου 343 m/s), υπολογίζει την απόσταση από τον τύπο:
    Απόσταση = (Διάρκεια παλμού * Ταχύτητα ήχου) / 2
    (Η διαίρεση με το 2 γίνεται γιατί ο ήχος διανύει τη διαδρομή πηγή-αντικείμενο-πηγή, δηλαδή τη διπλή απόσταση).

Η υπολογισμένη απόσταση αυτή, μπορεί στη συνέχεια να χρησιμοποιηθεί από τον μικροελεγκτή για να ελέγξει κάποιο άλλο στοιχείο του κυκλώματος, όπως να ανάψει ένα LED όταν ένα αντικείμενο είναι πολύ κοντά, να ενεργοποιήσει έναν βομβητή, να ελέγξει την ταχύτητα ενός κινητήρα, κ.λπ.

 
4. Φαντάσου μια μικρή οθόνη σαν αυτές στα παλιά ψηφιακά ραδιόφωνα, που μπορεί να σου γράψει μηνύματα. Αυτή η οθόνη έχει 2 γραμμές και σε κάθε γραμμή χωράνε 16 γράμματα ή αριθμοί (γι' αυτό λέγεται 16x2). Τη χρησιμοποιούμε για να μας δείξει πράγματα που μετράει το Arduino, όπως η απόσταση από ένα αντικείμενο, η θερμοκρασία ή απλά ένα "Γεια σου!". Στις δραστηριότητες στο σχολείο θα χρησιμοποιήσουμε την οθόνη LCD 16x2 με το ειδικό στοιχείο IC2, το οποίο είναι συνδεδεμένο πάνω της, όπως φαίνεται στην παρακάτω εικόνα. Ωστόσο δεν έχουν όλες οι LCD οθόνες το στοιχείο IC2. 

5.
 Η οθόνη LCD με το στοιχείο IC2 ενσωματωμένο φαίνεται στην παρακάτω εικόνα, στην οποία έχουν σημειωθεί τα 4 pin που έχει το στοιχείο IC2, μέσω των οποίων θα συνδεθεί η οθόνη στο μικροεπεξεργαστή. 
Το στοιχείο IC2 λειτουργεί σαν μικρός διερμηνέας. Εμείς λέμε στο μικροεπεξεργαστή να στείλει το μήνυμα (π.χ., "Καλημέρα") μέσω δύο καλωδίων, και αυτός ο "διερμηνέας" το μεταφράζει σε γλώσσα που καταλαβαίνει η οθόνη. 
Τα υπερ του είναι η εξοικονόμηση θυρών στο μικροεπεξεργαστή και η πολύ εύκολη σύνδεση, καθώς απαιτούνται μόνο 4 καλώδια. Θα δείτε παρακάτω την εναλλακτική πρόταση σύνδεσης της οθόνης χωρίς το στοιχείο IC2 στο μικροεπεξεργαστή και θα καταλάβετε τι σημαίνει ευκολότερη σύνδεση. Επιπλέον, μπορείς να έχεις δύο τέτοιες οθόνες στο ίδιο κύκλωμα χωρίς να μπερδευτούν, γιατί η κάθε μία μπορεί να πάρει ένα διαφορετικό "όνομα" (διεύθυνση).
Ο τρόπος σύνδεσης της οθόνης μέσω του IC2 στο μικροεπεξεργαστή είναι ο εξής: το pin GND στο GND του μικροεπεξεργαστή, το pin Vcc στο pin 5V, το pin SDA πάντα στο pin A4 και τέλος το pin SCL πάντα στο pin A5. 
 
6. Στο περιβάλλον του Tinkercad η αντίστοιχη LCD 16x2 οθόνη με IC2 θα βρεθεί όπως δείχνει η παρακάτω εικόνα. Αρχικά στο menu "Components" επιλέγετε το "All" και στο μενού με τα ηλεκτρικά στοιχεία που εμφανίζεται θα βρείτε στην κατηγορία "Output" την οθόνη LCD 16x2 (I2C). 
Αν κάνετε κλικ πάνω στην οθόνη LCD στο Tinkercad θα εμφανιστεί η καρτέλα με τα χαρακτηριστικά της. Φροντίστε τα χαρακτηριστικά να είναι όπως φαίνονται στην παρακάτω εικόνα. Στην καρτέλα "Type" φροντίστε να είναι επιλεγμένο το "MCP23008-based" και στην καρτέλα "Address" το "39 (0x27). 
Προσοχή! Αυτά τα χαρακτηριστικά καλό είναι να τα δηλώσετε στο ΑΙ κατά τη δημιουργία του κώδικα.  

Η οθόνη LED με I2C στο Tinkercad φαίνεται στην παρακάτω εικόνα και μάλιστα με την κατάλληλη σύνδεση στο μικροεπεξεργαστή. 
    

7. Αν κάνετε κάποιο κύκλωμα με πραγματικά υλικά, τότε ο προγραμματισμός της οθόνης LCD με το στοιχείο I2C μέσω του Arduino Ide απαιτεί την εγκατάσταση μιας βοηθητικής βιβλιοθήκης στο Ide, η οποία ονομάζεται "LiquidCrystal_I2C". 
Για να την εγκαταστήσετε στο Arduino Ide κάνετε τα βήματα που δείχνουν οι παρακάτω εικόνες: στο Ide επιλέγουμε το Sketch, μετά το Include Library και τέλος το Manage Libraries. Στην επόμενη καρτέλα που θα βγει γράφεται τη φράση "LiquidCrystal_I2C" και πατάτε "Install". Είστε έτοιμοι! 

  
 
8. Όπως προείπαμε δεν έχουν όλες οι LED οθόνες το στοιχείο I2C, αξίζει να δούμε πώς συνδέεται μια LED οθόνη 16x2 χωρίς το συγκεκριμένο στοιχείο. Η αλήθεια είναι ότι σε αυτή την περίπτωση η σύνδεση της οθόνης με το μικροεπεξεργαστή είναι πιο σύνθετη. 
Οι βασικοί ακροδέκτες που χρησιμοποιούμε έχουν σημειωθεί στην παρακάτω εικόνα, παρόλο που συνήθως δεν χρησιμοποιούμε και τα 16 pin που εικονίζονται. 

Η σύνδεση είναι η εξής: 
GND -> στο pin GND
VDD -> στο pin 5V
V0 -> συνδέεται με το μεσαίο pin ενός ποτενσιόμετρου ή με το GND. Βοηθά στη ρύθμιση της αντίθεσης (contrast) της οθόνης 
RS -> στο pin 12 
RW -> GND 
E -> pin 11
D0, D1, D2, D3 -> δεν συνδέονται σε κάποιο pin
D4 -> pin 5
D5 -> pin 4
D6 -> pin 3
D7 -> pin 2
BLA -> pin 5V μέσω αντιστάτη των 220Ω
BLK -> pin GND 
 

Η παραπάνω σύνδεση που όπως βλέπετε είναι πιο πολύπλοκη από αυτή με τη χρήση του στοιχείο I2C φαίνεται στο παρακάτω link στο Tinkercad:

Η οθόνη LCD 16x2 (χωρίς το στοιχείο I2C) στο Tinkercad 

Προσοχή! Στην παραπάνω προσομοίωση περιστρέψτε το ποτενσιόμετρο μέχρι να φανεί το κείμενο. 
 
9. Οι βασικές διαφορές ανάμεσα στην lcd οθόνη με I2C και σε αυτή χωρίς, συνοψίζοντας, είναι οι εξής: η οθόνη lcd με I2C έχει πιο απλή σύνδεση (μόνο 4 καλώδια), δεν απαιτεί τη σύνδεση ποτενσιόμετρου, αφού η αντίθεση (contrast) ρυθμίζεται με τις εντολές του κώδικα και απαιτεί τη χρήση άλλης βιβλιοθήκης στο Arduino Ide. Συγκεκριμένα για οθόνη με I2C απαιτείται η εγκατάσταση της βιβλιοθήκης "LiquidCrystal_I2C", ενώ για οθόνη χωρίς I2C απαιτείται η εγκατάσταση της βιβλιοθήκης "LiquidCrystal". 
Οι δραστηριότητες στην τάξη και στις προτεινόμενες εργασίες έχουν στηθεί πάνω στη χρήση της lcd οθόνης με I2C.  

 
Εργασίες για το σπίτι (Tinkercad ή πραγματικό kit)
 
Εργασίες για το σπίτι για τους μαθητές που δεν μπορούν να κάνουν τις εργασίες στο Tinkercad ή με πραγματικό kit
 

Παρασκευή 7 Νοεμβρίου 2025

Μάθημα 5 - Αισθητήρες και Το Περιβάλλον

 

β1: Ολοκληρώθηκε η 1η ώρα. Παρόλο που έγινε η 2η ώρα, θα επαναληφθεί λόγω τεχνικών προβλημάτων

β2: Το μάθημα ολοκληρώθηκε

Στόχοι μαθήματος:

  • Να κατανοήσουμε πώς οι αισθητήρες μετατρέπουν φυσικά μεγέθη (π.χ. θερμοκρασία, φως) σε ηλεκτρικά σήματα.
  • Να μάθουμε να διαβάζουμε και να ερμηνεύουμε τιμές από τον φωτοαισθητήρα (LDR).
  • Να μάθουμε να διαβάζουμε και να ερμηνεύουμε τιμές από τον αισθητήρα θερμοκρασίας –υγρασίας HDT11.
  • Να χρησιμοποιήσουμε τις μετρήσεις των αισθητήρων για να ελέγξουμε έξοδους (LED, Buzzer). 

Τα project που δημιουργήσαμε στο Tinkercad:

Project 1: Το κύκλωμά μας περιλαμβάνει το φωτοαισθητήρα LDR, ένα Led και ένα Buzzer (στο Tinkercad, το ρόλο του Buzzer παίζει το Piezo). Όταν ο αισθητήρας αντιληφθεί πολύ χαμηλή ποσότητα φωτός (πρακτικά σκοτάδι) δίνει εντολή να ανάψει το Led, ενώ ταυτόχρονα το Buzzer παίζει τη μελωδία "Twinkle twinkle little star". 

 Εδώ θα βρείτε το project 1 που κάναμε στην τάξη

Το παραπάνω link σας πηγαίνει στο αρχείο του Tinkercad, στο οποίο φαίνεται το κύκλωμα και ο κώδικας που το προγραμμάτισε. Μπορείτε να επέμβετε στο παραπάνω αρχείο, αν θέλετε. Δεν θα το συνιστούσα, ώστε να δουν όλοι το ίδιο αποτέλεσμα. Ωστόσο αν κάνετε αλλαγές φροντίστε να τις αναιρέσετε μετά. 

Project 2: Στο δεύτερο project φτιάξαμε ένα κύκλωμα με ένα αισθητήρα θερμοκρασίας DHT11 κι ένα buzzer. Όταν η θερμοκρασία ξεπερνούσε τους 30 βαθμούς Κελσίου, τότε δινόταν εντολή στο buzzer να βγάλει ήχο. 

Εδώ θα βρείτε το project 2 που κάναμε στην τάξη

Στο παραπάνω project του Tinkercad αντί για τον αισθητήρα DHT11 υπάρχει ο αισθητήρας TMP36, ο οποίος συνδέεται λίγο διαφορετικά από τον DHT11. Δείτε παρακάτω στις επισημάνσεις. Επιπλέον, αντί για buzzer, όπως αναφέρω και παραπάνω, το Tinkercad έχει το ηλεκτρικό στοιχείο Piezo. 

Επισημάνσεις μαθήματος 

1. Ο φωτοαισθητήρας (LDR) είναι ένας αισθητήρας, του οποίου η λειτουργία εξαρτάται από την ποσότητα του φωτός που πέφτει στην πάνω επιφάνειά του, η οποία έχει αυτό το χαρακτηριστικό κυματιστό σχηματισμό που φαίνεται στην παρακάτω εικόνα. Διαθέτει δύο πόδια τα οποία δεν έχουν πολικότητα, επομένως δεν έχει σημασία με ποια σειρά θα τα συνδέσουμε. 
2. Ο τρόπος με τον οποίο συνδέουμε σε ένα κύκλωμα τον αισθητήρα LDR φαίνεται στην παρακάτω εικόνα. Όπως ειπώθηκε παραπάνω, δεν έχει σημασία η σειρά με την οποία θα συνδέσουμε τα ποδαράκια του LDR. 
Το ένα ποδαράκι συνδέεται στο pin των 5V, όπως δείχνει το κόκκινο καλώδιο, και το άλλο ποδαράκι συνδέεται με αντιστάτη που έχει σχετικά μεγάλη αντίσταση (συνήθως μια αντίσταση των 1.000Ω ή 1kΩ έως 10.000Ω ή 10kΩ). Προσοχή! Όλα τα project και οι εργασίες έχουν σχεδιαστεί για σύνδεση του LDR με αντίσταση των 1.000Ω ή 1kΩΤο άκρο του αντιστάτη που συνδέεται με το LDR συνδέεται με κάποια αναλογική θύρα εισόδου (Α0 ως Α5), όπως δείχνει το πράσινο καλώδιο και το ελεύθερο άκρο του αντιστάτη συνδέεται με το pin GND, όπως δείχνει το μαύρο καλώδιο. 
 
3. Ο τρόπος λειτουργίας του LDR φαίνεται στο παρακάτω διάγραμμα. 
Η ποσότητα του φωτός που πέφτει πάνω στην επιφάνεια του LDR προκαλεί ένα ηλεκτρικό σήμα που δίνει ο LDR στην αναλογική θύρα με την οποία είναι συνδεδεμένος. Στην παραπάνω εικόνα θεωρήσαμε ότι ο LDR είναι συνδεδεμένος στην θύρα Α0, επομένως σε αυτή τη θύρα θα πάει το σήμα του. Αυτό το σήμα με τη σειρά του μπορεί να θέσει σε λειτουργία κάποιο ηλεκτρικό στοιχείο του κυκλώματος, όπως π.χ. led, buzzer, μοτεράκι κτλ. 
 
4. Ο αισθητήρας θερμοκρασίας λειτουργεί με ανάλογο τρόπο όπως ο φωτοαισθητήρας LDR, όπως φαίνεται στην παραπάνω εικόνα. Δηλαδή, ο αισθητήρας θερμοκρασίας αντιλαμβάνεται τη θερμοκρασία του περιβάλλοντος, με βάση αυτή δημιουργεί ένα ηλεκτρικό σήμα, το οποίο πηγαίνει σε κάποια θύρα εισόδου του Arduino. Αυτό το σήμα στη συνέχεια μπορεί να θέσει σε λειτουργία κάποιο άλλο ηλεκτρικό στοιχείο του κυκλώματος.  

5. Γενικά πρέπει να είστε προσεκτικοί στη συνδεσμολογία του αισθητήρα θερμοκρασίας καθώς κυκλοφορούν στο εμπόριο διάφοροι τύποι. Εμείς χρησιμοποιήσαμε αυτόν που φαίνεται στην παρακάτω εικόνα. 

Αν παρατηρήσετε τα ποδαράκια θα δείτε ότι αυτός ο αισθητήρας πρέπει να συνδεθεί στο κύκλωμα ως εξής: το αριστερό pin θα συνδεθεί με το GND, το δεξί pin θα συνδεθεί με το pin των 5V (Vcc) και το μεσαίο pin (Data) θα συνδεθεί με κάποιο από τα pin 2 - 12 του Arduino. 
Προσοχή! Λανθασμένη συνδεσμολογία μπορεί να καταστρέψει τον αισθητήρα. Εννοείται τον πραγματικό αισθητήρα, όχι τους εικονικούς στο Tinkercad. Αν κάνετε λάθος σύνδεση στο Tinkercad θα βγει μήνυμα που θα σας ειδοποιεί για το λάθος στη σύνδεση.   
  
6. Στο Tinkercad ο αντίστοιχος αισθητήρας φαίνεται στην παρακάτω εικόνα και ο τύπος του είναι "TMP36". Ο τρόπος σύνδεσής του είναι σχεδόν ο ίδιος: το αριστερό πόδι συνδέεται με τα 5V, το αριστερό με το GND. Προσοχή! Το μεσαίο πόδι του πρέπει να συνδεθεί σε κάποιο από τα αναλογικά pin A0 - A5. 
7. Η εισαγωγή του κώδικα προγραμματισμού του arduino με τον αισθητήρα HDT11, μέσω του Arduino Ide απαιτεί μια ειδική προσθήκη στο Arduino Ide. Αυτή η προσθήκη ονομάζεται "DHT Sensor Library", δηλαδή σε μετάφραση: "Βιβλιοθήκη αισθητήρα DHT". Τα βήματα για να γίνει η προσθήκη είναι τα εξής, όπως φαίνεται στις εικόνες που ακολουθούν:
α. Στο περιβάλλον του Arduino Ide επιλέγουμε με τη σειρά "Sketch" - "Include Library" - "Manage Libraries". 
β. Στο επόμενο παράθυρο που θα βγει γράφουμε - όπως φαίνεται στην παρακάτω εικόνα - τη φράση "DHT Sensor Library". 
   

γ. Στη λίστα που θα προκύψει αυτόματα βλέπουμε τη βιβλιοθήκη "DHT sensor library" από την Adafruit. Θα μας δίνεται η επιλογή Install (στην παραπάνω εικόνα δεν φαίνεται διότι έχω ήδη εγκαταστήσει τη συγκεκριμένη βιβλιοθήκη, επομένως το Install έχει γίνει Remove, για να την αφαιρέσω αν το θέλω) την οποία κλικάρουμε για να εισαχθεί η συγκεκριμένη βιβλιοθήκη στο Arduino Ide. Προσοχή! Μετά την επιλογή Install θα προκύψει ένα εικονίδιο που θα αναφέρει το "Add depedencies". Καλό είναι να το επιλέξετε. Η εγκατάσταση της βιβλιοθήκης του αισθητήρα DHT11 θα ολοκληρωθεί μέσα σε λίγα δευτερόλεπτα. 

Πολύ πιθανό, αν κάνετε τον προγραμματισμό μέσω ΑΙ, να υπάρχει από το ΑΙ η προειδοποίηση εγκατάστασης της συγκεκριμένης βιβλιοθήκης. 

8. Προσοχή! Επειδή οι εργασίες στο Tinkercad έχουν τον αισθητήρα TMP36 προσέξτε τα εξής: ο αισθητήρας TMP36 πρέπει να συνδεθεί με κάποιο αναλογικό pin από το Α0 ως το Α5. Επιπλέον στο ΑΙ θα δηλώσετε ότι ο αισθητήρας είναι ο TMP36 του Tinkercad. Αυτή η πληροφορία είναι σημαντική για να λάβετε το σωστό κώδικα.  

 
Εργασίες για το σπίτι
Προσοχή! Αν επιλέξετε εργασία με αισθητήρα θερμοκρασίας και θέλετε να τον κάνετε σε πραγματικό kit να είστε σίγουροι ποια είναι η σωστή συνδεσμολογία γι' αυτόν. Αν τον συνδέσετε λανθασμένα θα τον καταστρέψετε. Επομένως, αν δεν είστε βέβαιοι, κάντε την εργασία στο Tinkercad, όπου δεν καταστρέφεται τίποτα. 
 
Για τα παιδιά που δεν έχουν πρόσβαση σε κατάλληλο υπολογιστή ή kit ρομποτικής για να κάνουν τις εργασίες προτείνεται η παρακάτω εργασία:
 

Τρίτη 7 Οκτωβρίου 2025

Μάθημα 3 - Μελωδίες με buzzer

β1: Η ενότητα ολοκληρώθηκε. Μπορείτε να κάνετε τις εργασίες

β2: Η ενότητα ολοκληρώθηκε. Μπορείτε να κάνετε τις εργασίες

Στόχοι μαθήματος:

  •  Να καταλάβουμε τι είναι ένα buzzer και τα δύο του είδη.
  •  Να μάθουμε να δημιουργούμε νότες και μελωδίες.
  •  Να δημιουργήσουμε ένα μικρό μουσικό έργο.

Τα project που δημιουργήσαμε στο Tinkercad:

Project 1:

Στο πρώτο project συνδέσαμε ένα buzzer στο pin 10 και το προγραμματίσαμε να βγάζει ήχο για ένα δευτερόλεπτο και να σταματά για μισό δευτερόλεπτο.  


 Εδώ θα βρείτε το project 1 που κάναμε στην τάξη

Το παραπάνω link σας πηγαίνει στο αρχείο του Tinkercad, στο οποίο φαίνεται το κύκλωμα και ο κώδικας που το προγραμμάτισε. Μπορείτε να επέμβετε στο παραπάνω αρχείο, αν θέλετε. Δεν θα το συνιστούσα, ώστε να δουν όλοι το ίδιο αποτέλεσμα. Ωστόσο αν κάνετε αλλαγές φροντίστε να τις αναιρέσετε μετά. 

 Project 2:

Στο δεύτερο project χρησιμοποιήσαμε ένα buzzer, συνδεδεμένο στο pin 10, και το προγραμματίσαμε να παίξει κατά σειρά τις νότες: "ντο - ρε - μι - φα - σολ - λα - σι - ντο". Η διάρκεια της κάθε νότας ήταν μισό δευτερόλεπτο και η παύση ανάμεσα στις νότες ήταν 0,1 δευτερόλεπτα. 

Εδώ θα βρείτε το project που κάναμε στην τάξη
Στο παραπάνω link θα δείτε και τον κώδικα που δημιούργησε η ΑΙ για το συγκεκριμένο project.  

 

Επισημάνσεις μαθήματος 

1. Στα πλαίσια του μαθήματος θα χρησιμοποιήσουμε δύο ειδών buzzer: τον ενεργητικό (active) και τον παθητικό (passive). Αναγνωρίζουμε τον ένα από τον άλλο εξαιτίας του διαφορετικού τους μεγέθους, όπως φαίνεται στην παραπάνω εικόνα. Μιλώντας απλά φανταστείτε τον ενεργητικό buzzer ως ένα βομβητή που βγάζει ήχο όπως ένας συναγερμός, ενώ ο παθητικος buzzer μπορεί να αναπαράγει μια ολόκληρη μελωδία από νότες.  

2. Το ηλεκτρικό στοιχείο Piezo που θα βρείτε στο περιβάλλον του Tinkercad και φαίνεται στην παραπάνω εικόνα, μπορεί να λειτουργήσει όπως το ενεργητικό ή παθητικό buzzer. Η μόνη διαφορά είναι ότι δεν βγάζει τόσο καθαρό ήχο. Ωστόσο για τις εργασίες σας στο Tinkercad θα χρησιμοποιείτε αυτό ως buzzer. Προσοχή! Το Piezo έχει θετικό και αρνητικό πόλο όπως τα buzzer. 

3. Συνίσταται να συνδέεται με τα buzzer ένα αντιστάτη με αντίσταση από 100Ω ως τα 220Ω, για την προστασία τους. Όσο μεγαλύτερη αντίσταση όμως συνδέεται, τόσο πιο ασθενής θα είναι ο ήχος που δίνει το buzzer. Ωστόσο ακόμα κι αν συνδέσετε ένα buzzer κατευθείαν στο arduino δεν θα καταστραφεί. 

4. Ένας πολύτιμος βοηθός στον προγραμματισμό των buzzer, ειδικά του παθητικού buzzer, είναι οι πλατφόρμες Τεχνητής Νοημοσύνης (AI) (π.χ. Chatgpt, Copilot, Deepseek κτλ). Περιγράψτε στο AI το κύκλωμά σας και το σκοπό για τον οποίο το φτιάξατε και ζητήστε του να κάνει τον προγραμματισμό. Κάντε "copy" τον κώδικα και μετά "paste" στο παράθυρο "Code" του Tinkercad. Στο "Code" φροντίστε να έχετε επιλέξει το "Text", όπως φαίνεται στην παρακάτω εικόνα. 

Αντικαταστήστε τον κώδικα που φαίνεται στο πράσινο πλαίσιο με αυτόν που πήρατε από το AI για το project σας. Εννοείται ότι τον ίδιο κώδικα μπορείτε να φορτώσετε στο πραγματικό κύκλωμά σας μέσω του Arduino Ide. 
 
Εργασίες για το σπίτι
Προσοχή! Θα συμβούλευα τα παιδιά που θα κάνουν το κύκλωμα με πραγματικά υλικά, να το δοκιμάσουν πρώτα στο Tinkercad για να είναι σίγουροι ότι όλα λειτουργούν όπως πρέπει και δεν θα κάνουν ζημιά στο arduino ή στα buzzer.  

Πέμπτη 2 Οκτωβρίου 2025

Μάθημα 4 - Αναλογικη & Ψηφιακη Εισοδος (Ποτενσιόμετρο & Κουμπί)

 β1: Η ενότητα ολοκληρώθηκε

 β2: Η ενότητα ολοκληρώθηκε

Στόχοι μαθήματος:

  • Να κατανοήσετε τη θεμελιώδη διαφορά αναλογικής και ψηφιακής εισόδου
  • Να διαπιστώσετε τον τρόπο λειτουργίας ενός ποτενσιόμετρου
  • Να χρησιμοποιήσετε σε ένα κύκλωμα συνδυασμούς κουμπιών
  • Να ελέγξετε διάφορες εξόδους (LED, Buzzer) μέσω αναλογικής εισόδου (ποτενσιόμετρο) και ψηφιακής εισόδου (κουμπί)

 Τα project που δημιουργήσαμε στο Tinkercad:

Project 1:

Δημιουργήσαμε ένα κύκλωμα με ένα led στο pin 9 (πρέπει το led να συνδεθεί σε pin που συνοδεύεται από το σύμβολο ~) και ένα ποτενσιόμετρο συνδεδεμένο στο pin Α0. Το ποτενσιόμετρο ρυθμίζει τη φωτεινότητα του led. Δηλαδή γυρνώντας τη λαβή του ποτενσιόμετρου η φωτεινότητα του led αυξάνεται και μειώνεται.  



Εδώ θα βρείτε το project που κάναμε στην τάξη

Το παραπάνω link σας πηγαίνει στο αρχείο του Tinkercad, στο οποίο φαίνεται το κύκλωμα και ο κώδικας που το προγραμμάτισε. Μπορείτε να επέμβετε στο παραπάνω αρχείο, αν θέλετε. Δεν θα το συνιστούσα, ώστε να δουν όλοι το ίδιο αποτέλεσμα. Ωστόσο αν κάνετε αλλαγές φροντίστε να τις αναιρέσετε μετά. 

 Project 2:

Δημιουργήσαμε ένα κύκλωμα με ένα led στο pin 9 και ένα push button συνδεδεμένο στο pin 12. Κάθε πάτημα του push button ανάβει και σβήνει το led.   

 

Εδώ θα βρείτε το project που κάναμε στην τάξη

Το παραπάνω link σας πηγαίνει στο αρχείο του Tinkercad, στο οποίο φαίνεται το κύκλωμα και ο κώδικας που το προγραμμάτισε. Μπορείτε να επέμβετε στο παραπάνω αρχείο, αν θέλετε. Δεν θα το συνιστούσα, ώστε να δουν όλοι το ίδιο αποτέλεσμα. Ωστόσο αν κάνετε αλλαγές φροντίστε να τις αναιρέσετε μετά.  

Επισημάνσεις μαθήματος (δίνονται σε όσο πιο εύκολη γλώσσα γίνεται)

 

 

1.  Τα pins εισόδου (input) λαμβάνουν κάποιο ηλεκτρικό σήμα (διαβάζουν ένα αριθμό), ενώ τα pins εξόδου (output) δίνουν ένα ηλεκτρικό σήμα (δίνουν ένα αριθμό). 
Τα pins 13 - 0 συνήθως χρησιμοποιούνται ως pins εξόδου, οπότε δίνουν ως σήμα τον αριθμό 0 (δεν δίνω ρεύμα) ή τον αριθμό 1 (δίνω ρεύμα).
Τα pins με το σύμβολο «~» (11, 10, 9, 6, 5, 3) μπορούν να λειτουργήσουν όπως τα άλλα pins (δίνω σήμα 0 ή 1) ή να δώσουν ως σήμα ένα αριθμό από το 0  ως το 255. Το 0 σημαίνει δεν δίνω ρεύμα. Το 255 σημαίνει δίνω το μέγιστο ρεύμα, ενώ οι ενδιάμεσες τιμές σημαίνουν δίνω λιγότερο ή περισσότερο ρεύμα.  
Οι θύρες Α0 – Α5 συνήθως χρησιμοποιούνται ως θύρες εισόδου που διαβάζουν τον αριθμό που περιγράφει το ηλεκτρικό σήμα, αλλά μπορούν να χρησιμοποιηθούν όπως οι υπόλοιπες θύρες 13 – 0 δίνοντας τιμή 0 ή 1. 

2. Με βάση τον προσανατολισμό που δείχνει η παραπάνω εικόνα το αριστερό άκρο του ποτενσιόμετρου συνδέεται με το GND (γείωση), το μεσαίο με κάποιο pin εισόδου (π.χ. Α0 - Α5) και το δεξί άκρο στο pin 5V. 

 Το μεσαίο άκρο δίνει ένα ηλεκτρικό σήμα που χαρακτηρίζεται από τον αριθμό 0 - 1023. Το 0 σημαίνει καθόλου σήμα (όχι ρεύμα), το 1023 σημαίνει σήμα μέγιστης έντασης (μέγιστο ρεύμα), ενώ οι ενδιάμεσες τιμές σημαίνουν μια ενδιάμεση ένταση σήματος. Αυτό μπορείτε να το δείτε στην παρακάτω προσομοίωση. 
 Στην προσομοίωση με τίτλο "Σύνδεση ποτενσιόμετρου" πατήστε το "Start simulation" και το "Code". Όταν αρχίσει η προσομοίωση πατήστε το "Serial monitor". Στο "Serial monitor" θα αναγράφεται η τιμή του σήματος που δίνει το ποτενσιόμετρο στο pin A0. Γυρίστε το κουμπί (κάνοντας κλικ με το ποντίκι συνεχόμενα) του ποτενσιόμετρου για να δείτε τις διαφορετικές τιμές του σήματος. Θα διαπιστώσετε ότι η ελάχιστη τιμή είναι το 0 και η μέγιστη το 1023. Δείτε την παρακάτω εικόνα: 
3.  Ποια είναι η λογική της χρήσης του σήματος του ποτενσιόμετρου στο pin A0 ως ρυθμιστή της έντασης της φωτεινότητας του led που συνδέεται με το pin 9; Η λογική φαίνεται στην παρακάτω εικόνα: 
Το ποτενσιόμετρο δίνει μια τιμή ανάμεσα στο 0 και στο 1023, ανάλογα με το πόσο έχουμε περιστρέψει τη λαβή του. Η τιμή αυτή εισάγεται στη θύρα Α0. Ο μικροεπεξεργαστής μετατρέπει το σήμα του ποτενσιόμετρου σε ένα νέο σήμα που παίρνει τιμές από το 0 ως το 255. Η τιμή του νέου σήματος μέσω του pin 9 δίνεται στο led κι έτσι ρυθμίζεται η φωτεινότητά του. 
4. Υπάρχουν διάφοροι τρόποι για να συνδεθεί το push button σε ένα κύκλωμα, οι οποίοι μοιάζουν μεταξύ τους. Για το συγκεκριμένο μάθημα επέλεξα ίσως τον πιο δημοφιλή. Ο τρόπος σύνδεσης που χρησιμοποίησα ονομάζεται "pull down" σύνδεση και αναλύεται στην παρακάτω εικόνα:
 

  Είδαμε παραπάνω ότι το ποτενσιόμετρο μας δίνει ένα σήμα που παίρνει συνεχείς τιμές από το 0 ως το 1023, γι' αυτό το λόγο χαρακτηρίζεται ως αναλογικό. Το push button από την άλλη δίνει ένα σήμα στο pin όπου το έχουμε συνδέσει που μπορεί να πάρει μόνο δύο τιμές: 0 και 1. Γι' αυτό το λόγο χαρακτηρίζεται ως ψηφιακό

  Αυτό μπορείτε να το δείτε στην προσομοίωση με τίτλο: "Σύνδεση push button", όπου το push button είναι συνδεδεμένο με το pin 12. Πατήστε το "Start simulation" και το "Code". Όταν αρχίσει η προσομοίωση πατήστε το "Serial monitor". Στο "Serial monitor" θα αναγράφεται η τιμή του σήματος που δίνει το push button στο pin 12. Θα διαπιστώσετε ότι όταν δεν πατάτε το κουμπί αυτό δίνει την τιμή 0, ενώ όταν το πατάτε δίνει την τιμή 1. 

5. Τα push button για την καλύτερη λειτουργία τους πρέπει να συνδέονται με αντιστάτη των 10kΩ, όπως φαίνεται στην παραπάνω εικόνα. Ο λόγος, χωρίς πολλές λεπτομέρειες, είναι ότι χωρίς αυτόν τον αντιστάτη ή με άλλο αντιστάτη ο μικροεπεξεργαστής μπορεί να αντιληφθεί λανθασμένα το σήμα που δίνει το push button ή ακόμα κι αν δεν το έχουμε πατήσει να αντιληφθεί ψευδές σήμα πατήματος. 

  Όπως προανέφερα εμείς συνδέουμε το push button με "pull down" σύνδεση. Αυτό να το αναφέρεται στο AI, όταν θα κάνετε τον προγραμματισμό. 


 
Εργασίες για το σπίτι
Προσοχή! Θα συμβούλευα τα παιδιά που θα κάνουν το κύκλωμα με πραγματικά υλικά, να το δοκιμάσουν πρώτα στο Tinkercad για να είναι σίγουροι ότι όλα λειτουργούν όπως πρέπει και δεν θα κάνουν ζημιά στο arduino.