Εισηγητής: Παλιούρας Αριστείδης
Καθηγητής Πληροφορικής Δ/θμιας Εκπ/σης arispaliouras@gmail.com Πανεπιστήμιο Κρήτης: Τμήμα Επιστήμης Υπολογιστών Ο.Π.Α: Μεταπτυχιακό στην Επιστήμη των Υπολογιστών Α.Σ.ΠΑΙ.Τ.Ε: Μεταπτυχιακό S.T.E.M. στην εκπαίδευση
Γιατί Arduino; • Κόστος. • Απλό. Μέσα σε λίγες ώρες ο άπειρος χρήστης μπορεί να δημιουργήσει την πρώτη του κατασκευή. • Ανοικτού κώδικα (υλικό και λογισμικό). • Ιδιοκατασκευή εναλλακτικών, καινοτόμων πειραματικών διατάξεων σε σχέση με αυτές του εμπορίου.
Γιατί Arduino; • Πλούσιο διαδικτυακό υλικό υποστήριξης.
• Ειδικά forum όπου μοιράζονται την εμπειρία και την εργασία τους με άλλους εκπαιδευτικούς, ερευνητές και χομπίστες. • Αισθητήρες με χαμηλό κόστος.
• Εύκολοι τρόποι απεικόνισης των δεδομένων από αισθητήρες.
Γιατί Arduino; • Φτηνή λύση για Εκπαιδευτική Ρομποτική.
• Πολλές εκδόσεις (κάθε έκδοση καλύπτει διαφορετικές ανάγκες). • Πλακέτες επέκτασης (shield). Δίνουν νέες δυνατότητες στις πλατφόρμες του Arduino. • Το IDE εκτελείται σε linux, windows, mac.
Arduino To 2003 στην πόλη Ιβρέα της Ιταλίας ένας φοιτητής στα πλαίσια μιας εργασίας ανέπτυξε το Wiring Project. Το Wiring Project ήταν η ανάπτυξη ενός απλού συστήματος βασισμένου σε μικροελεγκτή που να προσφέρεται για εύκολη και γρήγορη ανάπτυξη εφαρμογών.
Arduino To Arduino ήταν μια επέκταση του Wiring Project με σκοπό να χρησιμοποιηθεί από ανθρώπους μη σχετικούς με την τεχνολογία. Το Arduino πήρε το όνομά του από τον Arduin που ήταν στρατιωτικός διοικητής της Ιβρέα και αργότερα βασιλιάς της Ιταλίας.
Ξεκίνησε το 2005 από τους Massimo Banzi και David Cuartielles
14 ψηφιακές I/O
Σύνδεση μέσω USB με τον υπολογιστή
Τροφοδοσία 7-12 Volt
Τροφοδοσία 5V / 3.3V / GND
6 αναλογικές είσοδοι
Αισθητήρες
Breadboard
Απαραίτητο για την ανάπτυξη κατασκευών. Σημαντικά σημεία:
Η χρήση του είναι πιο εύκολη από την κόλληση! Έχει πολλές μικρές τρύπες.
Το breadboard είναι μια μονάδα για την κατασκευή προσωρινών κυκλώματα (πρωτοτύπων) και δεν απαιτούν απολύτως καμία συγκόλληση.
Breadboard
Οι οπές στην ίδια κατακόρυφο ευθεία είναι μεταξύ τους βραχυκυκλωμένες
Σε καθένα από τα δύο τμήματα διακρίνουμε 2 περιοχές: Α) την εξωτερική περιοχή οριζόντιας βραχυκύκλωσης
Β) την εσωτερική περιοχή κατακόρυφης βραχυκύκλωσης
Αφού γράψουμε ένα πρόγραμμα στο Περιβάλλον Ανάπτυξης Προγράμματος (IDE) του Arduino, πρώτα, μεταγλωττίζουμε αυτό το πρόγραμμα και μετά φορτώνουμε αυτό το πρόγραμμα στη Flash Memory, στο μικροπεξεργαστή του Arduino. To πρόγραμμα που αποθηκεύεται στη Flash Memory, εκτελείται στη μονάδα επεξεργασίας (CPU) του μικροεπεξεργαστή στον Arduino και κατά την εκτέλεση του στη CPU, διαβάζει δεδομένα ή δημιουργεί τάσεις στις αναλογικές και ψηφιακές θύρες του Arduino.
Γιατί Ardublock ; Είναι δωρεάν.
Η χρήση του είναι πολύ εύκολη καθώς μοιάζει πάρα πολύ με το Scratch, στο οποίο οι μαθητές έχουν ήδη εξοικειωθεί από το Δημοτικό Σχολείο και το Γυμνάσιο. Ο προγραμματισμός γίνεται σε ένα γραφικό περιβάλλον με τη χρήση πλακιδίων, το οποίο καθιστά το προγραμματιστικό περιβάλλον πιο ελκυστικό και προσιτό στους μαθητές και ιδιαίτερα στους αρχάριους. Το πρόγραμμα είναι πιο αναγνώσιμο. Αποφυγή συντακτικών λαθών. Τα πλακίδια είναι σχεδιασμένα έτσι ώστε να ταιριάζουν μεταξύ τους μόνο όταν ο συνδυασμός τους έχει κάποιο συντακτικό νόημα. Με αυτό τον τρόπο, βοηθά τους αρχάριους μαθητές να επικεντρώνονται περισσότερο στην επίλυση προβλημάτων και λιγότερο στο συντακτικό της γλώσσας.
Γιατί Ardublock ; Η χρήση των πλακιδίων αποκρύπτει τη συντακτική πολυπλοκότητα της γλώσσας προγραμματισμού (Wiring C) που χρησιμοποιείται στο Arduino IDE. To Ardublock διαθέτει επιπλέον προγραμματιστικά πλακίδια (εκτός των πλακιδίων για τις βασικές αλγοριθμικές δομές) για τον χειρισμό συγκεκριμένων εξαρτημάτων (π.χ. αισθητήρες). Επίσης, αρκετές εταιρίες έχουν δημιουργήσει ομάδες πλακιδίων για το χειρισμό δικών τους εξαρτημάτων. Υποστηρίζει διαδικασίες. Οι Παπάζογλου κ.ά. (2014) αναφέρουν ότι το Ardublock απλοποιεί ιδιαίτερα τη διαδικασία της συγγραφής προγραμμάτων και είναι κατάλληλο για την υλοποίηση εφαρμογών σε μαθητές Δευτεροβάθμιας Εκπαίδευσης.
Γιατί Ardublock ; Επιτρέπει τη δημιουργία προγραμμάτων που θα εκτελούνται αυτόνομα στο Arduino (όπως και στο Arduino IDE). Μετατρέπει το πρόγραμμα σε Wiring C και μετά το φορτώνει στον μικροελεγκτή. Οπότε, οι μαθητές έχουν τη δυνατότητα να βλέπουν κάθε φορά και το αντίστοιχο πρόγραμμα στο περιβάλλον του Arduino IDE το οποίο στη συνέχεια μπορούν να το μελετήσουν, να το τροποποιήσουν και να το συγκρίνουν με το αντίστοιχο ισοδύναμο πρόγραμμα στο Ardublock.
Scratch for Arduino (http://s4a.cat/)
Ηλεκτρονικό εξάρτημα με δύο ακροδέκτες που όταν συνδεθούν σε μια πηγή βγάζει φως.
άνοδος
LED
κάθοδος
https://learn.sparkfun.com/tutorials/light-emitting-diodes-leds
Electricity wants to flow from a higher voltage to a lower voltage.
Φύλλο Εργασίας 1
Στην πρώτη μας δραστηριότητα θα συνδέσουμε ένα LED με την πλακέτα Arduino. Στη συνέχεια με το προγραμματιστικό περιβάλλον Ardublock θα προγραμματίσουμε τον μικροελεγκτή Arduino να αναβοσβήνει το LED ανά ένα δευτερόλεπτο.
Τμήμα ψηφιακών αυτοματισμών και ρομποτικών κατασκευών με τον μικροελεγκτή Arduino, προγραμματιζόμενο σε Scratch.
LED που αναβοσβήνει!
LED
άνοδος
κάθοδος
https://learn.sparkfun.com/tutorials/light-emitting-diodes-leds
κλικ
κλικ
To LED ανάβει για 1 δευτερόλεπτο και στη συνέχεια σβήνει
To LED αναβοσβήνει συνεχώς (για πάντα)
Τμήμα ψηφιακών αυτοματισμών και ρομποτικών κατασκευών με τον μικροελεγκτή Arduino, προγραμματιζόμενο σε Scratch.
Παιχνίδι ερωτήσεων!
Προσθέστε ένα δεύτερο κόκκινο LED το οποίο θα ανάβει όταν ο παίκτης του παιχνιδιού δεν απαντάει σωστά στην ερώτηση.
Προσθέστε άλλες 2 ερωτήσεις στο πρόγραμμά σας!
Τμήμα ψηφιακών αυτοματισμών και ρομποτικών κατασκευών με τον μικροελεγκτή Arduino, προγραμματιζόμενο σε Scratch.
Φωτεινός σηματοδότης!
Φωτεινός Σηματοδότης Στην δραστηριότητα αυτή θα προσομοιώσουμε τη λειτουργία ενός φωτεινού σηματοδότη (φανάρι κυκλοφορίας). Αρχικά θα ανάβει το πράσινο φανάρι για 5 δευτερόλεπτα. Στη συνέχεια θα ανάβει το κίτρινο φανάρι για 2 δευτερόλεπτο και αμέσως μετά το κόκκινο για 6 δευτερόλεπτα. Η διαδικασία αυτή θα επαναλαμβάνεται συνεχώς.
Όταν η μεταβλητή light_status είναι μικρότερη του 3 (δηλαδή 1 ή 2) τότε το αυτοκίνητο κινείται, αλλιώς σταματάει γιατί έχει ανάψει το κόκκινο.
Πρόβλημα: Κάθε φορά που ανάβει κόκκινο το αυτοκίνητο σταματάει και ας έχει περάσει το φανάρι.
Πως μπορούμε να το λύσουμε ;
Τμήμα ψηφιακών αυτοματισμών και ρομποτικών κατασκευών με τον μικροελεγκτή Arduino, προγραμματιζόμενο σε Scratch.
Πειραματίζομαι με τις ρίψεις του ζαριού!
Πειραματίζομαι με τις ρίψεις του ζαριού!
1ος τρόπος: Υλοποίηση με κύκλωμα
2ος τρόπος: Προσομοίωση στη σκηνή του Scratch
Πηγή: https://www.slideshare.net/georgiosgiannopoulos/arduino-41342235
Πηγή: https://www.slideshare.net/georgiosgiannopoulos/arduino-41342235
Αξιοποίηση των αισθητήρων του Arduino στο Εργαστήριο Φυσικών Επιστημών Με την εισαγωγή του ανοικτού κώδικα μικροελεγκτή Arduino στην Εκπαίδευση, τα σχολεία εξοικονομούν χρήματα από την ιδιοκατασκευή των εναλλακτικών, καινοτόμων πειραματικών διατάξεων σε σχέση με αυτές του εμπορίου, ενώ οι μαθητές απολαμβάνουν την εκπαιδευτική εμπειρία αποτέλεσμα της διδασκαλίας STEM (Πάλλας & Ορφανάκης, 2016).
Heat transfer by conduction Μετάδοση θερμότητας με αγωγή Aristidis Paliouras Computer Science Teacher at 1st High School of Artemis (Athens, Greece)
Prof. Sarantos Psycharis Director of Master in STEM Education ASPETE (School Of Pedagogical and Technological Education)
Απεικόνιση δεδομένων Πολλές φορές απαιτείται η απεικόνιση των δεδομένων των αισθητήρων σε πραγματικό χρόνο με γραφικό τρόπο. Για παράδειγμα, η γραφική απεικόνιση των μετρήσεων ενός αισθητήρα θερμοκρασίας.
Για να έχουμε απεικόνιση σε πραγματικό χρόνο απαιτείται συνεχής σύνδεση του Arduino με τον υπολογιστή μέσω USB
USB σύνδεση
Απεικόνιση δεδομένων • Εργαλεία προγραμματιστικού περιβάλλοντος του Arduino (Παρακολούθηση σειριακής, Σχεδιογράφος σειριακής) • Γλώσσα Processing • Οθόνη LCD • Άλλα λογισμικά plotting data
Εργαλεία προγραμματιστικού περιβάλλοντος του Arduino (Παρακολούθηση σειριακής, Σχεδιογράφος σειριακής)
Παρακολούθηση σειριακής
Εργαλεία προγραμματιστικού περιβάλλοντος του Arduino (Παρακολούθηση σειριακής, Σχεδιογράφος σειριακής) Σχεδιογράφος σειριακής
Οθόνη LCD
USB σύνδεση
Θα χρησιμοποιήσουμε τη γλώσσα Scratch για τη λήψη των δεδομένων από τη θύρα USB και την απεικόνισή τους με γραφικό τρόπο.
Αποθήκευση δεδομένων (Data Logging) σε κάρτες SD Πολλές φορές απαιτείται η αποθήκευση των δεδομένων των αισθητήρων ή άλλων πληροφοριών για την μετέπειτα επεξεργασία τους (δηλαδή, όχι σε πραγματικό χρόνο) με κάποιο πρόγραμμα λογιστικού φύλλου ή εξειδικευμένου στατιστικού πακέτου.
Η συσκευή SD reader μας δίνει τη δυνατότητα ανάγνωσης και εγγραφής σε κάρτα SD
Δεν απαιτείται συνεχής σύνδεση του Arduino με τον υπολογιστή μέσω USB
USB σύνδεση
Σύνδεση Card Reader με Arduino Card Reader
Arduino
CS
10
SCK
13
MOSI
11
MISO ή MOSO
12
VCC
5V
GND
Γείωση
http://www.ebay.co.uk/itm/10x-Micro-SD-Storage-Board-Mciro-SD-TF-Card-MemoryShield-Module-SPI-for-Arduino-/272337105381?
Εφαρμογή καταγραφής θερμοκρασίας ανά ένα λεπτό
Εφαρμογή καταγραφής θερμοκρασίας ανά ένα λεπτό
Εφαρμογή καταγραφής θερμοκρασίας ανά ένα λεπτό 1
2
Αντικατάσταση της τελείας με κόμμα για να αναγνωρίσει το Excel τα περιεχόμενα των κελιών σαν αριθμούς
3
Θερμοκρασία
30
22,95
20
16,11
13,18
10
15,14 Θερμοκρασία
0 1
2
3
4
Arduino και Προγραμματισμός Υπολογιστών Σύμφωνα με τον Ορφανάκη κ.α. (2014) ο συνδυασμός του Scratch για Arduino (S4A) και οι εφαρμογές που μπορούν να δημιουργήσουν οι μαθητές χρησιμοποιώντας την πλατφόρμα Arduino, τους παρέχει τη δυνατότητα να αναπτύξουν πρακτικές εφαρμογές που είναι κοντά στα ενδιαφέροντά τους, μετατρέποντας τον προγραμματισμό, από μια βαρετή διαδικασία, σε ένα διασκεδαστικό εργαλείο. Η σχεδίαση ενός πραγματικού, έστω και απλού, συστήματος είναι μία διαδικασία που συνδυάζει θεωρητικές ιδέες και έννοιες, από πολλά διαφορετικά αντικείμενα, τη φυσική, τα ηλεκτρικά κυκλώματα, τα ηλεκτρονικά. Προγραμματίζοντας ένα τέτοιο σύστημα, οι μαθητές αντιλαμβάνονται την αξία του προγραμματισμού και κατανοούν καλύτερα τις βασικές αλγοριθμικές δομές.
Με την εντολή αν/αλλιώς μπορεί να τροποποιηθεί η σειρά εκτέλεσης των εντολών ενός αλγορίθμου
Arduino και Προγραμματισμός Υπολογιστών Διδακτική ώρα 1η
Φύλλο εργασίας Λαμπάκι LED που αναβοσβήνει
Προσδοκώμενα Μαθησιακά Αποτελέσματα Να αναγνωρίσουν διάφορες μορφές αναπαράστασης του αλγορίθμου (Οπτικές και κειμενικές γλώσσες προγραμματισμού). Εισαγωγή στη δομή ακολουθίας.
2η
Φωτεινός σηματοδότης
3η
Ρύθμιση της φωτεινότητας ενός LED με ποτενσιόμετρο
4η
Εισαγωγή στη δομή επανάληψης (η διαδικασία loop του Arduino) Να γνωρίσουν τη δομή ακολουθίας.
Εισαγωγή στην έννοια της μεταβλητής. Να χρησιμοποιούν έτοιμες συναρτήσεις στο περιβάλλον του Ardublock.
Να γνωρίσουν την εντολή θέσε_αναλογική_ακίδα (set_analog_pin). Αυτόματο φωτάκι νυκτός Να γνωρίσουν τη δομή επιλογής.
Να κατανοήσουν τη σπουδαιότητα της δομής επιλογής.
Arduino και Προγραμματισμός Υπολογιστών Διδακτική ώρα 5η
6η
Φύλλο εργασίας Χριστουγεννιάτικα φωτάκια (σταδιακή αύξηση και μείωση φωτεινότητας ενός LED) Θερμόμετρο εξωτερικού χώρου
Προσδοκώμενα Μαθησιακά Αποτελέσματα Να γνωρίσουν τη δομή επανάληψης. Να χρησιμοποιούν τη δομή επανάληψης. Να χρησιμοποιούν την εντολή θέσε_αναλογική_ακίδα (set_analog_pin). Να χρησιμοποιούν μια μεταβλητή. Να μπορούν να επιλέγουν τον κατάλληλο τύπο μεταβλητής ανάλογα με το είδος και το εύρος των αποθηκευμένων τιμών Τύποι δεδομένων.
7η
Δημιουργώ τα δικά μου χρώματα με το RGB LED
Να χρησιμοποιούν την εντολή θέσε_αναλογική_ακίδα (set_analog_pin). Να εφαρμόζουν την επαναληπτική δομή στην ανάπτυξη απλών προγραμμάτων.
Arduino και Προγραμματισμός Υπολογιστών Διδακτική ώρα 8η
Φύλλο εργασίας Ανιχνευτής απόστασης
Προσδοκώμενα Μαθησιακά Αποτελέσματα Να χρησιμοποιούν τη δομή επιλογής. Να χρησιμοποιούν έτοιμες συναρτήσεις στο περιβάλλον του Ardublock.
9η
Να επιλέγουν την κατάλληλη αλγοριθμική δομή, ανάλογα με το πρόβλημα. Αυτόνομο ρομποτικό Να δημιουργούν διαδικασίες στο όχημα αποφυγής εμποδίων Ardublock. Να γνωρίσουν τη διαδικασία κλήσης αλγόριθμου από αλγόριθμο στο Ardublock. Να συνδυάζουν αλγοριθμικές δομές και δεδομένα/δομές δεδομένων για να δημιουργήσουν κώδικα/πρόγραμμα.
Τίτλος φύλλου εργασίας Λαμπάκι LED που αναβοσβήνει Φωτεινός σηματοδότης
Ιστοσελίδα http://robotics-edu.gr/data/etpe2017/FE1.pdf http://robotics-edu.gr/data/etpe2017/FE2.pdf
Ρύθμιση της φωτεινότητας ενός LED με ποτενσιόμετρο Αυτόματο φωτάκι νυκτός
http://robotics-edu.gr/data/etpe2017/FE3.pdf
Χριστουγεννιάτικα φωτάκια (σταδιακή αύξηση και μείωση φωτεινότητας ενός LED) Θερμόμετρο εξωτερικού χώρου
http://robotics-edu.gr/data/etpe2017/FE5.pdf
Δημιουργώ τα δικά μου χρώματα με το RBG LED Ανιχνευτής απόστασης
http://robotics-edu.gr/data/etpe2017/FE7.pdf
Αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων
http://robotics-edu.gr/data/etpe2017/FE9.pdf
http://robotics-edu.gr/data/etpe2017/FE4.pdf
http://robotics-edu.gr/data/etpe2017/FE6.pdf
http://robotics-edu.gr/data/etpe2017/FE8.pdf
Arduino : Μάθηση στην πράξη Δομή Επιλογής
http://aesop.iep.edu.gr/node/8374/2427
Arduino : Δημιουργία παιχνιδιού
Εκπαιδευτική Ρομποτική
Πρόταση για ερευνητική εργασία Κρυπτογραφία
http://enigma.freebsdworld.gr/
Arduino WiFi Shield Μας δίνει τη δυνατότητα σύνδεσης του Arduino με ένα WiFi δίκτυο. Η WiFi Shield τοποθετείται πάνω από το Arduino. Οι ακροδέκτες της πλακέτας ταιριάζουν ακριβώς με τις θύρες του Arduino. Η τοποθέτηση είναι μια απλή διαδικασία.
Αναζήτηση διαθέσιμων WiFi δικτύων (1/2)
Αναζήτηση διαθέσιμων WiFi δικτύων (2/2)
Σύνδεση σε WiFi δίκτυο
Wi-Fi Web Server
Arduino MKR1000 Το Arduino MKR1000 είναι ένας ελεγκτής που συνδυάζει τη λειτουργικότητα του Arduino Zero και μιας κάρτας Wi-Fi Shield. Είναι ιδανικό για τη δημιουργία εφαρμογών που ανήκουν στην κατηγορία του IoT (Internet of Things). Είναι μια πρακτική και χαμηλού κόστους λύση για τους δημιουργούς εφαρμογών με δυνατότητες Wi-Fi και ελάχιστη προηγούμενη εμπειρία στη διαχείριση των δικτύων υπολογιστών.
Ευχαριστώ!
http://robotics-edu.gr/arduino/ E-book με 9 φύλλα εργασίας για να ξεκινήσετε με το Arduino και το Ardublock