Τεχνολογικό+Eκπαιδευτικό+Ίδρυμα+Kρήτης+ TMHMA+MHXANOΛOΓIAΣ+ (

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Τεχνολογικό+Eκπαιδευτικό+Ίδρυμα+Kρήτης+ TMHMA+MHXANOΛOΓIAΣ+ ("

Transcript

1 Τεχνολογικό+Eκπαιδευτικό+Ίδρυμα+Kρήτης+ TMHMA+MHXANOΛOΓIAΣ+ ( + + Εισαγωγή+στην+Μηχατρονική++ + Εισαγωγή+στους+μικροελεγκτές++ και+στη+υπολογιστική+πλατφόρμα+arduino Δρ.+Φασουλάς+Γιάννης+ jfasoulas@staff.teicrete.gr( ( (

2 Η υπολογιστική πλατφόρμα Arduino... 3 Μικροελεγκτής η καρδιά του Arduino... 3 Διαφορές στις προτεινόμενες εκδόσεις του Arduino... 4 Είσοδοι Έξοδοι... 5 Τροφοδοσία... 7 Ενσωματωμένα κουμπιά και LED... 8 Arduino IDE (Integrated Design Environment) και σύνδεση με τον υπολογιστή... 9 Η Γλώσσα προγραμματισμού Το παράδειγμα Hello World! Πλακέτες επέκτασης (Arduino- Shield)

3 Η υπολογιστική πλατφόρμα Arduino Η υπολογιστική πλατφόρμα Arduino είναι μια «ανοικτού κώδικα» πλατφόρμα «πρωτοτυποποίησης» ηλεκτρονικών βασισμένη σε ευέλικτο και εύκολο στη χρήση hardware και software που προορίζεται για οποιονδήποτε έχει μικρή εμπειρία στον προγραμματισμό και στους μικροελεγκτές. Πρόκειται για ένα ηλεκτρονικό κύκλωμα που βασίζεται στον μικροελεγκτή ATmega της Atmel και του οποίου όλα τα σχέδια, καθώς και το software που χρειάζεται για την λειτουργία του, διανέμονται ελεύθερα και δωρεάν ώστε να μπορεί να κατασκευαστεί από τον καθένα. Αφού κατασκευαστεί, μπορεί να συμπεριφερθεί σαν ένας μικροσκοπικός υπολογιστής, αφού ο χρήστης μπορεί να συνδέσει επάνω του πολλαπλές μονάδες εισόδου/εξόδου και να προγραμματίσει τον μικροελεγκτή να δέχεται δεδομένα από τις μονάδες εισόδου, να τα επεξεργάζεται και να στέλνει κατάλληλες εντολές στις μονάδες εξόδου. Μικροελεγκτής η καρδιά του Arduino Το Arduino βασίζεται στον ATmega328, έναν 8- bit RISC μικροελεγκτή, τον οποίο χρονίζει στα 16MHz. Ο ATmega328 διαθέτει ενσωματωμένη μνήμη τριών τύπων: 2Kb μνήμης SRAM που είναι η ωφέλιμη μνήμη που μπορούν να χρησιμοποιήσουν τα προγράμματά σας για να αποθηκεύουν μεταβλητές, πίνακες κ.λπ. κατά το runtime. Όπως και σε έναν υπολογιστή, αυτή η μνήμη χάνει τα δεδομένα της όταν η παροχή ρεύματος στο Arduino σταματήσει ή αν γίνει reset. 1Kb μνήμης EEPROM η οποία μπορεί να χρησιμοποιηθεί για «ωμή» εγγραφή/ανάγνωση δεδομένων (χωρίς datatype) ανά byte από τα προγράμματά σας κατά το runtime. Σε αντίθεση με την SRAM, 3

4 η EEPROM δεν χάνει τα περιεχόμενά της με απώλεια τροφοδοσίας ή reset οπότε είναι το ανάλογο του σκληρού δίσκου. 32Kb μνήμης Flash, από τα οποία τα 2Kb χρησιμοποιούνται από το firmware του Arduino που έχει εγκαταστήσει ήδη ο κατασκευαστής του. Το firmware αυτό που στην ορολογία του Arduino ονομάζεται bootloader είναι αναγκαίο για την εγκατάσταση των δικών σας προγραμμάτων στον μικροελεγκτή μέσω της θύρας USB, χωρίς δηλαδή να χρειάζεται εξωτερικός hardware programmer. Τα υπόλοιπα 30Kb της μνήμης Flash χρησιμοποιούνται για την αποθήκευση αυτών ακριβώς των προγραμμάτων, αφού πρώτα μεταγλωττιστούν στον υπολογιστή σας. Η μνήμη Flash, όπως και η EEPROM δεν χάνει τα περιεχόμενά της με απώλεια τροφοδοσίας ή reset. Επίσης, ενώ η μνήμη Flash υπό κανονικές συνθήκες δεν προορίζεται για χρήση runtime μέσα από τα προγράμματά σας, λόγω της μικρής συνολικής μνήμης που είναι διαθέσιμη σε αυτά (2Kb SRAM + 1Kb EEPROM), έχει σχεδιαστεί μια βιβλιοθήκη που επιτρέπει την χρήση όσου χώρου περισσεύει (30Kb μείον το μέγεθος του προγράμματός σας σε μεταγλωττισμένη μορφή). Διαφορές στις προτεινόμενες εκδόσεις του Arduino Το Arduino Diecimila, UNO έχει ουσιαστικά δύο βασικές διαφορές με το Duemilanove: Βασίζεται στον μικροελεγκτή ATmega168, ο οποίος διαθέτει ακριβώς την μισή μνήμη από τον ATmega328, δηλαδή 1Kb SRAM, 512bytes EEPROM και 16Kb Flash (14 ελεύθερα λόγω του bootloader). Δεν επιλέγει αυτόματα μεταξύ της εξωτερικής τροφοδοσίας και της τροφοδοσίας μέσω της θύρας USB. Το Diecimila διαθέτει ειδικό jumper με το οποίο μπορείτε να επιλέξετε χειροκίνητα την πηγή τροφοδοσίας. Το Arduino Mega είναι η πιο εξελιγμένη έκδοση με τον μικροελεγκτή ATmega1280 και αρκετά μεγαλύτερο μέγεθος. Οι διαφορές του από το Duemilanove είναι: Τετραπλάσια μνήμη (8Kb SRAM, 4Kb EEPROM, 128Kb Flash). 40 επιπλέον ψηφιακά pin εισόδου/εξόδου (σύνολο 54) 10 επιπλέον pin αναλογικής εισόδου (σύνολο 16) Υποστήριξη ψευδοαναλογικής εξόδου PWM σε 8 ακόμα ψηφιακά pin (σύνολο 14 PWM pin) Υποστήριξη εξωτερικού interrupt σε 4 ακόμα ψηφιακά pin (σύνολο 6 interrupt) 3 επιπλέον σειριακά interface (σύνολο 4) από τα οποία το ένα προωθείται στον ελεγκτή Serial- Over- USB όπως στο Duemilanove για σύνδεση με τον υπολογιστή. 4

5 Σημειώστε ότι το Arduino Mega είναι συμβατό με τα περισσότερα shield που έχουν κυκλοφορήσει για το Arduino αλλά όχι με το Ethernet Shield, το οποίο είναι ένα αρκετά σημαντικό μειονέκτημα για όσους θέλουν να φτιάξουν εφαρμογές με πρόσβαση στο internet ή σε κάποιο άλλο δίκτυο. Από τις ανεπίσημες εκδόσεις, το Freeduino 1.16 και το Seeeduino βασίζονται στο Diecimila οπότε ισχύουν οι ίδιες διαφορές που έχει αυτό με το Duemilanove. Το Freeduino είναι ακριβής κλώνος του Diecimila, ενώ το Seeeduino είναι μια βελτιωμένη έκδοση του Diecimila με κύρια διαφορά την προσθήκη 2 επιπλέον pin αναλογικής εισόδου. Είσοδοι Έξοδοι Καταρχήν το Arduino διαθέτει σειριακό interface. Ο μικροελεγκτής ATmega υποστηρίζει σειριακή επικοινωνία, την οποία το Arduino προωθεί μέσα από έναν ελεγκτή Serial- over- USB ώστε να συνδέεται με τον υπολογιστή μέσω USB. Η σύνδεση αυτή χρησιμοποιείται για την μεταφορά των προγραμμάτων που σχεδιάζονται από τον υπολογιστή στο Arduino αλλά και για αμφίδρομη επικοινωνία του Arduino με τον υπολογιστή μέσα από το πρόγραμμα την ώρα που εκτελείται. 5

6 Επιπλέον, στην πάνω πλευρά του Arduino βρίσκονται 14 θηλυκά pin, αριθμημένα από 0 ως 13, που μπορούν να λειτουργήσουν ως ψηφιακές είσοδοι και έξοδοι. Λειτουργούν στα 5V και καθένα μπορεί να παρέχει ή να δεχτεί το πολύ 40mA. Ως ψηφιακή έξοδος, ένα από αυτά τα pin μπορεί να τεθεί από το πρόγραμμά σας σε κατάσταση HIGH ή LOW, οπότε το Arduino θα ξέρει αν πρέπει να διοχετεύσει ή όχι ρεύμα στο συγκεκριμένο pin. Με αυτόν τον τρόπο μπορείτε λόγου χάρη να ανάψετε και να σβήσετε ένα LED που έχετε συνδέσει στο συγκεκριμένο pin. Αν πάλι ρυθμίσετε ένα από αυτά τα pin ως ψηφιακή είσοδο μέσα από το πρόγραμμά σας, μπορείτε με την κατάλληλη εντολή να διαβάσετε την κατάστασή του (HIGH ή LOW) ανάλογα με το αν η εξωτερική συσκευή που έχετε συνδέσει σε αυτό το pin διοχετεύει ή όχι ρεύμα στο pin (με αυτόν τον τρόπο λόγου χάρη μπορείτε να «διαβάζετε» την κατάσταση ενός διακόπτη). Μερικά από αυτά τα 14 pin, εκτός από ψηφιακές είσοδοι/έξοδοι έχουν και δεύτερη λειτουργία. Συγκεκριμένα: Τα pin 0 και 1 λειτουργούν ως RX και TX της σειριακής όταν το πρόγραμμά σας ενεργοποιεί την σειριακή θύρα. Έτσι, όταν λόγου χάρη το πρόγραμμά σας στέλνει δεδομένα στην σειριακή, αυτά προωθούνται και στην θύρα USB μέσω του ελεγκτή Serial- Over- USB αλλά και στο pin 0 για να τα διαβάσει ενδεχομένως μια άλλη συσκευή (π.χ. ένα δεύτερο Arduino στο δικό του pin 1). Αυτό φυσικά σημαίνει ότι αν στο πρόγραμμά σας ενεργοποιήσετε το σειριακό interface, χάνετε 2 ψηφιακές εισόδους/εξόδους. Τα pin 2 και 3 λειτουργούν και ως εξωτερικά interrupt (interrupt 0 και 1 αντίστοιχα). Με άλλα λόγια, μπορείτε να τα ρυθμίσετε μέσα από το πρόγραμμά σας ώστε να λειτουργούν αποκλειστικά ως ψηφιακές είσοδοι στις οποίες όταν συμβαίνουν συγκεκριμένες αλλαγές, η κανονική ροή του προγράμματος σταματάει *άμεσα* και εκτελείται μια συγκεκριμένη συνάρτηση. Τα εξωτερικά interrupt είναι ιδιαίτερα χρήσιμα σε εφαρμογές που απαιτούν συγχρονισμό μεγάλης ακρίβειας. Τα pin 3, 5, 6, 9, 10 και 11 μπορούν να λειτουργήσουν και ως ψευδοαναλογικές έξοδοι με το 6

7 σύστημα PWM (Pulse Width Modulation), δηλαδή το ίδιο σύστημα που διαθέτουν οι μητρικές των υπολογιστών για να ελέγχουν τις ταχύτητες των ανεμιστήρων. Έτσι, μπορείτε να συνδέσετε λόγου χάρη ένα LED σε κάποιο από αυτά τα pin και να ελέγξετε πλήρως την φωτεινότητά του με ανάλυση 8bit (256 καταστάσεις από 0- σβηστό ως 255- πλήρως αναμμένο) αντί να έχετε απλά την δυνατότητα αναμμένο- σβηστό που παρέχουν οι υπόλοιπές ψηφιακές έξοδοι. Είναι σημαντικό να καταλάβετε ότι το PWM δεν είναι πραγματικά αναλογικό σήμα και ότι θέτοντας στην έξοδο την τιμή 127, δεν σημαίνει ότι η έξοδος θα δίνει 2.5V αντί της κανονικής τιμής των 5V, αλλά ότι θα δίνει ένα παλμό που θα εναλλάσσεται με μεγάλη συχνότητα και για ίσους χρόνους μεταξύ των τιμών 0 και 5V. Στην κάτω πλευρά του Arduino, με τη σήμανση ANALOG IN, θα βρείτε μια ακόμη σειρά από 6 pin, αριθμημένα από το 0 ως το 5. Το καθένα από αυτά λειτουργεί ως αναλογική είσοδος κάνοντας χρήση του ADC (Analog to Digital Converter) που είναι ενσωματωμένο στον μικροελεγκτή. Για παράδειγμα, μπορείτε να τροφοδοτήσετε ένα από αυτά με μια τάση την οποία μπορείτε να κυμάνετε με ένα ποτενσιόμετρο από 0V ως μια τάση αναφοράς Vref η οποία, αν δεν κάνετε κάποια αλλαγή είναι προρυθμισμένη στα 5V. Τότε, μέσα από το πρόγραμμά σας μπορείτε να «διαβάσετε» την τιμή του pin ως ένα ακέραιο αριθμό ανάλυσης 10- bit, από 0 (όταν η τάση στο pin είναι 0V) μέχρι 1023 (όταν η τάση στο pin είναι 5V). Η τάση αναφοράς μπορεί να ρυθμιστεί με μια εντολή στο 1.1V, ή σε όποια τάση επιθυμείτε (μεταξύ 2 και 5V) τροφοδοτώντας εξωτερικά με αυτή την τάση το pin με την σήμανση AREF που βρίσκεται στην απέναντι πλευρά της πλακέτας. Έτσι, αν τροφοδοτήσετε το pin AREF με 3.3V και στην συνέχεια δοκιμάσετε να διαβάσετε κάποιο pin αναλογικής εισόδου στο οποίο εφαρμόζετε τάση 1.65V, το Arduino θα σας επιστρέψει την τιμή 512. Τέλος, καθένα από τα 6 αυτά pin, με κατάλληλη εντολή μέσα από το πρόγραμμα μπορεί να μετατραπεί σε ψηφιακό pin εισόδου/εξόδου όπως τα 14 που βρίσκονται στην απέναντι πλευρά και τα οποία περιγράφηκαν πριν. Σε αυτή την περίπτωση τα pin μετονομάζονται από 0~5 σε 14~19 αντίστοιχα. Τροφοδοσία Το Arduino μπορεί να τροφοδοτηθεί με ρεύμα είτε από τον υπολογιστή μέσω της σύνδεσης USB, είτε από εξωτερική τροφοδοσία που παρέχεται μέσω μιας υποδοχής φις των 2.1mm (θετικός πόλος στο κέντρο) και βρίσκεται στην κάτω- αριστερή γωνία του Arduino. 7

8 Για να μην υπάρχουν προβλήματα, η εξωτερική τροφοδοσία πρέπει να είναι από 7 ως 12V και μπορεί να προέρχεται από ένα κοινό μετασχηματιστή του εμπορίου, από μπαταρίες ή οποιαδήποτε άλλη πηγή DC. Δίπλα από τα pin αναλογικής εισόδου, υπάρχει μια ακόμα συστοιχία από 6 pin με την σήμανση POWER. Η λειτουργία του καθενός έχει ως εξής: Το πρώτο, με την ένδειξη RESET, όταν γειωθεί (σε οποιοδήποτε από τα 3 pin με την ένδειξη GND που υπάρχουν στο Arduino) έχει ως αποτέλεσμα την επανεκκίνηση του Arduino. Το δεύτερο, με την ένδειξη 3.3V, μπορεί να τροφοδοτήσει τα εξαρτήματά σας με τάση 3.3V. Η τάση αυτή δεν προέρχεται από την εξωτερική τροφοδοσία αλλά παράγεται από τον ελεγκτή Serial- over- USB και έτσι η μέγιστη ένταση που μπορεί να παρέχει είναι μόλις 50mA. Το τρίτο, με την ένδειξη 5V, μπορεί να τροφοδοτήσει τα εξαρτήματά σας με τάση 5V. Ανάλογα με τον τρόπο τροφοδοσίας του ίδιου του Arduino, η τάση αυτή προέρχεται είτε άμεσα από την θύρα USB (που ούτως ή άλλως λειτουργεί στα 5V), είτε από την εξωτερική τροφοδοσία αφού αυτή περάσει από ένα ρυθμιστή τάσης για να την «φέρει» στα 5V. Το τέταρτο και το πέμπτο pin, με την ένδειξη GND, είναι φυσικά γειώσεις. Το έκτο και τελευταίο pin, με την ένδειξη Vin έχει διπλό ρόλο. Σε συνδυασμό με το pin γείωσης δίπλα του, μπορεί να λειτουργήσει ως μέθοδος εξωτερικής τροφοδοσίας του Arduino, στην περίπτωση που δεν σας βολεύει να χρησιμοποιήσετε την υποδοχή του φις των 2.1mm. Αν όμως έχετε ήδη συνδεδεμένη εξωτερική τροφοδοσία μέσω του φις, μπορείτε να χρησιμοποιήσετε αυτό το pin για να τροφοδοτήσετε εξαρτήματα με την πλήρη τάση της εξωτερικής τροφοδοσίας (7~12V), πριν αυτή περάσει από τον ρυθμιστή τάσης όπως γίνεται με το pin των 5V. Ενσωματωμένα κουμπιά και LED Πάνω στην πλακέτα του Arduino υπάρχει ένας διακόπτης micro- switch και 4 μικροσκοπικά LED 8

9 επιφανειακής στήριξης. Η λειτουργία του διακόπτη (που έχει την σήμανση RESET) και του ενός LED με την σήμανση POWER είναι μάλλον προφανής. Τα δύο LED με τις σημάνσεις TX και RX, χρησιμοποιούνται ως ένδειξη λειτουργίας του σειριακού interface, καθώς ανάβουν όταν το Arduino στέλνει ή λαμβάνει (αντίστοιχα) δεδομένα μέσω USB. Σημειώστε ότι τα LED αυτά ελέγχονται από τον ελεγκτή Serial- over- USB και συνεπώς δεν λειτουργούν όταν η σειριακή επικοινωνία γίνεται αποκλειστικά μέσω των ψηφιακών pin 0 και 1. Τέλος, υπάρχει το LED με την σήμανση L. Η βασική δοκιμή λειτουργίας του Arduino είναι να του αναθέσετε να αναβοσβήνει ένα LED (θα το δείτε αυτό στην συνέχεια όταν θα φτιάξετε την πρώτη εφαρμογή σας). Για να μπορείτε να το κάνετε αυτό από την πρώτη στιγμή, χωρίς να συνδέσετε τίποτα πάνω στο Arduino, οι κατασκευαστές του σκέφτηκαν να ενσωματώσουν ένα LED στην πλακέτα, το οποίο σύνδεσαν στο ψηφιακό pin 13. Έτσι, ακόμα και αν δεν έχετε συνδέσει τίποτα πάνω στο φυσικό pin 13, αναθέτοντάς του την τιμή HIGH μέσα από το πρόγραμμά σας, θα ανάψει αυτό το ενσωματωμένο LED. Arduino IDE (Integrated Design Environment) και σύνδεση με τον υπολογιστή Ότι χρειάζεστε για την διαχείριση του Arduino από τον υπολογιστή σας το παρέχει το Arduino IDE, την τελευταία έκδοση του οποίου μπορείτε να κατεβάσετε από το επίσημο site για καθένα από τα τρία δημοφιλέστερα λειτουργικά συστήματα. Το Arduino IDE είναι βασισμένο σε Java και συγκεκριμένα παρέχει: ένα πρακτικό περιβάλλον για την συγγραφή των προγραμμάτων σας (τα οποία ονομάζονται sketch στην ορολογία του Arduino) με συντακτική χρωματική σήμανση, αρκετά έτοιμα παραδείγματα, μερικές έτοιμες βιβλιοθήκες για προέκταση της γλώσσας και για να χειρίζεστε εύκολα μέσα από τον κώδικά σας τα εξαρτήματα που συνδέετε στο Arduino, τον compiler για την μεταγλώττιση των sketch σας, ένα serial monitor που παρακολουθεί τις επικοινωνίες της σειριακής (USB), αναλαμβάνει να στείλει αλφαριθμητικά της επιλογής σας στο Arduino μέσω αυτής και είναι ιδιαίτερα χρήσιμο για το debugging των sketch σας και την επιλογή να ανεβάσετε (upload) το μεταγλωττισμένο sketch στο Arduino. Για τα δύο τελευταία χαρακτηριστικά βέβαια, το Arduino πρέπει να έχει συνδεθεί σε μια από τις θύρες USB του υπολογιστή και, λόγω του ελεγκτή Serial- over- USB, θα πρέπει να αναγνωριστεί από το λειτουργικό σας σύστημα ως εικονική σειριακή θύρα. Για την σύνδεση θα χρειαστείτε ένα καλώδιο USB από Type A σε Type B, όπως αυτό των εκτυπωτών. Για την αναγνώριση από το λειτουργικό θα χρειαστεί να εγκαταστήσετε τον οδηγό του FTDI chip (δηλαδή του ελεγκτή Serial- over- USB) ο οποίος υπάρχει στον 9

10 φάκελο drivers του Arduino IDE που κατεβάσατε. Την τελευταία έκδοση αυτού του οδηγού μπορείτε επίσης να κατεβάσετε για κάθε λειτουργικό σύστημα από το site της FTDI. Σημειώστε ότι στους τελευταίους πυρήνες του Linux υπάρχει εγγενής υποστήριξη του συγκεκριμένου ελεγκτή. Αν όλα έγιναν σωστά, το κεντρικό παράθυρο του Arduino IDE θα εμφανιστεί όταν το εκτελέσετε και στο μενού Tools > Serial Port θα πρέπει να εμφανίζεται η εικονική σειριακή θύρα (συνήθως COM# για τα Windows, /dev/ttyusbserial## για το MacOS και /dev/ttyusb## για το Linux). Επιλέξτε αυτή την εικονική θύρα και στην συνέχεια επιλέξτε τον τύπο του Arduino σας (Arduino Duemilanove w/ ATmega328) από το μενού Tools > Board. Το Arduino είναι πλέον έτοιμο να δεχτεί τα sketch σας. Αν εμφανίστηκε οποιοδήποτε πρόβλημα διαβάστε τις αναλυτικές οδηγίες εγκατάστασης για κάθε λειτουργικό σύστημα στη διεύθυνση 10

11 Η Γλώσσα προγραμματισμού Η γλώσσα του Arduino βασίζεται στη γλώσσα Wiring, μια παραλλαγή C/C++ για μικροελεγκτές αρχιτεκτονικής AVR όπως ο ATmega, και υποστηρίζει όλες τις βασικές δομές της C καθώς και μερικά χαρακτηριστικά της C++. Για compiler χρησιμοποιείται ο AVR gcc και ως βασική βιβλιοθήκη C χρησιμοποιείται η AVR libc. Λόγω της καταγωγής της από την C, στην γλώσσα του Arduino μπορείτε να χρησιμοποιήσετε ουσιαστικά τις ίδιες βασικές εντολές και συναρτήσεις, με την ίδια σύνταξη, τους ίδιους τύπους δεδομένων και τους ίδιους τελεστές όπως και στην C. Πέρα από αυτές όμως, υπάρχουν κάποιες ειδικές εντολές, συναρτήσεις και σταθερές που βοηθούν για την διαχείριση του ειδικού hardware του Arduino. Οι πιο σημαντικές από αυτές επεξηγούνται στον πίνακα που ακολουθεί: Όρισμα Είδος Τύπος Παράμετροι Περιγραφή LOW Σταθερά int - Έχει την τιμή 0 και είναι αντίστοιχη του λογικού false. HIGH Σταθερά int - Έχει την τιμή 1 και είναι αντίστοιχη του λογικού true. INPUT Σταθερά int - Έχει την τιμή 0 και είναι αντίστοιχη του λογικού 11

12 OUTPUT Σταθερά int - pinmode Εντολή - (pin, mode) digitalwrite Εντολή - (pin, pinstatus) digitalread Συνάρτηση int (pin) analogreference Εντολή - (type) analogread Συνάρτηση int (pin) analogwrite Εντολή - (pin, value) millis Συνάρτηση unsigned long delay Εντολή - (time) () (interrupt, function, triggermode) 12 false. Έχει την τιμή 1 και είναι αντίστοιχη του λογικού true. Καθορίζει αν το συγκεκριμένο ψηφιακό pin θα είναι pin εισόδου ή pin εξόδου ανάλογα με την τιμή που δίνεται στην παράμετρο mode (INPUT ή OUTPUT αντίστοιχα). Θέτει την κατάσταση pinstatus (HIGH ή LOW) στο συγκεκριμένο ψηφιακό pin. Επιστρέφει την κατάσταση του συγκεκριμένου ψηφιακού pin (0 για LOW και 1 για HIGH) εφόσον αυτό είναι pin εισόδου. Δέχεται τις τιμές DEFAULT, INTERNAL ή EXTERNAL στην παράμετρο type για να καθορίσει την τάση αναφοράς (Vref) των αναλογικών εισόδων (5V, 1.1V ή η εξωτερική τάση με την οποία τροφοδοτείται το pin AREF αντίστοιχα) Επιστρέφει έναν ακέραιο από 0 εώς 1023, ανάλογα με την τάση που τροφοδοτείται το συγκεκριμένο pin αναλογικής εισόδου στην κλίμακα 0 ως Vref. Θέτει το συγκεκριμένο ψηφιακό pin σε κατάσταση ψευδοαναλογικής εξόδου (PWM). Η παράμετρος value καθορίζει το πλάτος του παλμού σε σχέση με την περίοδο του παραγόμενου σήματος στην κλίμακα από 0 ως 255 (π.χ. με value 127, το πλάτος του παλμού είναι ίσο με μισή περίοδο). Μετρητής που επιστρέφει το χρονικό διάστημα σε ms από την στιγμή που άρχισε η εκτέλεση του προγράμματος. Λάβετε υπόψη ότι λόγω του τύπου μεταβλητής (unsigned long δηλ. 32bit) θα γίνει overflow σε 2^32ms δηλαδή περίπου σε 50 μέρες, οπότε ο μετρητής θα ξεκινήσει πάλι από το μηδέν. Σταματά προσωρινά την ροή του προγράμματος για time ms. Η παράμετρος time είναι unsigned long (από 0 ως 2^32). Σημειώστε ότι παρά την προσωρινή παύση, συναρτήσεις των οποίων η εκτέλεση ενεργοποιείται από interrupt θα εκτελεστούν κανονικά κατά την διάρκεια μιας delay. Θέτει σε λειτουργία το συγκεκριμένο interrupt, ώστε να ενεργοποιεί την συνάρτηση function, κάθε φορά που ικανοποιείται η συνθήκη που ορίζεται από την παράμετρο triggermode: attachinterrupt Εντολή - LOW (ενεργοποίηση όταν η κατάσταση του pin που αντιστοιχεί στο συγκεκριμένο interrupt γίνει LOW) RISING (όταν από LOW γίνει HIGH) FALLING (όταν από HIGH γίνει LOW) CHANGE (όταν αλλάξει κατάσταση γενικά) detachinterrupt Εντολή - (interrupt) Απενεργοποιεί το συγκεκριμένο interrupt. nointerrupts Εντολή - () interrupts Εντολή - () Serial.begin Μέθοδος κλάσης - (datarate) Σταματά προσωρινά την λειτουργία όλων των interrupt Επαναφέρει την λειτουργία των interrupt που διακόπηκε προσωρινά από μια εντολή nointerrupts. Θέτει τον ρυθμό μεταφοράς δεδομένων του σειριακού interface (σε baud)

13 Serial.println Μέθοδος κλάσης - (data) Διοχετεύει τα δεδομένα data για αποστολή μέσω του σειριακού interface. Η παράμετρος data μπορεί να είναι είτε αριθμός είτε αλφαριθμητικό. Επιπλέον, στην γλώσσα του Arduino κάθε πρόγραμμα αποτελείται από δύο βασικές ρουτίνες ώστε να έχει την γενική δομή: // Ενσωματώσεις βιβλιοθηκών, δηλώσεις μεταβλητών... void setup() { //... void loop() { //... // Υπόλοιπες συναρτήσεις... Η βασική ρουτίνα setup() εκτελείται μια φορά μόνο κατά την εκκίνηση του προγράμματος ενώ η βασική ρουτίνα loop() περιέχει τον βασικό κορμό του προγράμματος και η εκτέλεσή της επαναλαμβάνεται συνέχεια σαν ένας βρόγχος while(true). Αν και πρόκειται μόνο για τις πιο βασικές λειτουργίες της γλώσσας του Arduino, με αυτές και με λίγες βασικές γνώσεις C θα μπορέσετε να δημιουργήσετε το sketch ακόμα και για κάποιο αρκετά περίπλοκο project. Για το πλήρες reference πάντως, επισκεφτείτε την σχετική σελίδα ενώ ακόμα περισσότερες πληροφορίες μπορείτε να βρείτε στο site της Wiring καθώς και στο εγχειρίδιο της βιβλιοθήκης AVR Libc. Το παράδειγμα Hello World! Έφτασε η στιγμή να δημιουργήσετε το πρώτο σας sketch, το οποίο - παραδοσιακά- πρέπει να εξάγει το μήνυμα «Hello World». Βέβαια - μέχρι να προσθέσετε εσείς μια- το Arduino δεν διαθέτει οθόνη ώστε να εμφανίσει κάποιο μήνυμα. Η μόνη συσκευή εξόδου που είναι ενσωματωμένη στην πλακέτα του Arduino είναι το LED του pin 13. Έτσι, το Arduino σας θα χαιρετίσει την οικουμένη αναβοσβήνοντας απλά το LEDάκι του. Ανοίξτε το IDE του Arduino και - για να μην πληκτρολογείτε- επιλέξτε File > Sketchbook > 13

14 Examples > Digital > Blink. Θα ανοίξει ένα sketch με τον παρακάτω κώδικα: int ledpin = 13; void setup() { pinmode(ledpin, OUTPUT); void loop() { digitalwrite(ledpin, HIGH); delay(1000); digitalwrite(ledpin, LOW); delay(1000); Όπως κάθε Hello World πρόγραμμα, το sketch αυτό είναι αρκετά straightforward. Αρχικά, στην ρουτίνα setup() ρυθμίζεται το pin στο οποίο είναι συνδεδεμένο το LED ως pin εξόδου (γραμμή 4). Στην συνέχεια η κύρια ρουτίνα loop(), η εκτέλεση της οποίας επαναλαμβάνεται συνέχεια, ανάβει το LED (γραμμή 8) και στην συνέχεια το σβήνει (γραμμή 10). Δύο εντολές delay ρυθμίζουν τον χρόνο που το LED θα μένει αναμμένο ή σβηστό στις γραμμές 9 και 11 (1000ms δηλαδή 1 δευτερόλεπτο). Για να δείτε το πρόγραμμα στην πράξη, εφόσον έχετε ήδη συνδέσει το Arduino με τον υπολογιστή επιλέξτε File > Upload to I/O Board (εναλλακτικά πατήστε Ctrl- U ή κάντε κλικ στο ανάλογο εικονίδιο της toolbar). Με αυτή την ενέργεια, το sketch θα μεταγλωττιστεί και θα σταλεί αυτόματα στο Arduino, γεγονός που μπορείτε να επαληθεύσετε από την δραστηριότητα των TX και RX LED πάνω στην πλακέτα του Arduino. Τα προγράμματα που «ανεβάζετε» στο Arduino εκτελούνται αυτόματα από τον bootloader αμέσως μετά την λήψη τους και έτσι, χωρίς καθυστέρηση, θα πρέπει να δείτε το LED με τη σήμανση 13 να ανάβει και να σβήνει συνεχόμενα με περίοδο 2 δευτερολέπτων, δηλαδή όπως ακριβώς ορίζει το sketch. Αν επιμένετε ότι ένα LED που αναβοσβήνει δεν αποτελεί πρέπον χαιρετισμό και θέλετε σώνει και καλά να δείτε το Hello World γραμμένο, υπάρχει μια λύση. Μπορείτε να το στείλετε μέσω της σειριακής (USB) στον υπολογιστή και να το δείτε στην οθόνη σας. Και σαν bonus, το Arduino θα στέλνει και την κατάσταση του LED στον υπολογιστή. Προσθέστε απλά τις γραμμές: 14

15 Serial.begin(9600); Serial.println("Hello World! - Are you happy now?"); αμέσως μετά την γραμμή με την εντολή pinmode και πριν κλείσει το άγκιστρο της ρουτίνας setup(). Επίσης, προσθέστε την γραμμή: Serial.println("ON ); και την γραμμή: Serial.println("OFF ); αμέσως μετά την πρώτη και την δεύτερη digitalwrite αντίστοιχα. Αφού κάνετε τις αλλαγές επιλέξτε όπως και πριν το Upload to I/O Board από το IDE για να γίνει ξανά μεταγλώττιση και να ανέβει το νέο binary στο Arduino. Αμέσως μετά, κάντε κλικ στο τελευταίο κουμπί της toolbar με επεξήγηση Serial Monitor για να μετατρέψετε το κάτω τμήμα του παραθύρου του IDE σε σειριακή κονσόλα και σύντομα θα δείτε το Arduino να σας στέλνει τα μηνύματά του. 15

16 Μπορείτε να πειραματιστείτε με το sketch, να φτιάξετε ωραία pattern με τα οποία αναβοσβήνει το LED, να το βάλετε να στέλνει διαφορετικές πληροφορίες στην σειριακή κ.λπ. αλλά ακόμα και αν μάθετε στο Arduino να σας μιλάει με κώδικα Morse, δεν παύει να είναι ένα LED που αναβοσβήνει και ενίοτε φλυαρεί στην σειριακή δεν έχει κάτι σημαντικό να σας πει. Αυτό φυσικά συμβαίνει επειδή δεν έχετε συνδέσει ακόμα περιφερειακά στο Arduino σας και έτσι είναι σαν να έχετε ένα υπολογιστή χωρίς οθόνη, ποντίκι και πληκτρολόγιο. Πλακέτες επέκτασης (Arduino- Shield) Τα shield είναι ολοκληρωμένες πλακέτες που είναι σχεδιασμένες ώστε να κουμπώνουν πάνω στο Arduino προεκτείνοντας την λειτουργικότητά του. Είναι η hardware αντίστοιχη έννοια των plugin, addon και extension που υπάρχουν στο software. Μερικά από τα πιο δημοφιλή shield που κυκλοφορούν στο εμπόριο για το Arduino είναι: Ethernet shield: Δίνει στο Arduino την δυνατότητα να δικτυωθεί σε ένα LAN ή στο internet μέσω ενός τυπικού καλωδίου Ethernet. WiFi shield: Όμοιο με το Ethernet shield, χωρίς φυσικά το καλώδιο. Διάφορα shield οθόνης: Προσθέτουν οθόνη στο Arduino. Κυκλοφορούν από απλές οθόνες τύπου calculator μέχρι OLED touchscreen υψηλής ανάλυσης τύπου iphone. Wave shield: Δίνει στο Arduino την δυνατότητα να παίζει ήχους/μουσική από κάρτες SD. GPS shield: Προσθέτει GPS δυνατότητες στο Arduino (εντοπισμό στίγματος). 16

17 Διάφορα Motor Shields: Σας επιτρέπουν να οδηγήσετε εύκολα μοτέρ διάφορων τύπων (απλά DC, servo, stepper κ.λπ.) από το Arduino. ProtoShield: Μια προσχεδιασμένη πλακέτα πρωτοτυποποίησης, συμβατή στις διαστάσεις του Arduino και χωρίς εξαρτήματα για να φτιάξετε το δικό σας shield. Τα shield είναι σχεδιασμένα ώστε αφού κουμπωθούν πάνω στο Arduino να προωθούν τις υποδοχές του, ώστε να μπορείτε να συνδέσετε επιπλέον τα δικά σας εξαρτήματα ή να κουμπώσετε και επόμενο shield. Φυσικά, το κάθε shield χρησιμοποιεί ορισμένους από τους πόρους συνδεσιμότητας του Arduino και έτσι δεν μπορείτε να συνδέσετε απεριόριστα shield. Μάλιστα κάποια shield μπορεί να μην είναι συμβατά μεταξύ τους γιατί χρησιμοποιούν τα ίδια pin του Arduino για επικοινωνία με αυτό. Επίσης, επειδή κάποια shield δεν προωθούν τις συνδέσεις του Arduino (όπως π.χ. οι οθόνες οι οποίες δεν έχουν νόημα αν τις καλύψετε από πάνω με ένα επόμενο shield), υπάρχουν ειδικά extender shield που κουμπώνουν στο Arduino και δίνουν την δυνατότητα σε δύο άλλα shield να κουμπώσουν πάνω τους, λειτουργώντας σαν πολύπριζα. Όπως και για το ίδιο το Arduino, το βασικό πλεονέκτημα των shield δεν είναι τόσο το προφανές πλεονέκτημα του έτοιμου hardware όσο ότι συνοδεύονται συνήθως από έτοιμες βιβλιοθήκες που σας επιτρέπουν να προγραμματίζετε τα sketch σας σε high level. Έτσι, λόγου χάρη, δεν χρειάζεται να διαβάζετε datasheet για να συνδέσετε και να λειτουργήσετε ένα GPS module πάνω στο Arduino. Απλά συνδέετε το shield, εγκαθιστάτε τη βιβλιοθήκη που το συνοδεύει και χρησιμοποιείτε μια έτοιμη συνάρτηση - του στυλ getlocation- για να πάρετε το γεωγραφικό στίγμα και να το επεξεργαστείτε περαιτέρω στο sketch σας. Τα shield σας λύνουν τα χέρια όταν θέλετε να δημιουργήσετε εύκολα ένα πραγματικά πρακτικό project. Αυτός είναι και ο λόγος που δεν συνιστάται η αγορά κάποιας έκδοσης του Arduino που δεν είναι 100% συμβατή με τα shield. 17

18 Βασικά Παραδείγματα με τον μικροελεγκτή Arduino. Παράδειγμα 1: Συνεχές αναβόσβημα ενός Led με περίοδο 1sec. Το Arduino αποτελείται από δεκατρία ψηφιακά pin, τα οποία μπορούμε να τα χρησιμοποιήσουμε το κάθε ένα ξεχωριστά, είτε για είσοδο είτε για έξοδο. Μπορούμε να τα προγραμματίσουμε να συμπεριφέρονται όπως εμείς θέλουμε, αρκεί να κάνουμε τις σωστές δηλώσεις στο κώδικα που θα φορτώσουμε στη πλακέτα. Η έξοδος του κάθε pin μπορεί να προγραμματιστεί να δίνει τιμές HIGH ή LOW. Λέγοντας HIGH ενώνουμε το δυαδικό '1' και έχουμε τάση εξόδου 5V DC, ενώ το LOW είναι το δυαδικό '0' και έχει τάση εξόδου 0V DC (ground). Παρακάτω θα δούμε ένα παράδειγμα για να μπορέσουμε να κατανοήσουμε τον προγραμματισμό των ψηφιακών pin του Arduino. Θα ενώσουμε ένα led στη board και θα το προγραμματίσουμε να ανάβει και να σβήνει σε χρονικά διαστήματα ενός δευτερολέπτου. Η εφαρμογή παρουσιάζει το απλούστερο πράγμα που μπορείτε να κάνετε με ένα Arduino για να δείτε μια ψηφιακή θύρα του μικροελεγκτή να αναβοσβήνει ένα LED. Σχηματικό Κύκλωμα: Για να υλοποιήσετε το κύκλωμα, συνδέστε μια αντίσταση 220Ω με το pin 13. Κατόπιν συνδέστε τον μακρύτερο ακροδέκτη (άνοδο) με την αντίσταση. Συνδέστε το κοντό ακροδέκτη (κάθοδο) με τη γείωση. Κατόπιν συνδέστε το Arduino με τον υπολογιστή σας, ξεκινήστε το πρόγραμμα Arduino, και πληκτρολογείστε τον παρακάτω κώδικα. Τα περισσότερα Arduino ήδη έχουν ένα LED στο pin 13. Εάν τρέχετε αυτό το παράδειγμα χωρίς εξωτερικό LED και αντισταση, πρέπει να δείτε το ενσωματωμένο LED να αναβοσβήνει. Για την δημιουργία της εικόνας χρησιμοποιήθηκε το προγραμμα Fritzing. Για περισσότερα παραδείγματα κυκλωμάτων, δείτε: Παρακάτω δίνεται ένας πρώτυπος κώδικας που επιτυγχάνει το αναβόσβημα ενός Led με περίοδο 1sec (Οι γραμμές με πορτοκαλί είναι κώδικας- εντολές όλα τα άλλα είναι σχόλια) 18

19 // Στους περισσότερους Arduino στο pin 13 είναι, πάνω στην PCB πλακέτα, συνδεδεµένο // ένα LED. Ας δώσουµε λοιπόν στο pin 13 ένα όνοµα: int led = 13; // Ορίζουµε µία µεταβλητή τύπου Integer (Ακεραίου) µε όνοµα led και // της δίνουµε την τιµή 13 µε σκοπό να την χρησιµοποιήσουµε παρακάτω // στον κώδικα και να δηλώσουµε που θα συνδέσουµε το led. // Η ρουτίνα void setup εκτελείται µονάχα µία φορά και χρησιµοποιείται // για να αχρικοποιήσουµε τις παραµέτρους του Arduino δηλαδή, αποτελεί // τη συνάρτηση αρχικών ρυθµίσεων του µικροελεγκτή) void setup() { pinmode(led, OUTPUT); // Ορίζουµε χρησιµοποιώντας την µεταβλητή led, ότι το pin // 13 θα λειτουργεί σαν ψηφιακή έξοδος 0-5V //Η ρουτίνα void loop εκτελείται συνεχώς και για όσο χρόνο υπάρχει τροφοδοσία στον //Arduino. void loop() { digitalwrite(led,high);//βγάλε λογικό 1 (5V) στο pin 13, δηλαδή άναψε το led delay(1000); // Συνάρτηση καθυστέρησης χρόνου 1000ms digitalwrite(led, LOW);//Βγάλε λογικό 0 (0V) στο pin 13, δηλαδή σβήσε το led delay(1000); // Συνάρτηση καθυστέρησης χρόνου 1000ms Παράδειγμα 2: Άναμμα και σβήσιμο Led ελεγχόμενο από εξωτερικό διακόπτη (button) με την διαδικασία polling δηλαδή με αλλεπάλληλους ελέγχους από το κυρίως πρόγραμμα. Παρακάτω δίνεται το σχηματικό κύκλωμα για την σύνδεση του διακόπτη καθώς και ένας πρότυπος κώδικας για τον προγραμματισμό του Arduino. Ο κώδικας αναλύεται διεξοδικά προκειμένου να καλυφθούν οποιεσδήποτε απορίες. Σχηματικό διάγραμμα για την χρήση του διακόπτη επαναφοράς 19

20 // Οι µεταβλητές που ορίζονται ως connstants δεν αλλάζουν και µπορούν να χρησιµοποιηθούν για τον ορισµό των αριθµών που αντιστοιχούν στα pin του Arduino: const int buttonpin = 2; // Ορίζουµε µία σταθερά τύπου Integer (Ακεραίου) µε //όνοµα buttonpin και της δίνουµε την τιµή 2 µε σκοπό //να την χρησιµοποιήσουµε παρακάτω στον κώδικα και να //δηλώσουµε που θα συνδέσουµε το button. const int ledpin = 13; // Ορίζουµε µία σταθερά τύπου Integer (Ακεραίου) µε // όνοµα ledpin και της δίνουµε την τιµή 13 µε σκοπό να // την χρησιµοποιήσουµε παρακάτω στον κώδικα και να // δηλώσουµε που θα συνδέσουµε το led. // Παρακάτω έχω µεταβλητές οι οποίες αλλάζουν τιµή κατά την εκτέλεση του προγράµµατος int buttonstate = 0; //Ορίζουµε µία µεταβλητή τύπου? Integer (Ακεραίου) µε όνοµα // buttonstate και της δίνουµε αρχικά την τιµή 0 µε σκοπό να // την χρησιµοποιήσουµε παρακάτω στον κώδικα για να // αποθηκεύουµε την κατάσταση λειτουργίας του button (on-off) // Ακολουθεί η συνάρτηση αρχικών ρυθµίσεων του µικροελεγκτή void setup() { pinmode(ledpin, OUTPUT); // Ορίζουµε χρησιµοποιώντας την µεταβλητή // ledpin, ότι το pin 13 θα λειτουργεί σαν // ψηφιακή έξοδος 0-5V pinmode(buttonpin, INPUT); // Ορίζουµε χρησιµοποιώντας την µεταβλητή // buttonpin, ότι το pin 2 θα λειτουργεί σαν // ψηφιακή είσοδος 0-5V // Ακολουθεί η κύρια ρουτίνα του προγράµµατος που εκτελείται συνεχώς void loop(){ buttonstate = digitalread(buttonpin); // Διαβάζουµε την ψηφιακή τιµή //που έχει το Pin 2 (εκεί που //συνδέεται το button) και την //αποθηκεύουµε στην µεταβλητή //buttonstate //Στην συνέχεια ελέγχουµε αν το button είναι πατηµένο, αν ναι τότε: άναψε το LED if (buttonstate == HIGH) { digitalwrite(ledpin, HIGH); // Βγάλε λογικό 1 (5V) //στο pin 13, δηλαδή // άναψε το led else { // αλλιώς: σβήσε το LED digitalwrite(ledpin, LOW); //Βγάλε λογικό 0 (0V) στο pin 13 20

21 Ο μικροελεγκτής «Arduino Uno» και τα εξωτερικά «Interrupt» Η υπολογιστική πλατφόρμα Arduino Uno χρησιμοποιεί μέχρι και δύο εξωτερικά interrupt, τα ΙΝΤ0 και ΙΝΤ1, τα οποία εκ κατασκευής είναι ορισμένα στις θύρες (PIN) 2 και 3 αντίστοιχα. Τo εξωτερικό interrupt είναι ένα σήμα που δέχεται ο μικροελεγκτής οποιαδήποτε χρονικά στιγμή, για ένα γεγονός το οποίο χρειάζεται άμεση προσοχή και όταν ένα interrupt ενεργοποιηθεί ο μικροελεγκτής σταματά οποιαδήποτε εργασία πράττει και εκτελεί την ρουτίνα του interrupt (interrupt service routine). Μετά την εκτέλεση της ρουτίνας του interrupt η εκτέλεση του προγράμματος συνεχίζει από την εντολή στην οποία προέκυψε η διακοπή. Τα interrupt είναι πολύ χρήσιμα καθώς μας επιτρέπουν να εκτελούμε μια συνάρτηση άμεσα και ταχύτατα. Για να χρησιμοποιήσουμε ένα εξωτερικό interrupt αρκεί να χρησιμοποιήσουμε την συνάρτηση π.χ. attachinterrupt στην οποία πρέπει να δηλώσουμε τον αριθμό του interrupt,την συνάρτηση του interrupt και τον τρόπο λειτουργίας του interrupt, δηλαδή attachinterrupt (interrupt, function_name, mode). Προφανώς στη θέση του interrupt επιλέγουμε ανάμεσα από το INT0 και INT1, η συνάρτηση του interrupt (interrupt service routine) καλείται κάθε φορά που ενεργοποιείται το interrupt, δεν χρειάζεται κάποια παράμετρο και δεν επιστρέφει τίποτα. Στη θέση του function_name γράφουμε το όνομα της συνάρτησης του interrupt, ενώ όσον αφορά τον τρόπο λειτουργίας (mode) του interrupt υπάρχουν τέσσερις επιλογές οι οποίες είναι: Ø LOW : το interrupt ενεργοποιείται όταν στη θύρα (PIN) που είναι συνδεδεμένο το interrupt υπάρξει σήμα LOW. Ø CHANGE : το interrupt ενεργοποιείται όταν στη θύρα που είναι συνδεδεμένο το interrupt υπάρξει αλλαγή sτο σήμα οποιαδήποτε και αν είναι αυτή. Ø RISING : το interrupt ενεργοποιείται όταν έχουμε ανερχόμενο μέτωπο δηλαδή, όταν στη θύρα που είναι συνδεδεμένο το interrupt υπάρξει σήμα που μετατρέπεται από LOW σε HIGH. Ø FALLING: το interrupt ενεργοποιείται όταν έχουμε κατερχόμενο μέτωπο δηλαδή, όταν στη θύρα που είναι συνδεδεμένο το interrupt υπάρξει σήμα που μετατρέπεται από HIGH σε LOW. Τέλος, μέσα στη συνάρτηση του interrupt η συνάρτηση delay() δεν λειτουργεί, οι τιμές της εντολής millis() δεν αυξάνονται. Οι μεταβλητές που χρησιμοποιούνται μέσα και έξω από τη συνάρτηση του interrupt πρέπει να είναι μορφής volatile. Παράδειγμα χρήσης των εξωτερικών Interrupt («Interrupt Service Routine») Η χρήση των εξωτερικών Interrupt («Interrupt Service Routine») γίνεται αντιληπτή με το παρακάτω παράδειγμα, με το οποίο το LED 13, που βρίσκεται πάνω

22 στην υπολογιστική πλατφόρμα του Arduino, εναλλάσσεται η κατάσταση του («HIGH- LOW») κάθε φορά που ενεργοποιείται το Interrupt 0 (INT0). // Ακολουθούν η συνάρτηση αρχικών ρυθµίσεων του µικροελεγκτή int pin = 13; //δήλωση του LED volatile int state = LOW;//δήλωση της µεταβλητής state // Ακολουθεί η συνάρτηση αρχικών ρυθµίσεων του µικροελεγκτή void setup(){ pinmode(pin, OUTPUT); //δήλωση του LED ως έξοδο attachinterrupt(0, blink, CHANGE); //δήλωση της συνάρτησης του //interrupt (INT0) // Ακολουθεί η κύρια ρουτίνα του προγράµµατος που εκτελείται συνεχώς void loop(){ digitalwrite(pin, state); //εγγραφή της κατάστασης του LED // Ακολουθεί η Ρουτίνα εξυπηρέτησης της διακοπής void blink() { state =!state; //αναστροφή της κατάστασης του LED Παράδειγμα 3: Άναμμα και σβήσιμο Led ελεγχόμενο από εξωτερικό button με την διαδικασία Interrupt (Η διαφορά με την προηγούμενη περίπτωση είναι ότι πρίν η ενεργοποίηση γίνεται μετά το loop ενώ τώρα άμεσα με την ενεργοποίηση της διακοπής) const int LED = 13; // Ορίζουµε µία σταθερά τύπου Integer (Ακεραίου) µε όνοµα //LED και της δίνουµε την τιµή 13 µε σκοπό να την //χρησιµοποιήσουµε παρακάτω στον κώδικα και να δηλώσουµε που // θα συνδέσουµε το led. const int BUTTON = 2; // Ορίζουµε µία σταθερά τύπου Integer (Ακεραίου) µε όνοµα // BUTTON και της δίνουµε την τιµή 2 µε σκοπό να την // χρησιµοποιήσουµε παρακάτω στον κώδικα και να δηλώσουµε // που θα συνδέσουµε το button. // Ακολουθεί η συνάρτηση αρχικών ρυθµίσεων του µικροελεγκτή void setup () { pinmode (LED, OUTPUT); // Ορίζουµε χρησιµοποιώντας την µεταβλητή LED, // ότι το pin 13 θα λειτουργεί σαν ψηφιακή // έξοδος 0-5V digitalwrite (BUTTON, HIGH); // internal pull-up resistor // Ορίζουµε χρησιµοποιώντας την µεταβλητή // BUTTON, ότι το pin 2 // θα λειτουργεί σαν ψηφιακή είσοδος 0-5V attachinterrupt (0, ISRpinChange, CHANGE);// Ενεργοποίηση της ρουτίνας // που θα εξυπηρετεί την // διακοπή. Η πρώτη παράµετρος // µε τιµή 0 µας ορίζει την // πηγή της εξωτερικής διακοπής // σύµφωνα µε τον παρακάτω //πίνακα. Η δεύτερη παράµετρος µε // τιµή ISRpinChange µας ορίζει το // όνοµα της ρουτίνα εξυπηρέτησης // της διακοπής ISR που δηµιουργήσαµε // παραπάνω. Η τρίτη παράµετρος µε // τιµές LOW, RISING, FALLING, CHANGE µας ορίζει το // είδος της αλλαγής λογικής στάθµης που ενεργοποιεί // την διακοπή. // Ακολουθείται η κύρια ρουτίνα του προγράµµατος που εκτελείται συνεχώς 22

23 void loop () { // Δεν εκτελείται καµία εντολή αρά δεν γίνεται τίποτα και // περιµένουµε να συµβεί µία διακοπή // Ακολουθεί η Ρουτίνα εξυπηρέτησης της διακοπής // Interrupt Service Routine (ISR) // Ακολουθεί η δηµιουργία ρουτίνας εξυπηρέτησης διακοπής µε όνοµα pinchange (µπορεί να δηλωθεί µετά τις µεταβλητές και πριν την ρουτίνα αρχικών ρυθµίσεων του µικροελεγκτή ή και µετά την συνάρτηση void loop() όπως κάνουµε εδώ) void ISRpinChange(){ nointerrupts (); // Απενεργοποίηση των υπόλοιπων διακοπών µε σκοπό // να µην συµβεί κάποια άλλη διακοπή για όσο χρόνο // εξυπηρετείται η παρούσα διακοπή. Άν έχουµε µόνο // µία ISR τότε δεν απαιτείται να γράψουµε αυτήν την // εντολή. Επίσης µέσα στις ρουτίνες ISR δέν //επιτρέπεται η χρήση της συνάρτησης delay(). if (digitalread (BUTTON) == HIGH) // Διαβάζουµε την ψηφιακή τιµή // που έχει το Pin 2 (εκεί που // συνδέεται το button) και // ελέγχουµε αν το button είναι // πατηµένο, αν ναι τότε digitalwrite (LED, HIGH); // Βγάλε λογικό 1 (5V) στο pin 13, // δηλαδή άναψε το led else digitalwrite (LED, LOW);//Αλλιώς: Βγάλε λογικό 0 //(0V) στο pin 13, δηλαδή σβήσε το led interrupts (); // Ενεργοποίηση των διακοπών ΑΣΚΗΣΕΙΣ για το μάθημα (Η λύση υπάρχει σε διαφάνειες) Να σχεδιάσετε ένα σύστημα το οποίο ελέγχει την κατάσταση τριών διακοπτών on- off, όταν πατηθεί ένας διακόπτης επαναφοράς (push- button), και εξετάζει αν ο συνδυασμός των παραπάνω διακοπτών συμφωνεί με αυτόν ο οποίος έχει αποθηκευτεί στον μικροελεγκτή του παραπάνω συστήματος. Αν ο συνδυασμός είναι σωστός, ένα πράσινο LED ανάβει και ένας DC κινητήρας ξεκινάει να περιστρέφεται για όσο χρονικό διάστημα ο παραπάνω διακόπτης επαναφοράς είναι πατημένος. Αν ο συνδυασμός των τριών διακοπτών είναι λανθασμένος, ένα κόκκινο LED ανάβει ενώ ταυτόχρονα μια μικρή σειρήνα (Buzzer) ηχεί για χρονικό διάστημα 3sec και ταυτόχρονα απεικονίζεται σε ένα Display ο αύξων αριθμός των αποτυχημένων προσπαθειών. Τέλος όταν εισάγεται ένας σωστός συνδυασμός η ένδειξη του Display γίνεται μηδέν. 23

24 ΠΑΡΑΡΤΗΜΑ Α: Βασικές εντολές του Arduino με απλά παραδείγματα χρήσης τους 24

25 Εντολές Δομής Προγράμματος Ø Εντολή Void setup() Αυτή η εντολή εκτελείται μόνο 1 φορά στην αρχή του προγράμματος και αφορά την αρχικοποίηση των μεταβλητών ή των ακίδων (pins) ως έξοδοι. int buttonpin = 3; void setup() { Serial.begin(9600); pinmode(buttonpin, INPUT); void loop() { //... Ø Εντολή Void loop() Αυτή η εντολή μας καθορίζει τις εντολές που θα εκτελούνται συνεχώς και όσο ο Arduino είναι σε λειτουργία. Παραδειγµα int buttonpin = 3; void setup()// setup initializes serial and the button pin { beginserial(9600); pinmode(buttonpin, INPUT); void loop()// loop checks the button pin each time, // and will send serial if it is pressed { if (digitalread(buttonpin) == HIGH) serialwrite('h'); else serialwrite('l'); delay(1000); Εντολές Ελέγχου Προγράμματος Ø Η εντολή if Αυτή η εντολή χρησιμοποιείται για να τον έλεγχο αλήθειας μιας αριθμητικής ή λογικής έκφρασης. if (somevariable > 50) {

26 // do something here Το πρόγραμμα θα ελέγξει εάν κάποια μεταβλητή έχει τιμή πάνω από 50. Εάν η έκφραση μέσα στην παρένθεση είναι αληθής τότε το πρόγραμμα θα εκτελεστεί κανονικά εάν όχι δηλαδή, είναι ψευδής το πρόγραμμα παρακάμπτει το σώμα εντολών της if και εκτελεί τον επόμενο κώδικα. Ακολουθούν παραλλαγές του τρόπου εγγραφής της εντολής if: if (x > 120) digitalwrite(ledpin, HIGH); if (x > 120){ digitalwrite(ledpin, HIGH); if (x > 120){ digitalwrite(ledpin1, HIGH); digitalwrite(ledpin2, HIGH); Σύμβολα σύγκρισης και εκφράσεις που μπορούμε να χρησιμοποιήσουμε παρουσιάζο- νται παρακάτω: x == y (το x είναι ίσο µε το y) x!= y (το x δεν είναι ίσο µε το y) x < y (το x είναι µικρότερο από το y) x > y (το x είναι µεγαλύτερο από το y) x <= y (το x είναι µικρότερο η ίσο µε το y) x >= y (το x µεγαλύτερο η ίσο µε το y) Προσοχή! Σε περίπτωση που στο πρόγραμμα γράψετε (x=10) και όχι (x==10) τότε το πρό- γραμμα καταχωρεί στην μεταβλητή x τον αριθμό 10 και έτσι δεν γίνεται η σύγκριση αν το x είναι ίσο με τον αριθμό 10. Ø Η εντολή if/else Αυτή η εντολή χρησιμοποιείται όπως η εντολή if με την διαφορά ότι σε περίπτωση που η έκφραση ελέγχου if είναι ψευδής εκτελείται το σώμα εντολών που ακολουθεί την else και έπειτα συνεχίζεται κανονικά η ροή του προγράμματος. if (pinfiveinput < 500) { // σώµα εντολών A else {// σώµα εντολών B Άν η έκφραση ελέγχου είναι αληθής τότε εκτελείται το σώμα εντολών Α, αν οχι τότε εκτελείται με την εντολή else το σώμα εντολών Β. Μπορούμε επίσης να θέσουμε και πιο πολλά τεστ ταυτόχρονα χρησιμοποιώντας την εντολή else if. if (pinfiveinput < 500) { // do Thing A else if (pinfiveinput >= 1000) { // do Thing B else { // do Thing C Μπορούμε να χρησιμοποιεισουμε την εντολή else if οσες φορες θελουμε. Οποτε 26

27 παρατηρούμε οτι μπορούμε να εκτελέσουμε απειρία τεστ σε μια εντολή εως οτου βρεθεί αληθής η συνθήκη μας. Ø Η εντολή for Η εντολη for χρησιμοποιειται για να κανει επαναληψη ενα block η μια εντολη η οποια βρισκεται αναμεσα σε {.Καθε φορα που εκτελειται μια φορα η εντολη for χρησιμοποιειται στην αρχη μετα της επαναληψης μια μεταβλητη που τη αυξανει η την μειωνει καθε φορα εως οτου τερματισει το loop(block η την εντολη). // Dim an LED using a PWM pin int PWMpin = 10; // LED in series with 470 ohm resistor on pin 10 void setup() { // no setup needed void loop() { for (int i=0; i <= 255; i++){ analogwrite(pwmpin, i); delay(10); Καθε φορα που πραγματοποιειται μια επαναληψη η συνθηκη i<=255 ελέγχεται και εαν ειναι αληθης τοτε η μεταβλητη μας i αυξανεται κατά ένα. Οταν η συνθηκη γινει ψευδεις τοτε η επαναληψη σταματαει. Πως μπορουμε επισης να κανουμε ενα LED να χανει το χρωμα του σιγα σιγα. (fade out) void loop() { int x = 1; for (int i = 0; i > -1; i = i + x){ analogwrite(pwmpin, i); if (i == 255) x = -1; // switch direction at peak delay(10); Ø Η εντολή switch/case Είναι παρόμοια με τη εντολή if. H switch(συγκρίνει την τιμή μιας μεταβλητής var με τις τιμές που ορίζονται στις δηλώσεις case και εκτελεί την ανάλογη. Mετά το τέλος κάθε εντολής case πρέπει να ακολουθεί η εντολή break. switch (var) { case 1: //do something when var equals 1 break; case 2: //do something when var equals 2 break; default: // if nothing else matches, do the default // default is optional 27

28 Ø Η εντολή while Η εντολή ελγέγχει τη συνθήκη μέσα στις () και αν είναι αληθής εκτελείται το σώμα εντολών που της αντιστοιχεί. Πρέπει επίσης να υπάρχει μια μεταβλητή που να αυξάνει κάθε φορά γιατί αλλιώς η εντολή while θα μας εγκλωβίσει σε ένα ατέρμονα βρόχο επανάλυψης. var = 0; while(var < 200){ // do something repetitive 200 times var++; Ø Η εντολή do- while Κάνει την ίδια λειτουργία με την εντολή while. Η μοναδική διαφορά τους είναι ότι η συνθήκη ελέγχεται στο τέλος της επανάληψης εξασφαλίζοντας έτσι ότι το σώμα εντολών θα εκτελεστεί τουλάχιστον μία φορά. Do { delay(50); // wait for sensors to stabilize x = readsensors(); // check the sensors while (x < 100); Ø Η εντολή break Χρησιμοποιείται για να τερματίσει την επανάληψη εντολών όπως do, for, while και switch. for (x = 0; x < 255; x ++) { digitalwrite(pwmpin, x); sens = analogread(sensorpin); if (sens > threshold){ delay(50); // bail out on sensor detect x = 0; break; Ø Η εντολή continue H εντολή αυτή προσπερνάει το υπόλοιπο της τρέχουσας μιας επανάληψης (do, for, while) και συνεχίζει ελέγχοντας τη συνθήκη έκφρασης της επανάληψης ώστε να γίνουν οι επόμενες επαναλήψεις. for (x = 0; x < 255; x ++) { if (x > 40 && x < 120){ continue; // create jump in values 28

29 digitalwrite(pwmpin, x); delay(50); Ø Η εντολή return Τερματίζει την λειτουργία μίας συνάρτησης επιστρέφοντας την τιμή/μεταβλητή που την ακολουθεί. int checksensor(){ if (analogread(0) > 400) { return 1; else { return 0; Ø Η εντολή #define Αυτή η εντολή σου δίνει το δικαίωμα να αντικαταστήσεις ένα όνομα με μια μεταβλητή κατά την διάρκεια της μεταγλώττισης του προγράμματος. Όταν χρησιμοποιούμε αυτήν την εντολή δεν βάζουμε στο τέλος ; ή =. #define ledpin 3 // The compiler will replace any mention of ledpin with the value 3 at // compile time. Ø Η εντολή #include σου δίνει το δικαίωμα να εισάγεις νέες βιβλιοθήκες. Ø Λογικό ΚΑΙ, && Λογικοί τελεστές Μπορουν να χρησιμοποιηθουν σε μια εντολη που περιεχει το if. if (digitalread(2) == HIGH && digitalread(3) == HIGH) { // σώµα εντολών Πρέπει να ισχύει και το 1 ο και το 2 ο μέρος της συνθήκης ώστε να εκτελεστεί το σώμα εντολών μέσα στα άγκιστρα. Ø Λογικό Ή, Μπορούν να χρησιμοποιηθούν σε μια εντολή που περιείχε το if. if (x > 0 y > 0) { // σώµα εντολών Για να εκτελεστεί το σώμα εντολών μέσα στα άγκιστρα, θα πρέπει η το 1 ο μερος της συνθήκης ελέγχου να είναι αληθές ή το2 ο μέρος να είναι αληθές. 29

30 Ø Λογικό ΟΧΙ,! Μπορούν να χρησιμοποιηθούν σε μια εντολή που περιείχε το if. Για να εκτελεστεί το σώμα εντολών μέσα στα άγκιστρα θα πρέπει η μεταβλητή ελέγχου x να ειναι ψευδης. if (!x) { // σώµα εντολών 30

Γνωριμία με το Arduino

Γνωριμία με το Arduino Γνωριμία με το Arduino Τι είναι το Arduino; Το arduino είναι ένας μικρός υπολογιστής σε μέγεθος παλάμης που περιλαμβάνει ένα μικροελεγκτή (για εκτέλεση εντολών) και ένα σύνολο εισόδων/εξόδων για επικοινωνία

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017)

ΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017) ΑΣΚΗΣΗ 1 (22 Νοεμβρίου 2017) Περιγραφή της Άσκησης Ο σκοπός της πρώτης άσκησης είναι κυρίως η εξοικείωση με το περιβάλλον προγραμματισμού του Arduino, γι αυτό και δεν είναι ιδιαίτερα σύνθετη. Αρχικά, θα

Διαβάστε περισσότερα

Εφαρμογές Σειριακής Επικοινωνίας

Εφαρμογές Σειριακής Επικοινωνίας Εφαρμογές Σειριακής Επικοινωνίας Εισαγωγή Στο μάθημα αυτό θα μάθουμε πώς να χρησιμοποιούμε την βιβλιοθήκη serial για την επικοινωνία από την πλατφόρμα Arduino πίσω στον υπολογιστή μέσω της θύρας usb. Τι

Διαβάστε περισσότερα

Πλακέτα Arduino. 1ο ΕΠΑΛ Περάματος - 7ο ΕΚ Πειραιά

Πλακέτα Arduino. 1ο ΕΠΑΛ Περάματος - 7ο ΕΚ Πειραιά Πλακέτα Arduino Το 2005 oι Massimo Banzi και David Cueartielles στο Ivrea Δημιουργούν την υπολογιστική πλατφόρμα Arduino. Το Arduino είναι βασισμένο σε μια απλή μητρική πλακέτα ανοικτού κώδικα, με ενσωματωμένο

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 4 ΕΙΣΑΓΩΓΗ ΣΤΟN ARDUINO: ΨΗΦΙΑΚΗ ΕΙΣΟΔΟΣ/ΕΞΟΔΟΣ

ΕΡΓΑΣΤΗΡΙΟ 4 ΕΙΣΑΓΩΓΗ ΣΤΟN ARDUINO: ΨΗΦΙΑΚΗ ΕΙΣΟΔΟΣ/ΕΞΟΔΟΣ ΕΡΓΑΣΤΗΡΙΟ 4 ΕΙΣΑΓΩΓΗ ΣΤΟN ARDUINO: ΨΗΦΙΑΚΗ ΕΙΣΟΔΟΣ/ΕΞΟΔΟΣ Σκοπός της άσκησης Οι φοιτητές θα εξοικειωθούν με την πλακέτα του μικροελεγκτή και θα αναγνωρίσουν τα βασικά της στοιχεία. Επίσης θα εξοικειωθούν

Διαβάστε περισσότερα

Προγραμματισμο ς σε Arduino

Προγραμματισμο ς σε Arduino Προγραμματισμο ς σε Arduino Arduino UNO & Innoesys Educational Shield www.devobox.com Ηλεκτρονικά Εξαρτήματα & Υλικά Κατασκευής Πρωτοτύπων Λέανδρου 79, 10443, Κολωνός +30 210 51 55 513, info@devobox.com

Διαβάστε περισσότερα

Arduino Teachers Workshop

Arduino Teachers Workshop Arduino Teachers Workshop Εισαγωγή στο Arduino Προγραμματισμός στο Arduino IDE Επικοινωνία με τον υπολογιστή μέσω USB Πλακέτα εύκολων συνδέσεων Breadboard Projects Led Blink Αναλογική ανάγνωση Ποτενσιόμετρου

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO. Υποψήφιος Διδάκτωρ

ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO. Υποψήφιος Διδάκτωρ ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO Δημιουργός: Επιβλέπων: Μπακάλη Ιωάννα Πετεινάτος Ηλίας Υποψήφιος Διδάκτωρ 1 ΤΙ ΕΙΝΑΙ ΤΟ ARDUINO; Είναι ένας συνδυασμός Υλικού (πλακέτας, μικροελεγκτή, αντιστάσεων κτλ) και Λογισμικού

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 2 (29 Νοεμβρίου 2016)

ΑΣΚΗΣΗ 2 (29 Νοεμβρίου 2016) ΑΣΚΗΣΗ 2 (29 Νοεμβρίου 2016) Περιγραφή της Άσκησης Στόχος της άσκησης είναι η δημιουργία ενός συστήματος διαχείρισης φωτισμού. Μία φωτομεταβαλλόμενη αντίσταση (LDR) θα διαπιστώνει την ποσότητα του φωτός

Διαβάστε περισσότερα

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 Mηχανοτρονική Το Arduino είναι μια «ανοικτού κώδικα» πλατφόρμα «πρωτοτυποποιημένων» ηλεκτρονικών βασισμένη σε ευέλικτο και εύκολο στη χρήση

Διαβάστε περισσότερα

Βιβλιοθήκη για οθόνη LCD

Βιβλιοθήκη για οθόνη LCD Βιβλιοθήκη για οθόνη LCD Η βιβλιοθήκη LCD βρίσκεται προεγκατεστημένη στο περιβάλλον προγραμματισμού του Arduino (IDE) και για την ορθή της λειτουργία ακολουθούμε την παρακάτω διαδικασία: Ø Δηλώνουμε τη

Διαβάστε περισσότερα

Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα

Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα 1ο ΕΠΑΛ Περάματος 7ο ΕΚ Πειραιά Πλακέτα Arduino Το 2005 oι Massimo Banzi και David Cueartielles στο Ivrea Δημιουργούν την υπολογιστική πλατφόρμα Arduino.

Διαβάστε περισσότερα

Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές. Εισαγωγή στο Arduino. Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών

Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές. Εισαγωγή στο Arduino. Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές Εισαγωγή στο Arduino Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών Τι είναι Μικροελεγκτής; Ηλεκτρονική συσκευή που διαχειρίζεται ηλεκτρονικά

Διαβάστε περισσότερα

διατίθεται με άδεια χρήσης GPL για πλατφόρμες Linux, MAC και Windows.

διατίθεται με άδεια χρήσης GPL για πλατφόρμες Linux, MAC και Windows. Arduino ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO Α. Ανδρεάτος Κεφ. 1/ Εισαγωγή - Τι είναι το Arduino; Σύμφωνα με τον δημιουργό του, το Arduino είναι μια πλατφόρμα ανάπτυξης ηλεκτρονικών κατασκευών ανοικτών τεχνολογιών (υλικού

Διαβάστε περισσότερα

Ενσωματωμένα Συστήματα

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ ARDUINO Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

Το κύκλωμα σε breadboard

Το κύκλωμα σε breadboard Φύλλο εργασίας 8 - Ανιχνευτής απόστασης Σε αυτήν τη δραστηριότητα θα κατασκευάσουμε έναν ανιχνευτή απόστασης. Θα χρησιμοποιήσουμε τον αισθητήρα υπερήχων (ή απόστασης) HC-SR04 για τον υπολογισμό της απόστασης.

Διαβάστε περισσότερα

ΣΤΟΙΧΕΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ARDUINO

ΣΤΟΙΧΕΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ARDUINO ΣΤΟΙΧΕΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ARDUINO Αντώνιος Καραγεώργος Βασικά Στοιχεία της Γλώσσας Προγραμματισμού Arduino Constants: HIGH/LOW Ορίζουν το επίπεδο της τάσης εισόδου/εξόδου ενός pin INPUT/OUTPUT Ορίζουν την

Διαβάστε περισσότερα

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοι- νωνία Σ Σειριακή Επικοινωνία Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 2 USB και Σειριακή Επικοινωνία. Σειριακή Επικοινωνία USB Σύνδεση / Πρωτόκολλο Σκοπός Εντολή επιλογής (if) Εντολή Επανάληψης (while) Πίνακες 1 Μέρος Α : Σκοπός

Διαβάστε περισσότερα

Εφαρμογές Αναλογικών Ε/Ε PWM (pulse Width Modulation)

Εφαρμογές Αναλογικών Ε/Ε PWM (pulse Width Modulation) Εφαρμογές Αναλογικών Ε/Ε PWM (pulse Width Modulation) Εισαγωγή Σε αυτή την ενότητα θα δούμε εφαρμογές που χρησιμοποιούν τις αναλογικές Εισόδους/Εξόδους του Arduino ή την τεχνική PWM. Ψηφιακό vs Αναλογικό

Διαβάστε περισσότερα

Ενσωµατωµένα Συστήµατα

Ενσωµατωµένα Συστήµατα Ενσωµατωµένα Συστήµατα για εφαρµογές πραγµατικού χρόνου Μικροελεγκτής Arduino Ιωάννης Καλόµοιρος Αναπληρωτής Καθηγητής Τµήµα Μηχανικών Πληροφορικής Μάθηµα 7ο Τι είναι το Arduino... Ένα open-hardware σύστηµα

Διαβάστε περισσότερα

ΕΦΑΡΜΟΓΕΣ ΤΗΛΕΠIΚΟΙΝΩΝΙΑΚΩΝ ΔΙΑΤΑΞΕΩΝ

ΕΦΑΡΜΟΓΕΣ ΤΗΛΕΠIΚΟΙΝΩΝΙΑΚΩΝ ΔΙΑΤΑΞΕΩΝ ΕΦΑΡΜΟΓΕΣ ΤΗΛΕΠIΚΟΙΝΩΝΙΑΚΩΝ ΔΙΑΤΑΞΕΩΝ ΟΙΚΟΝOΜΟΥ ΧΑΡΗΣ (6424) ΦΩΚΟΣ ΝΙΚΟΛΑΟΣ(6592) ΚΑΜΒΥΣΗΣ ΝΙΚΟΛΑΟΣ(7178) 2013-2014 ΠΕΡΙΕΧΟΜΕΝΑ Σκοπός της εργασίας Ανάλυση Arduino Uno Δημιουργία πληροφορίας Αποστολή και

Διαβάστε περισσότερα

Κωνσταντίνος Γκαλονάκης. Arduino: Προγραμματισμός στην πράξη

Κωνσταντίνος Γκαλονάκης. Arduino: Προγραμματισμός στην πράξη Κωνσταντίνος Γκαλονάκης Arduino: Προγραμματισμός στην πράξη 1 Σύνδεση του Arduino με τον Η/Υ και προγραμματισμός αυτού. 1. Εγκατάσταση περιβάλλοντος Arduino IDE Για να προγραμματίσετε τη μονάδα σας θα

Διαβάστε περισσότερα

Η δυναμική του Arduino στο μάθημα της Τεχνολογίας. Φάσουρας Δημήτριος Ηλεκτρολόγος ΠΕ 17,03

Η δυναμική του Arduino στο μάθημα της Τεχνολογίας. Φάσουρας Δημήτριος Ηλεκτρολόγος ΠΕ 17,03 Η δυναμική του Arduino στο μάθημα της Τεχνολογίας Φάσουρας Δημήτριος Ηλεκτρολόγος ΠΕ 17,03 dfasouras@gmail.com Τι είναι το Arduino ; Το Arduino είναι μια απλή μητρική πλακέτα ανοικτού κώδικα. Διαθέτει

Διαβάστε περισσότερα

ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO- 01a

ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO- 01a ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO- 01a Βασικό κύκλωμα προγραμματισμός μικροελεγκτή Πλακέτα Arduino, 1 Να δημιουργήσετε και να προγραμματίσετε ένα πολύ απλό σύστημα που να αναβοσβήνει ένα λαμπάκι (έξοδος)

Διαβάστε περισσότερα

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων Εργαστήριο ενσωματωμένων συστημάτων Παρουσίαση 2: Βασικός Προγραμματισμός Arduino (AVR) Εργαστήριο Αυτομάτου Ελέγχου Η πλατφόρμα Arduino UNO Microcontroller: ATmega328 Operating Voltage: 5V Digital I/O

Διαβάστε περισσότερα

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 1. Arduino + LabVIEW: Μέτρηση Έντασης Φωτός με Φωτοαντίσταση. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 1. Arduino + LabVIEW: Μέτρηση Έντασης Φωτός με Φωτοαντίσταση. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Σκοπός Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 1 Arduino + LabVIEW: Μέτρηση Έντασης Φωτός με Φωτοαντίσταση. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Βασική δομή ενός προγράμματος στο LabVIEW. Εμπρόσθιο

Διαβάστε περισσότερα

Εφαρμογές αναλογικών / Ψηφιακών

Εφαρμογές αναλογικών / Ψηφιακών Εφαρμογές αναλογικών / Ψηφιακών 1 ΕΙΣΑΓΩΓΗ Σε αυτήν την ενότητα θα δούμε μερικές ακόμα εφαρμογές ψηφιακών / αναλογικών εισόδων/ εξόδων που μπορούμε να φτιάξουμε με την βοήθεια του Arduino, χρησιμοποιώντας

Διαβάστε περισσότερα

Φύλλο εργασίας 9 - Αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων

Φύλλο εργασίας 9 - Αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων Φύλλο εργασίας 9 - Αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων Σε αυτήν τη δραστηριότητα θα κατασκευάσουμε ένα αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων. Εκτός από τον μικροελεγκτή Arduino, το breadboard,

Διαβάστε περισσότερα

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

Φύλλο εργασίας 3 - Χριστουγεννιάτικα φωτάκια (σταδιακή αύξηση και μείωση φωτεινότητας ενός LED) Το κύκλωμα σε breadboard Φύλλο εργασίας 3 - Χριστουγεννιάτικα φωτάκια (σταδιακή αύξηση και μείωση φωτεινότητας ενός LED) Στην δραστηριότητα αυτή θα χρησιμοποιήσουμε ένα LED το οποίο θα ανάβει σταδιακά και όταν θα φτάσει στη μέγιστη

Διαβάστε περισσότερα

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5. Ρυθμίζοντας τη Φορά Περιστροφής. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Σκοπός Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 5 Ρυθμίζοντας τη Φορά Περιστροφής DC Κινητήρα. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Βασική δομή ενός προγράμματος στο LabVIEW. Εμπρόσθιο Πλαίσιο (front

Διαβάστε περισσότερα

Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα

Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα 1ο ΕΠΑΛ Περάματος 7ο ΕΚ Πειραιά Πλακέτα Arduino Το 2005 oι Massimo Banzi και David Cueartielles στο Ivrea Δημιουργούν την υπολογιστική πλατφόρμα Arduino.

Διαβάστε περισσότερα

Εξαμηνιαία Εργασία 2013 Προγραμματίζοντας τον Arduino στη C Μέρος Α : Υλικά

Εξαμηνιαία Εργασία 2013 Προγραμματίζοντας τον Arduino στη C Μέρος Α : Υλικά Σκοπός Εξαμηνιαία Εργασία 2013 Προγραμματίζοντας τον Arduino στη C Μέρος Α : Υλικά Μικροελεγκτές Πλακέτα Arduino Προσομοίωση Μικροελεγκτών Προγραμματισμός Μικροελεγκτών στη C. 7.1 ΕΠΙΔΙΩΞΗ ΤΗΣ ΕΡΓΑΣΙΑΣ

Διαβάστε περισσότερα

ΕΝΟΤΗΤΑ 5 Αναλογικά σήματα

ΕΝΟΤΗΤΑ 5 Αναλογικά σήματα ΕΝΟΤΗΤΑ 5 Αναλογικά σήματα Σκοπός και περίγραμμα της Ενότητας 5 Σκοπός της παρουσίασης Να δώσουμε τις βασικές ιδέες για τα αναλογικά σήματα και την χρήση διαφορετικών ειδών περιφερειακών Σύνοψη Επεξήγηση

Διαβάστε περισσότερα

2017 Κατασκευάζω και Προγραμματίζω με τον μικροελεγκτή Arduino

2017 Κατασκευάζω και Προγραμματίζω με τον μικροελεγκτή Arduino 2017 Κατασκευάζω και Προγραμματίζω με τον μικροελεγκτή Arduino Αριστείδης Παλιούρας e-mail: arispaliouras@gmail.com ISBN: 978-960-93-8945-7 Κατασκευάζω και Προγραμματίζω με τον μικροελεγκτή Arduino Copyright

Διαβάστε περισσότερα

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου Σκοπός και περίγραμμα της Ενότητας 4 Σκοπός της παρουσίασης Να μελετήσουμε τις συναρτήσεις που ελέγχουν την ροή και την εκτέλεση ενός προγράμματος Σύνοψη

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚH ΓΙΑ ΤΗΝ ΤEΧΝΗ Η ΕΞAΜΗΝΟ

ΠΛΗΡΟΦΟΡΙΚH ΓΙΑ ΤΗΝ ΤEΧΝΗ Η ΕΞAΜΗΝΟ ΠΛΗΡΟΦΟΡΙΚH ΓΙΑ ΤΗΝ ΤEΧΝΗ Η ΕΞAΜΗΝΟ ΑΜΑΛIΑ ΦΩΚA ΕΠIΚΟΥΡΗ ΚΑΘΗΓHΤΡΙΑ Περιεχόμενο Μαθήματος 2 Arduino Τι είναι το Arduino; 3 μικρή συσκευή (μικροεπεξεργαστής) που συνδέεται με USB στον υπολογιστή μια πλατφόρμα

Διαβάστε περισσότερα

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access) Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access) Μελετώντας το μάθημα θα μπορείς να ξέρεις τη λειτουργία του Polling να ξέρεις

Διαβάστε περισσότερα

Σκοπός. Προγραμματίζοντας τον Arduino ΙΙ Εντολή Εκχώρησης & Εντολές. Συλλογή & Επεξεργασία Δεδομένων. Πρόγραμμα. Εντολές Επεξεργασίας Δεδομένων

Σκοπός. Προγραμματίζοντας τον Arduino ΙΙ Εντολή Εκχώρησης & Εντολές. Συλλογή & Επεξεργασία Δεδομένων. Πρόγραμμα. Εντολές Επεξεργασίας Δεδομένων Σκοπός Συλλογή & Επεξεργασία Δεδομένων Προγραμματίζοντας τον Arduino ΙΙ Εντολή Εκχώρησης & Εντολές Ελέγχου. Πρόγραμμα Εντολές Επεξεργασίας Δεδομένων Εντολή Εκχώρησης Εντολές Ελέγχου Λογική συνθήκη Εντολή

Διαβάστε περισσότερα

ΕΛΕΓΧΟΣ ΑΝΤΛΙΟΣΤΑΣΙΟΥ ΜΕ ΔΕΞΑΜΕΝΗ ΜΕΣΩ GSM CHECK IN TANK PUMPING THROUGH GSM

ΕΛΕΓΧΟΣ ΑΝΤΛΙΟΣΤΑΣΙΟΥ ΜΕ ΔΕΞΑΜΕΝΗ ΜΕΣΩ GSM CHECK IN TANK PUMPING THROUGH GSM ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΏΝ ΕΦΑΡΜΟΓΏΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ CHECK IN TANK PUMPING THROUGH GSM Επιβλέπων Καθηγητής: Κόγιας Παναγιώτης Επιβλέπουσα Καθηγήτρια: Κόγια Φωτεινή ΚΑΒΑΛΑ, ΦΕΒΡΟΥΑΡΙΟΣ

Διαβάστε περισσότερα

Φύλλο εργασίας 6 - Θερμόμετρο εξωτερικού χώρου. Το κύκλωμα σε breadboard

Φύλλο εργασίας 6 - Θερμόμετρο εξωτερικού χώρου. Το κύκλωμα σε breadboard Φύλλο εργασίας 6 - Θερμόμετρο εξωτερικού χώρου Σε αυτήν την δραστηριότητα θα κατασκευάσουμε ένα θερμόμετρο εξωτερικού χώρου. Θα χρησιμοποιήσουμε τον αισθητήρα θερμοκρασίας LM35 και για την ένδειξη της

Διαβάστε περισσότερα

LFT169 - LFR169 ΠΟΜΠΟΣ ΚΑΙ ΔΕΚΤΗΣ ΨΗΦΙΑΚΩΝ ΚΑΙ ΑΝΑΛΟΓΙΚΩΝ ΣΗΜΑΤΩΝ

LFT169 - LFR169 ΠΟΜΠΟΣ ΚΑΙ ΔΕΚΤΗΣ ΨΗΦΙΑΚΩΝ ΚΑΙ ΑΝΑΛΟΓΙΚΩΝ ΣΗΜΑΤΩΝ LFT169 - LFR169 ΠΟΜΠΟΣ ΚΑΙ ΔΕΚΤΗΣ ΨΗΦΙΑΚΩΝ ΚΑΙ ΑΝΑΛΟΓΙΚΩΝ ΣΗΜΑΤΩΝ Οδηγίες Παραμετροποίησης Power Electronics Control Ε.Π.Ε. Τύποι Συσκευών: LFT169 - LFR169 Περιγραφή: Πομπός και Δέκτης Τηλεχειρισμού 169MHz

Διαβάστε περισσότερα

4 Εισαγωγή στο Arduino

4 Εισαγωγή στο Arduino 28 Εισαγωγή στο Arduino 4 Εισαγωγή στο Arduino Τι είναι το Arduino; To arduino είναι ένας μικροελεγκτής, προσαρμοσμένος σε μια πλακέτα και έτοιμος προς χρήση. Μας φώτισες. Και τι είναι ένας μικροελεγκτής;

Διαβάστε περισσότερα

Arduino. δουλεύοντας με το... Υλικό αναφοράς και χρήσης της ανοιχτής πλατφόρμας

Arduino. δουλεύοντας με το... Υλικό αναφοράς και χρήσης της ανοιχτής πλατφόρμας δουλεύοντας με το... Arduino Υλικό αναφοράς και χρήσης της ανοιχτής πλατφόρμας έκδοση των μαθητών της Β τάξης Γενικού Ενιαίου Λυκείου Φαλάνης, του Εργαστηρίου Πληροφορικής και του εκπαιδευτικού Γιώργου

Διαβάστε περισσότερα

ΑΣΚΗΣΗ ΜHΧΑΤΡΟΝΙΚΗΣ. Τέλος όταν εισάγετε ένας σωστός συνδυασμός η ένδειξη του display να μηδενίζετε.

ΑΣΚΗΣΗ ΜHΧΑΤΡΟΝΙΚΗΣ. Τέλος όταν εισάγετε ένας σωστός συνδυασμός η ένδειξη του display να μηδενίζετε. ΑΣΚΗΣΗ ΜHΧΑΤΡΟΝΙΚΗΣ Να σχεδιάσετε ένα σύστημα το οποίο ελέγχει την κατάσταση τριών διακοπτών on/off, όταν πατηθεί ένας διακόπτης επαναφοράς (push buron), και εξετάζει αν ο συνδυασμός των παραπάνω διακοπτών

Διαβάστε περισσότερα

Lab 1: Experimenting on Arduino & AI Sense

Lab 1: Experimenting on Arduino & AI Sense Lab 1: Experimenting on Arduino & AI Sense 1. Εισαγωγή A. Arduino Robokit Το Robokit, όπως και όλες οι πλακέτες τύπου Arduino, λειτουργεί χάρη σε έναν μικροελεγκτή. Ως μικροελεγκτή μπορούμε να φανταστούμε

Διαβάστε περισσότερα

Φύλλο εργασίας 7 - Δημιουργώ τα δικά μου χρώματα με το RGB LED

Φύλλο εργασίας 7 - Δημιουργώ τα δικά μου χρώματα με το RGB LED Φύλλο εργασίας 7 - Δημιουργώ τα δικά μου χρώματα με το RGB LED Στην δραστηριότητα αυτή θα δουλέψουμε με το RGB LED για να παράγουμε μια μεγάλη ποικιλία χρωμάτων. Το RGB LED είναι στην ουσία τρία διαφορετικά

Διαβάστε περισσότερα

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή 8.1 Τακτική σάρωση (Polling) Ας υποθέσουμε ότι έχουμε ένα πληκτρολόγιο συνδεδεμένο σε ένα υπολογιστικό σύστημα. Το πληκτρολόγιο είναι μια μονάδα εισόδου.

Διαβάστε περισσότερα

Μέτρηση Θερμοκρασίας με τον αισθητήρα TMP36. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων. Βασική δομή ενός προγράμματος στο LabVIEW.

Μέτρηση Θερμοκρασίας με τον αισθητήρα TMP36. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων. Βασική δομή ενός προγράμματος στο LabVIEW. Σκοπός Μάθημα 2 Δραστηριότητα 1 Μέτρηση Θερμοκρασίας με τον αισθητήρα TMP36. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Βασική δομή ενός προγράμματος στο LabVIEW. Εμπρόσθιο Πλαίσιο (front panel). Σχεδίαση

Διαβάστε περισσότερα

Φύλλο εργασίας 4 - Αυτόματο φωτάκι νυκτός

Φύλλο εργασίας 4 - Αυτόματο φωτάκι νυκτός Φύλλο εργασίας 4 - Αυτόματο φωτάκι νυκτός Σε αυτήν την δραστηριότητα θα κατασκευάσουμε ένα αυτόματο φωτάκι νυκτός. Η διάταξη που θα δημιουργήσουμε θα αποτελείται από ένα LED και μια φωτοευαίσθητη αντίσταση.

Διαβάστε περισσότερα

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων Εργαστήριο ενσωματωμένων συστημάτων Παρουσίαση 2: Βασικός Προγραμματισμός Arduino (AVR) Εργαστήριο Αυτομάτου Ελέγχου Η πλατφόρμα Arduino Microcontroller: ATmega328 Operating Voltage: 5V Digital I/O Pins:

Διαβάστε περισσότερα

Project 5: Συνθέτοντας μουσική

Project 5: Συνθέτοντας μουσική Project 5: Συνθέτοντας μουσική Επίπεδο: Μέτριο Κατηγορία: Προγραμματισμός Σύντομη Περιγραφή: Πράγματι το Arduino είναι ικανό να παίξει μουσική! Το μόνο επιπλέον εξάρτημα που απαιτείται είναι Buzzer ή πιεζοηλεκτρικό

Διαβάστε περισσότερα

Α.Ε.Ι. ΠΕΙΡΑΙΑ Τ.Τ Φεβρουάριος 2017

Α.Ε.Ι. ΠΕΙΡΑΙΑ Τ.Τ Φεβρουάριος 2017 Α.Ε.Ι. ΠΕΙΡΑΙΑ Τ.Τ Φεβρουάριος 2017 Τεχνολογικό Εκπαιδευτικό Εκπαιδευτικό Ίδρυμα Ίδρυμα Πειραιά Πειραιά Τμήμα Ηλεκτολογίας Τμήμα Ηλεκτρολογίας Υλοποίηση Υλοποίηση ενός σύστημα Ενός Συναγερμού Αυτοκίνητου

Διαβάστε περισσότερα

Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 1. Προγραμματισμός Φυσικών Συστημάτων. Νέα Ψηφιακά Αντικείμενα

Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 1. Προγραμματισμός Φυσικών Συστημάτων. Νέα Ψηφιακά Αντικείμενα Σκοπός Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 1 ΜΕΤΡΩΝΤΑΣ ΑΠΟΣΤΑΣΗ ΜΕ ΤΟΝ ΑΙΣΘΗΤΗΡΑ ΥΠΕΡΗΧΩΝ (SR04). Ψηφιακά Αντικείμενα Μικροελεγκτής Προγραμματισμός Φυσικών Συστημάτων Νέα Ψηφιακά Αντικείμενα Αισθητήρες

Διαβάστε περισσότερα

10. Πληκτρολόγιο matrix 4x4

10. Πληκτρολόγιο matrix 4x4 10. Πληκτρολόγιο matrix 4x4 Το πληκτρολόγιο matrix 4x4 αποτελείται από 16 πλήκτρα διακόπτες τα οποία είναι συνδεδεμένα μεταξύ τους ανά 4 σε τέτοια διάταξη ώστε, με το ένα άκρο τους να σχηματίζουν 4 σειρές

Διαβάστε περισσότερα

Εγκατάσταση του Arduino IDE

Εγκατάσταση του Arduino IDE ΑΣΠΑΙΤΕ Συλλογή και Επεξεργασία Δεδομένων Εργαστήριο ΠΕΡΙΕΧΟΜΕΝΑ: Πώς να κατεβάσετε και να εγκαταστήσετε το Ολοκληρωμένο Περιβάλλον Ανάπτυξης (IDE), για το προγραμματισμό του Arduino. Χρησιμοποιώντας το

Διαβάστε περισσότερα

ΕΝΟΤΗΤΑ 3 ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ

ΕΝΟΤΗΤΑ 3 ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ ΕΝΟΤΗΤΑ 3 ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ Σκοπός και περίγραμμα της Ενότητας 3 Σκοπός της παρουσίασης Να δούμε πιο προσεκτικά τις μεταβλητές, τις σταθερές και τις εκφράσεις γενικότερα. Να σας παρουσιάσουμε

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 6 ΟΔΗΓΗΣΗ ΑΠΕΙΚΟΝΙΣΕΩΝ SSD ΚΑΙ LCD

ΕΡΓΑΣΤΗΡΙΟ 6 ΟΔΗΓΗΣΗ ΑΠΕΙΚΟΝΙΣΕΩΝ SSD ΚΑΙ LCD ΕΡΓΑΣΤΗΡΙΟ 6 ΟΔΗΓΗΣΗ ΑΠΕΙΚΟΝΙΣΕΩΝ SSD ΚΑΙ LCD Σκοπός του εργαστηρίου: Οι φοιτητές εξοικειώνονται με βασικές απεικονίσεις αριθμητικών ψηφίων και χαρακτήρων, καθώς και με τη βασική οδήγηση τέτοιων απεικονίσεων,

Διαβάστε περισσότερα

Εκπαιδευτική Ρομποτική με ARDUINO. για εκπαιδευτικούς και μαθητές. 1o Μέρος: Απλά Κυκλώματα

Εκπαιδευτική Ρομποτική με ARDUINO. για εκπαιδευτικούς και μαθητές. 1o Μέρος: Απλά Κυκλώματα ... 1o Μέρος: Απλά Κυκλώματα Εισαγωγή - Αναγνώριση του κυκλώματος Μελετήστε τα κυκλώματα που ακολουθούν και συζητήστε με την ομάδα σας ποιες από τις παρακάτω προτάσεις είναι σωστές και ποιες λάθος. Α Β

Διαβάστε περισσότερα

ΕΝΟΤΗΤΑ 10: ΟΔΗΓΗΣΗ ΚΙΝΗΤΗΡΩΝ

ΕΝΟΤΗΤΑ 10: ΟΔΗΓΗΣΗ ΚΙΝΗΤΗΡΩΝ ΕΝΟΤΗΤΑ 10: ΟΔΗΓΗΣΗ ΚΙΝΗΤΗΡΩΝ Στόχος και Περίγραμμα της Ενότητας 10 Στόχος της παρουσίασης Παρουσίαση της βασικής ιδέα και απλών παραδειγμάτων για την οδήγηση DC και βηματικών κινητήρων με το Arduino.

Διαβάστε περισσότερα

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων Εργαστήριο ενσωματωμένων συστημάτων Παρουσίαση 1: Εισαγωγή στα ενσωματωμένα συστήματα (embedded systems) Εργαστήριο Αυτομάτου Ελέγχου Ενσωματωμένα συστήματα (Embedded Systems) Ενσωματωμένα συστήματα (Embedded

Διαβάστε περισσότερα

Έργο 1 LED που αναβοσβήνει (LED Flasher)

Έργο 1 LED που αναβοσβήνει (LED Flasher) Έργο 1 LED που αναβοσβήνει (LED Flasher) Σε αυτό το Έργο πρόκειται να συνδέσετε ένα LED σε μία από τις ψηφιακές ακίδες (Digital Pin) στην πλακέτα Arduino και θα το κάνετε να αναβοσβήνει. Θα μάθετε επίσης

Διαβάστε περισσότερα

Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή

Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή 1.5.1 Ανάλυση των μερών ενός υπολογιστή Μονάδα συστήματος Είναι το κουτί του υπολογιστή το οποίο φαίνεται αρκετά συμπαγές, αλλά στην πραγματικότητα αποτελείται

Διαβάστε περισσότερα

Ενημέρωση σε Windows 8.1 από τα Windows 8

Ενημέρωση σε Windows 8.1 από τα Windows 8 Ενημέρωση σε Windows 8.1 από τα Windows 8 Τα Windows 8.1 και τα Windows RT 8.1 είναι βασισμένα στα Windows 8 και στα Windows RT, για να σας προσφέρουν βελτιώσεις στην εξατομίκευση, την αναζήτηση, τις εφαρμογές,

Διαβάστε περισσότερα

Παιδιά κάτω των 13 ετών δε θα πρέπει να χρησιμοποιούν το κιτ χωρίς επίβλεψη. Μη συνδέετε την κύρια πλακέτα σε εξωτερική τροφοδοσία μεγάλης ισχύος.

Παιδιά κάτω των 13 ετών δε θα πρέπει να χρησιμοποιούν το κιτ χωρίς επίβλεψη. Μη συνδέετε την κύρια πλακέτα σε εξωτερική τροφοδοσία μεγάλης ισχύος. 2 ΠΕΡΙΕΧΟΜΕΝΑ 01. Robotale (Arduino-Compatible) 02. Ράστερ 830 οπών 03. Κουτί αποθήκευσης 04. Κόκκινα leds (τεμ. 5) 05. Κίτρινα leds (τεμ. 5) 06. Πράσινα leds (τεμ. 5) 07. Αντιστάτες 220 Ohm (τεμ. 8) 08.

Διαβάστε περισσότερα

Ενσωματωμένα Συστήματα

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα για εφαρμογές πραγματικού χρόνου Εφαρμογές με τον Arduino Ιωάννης Καλόμοιρος Αναπληρωτής Καθηγητής Τμήμα Μηχανικών Πληροφορικής Μάθημα 10 1 Συναρτήσεις αναλογικής εξόδου: PWM Το

Διαβάστε περισσότερα

1ο ΕΠΑΛ Περάματος -7ο ΕΚ Πειραιά. Εφαρμογές Arduino. Σεμινάριο Ηλεκτρονικού Τομέα. Φεβρουάριος 2014

1ο ΕΠΑΛ Περάματος -7ο ΕΚ Πειραιά. Εφαρμογές Arduino. Σεμινάριο Ηλεκτρονικού Τομέα. Φεβρουάριος 2014 1 1ο ΕΠΑΛ Περάματος -7ο ΕΚ Πειραιά Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα Φεβρουάριος 2014 2 Εισαγωγή Με αυτό το σεμιναρίο φιλοδοξούμε να μάθουμε ο ένας στον άλλο βασικές αρχές και εφαρμογές που

Διαβάστε περισσότερα

Κάμερα καταγραφικό Ρολόι χειρός

Κάμερα καταγραφικό Ρολόι χειρός Κάμερα καταγραφικό Ρολόι χειρός Εγχειρίδιο χρήσης Σας ευχαριστούμε που επιλέξατε την κάμερα ρολόι χειρός της εταιρείας μας. Προκειμένου να εκμεταλλευτείτε στο μέγιστο τις λειτουργίες που σας προσφέρει

Διαβάστε περισσότερα

10. Πληκτρολόγιο matrix 4x4

10. Πληκτρολόγιο matrix 4x4 10. Πληκτρολόγιο matrix 4x4 Το πληκτρολόγιο matrix 4x4 αποτελείται από 16 πλήκτρα διακόπτες τα οποία είναι συνδεδεμένα μεταξύ τους ανά 4 σε τέτοια διάταξη ώστε, με το ένα άκρο τους να σχηματίζουν 4 σειρές

Διαβάστε περισσότερα

Φύλλο εργασίας 4 - Δημιουργώ τα δικά μου χρώματα με το RGB LED

Φύλλο εργασίας 4 - Δημιουργώ τα δικά μου χρώματα με το RGB LED Φύλλο εργασίας 4 - Δημιουργώ τα δικά μου χρώματα με το RGB LED Στην δραστηριότητα αυτή θα δουλέψουμε με το RGB LED για να παράγουμε μια μεγάλη ποικιλία χρωμάτων. Το RGB LED είναι στην ουσία τρία διαφορετικά

Διαβάστε περισσότερα

ΜΙΚΡΟΕΛΕΓΚΤΗΣ PICAXE 18M2

ΜΙΚΡΟΕΛΕΓΚΤΗΣ PICAXE 18M2 ΘΕΜΑ : ΜΙΚΡΟΕΛΕΓΚΤΗΣ PICAXE 18M2 ΔΙΑΡΚΕΙΑ:? περίοδος Οι μικροελεγκτές είναι υπολογιστές χωρίς περιφερειακά, σε ολοκληρωμένα κυκλώματα. Μπορούν να συνδυάσουν αρκετές από τις βασικές λειτουργίες άλλων ειδικών

Διαβάστε περισσότερα

Γρήγορη έναρξη. Επέκταση εμβέλειας WiFi N300 Μοντέλο EX2700

Γρήγορη έναρξη. Επέκταση εμβέλειας WiFi N300 Μοντέλο EX2700 Γρήγορη έναρξη Επέκταση εμβέλειας WiFi N300 Μοντέλο EX2700 Έναρξη χρήσης Η Επέκταση εμβέλειας WiFi της NETGEAR αυξάνει την απόσταση κάλυψης ενός δικτύου WiFi ενισχύοντας το υπάρχον σήμα WiFi και βελτιώνοντας

Διαβάστε περισσότερα

Δρ. Π. Ασβεστάς Τμήμα Μηχανικών Βιοϊατρικής Τεχνολογίας Τ.Ε

Δρ. Π. Ασβεστάς Τμήμα Μηχανικών Βιοϊατρικής Τεχνολογίας Τ.Ε Ιατρικά Ηλεκτρονικά Δρ. Π. Ασβεστάς Τμήμα Μηχανικών Βιοϊατρικής Τεχνολογίας Τ.Ε Βιβλιογραφία B. Evans, Beginning Arduino Programming, 2011. J. Purdum, Beginning C for Arduino,Apress,2012. M. Margolis,

Διαβάστε περισσότερα

για τις ρυθμίσεις LabView μέσα από το κανάλι και του καλωδίου USB.

για τις ρυθμίσεις LabView μέσα από το κανάλι   και του καλωδίου USB. 1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας Δραστηριότητα: 11 Μάθημα: Εργαστήριο Δικτύων Υπολογιστών Αντικείμενο : Μέτρηση

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

Διαβάστε περισσότερα

Έλεγχος κινητήρα συνεχούς ρεύματος με τρανζίστορ και Arduino

Έλεγχος κινητήρα συνεχούς ρεύματος με τρανζίστορ και Arduino Έλεγχος κινητήρα συνεχούς ρεύματος με τρανζίστορ και Arduino Στην κατασκευή αυτή ο σκοπός ήταν να ελέγξουμε την ταχύτητα ενός κινητήρα συνεχούς ρεύματος με τη χρήση ενός τρανζίστορ που θα χρησιμοποιηθεί

Διαβάστε περισσότερα

Εγκατάσταση. Επέκταση εμβέλειας WiFi N600. Μοντέλο WN3500RP

Εγκατάσταση. Επέκταση εμβέλειας WiFi N600. Μοντέλο WN3500RP Εγκατάσταση Επέκταση εμβέλειας WiFi N600 Μοντέλο WN3500RP Έναρξη χρήσης Η Επέκταση εμβέλειας WiFi της NETGEAR αυξάνει την απόσταση κάλυψης ενός δικτύου WiFi ενισχύοντας το υπάρχον σήμα WiFi και βελτιώνοντας

Διαβάστε περισσότερα

Παράρτημα Φύλλο εργασίας 1: Δραστηριότητα 1 : Να αναβοσβήνει η φωτοδίοδος ανά ένα δευτερόλεπτο. Μέλη της ομάδας :

Παράρτημα Φύλλο εργασίας 1: Δραστηριότητα 1 : Να αναβοσβήνει η φωτοδίοδος ανά ένα δευτερόλεπτο. Μέλη της ομάδας : Παράρτημα Φύλλο εργασίας 1: Εξοικείωση με τον περιβάλλον του Scratch S4A και του Arduino. Δραστηριότητα 1 : Να αναβοσβήνει η φωτοδίοδος ανά ένα δευτερόλεπτο. Στη Δραστηριότητα αυτή θα εξασκηθείτε στον

Διαβάστε περισσότερα

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Παρακάτω δίνονται μερικοί από τους ακροδέκτες που συναντάμε στην πλειοψηφία των μικροεπεξεργαστών. Φτιάξτε έναν πίνακα που να

Διαβάστε περισσότερα

Ενσωματωμένα Συστήματα

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 13 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

Διαβάστε περισσότερα

Αναπαραγωγή με αρχεία ήχου

Αναπαραγωγή με αρχεία ήχου Αναπαραγωγή με αρχεία ήχου Ανοίγει η παρουσίαση και εμφανίζεται η διαφάνεια τίτλου, "Πειράματα με αρχεία ήχου". Άσκηση 1: Εισαγωγή ήχου για συνεχή αναπαραγωγή Βήμα 1: Εισαγωγή ήχου Στη διαφάνεια 1, με

Διαβάστε περισσότερα

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

Διαβάστε περισσότερα

Profitstore.gr ΡΟΛΟΙ ΚΑΜΕΡΑ KJ402. Εισαγωγή: Περιγραφή Ψηφιακού Ρολογιού:

Profitstore.gr ΡΟΛΟΙ ΚΑΜΕΡΑ KJ402. Εισαγωγή: Περιγραφή Ψηφιακού Ρολογιού: Εισαγωγή: ΡΟΛΟΙ ΚΑΜΕΡΑ KJ402 Το ρολόι είναι ιδανικό για ασφάλεια και κρυφή παρακολούθηση. Μια κάμερα και ένας αναγνώστης καρτών Micro SD (η κάρτα Micro SD δεν περιλαμβάνεται) για εγγραφή είναι κρυμμένα

Διαβάστε περισσότερα

Ελέγξτε την ταινία σας

Ελέγξτε την ταινία σας Ελέγξτε την ταινία σας Σε αυτές τις ασκήσεις, θα κάνετε εισαγωγή μιας ταινίας και θα χρησιμοποιήσετε τις επιλογές που παρουσιάστηκαν στο μάθημα. Άσκηση 1: Εισαγωγή αρχείου ταινίας 1. Κάντε κλικ στη μικρογραφία

Διαβάστε περισσότερα

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 3 Μέτρηση Θερμοκρασίας Σύστημα Ελέγχου Θερμοκρασίας. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων

Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 3 Μέτρηση Θερμοκρασίας Σύστημα Ελέγχου Θερμοκρασίας. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Συλλογή & Επεξεργασία Δεδομένων Εργαστήριο 3 Μέτρηση Θερμοκρασίας Σύστημα Ελέγχου Θερμοκρασίας με Θερμοστάτη. Σύστημα Συλλογής & Επεξεργασίας Μετρήσεων Σκοπός Βασική δομή ενός προγράμματος στο LabVIEW.

Διαβάστε περισσότερα

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

Διαβάστε περισσότερα

Οδηγίες Χρήσεως. Κάτοψη Συσκευής. SOS 100 Elderly Care System. Κύρια χαρακτηριστικά SOS 100

Οδηγίες Χρήσεως. Κάτοψη Συσκευής. SOS 100 Elderly Care System. Κύρια χαρακτηριστικά SOS 100 SOS 100 Elderly Care System Οδηγίες Χρήσεως Κύρια χαρακτηριστικά SOS 100 1. GSM Quad-Band συχνότητες: 850/900/1800/1900MHz. 2. 16 Αιαθητήρες. 3. Περιοχή παρακολούθησης καθημερινών δραστηριοτήτων 4. Ανίχνευση

Διαβάστε περισσότερα

Εισαγωγή στην Open Source Πλατφόρμα Μικροελεγκτών Arduino

Εισαγωγή στην Open Source Πλατφόρμα Μικροελεγκτών Arduino ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΥΠΟΛΟΓΙΣΤΙΚΗ ΒΙΟΙΑΤΡΙΚΗ» Εισαγωγή στην Open Source Πλατφόρμα Μικροελεγκτών Arduino Καραγεώργος

Διαβάστε περισσότερα

ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - ARDUINO ΚΑΙ ΗΧΟΣ I. Δημιουργός: Δρ.Αθανάσιος Μπαλαφούτης Επιβλέπων: Πετεινάτος Ηλίας Υποψήφιος Διδάκτωρ

ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - ARDUINO ΚΑΙ ΗΧΟΣ I. Δημιουργός: Δρ.Αθανάσιος Μπαλαφούτης Επιβλέπων: Πετεινάτος Ηλίας Υποψήφιος Διδάκτωρ ΡΟΜΠΟΤΙΚΗ ΜΕ ARDUINO - ARDUINO ΚΑΙ ΗΧΟΣ I Δημιουργός: Δρ.Αθανάσιος Μπαλαφούτης Επιβλέπων: Πετεινάτος Ηλίας Υποψήφιος Διδάκτωρ 1 ARDUINO ΚΑΙ ΗΧΟΣ ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή, μηχανές παραγωγής ήχου Χρήση του πιεζοηλεκτρικού

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ "PROΩΘΗΣΗ" PROώθηση

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ PROΩΘΗΣΗ PROώθηση ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ "PROΩΘΗΣΗ" PROώθηση Περιεχόμενα Εγκατάσταση ΠΕΡΙΕΧΟΜΕΝΑ ΣΥΣΚΕΥΑΣΙΑΣ... 3 ΣΥΝΔΕΣΗ ΕΞΟΠΛΙΣΜΟΥ... 3 ΡΥΘΜΙΣΗ Wi-Fi... 4 ΕΙΣΟΔΟΣ ΧΡΗΣΤΗ... 6 ΠΡΟΣΘΗΚΗ ΝΕΑΣ ΣΥΣΚΕΥΗΣ... 6 ΚΑΤΑΣΤΑΣΗ ΣΥΣΚΕΥΗΣ...

Διαβάστε περισσότερα

Ελληνική έκδoση. Περιεχόμενα της συσκευασίας. Κατάλογος ορολογίας. Powerline Adapter

Ελληνική έκδoση. Περιεχόμενα της συσκευασίας. Κατάλογος ορολογίας. Powerline Adapter Powerline Adapter Παρακαλούμε σημειώστε! Μην εκθέτετε τον Powerline Adapter σε ακραίες θερμοκρασίες. Μην τοποθετείτε τη συσκευή σε άμεση επαφή με το φως του ηλίου ή σε άμεση εγγύτητα με συσκευές ακτινοβολίας.

Διαβάστε περισσότερα

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2 Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου Ενότητα 2 Τι είναι το PLC ΠΕΡΙΕΧΟΜΕΝΑ 2 Τι είναι το PLC. 2.1 Πλεονεκτήματα των PLC. 2.2 Η δομή ενός PLC. 2.3 Τα PLC της αγοράς. 2.4 Αρχή λειτουργίας ενός PLC.

Διαβάστε περισσότερα

Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 2. Προγραμματισμός Φυσικών Συστημάτων. Συστήματα Πραγματικών Εφαρμογών. Νέα Ψηφιακά Αντικείμενα

Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 2. Προγραμματισμός Φυσικών Συστημάτων. Συστήματα Πραγματικών Εφαρμογών. Νέα Ψηφιακά Αντικείμενα Σκοπός Ψηφιακά Αντικείμενα Μάθημα 1 Δραστηριότητα 2 ΤΟ ΣΥΣΤΗΜΑ ΣΑΡΩΣΗΣ ΤΟΥ ΟΠΤΙΚΟΥ ΠΕΔΙΟΥ. Ψηφιακά Αντικείμενα Μικροελεγκτής Προγραμματισμός Φυσικών Συστημάτων Συστήματα Πραγματικών Εφαρμογών Νέα Ψηφιακά

Διαβάστε περισσότερα

Ελληνική έκδoση. Περιεχόμενα της συσκευασίας. Κατάλογος ορολογίας. Powerline Adapter

Ελληνική έκδoση. Περιεχόμενα της συσκευασίας. Κατάλογος ορολογίας. Powerline Adapter Powerline Adapter Παρακαλούμε σημειώστε! Μην εκθέτετε τον Powerline Adapter σε ακραίες θερμοκρασίες. Μην τοποθετείτε τη συσκευή σε άμεση επαφή με το φως του ηλίου ή σε άμεση εγγύτητα με συσκευές ακτινοβολίας.

Διαβάστε περισσότερα

Εγκατάσταση. Επέκταση εμβέλειας WiFi N300. Μοντέλο EX2700

Εγκατάσταση. Επέκταση εμβέλειας WiFi N300. Μοντέλο EX2700 Εγκατάσταση Επέκταση εμβέλειας WiFi N300 Μοντέλο EX2700 Έναρξη χρήσης Η Επέκταση εμβέλειας WiFi της NETGEAR αυξάνει την απόσταση κάλυψης ενός δικτύου WiFi ενισχύοντας το υπάρχον σήμα WiFi και βελτιώνοντας

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής

Διαβάστε περισσότερα

Ενότητα 1η. Εισαγωγή στην Πληροφορική

Ενότητα 1η. Εισαγωγή στην Πληροφορική Ενότητα 1η Εισαγωγή στην Πληροφορική 1.1 Τι είναι Πληροφορική Ένας σύντομος ορισμός για το τι είναι πληροφορική είναι ο παρακάτω: όλα εκείνα που χρειάζεται κανείς για να παράγει, να οργανώνει και να διαχειρίζεται

Διαβάστε περισσότερα

1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας

1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας 1o ΕΠΑΛ- Ε.Κ. Συκεών -Τομέας: Ηλεκτρονικής, Ηλεκτρολογίας και Αυτοματισμού Εκπαιδευτικοί: Μπουλταδάκης Στέλιος Μαυρίδης Κώστας Μάθημα: Ρομποτική Αντικείμενο : Μεταφορά δεδομένων μέσω του πρωτοκόλλου RS232

Διαβάστε περισσότερα

Όταν το πρόγραμμα φτάσει σε αυτή την εντολή και ο καταχωρητής PINA έχει την τιμή

Όταν το πρόγραμμα φτάσει σε αυτή την εντολή και ο καταχωρητής PINA έχει την τιμή 5. Εντολή while() Η εντολή while() είναι ίσως η πιο πολυχρησιμοποιούμενη εντολή κατά τη σύνταξη κώδικα σε γλώσσα προγραμματισμού C για μικροελεγκτές. Το κυρίως μέρος του προγράμματος κλείνεται σχεδόν πάντα

Διαβάστε περισσότερα

Σας προτείνουμε να εγκαταστήσετε στο κινητό σας τηλέφωνο την εφαρμογή Senior Helper"

Σας προτείνουμε να εγκαταστήσετε στο κινητό σας τηλέφωνο την εφαρμογή Senior Helper Κ4 Elderly Care System Οδηγίες Χρήσεως Σας προτείνουμε να εγκαταστήσετε στο κινητό σας τηλέφωνο την εφαρμογή Senior Helper" για smart phones και να ακολουθήσετε τις παρακάτω οδηγίες. Κύρια χαρακτηριστικά

Διαβάστε περισσότερα

EdoorLock Programmer. EdoorLock Programmer_App.doc

EdoorLock Programmer. EdoorLock Programmer_App.doc EdoorLock Programmer Α. Λίγα λόγια. Το EdoorLock Programmer χρησιμοποιείται για την διαχείριση και τον προγραμματισμό του EdoorLock Electronic Lock. Το EdoorLock Electronic Lock είναι μια συσκευή Access

Διαβάστε περισσότερα