ebook img

3 Arduino PDF

68 Pages·2014·6.97 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview 3 Arduino

Περιεόμενα 1 Θέμα 1 1.1 Γενική Περιραφή Θέματος . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 Υικά 1 2.1 Εξαρτήματα και Τενοοίες . . . . . . . . . . . . . . . . . . . . . . . . . 1 2.2 Συνδεσμοοία . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3 Arduino 5 3.1 Μικροεεκτής - η καρδιά του Arduino . . . . . . . . . . . . . . . . . . . 8 3.2 Είσοδοι - Έξοδοι . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.3 Τροφοδοσία . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.4 Ενσματμένα κουμπιά και LED . . . . . . . . . . . . . . . . . . . . . . . 11 3.5 Arduino IDE και σύνδεση με τον υποοιστή . . . . . . . . . . . . . . . . 11 3.6 Γώσσα προραμματισμού . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.7 Shields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4 Λειτουρία Μικροεπεξεραστή 15 4.1 Αόριμος Λήψης Απόφασης . . . . . . . . . . . . . . . . . . . . . . . . 15 4.2 Χειροκίνητη Λειτουρία . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 5 Κώδικας Arduino 18 5.1 Αποστοή μηνύματος . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5.2 Ενεροποιήση GPRS και άντηση μετεροοικών μετρήσεν . . . . . . 18 5.3 Έεος ια εισερόμενα SMS . . . . . . . . . . . . . . . . . . . . . . . . 21 6 Εφαρμοή Android 22 6.1 Γενική Λειτουρία . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 6.2 Επεξήηση ασικότερν τμημάτν του κώδικα . . . . . . . . . . . . . . . 23 6.2.1 Αρικοποιήση εφαρμοής . . . . . . . . . . . . . . . . . . . . . . . 23 6.2.2 Αποστοή μηνύματος . . . . . . . . . . . . . . . . . . . . . . . . . 24 6.2.3 Λήψη και εμφάνιση μετρήσεν . . . . . . . . . . . . . . . . . . . . 24 7 Hardware 26 7.1 Έεος του DC κινητήρα . . . . . . . . . . . . . . . . . . . . . . . . . . 26 7.1.1 Μικροεεκτής . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 7.1.2 Οοκηρμένο κύκμα ια την οδήηση του κινητήρα . . . . . . 26 7.1.3 Δίοδοι . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 7.1.4 Κινητήρας . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 7.2 Στήνοντας το σύστημα εέου του κινητήρα . . . . . . . . . . . . . . . . 27 8 Μακέτα 30 9 Όος ο κώδικας του Arduino 35 ii 10 Όος ο κώδικας του Android 42 10.1 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 10.2 MainActivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 10.3 Broadcast Receivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 10.4 PreferenceAcitivity and other Java classes . . . . . . . . . . . . . . . . . 46 11 Arduino Manual 53 11.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 11.2 Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 11.3 Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 11.4 EEPROM Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 11.5 Input and Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 11.6 Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 11.7 Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 11.8 Automatic (Software) Reset . . . . . . . . . . . . . . . . . . . . . . . . . 57 11.9 USB Overcurrent Protection . . . . . . . . . . . . . . . . . . . . . . . . . 58 11.10Physical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 12 HTTP Requests 59 12.1 What’s an HTTP request . . . . . . . . . . . . . . . . . . . . . . . . . . 59 12.2 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 12.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 13 Οδηίες Χρήσης - Εκατάστασης 61 14 Οδηίες Εκατάστασης εφαρμοής σε κινητό Android 62 15 Συμπεράσματα - Μεοντική ρήση 63 iii Περίηψη Στο παίσιο αυτής της πτυιακής ερασίας δημιουρήηκε ένα σύστημα εέου κι- νητήρα τέντας καώς και μία μακέτα ια την προσομοίση αυτής. Το σύστημα εέ- ου αποτεείται από επεξεραστή Arduino Uno, Arduino GSM module, ερμίστορ και φτοαντίσταση. Στόος του είναι να παίρνει αν τακτά ρονικά διαστήματα μετρήσεις ερμοκρασίας και φτεινότητας ια την κοντινή περιοή της τέντας καώς και άες μετεροοικές προέψεις ια την ευρύτερη περιοή μέσ server και άσει αυτών να αμάνει αποφάσεις ια την έση της τέντας. Το σύστημα ενημερώνει τον κάτοο της τέντας ια τις καιρικές συνήκες μέσ android εφαρμοής και του δίνει τη δυνατότητα να ορίσει την κατάσταση της τέντας. Summary As a part of the current thesis, a motor control system of an awning was developed, aswellasamodelinordertosimulatethesystem.Thecontrolsystemisconsistedofan AVRmicroprocessoron an ArduinoUno board,an ArduinoGSM module,a thermistor and a photoresistor. The goal of this system is to measure, at regular intervals, the temperature and the luminosity near the awning and, also, receive the weather forecast for the surrounding area via a server in order to make decisions about the position of the awning. This system can also inform the holder of the awning about the weather conditions through an android application and also gives him the ability to set the desired awning’s position. iv 1 Θέμα Έεος τεντών κατοικίας με ρήση Arduino μέσ GSM με εφαρμοή Android σε κινητό τηέφνο. 1.1 Γενική Περιραφή Θέματος Σε μια εποή που η τενοοία έει μπει ια τα καά στην ζή μας, εμφανίζονται οο- ένα και περισσότερες ανάκες οι οποίες διευκούνουν και ανεάζουν το ιτικό επίπεδο του ανρώπου. Η έννοια του ”έξυπνου σπιτιού” είναι μια από αυτές τις τενοοίες που προσπαεί να εξοικονομήσει ενέρεια, ρήματα και ενικά να διευκούνει το νοικοκυριό. Στα παίσια του έξυπνου σπιτιού η ερασία αυτή παρουσιάζει μια ύση ια τον έεο τέντας από απόσταση, με την ρήση GSM/GPRS τενοοίας, Arduino και smartphone με οισμικό Android. Μια ενική εικόνα του συστήματος είναι η ειτουρία του Arduino ς το κεντρικό σύστημα εέου. Δηαδή, το Arduino αμάνει τις κιματοοικές συνήκες που επι- κρατούν στην περιοή και αναός αποφασίζει εάν η τέντα πρέπει να παραμείνει ανοι- κτή ή κειστή. Το Arduino απο μόνο του δεν διαέτει την τενοοία GSM/GPRS και ι’αυτό συνδέεται πάν του ένα modem κινητής τηεφνίας το οποίο αποκαείται και GSM shield. Τώρα που ο κεντρικός εεκτής έει την δυνατότητα να επικοιννεί με το δίκτυο κινητής τηεφνίας και άρα και με το Internet αμάνει τις πηροφορίες ια τις κιματοοικές συνήκες από εκεί. Ωστόσο, στο Arduino προστέηκαν και δύο αιση- τήρες ερμοκρασίας και φτεινότητας ια μια καύτερη εκτίμηση τν καιρικών συνηκών που επικρατούν τοπικά. Η εφαρμοή ια κινητό Android παρέει στον ρήστη της την δυνατότηταπαρακοούησηςτηςέσηςτηςτένταςκαιτνκαιρικώνσυνηκώνμεάσητα οποία πήρε ο εεκτής την απόφαση. Επίσης του δίνει την ευκαιρία να ανεάσει/κατεά- σει την τέντα παρακάμπτντας το σύστημα εέου. Το Arduino εέει έναν οδηητή κινητήρα ια το άνοιμα/κείσιμο της τέντας. 2 Υικά Αν και παραπάν αναφέρονται αρκετά από τα υικά και τις τενοοίες που ρησιμο- ποιήηκαν, παρακάτ ακοουεί μια αναυτική περιραφή του κάε υικού. 2.1 Εξαρτήματα και Τενοοίες Arduino Είναι μια οικοένεια πακετών ανάπτυξης με επεξεραστή Atmel AVR. Στη ερασίααυτήρησιμοποιήηκετοArduinoUnoμεεπεξεραστήATmega328,32kB flash memory, 2kB RAM, 1kB EEPROM. To Arduino διαέτει ένα περιάον ανάπτυξης οισμικού και η προραμματιστική ώσσα που ρησιμοποιείται είναι ένας συνδιασμός C/C++. GSM Shield ΓιατηνοικοένειαπακετώνανάπτυξηςArduinoέουνδημιουρηείποά περιφερειακά σε μορφή έτοιμης πακέτας και τα ονομάζουνε shield. Αυτά, προσφέ- 1 ρουν διάφορες ειτουρικότητες και σε αυτή την περίπτση σύνδεση με το δίκτυο κινητής τηεφνίας. Το GSM shield προσφέρει σύνδεση σε GSM/GPRS δίκτυο και στην ερασία αυτή ρησιμοποιείται ια να συνδέεται στο Internet και ια να αμάνει/στένει SMS από/πρός την εφαρμοή Android. Motor Στην αηινό σενάριο α έπρεπε να είναι ένας κινητήρας διαστασιοοημένος στο ναμπορείνακινήσειτηντέντα.Ωστόσο,σεεπίπεδοπροσομοίσηςρησιμοποιήηκε ένα μικρό DC κινητηράκι με ονομαστική τάση 5V και ονομαστικό ρεύμα κανονικής ειτουρίας 0.4Α. L293d Είναι ένα τσιπάκι της εταιρίας Texas Instruments και ειτουρεί σαν οδηητής ια DC κινητήρες με αρακτηριστικά όμοια με αυτά που περιράφονται παραπάν. Το τσιπάκι δίνει την δυνατότητα εέου της φοράς περιστροφής του κινητήρα. Δίοδος Χρησιμοποιούνται σε συνδεσμοοία έφυρας ια τον έεο του κινητήρα. Αισητήρας Φτεινότητας Είναι μια απή αά φτοευαίσητη αντίσταση. Η τιμή της αάζει όταν εκτεεί στο φς. Αισητήρας ερμοκρασίας Είναι ένα ραμμικό αισητήριο ερμοκρασίας που ρησιμο- ποιείται ια την μέτρηση περιαοντικών ερμοκρασιών. Smartphone Android Έξυπνο κινητό τηέφνο με οισμικό Android. To Android είναι ένα οισμικό τύπου ανοικτού κώδικα και παρέει δρεάν περιάον ανά- πτυξης οισμικού καώς και η ώσσα προραμματισμού είναι η Java με κάποιες ιιοήκες που απευύνονται στο Android. Raster Μια πακέτα ανάπτυξης ηεκτρικών/ηεκτρονικών κυκμάτν. Δίνει την δυ- νατότητα στο ηεκτροόο μηανικό να πειραματιστεί και να τεστάρει το σύστημα του. Μακέτα Με σκοπό τον έεο της εύρυμης ειτουρίας του συστήματος σεδιάστηκε μια μακέτα σε μικρή κίμακα και προσομοιώνει την κανονική ειτουρία του συ- στήματος εέου της τέντας. 2.2 Συνδεσμοοία Στο σήμα 2 φαίνεται το οικό διάραμμα του συστήματος. Η ραμμή που ενώνει δύο οικά μποκ δείνει την δίοδο επικοιννίας μεταξύ τν δύο μποκ. Στο σήμα 3 φαίνεται η πραματική συνδεσμοοία πάν στο Raster. 2 Σήμα 1: Arduino με GSM Shield Σήμα 2: Λοικό μποκ 3 Σήμα 3: Συνδεσμοοία σε Raster (ρίς τον Arduino) (αʹ) Δίοδος (ʹ) Φτορεσίστορ(μέτρησηφ- (ʹ) Συσκευή Android τεινότητας) Σήμα 4: Εξαρτήματα 4 Σήμα 5: Arduino 3 Arduino Όπς το περιράφει ο δημιουρός του, το Arduino είναι μια ανοικτού κώδικα πατ- φόρμα πρτοτυποποίησης ηεκτρονικών ασισμένη σε ευέικτο και εύκοο στη ρήση hardware και software που προορίζεται ια οποιονδήποτε έει ίη προραμματιστική εμπειρία, στοιειώδεις νώσεις ηεκτρονικών και ενδιαφέρεται να δημιουρήσει διαδρα- στικά αντικείμενα ή περιάοντα. Το Arduino Duemilanove, όπς προδίδει και το όνομά του (που στα ιταικά είναι ο αριμός 2009 οοράφς), είναι η πιο πρόσφατη ασική έκδοση του Arduino.Στην ουσία, πρόκειται ια ένα ηεκτρονικό κύκμα που ασίζεται στον μικροεεκτή ATmega της Atmel και του οποίου όα τα σέδια, καώς και το software που ρειάζεται ια την ειτουρία του, διανέμονται εεύερα και δρεάν ώστε να μπορεί να κατασκευαστεί από τονκαένα(απ’όπουκαιοπερίερος-ιαhardware-αρακτηρισμόςανοικτούκώδικα). Αφού κατασκευαστεί, μπορεί να συμπεριφερεί σαν ένας μικροσκοπικός υποοιστής, αφού ο ρήστης μπορεί να συνδέσει επάν του ποαπές μονάδες εισόδου/εξόδου και να προραμματίσει τον μικροεεκτή να δέεται δεδομένα από τις μονάδες εισόδου, να τα επεξεράζεται και να στένει κατάηες εντοές στις μονάδες εξόδου. Μάιστα κάποιοςαμπορούσεναισυριστεί-καιαήτανέναςαρκετάπετυημένοςπαραηισμός - ότι ειτουρικά το Arduino μοιάζει πού με το NXT Brick τν Lego Mindstorms NXT. Άστε η ρομποτική είναι μια από τις ποές εφαρμοές στις οποίες το Arduino διαπρέπει. 5 Το Arduino έαια, δεν είναι ούτε ο μοναδικός, ούτε και ο καύτερος δυνατός τρόπος ια την δημιουρία μιας οποιασδήποτε διαδραστικής ηεκτρονικής συσκευής. Όμς το κύριο πεονέκτημά του είναι η τεράστια κοινότητα που το υποστηρίζει και η οποία έει δημιουρήσει, συντηρεί και επεκτείνει μια ανάοου μεέους online νσιακή άση. Έτσι, παρότι ένας έμπειρος ηεκτρονικός μπορεί να προτιμήσει διαφορετική πατφόρμα ή εξαρτήματα ανάοα με την εφαρμοή που έει στον νου του, το Arduino, με το εκτενές documentation, καταφέρνει να κερδίσει όους αυτούς τν οποίν οι νώσεις στα ηεκτρονικά περιορίζονται στα όσα ία έμααν στο σοείο. Η αορά ενός πήρους Starter Kit, όπς αυτό της εικόνας, συνιστάται έντονα -αντί μιαςσκέτηςπακέταςArduino-αναυτήείναιηπρώτησαςεπαφήμεηεκτρονικά.Ακριώς επειδή απευύνεται κυρίς σε αράριους τν ηεκτρονικών και επειδή, παρά τις αναυτι- κότατεςοδηίεςπουυπάρουν,δενέουνόοιτιςνώσειςκαιταμέσανακατασκευάσουν μια ηεκτρονική πακέτα, κυκοφορούν έτοιμες, προκατασκευασμένες πακέτες Arduino που μπορείτε να προμηευτείτε ια περίπου €25. Με ία ρήματα παραπάν μάιστα, οι περισσότεροι προμηευτές διαέτουν Arduino Starter Kit, τα οποία, εκτός από το ίδιο το Arduino, περιέουν διάφορα άα εξαρτήματα και εραεία που μπορεί να ρειαστείτε ια τις πρώτες σας εφαρμοές (όπς το απαραίτητο καώδιο USB ια την σύνδεση με τονυποοιστή,ράστερ,καώδια,LED,διακόπτες,ποτενσιόμετρα,αντιστάσεις,διόδους, τρανζίστορ κ.π.). Μπορείτε να ρείτε μια ίστα με προμηευτές του Arduino σε όο τον κόσμο, κάνοντας κικ στον σύνδεσμο Buy στον επίσημο ιστοτόπο του Arduino. Στην ίστα δεν υπάρ- ει έηνας προμηευτής αά ποά καταστήματα του εξτερικού στένουν και στην Εάδα με αρκετά οικά μεταφορικά κόστη. Αν πάι έετε οπσδήποτε να το προμη- ευτείτε από την Εάδα, το εηνικό ηεκτρονικό κατάστημα BuyARobot διαέτει το Arduino αά δεν διαέτει Starter Kit ή συνοδευτικά shield (α διαάσετε ια αυτά σε σετικό παίσιο στην συνέεια). Το LilyPad είναι μια από τις ποές εκδόσεις Arduino που κυκοφορούν. Όσο τρεό και αν ακούεται, προορίζεται ια διαδραστικές εφαρμοές πάν στα ρούα σας! Ράεται πάν σε αυτά, επικοιννεί μέσ ειδικής αώιμης κστής με ανάοους αισητήρες που είναι ραμμένοι σε διαφορετικά σημεία και είναι ασφαές ακόμα και… στο πύσιμο!Αυτό που μπορεί να σας μπερδέψει ψάνοντας να αοράσετε το Arduino σε αυτά τα καταστή- ματα είναι οι διαφορετικές εκδόσεις στις οποίες κυκοφορεί, επίσημες και ανεπίσημες. Από τις επίσημες εκδόσεις (Duemilanove, Diecimila, Nano, Mega, Bluetooth, LilyPad, Mini, Mini USB, Pro, Pro Mini, Serial και Serial SS) συνιστάται κυρίς η αορά του Arduino Duemilanove ή τουάιστον τν Diecimila ή Mega επειδή διαέτουν υποδοή USB και είναι συματές με τα shield. Για τους ίδιους όους, από τις ανεπίσημες εκδό- σεις (Freeduino, Boarduino, Sanguino, Seeeduino, BBB, RBBB κ.α.) συνιστάται μόνο το Freeduino v1.16 και το Seeeduino. Δείτε το σετικό παίσιο με τις κυριότερες διαφο- ρές ανάμεσα στις εκδόσεις που προτείνονται εδώ. Εκτόςκαιανεπισημανείδιαφορετικά,όσαααναφερούνπαρακάταφορούντηνπέον πρόσφατη ασική έκδοση του Arduino, δηαδή το Arduino Duemilanove. 6

Description:
AVR microprocessor on an Arduino Uno board, an Arduino GSM module, .. ο όνες τύπου calculator μέ ρι OLED touchscreen υψη ής ανά υσης τύπου [5] Sendra, Smith, Microelectronic Circuits, Oxford University Press, 6th
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.