Εφαρμογές Arduino

Page 1

Εισηγητής: Παλιούρας Αριστείδης

Καθηγητής Πληροφορικής Δ/θμιας Εκπ/σης 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 που αναβοσβήνει

Προσδοκώμενα Μαθησιακά Αποτελέσματα Να αναγνωρίσουν διάφορες μορφές αναπαράστασης του αλγορίθμου (Οπτικές και κειμενικές γλώσσες προγραμματισμού). Εισαγωγή στη δομή ακολουθίας.

Φωτεινός σηματοδότης

Ρύθμιση της φωτεινότητας ενός LED με ποτενσιόμετρο

Εισαγωγή στη δομή επανάληψης (η διαδικασία loop του Arduino) Να γνωρίσουν τη δομή ακολουθίας.

Εισαγωγή στην έννοια της μεταβλητής. Να χρησιμοποιούν έτοιμες συναρτήσεις στο περιβάλλον του Ardublock.

Να γνωρίσουν την εντολή θέσε_αναλογική_ακίδα (set_analog_pin). Αυτόματο φωτάκι νυκτός Να γνωρίσουν τη δομή επιλογής.

Να κατανοήσουν τη σπουδαιότητα της δομής επιλογής.


Arduino και Προγραμματισμός Υπολογιστών Διδακτική ώρα 5η

Φύλλο εργασίας Χριστουγεννιάτικα φωτάκια (σταδιακή αύξηση και μείωση φωτεινότητας ενός LED) Θερμόμετρο εξωτερικού χώρου

Προσδοκώμενα Μαθησιακά Αποτελέσματα Να γνωρίσουν τη δομή επανάληψης. Να χρησιμοποιούν τη δομή επανάληψης. Να χρησιμοποιούν την εντολή θέσε_αναλογική_ακίδα (set_analog_pin). Να χρησιμοποιούν μια μεταβλητή. Να μπορούν να επιλέγουν τον κατάλληλο τύπο μεταβλητής ανάλογα με το είδος και το εύρος των αποθηκευμένων τιμών Τύποι δεδομένων.

Δημιουργώ τα δικά μου χρώματα με το RGB LED

Να χρησιμοποιούν την εντολή θέσε_αναλογική_ακίδα (set_analog_pin). Να εφαρμόζουν την επαναληπτική δομή στην ανάπτυξη απλών προγραμμάτων.


Arduino και Προγραμματισμός Υπολογιστών Διδακτική ώρα 8η

Φύλλο εργασίας Ανιχνευτής απόστασης

Προσδοκώμενα Μαθησιακά Αποτελέσματα Να χρησιμοποιούν τη δομή επιλογής. Να χρησιμοποιούν έτοιμες συναρτήσεις στο περιβάλλον του Ardublock.

Να επιλέγουν την κατάλληλη αλγοριθμική δομή, ανάλογα με το πρόβλημα. Αυτόνομο ρομποτικό Να δημιουργούν διαδικασίες στο όχημα αποφυγής εμποδίων 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


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.