Εισαγωγή στο Arduino και το MBlock

Μανώλης Αργυρός

Περιγραφή

 

Κατασκευές με την πλατφόρμα Arduino και προγραμματισμός στο περιβάλλον Mblock.

Το Arduino είναι ιδανική πλατφόρμα για εκμάθηση ηλεκτρονικών και προγραμματισμού με το οποίο μπορείς να φτιάξεις κατασκευές και να τις προγραμματίσεις ώστε να επιλύσεις προβλήματα της πραγματικότητας.

 

Classrooms

Program for Motors

Ενότητες

 

Κύκλωμα – Led – Breadboard

 

Κύκλωμα ονομάζεται μία κλειστή διαδρομή που περνάει ηλεκτρικό ρεύμα.

Στην παρακάτω εικόνα έχουμε ένα κύκλωμα.

 

 

Το ηλεκτρικό ρεύμα είναι η προσανατολισμένη κίνηση ηλεκτρικών φορτίων κατά μήκος ενός ηλεκτροφόρου αγωγού (καλώδιο). Ρεύμα δημιουργείται όταν υπάρχει διαφορά τάσης.

Η πλακέτα του Arduinο παίρνει ρεύμα από τον υπολογιστή ή από μπαταρία που συνδέουμε.

Το ρεύμα στο κύκλωμά μας δημιουργείται όταν στο pin 7 της πλακέτας δώσουμε τάση +5Volt, πώς; Μέσα από το πρόγραμμα.

Στο τέλος του κυκλώματος έχουμε τη γείωση GND. Γείωση ονομάζεται η σύνδεση ενός ακροδέκτη ηλεκτρικού κυκλώματος με το έδαφος ή άλλο αντικείμενο με τάση 0 Volt.

Η διαφορά αυτή μεταξύ +5Volt και 0 Volt δημιουργεί το ρεύμα.

Το ρεύμα κινείται από τον θετικό πόλο προς τη γείωση.

Ενδιάμεσα από το pin 7 και τη γείωση GND υπάρχουν

  1. Μία αντίσταση: Η αντίσταση «φρενάρει» το ρεύμα ώστε να μην καεί το LED. Εάν δεν συνδέσουμε αντίσταση το LED θα καεί. Επειδή το ρεύμα κινείται από το +5 Volt στη γείωση η αντίσταση μπαίνει πριν τη λάμπα (LED).

  2. 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:

 

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

 

  1. Εγκαταστήστε την επέκταση 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