Εισαγωγή στο Arduino και το MBlock
Μανώλης Αργυρός
Κατασκευές με την πλατφόρμα Arduino και προγραμματισμός στο περιβάλλον Mblock.
Το Arduino είναι ιδανική πλατφόρμα για εκμάθηση ηλεκτρονικών και προγραμματισμού με το οποίο μπορείς να φτιάξεις κατασκευές και να τις προγραμματίσεις ώστε να επιλύσεις προβλήματα της πραγματικότητας.
Classrooms
Λιγότερα
Κύκλωμα – Led – Breadboard
Κύκλωμα ονομάζεται μία κλειστή διαδρομή που περνάει ηλεκτρικό ρεύμα.
Στην παρακάτω εικόνα έχουμε ένα κύκλωμα.
Το ηλεκτρικό ρεύμα είναι η προσανατολισμένη κίνηση ηλεκτρικών φορτίων κατά μήκος ενός ηλεκτροφόρου αγωγού (καλώδιο). Ρεύμα δημιουργείται όταν υπάρχει διαφορά τάσης.
Η πλακέτα του Arduinο παίρνει ρεύμα από τον υπολογιστή ή από μπαταρία που συνδέουμε.
Το ρεύμα στο κύκλωμά μας δημιουργείται όταν στο pin 7 της πλακέτας δώσουμε τάση +5Volt, πώς; Μέσα από το πρόγραμμα.
Στο τέλος του κυκλώματος έχουμε τη γείωση GND. Γείωση ονομάζεται η σύνδεση ενός ακροδέκτη ηλεκτρικού κυκλώματος με το έδαφος ή άλλο αντικείμενο με τάση 0 Volt.
Η διαφορά αυτή μεταξύ +5Volt και 0 Volt δημιουργεί το ρεύμα.
Το ρεύμα κινείται από τον θετικό πόλο προς τη γείωση.
Ενδιάμεσα από το pin 7 και τη γείωση GND υπάρχουν
- Μία αντίσταση: Η αντίσταση «φρενάρει» το ρεύμα ώστε να μην καεί το LED. Εάν δεν συνδέσουμε αντίσταση το LED θα καεί. Επειδή το ρεύμα κινείται από το +5 Volt στη γείωση η αντίσταση μπαίνει πριν τη λάμπα (LED).
- To LED, ανάλογα αν περνάει ρεύμα ανάβει, εάν δεν περνάει ρεύμα είναι σβηστό.
Το ρεύμα διαπερνά το LED από το θετικό πόλο (Άνοδος) προς τον αρνητικό (Κάθοδος). Ο θετικός πόλος είναι πιο μακρύς!
Υδραυλικό κύκλωμα
Πότε θα περάσει ρεύμα από το κύκλωμα το καθορίζουμε μέσω του προγράμματος:
Breadboard
Κάτω από την πλακέτα υπάρχουν συνδέσεις όπως φαίνονται στο σχήμα:
Αυτές τις συνδέσεις τις έχουμε στο μυαλό μας για να ξέρουμε πως θα σχεδιάσουμε το κύκλωμά μας και πως θα συνδέσουμε τα διάφορα εξαρτήματά μας.
ΠΡΟΓΡΑΜΜΑ - MBLOCK
Δραστηριότητα 1
Να σχεδιάσετε με κόκκινο μαρκαδόρο το κύκλωμα στο παρακάτω σχήμα
Δραστηριότητα 2
Διάβασε το παρακάτω κείμενο:
Γνωρίζετε πως ηλεκτροδοτείται η Σύρος;
Δραστηριότητα 3
Στο κύκλωμα της δραστηριότητας 1 να προσθέστε ένα περισσότερα LEDs. Φτιάξτε το πρόγραμμα ώστε να ανάβουν διαδοχικά, ένα μόνο κάθε στιγμή.
Παράδειγμα εφαρμογής - Κύβος με leds
https://www.instructables.com/Simple-Arduino-RGB-LED-Cube-3x3x3/?linkId=68425654
Φωτοευαίσθητος αισθητήρας (Photoresistor Light Sensor LDR)
Σύνδεση με breadboard:
Σύνδεση με shield:
Πρόγραμμα εμφάνισης τιμών αισθητήρα
Στο arduino
Για να εμφανίζεται και στην LCD οθόνη
Στο sprite
Πρόγραμμα ελέγχου led ανάλογα την φωτεινότητα του περιβάλλοντος
Συνδέστε ένα led στο pin 7, θα ανάβει όταν δεν υπάρχει αρκετό φως, θα σβήνει σε αντίθετη περίπτωση.
Το sprite έχει 2 ενδυμασίες οι οποίες εναλλάσσονται ανάλογα με την φωτεινότητα επίσης έχει γίνει εισαγωγή ήχου στην περίπτωση που υπάρχει σκοτάδι!
Παρακολούθηση θερμοκρασίας σε οθόνη LCD (I2C LCD 16x2)
Συνδεσμολογία
LCD Οθόνη (I2C) Arduino
GND GND
VCC 5V
SDA A4
SCL A5
Σύνδεση σε shield:
Ρύθμιση αντίθεσης της οθόνης LCD
Ίσως χρειαστεί να προσαρμόσετε με ένα μικρό κατσαβίδι την αντίθεση της οθόνης. Αυτό γίνεται από το ποτενσιόμετρο (εξάρτημα με μπλε χρώμα) που έχει στην πίσω πλευρά της η οθόνη.
Δημιουργία και απεικόνιση συμβόλων (ή ελληνικών γραμμάτων)
https://omerk.github.io/lcdchargen/
Πρόγραμμα παρακολούθησης θερμοκρασίας σε οθόνη LCD (I2C LCD 16x2)
1. Εγκαταστήστε την επέκταση LCD i2c
2. Οι εντολές που χρειάζονται είναι :
Η πρώτη μία φορά, αρχικά στο πρόγραμμα, ενώ η δεύτερη όποτε θέλετε να εμφανίζεται μια τιμή στην οθόνη.
Σύνδεση αισθητήρα Θερμοκρασίας/Υγρασίας DHT11 3 ακίδων με το Arduino
Χαρακτηριστικά :
∙ Η θερμοκρασία που μπορεί να μετρηθεί κυμαίνεται από 0οC έως 50οC με ακρίβεια ± 2% οC
∙ Η υγρασία μπορεί να μετρηθεί από 20% έως 90% με ακρίβεια ± 5%
Όσον αφορά τα δεδομένα μεταδίνονται ψηφιακά. Αν και ο ίδιος ο αισθητήρας είναι αναλογικός, περιλαμβάνει ένα σύστημα για την μετατροπή αναλογικής τιμής σε ψηφιακή και έτσι μπορεί να συνδεθεί απευθείας σε μια ψηφιακή είσοδο του Arduino (π.χ. pin4) ή σε αναλογική είσοδο (π.χ. Α0)
Υπάρχουν δύο διαφορετικές εκδόσεις του DHT11 που μπορεί να συναντήσετε. Ο ένας τύπος έχει 4 ακίδες και ο άλλος τύπος έχει 3 ακίδες.
Η σύνδεση του αισθητήρα υγρασίας και θερμοκρασίας 3 ακίδων είναι αρκετά απλή, καθώς ο αισθητήρας έχει μόνο 3 ακίδες και υλοποιείται ως εξής:
Out : Σύνδεση με ψηφιακό pin arduino
GND (Ground) : Σύνδεση με τη γείωση
Out (Signal) : Σύνδεση σε ψηφιακή ή αναλογική είσοδο Vcc Σύνδεση με τροφοδοσία 3,3v ή 5v (*)
(*) εάν χρησιμοποιήσετε 3,3v αντί για 5v, τότε το καλώδιο δεν πρέπει να υπερβαίνει τα 20 εκατοστών, λόγω πτώσης τάσης.
Σύνδεση σε breadboard:
Σύνδεση σε shield:
Πρόγραμμα για παρακολούθηση θερμοκρασίας στην οθόνη του υπολογιστή, με χρήση του ανταλλαγή μηνυμάτων
- Εγκαταστήστε την επέκταση Upload Mode Broadcast 2 φορές, μία στην καρτέλα συσκευές (Devices) και μία στην καρτέλα Sprites.
2. Εγκαταστήστε την επέκταση Sensor DHT11-DHT22
Στο sprite:
Οι τιμές που στέλνονται από τον αισθητήρα που είναι συνδεμένος με το arduino εμφανίζονται στην οθόνη με την εντολή say.
Σερβοκινητήρας (servo motor)
Ο σερβοκινητήρας είναι ένας κινητήρας που μπορεί να περιστρέφει έναν άξονα από τις μηδέν μοίρες ως 180 μοίρες. Έχει 3 καλώδια, μαύρο ή καφέ, κόκκινο και πορτοκαλί. Το κόκκινο καλώδιο συνδέεται με την ακίδα 5V (VCC), το μαύρο/ καφέ με τη γείωση (GND) και το πορτοκαλί με μία ψηφιακή ακίδα (pin) ώστε να μπορούμε να τον ελέγξουμε.
Σύνδεση servo με το pin 5 του arduino
Σύνδεση με shield
Παράδειγμα προγράμματος ελέγχου
Στο Devices (Arduino)
Στην ρακέτα (sprite)
Στη μπάλα(sprite)
https://www.youtube.com/watch?v=j3VlrEuwEpA&ab_channel=ElRinc%C3%B3ndePrimaria
Δημιουργία συγκεκριμένου χρώματος :
https://www.w3schools.com/colors/colors_picker.asp
Πρόγραμμα εμφάνισης τυχαίου χρώματος στο led