we've a new website! visit MechDesign.xyz
english
 
UAVs blog
 
blog για αυτοσχέδια (DIY) ρομποτικά αεροσκάφη (UAVs)

Arduino και Processing
by IKE 07-Mar-2010 15:04


Αυτό που φαίνεται επάνω είναι ένα γράφημα που απεικονίζει διακυμάνσεις στην φωτεινότητα της οθόνης ενός κινητού τηλεφώνου την ώρα που παίζει ένα βίντεο κλιπ. Είναι επίσης η πρώτη μου επιτυχημένη απόπειρα απεικόνισης δεδομένων που μεταδίδονται από την πλακέτα του Arduino σε πραγματικό χρόνο. Το γράφημα έχει γίνει με Processing, ένα πολύ ισχυρό και εύχρηστο προγραμματιστικό περιβάλλον. Διαβάστε πιο κάτω για περισσότερες λεπτομέρειες και για τον κώδικα της απλής αυτής εφαρμογής.---

Στην προηγούμενή μου δημοσίευση εδώ ανέφερα τις πρώτες μου εντυπώσεις από το Arduino και το λογισμικό του. Αφού διάβασα το βιβλίο του M.Banzi και δοκίμασα στην πράξη σχεδόν όλες τις εφαρμογές που περιέχει, ανακάλυψα την Processing η οποία αποτελεί και το υπόβαθρο για την ανάπτυξη του Arduino και του Wiring (αντίστοιχης φιλοσοφίας concept).

H processing είναι μια γλώσσα, ή πιο σωστά ένα προγραμματιστικό περιβάλλον, που δημιουργήθηκε από το Media lab του MIT. Χρησιμοποιεί Java και παρέχει ένα απλό πλαίσιο ώστε χρήστες χωρίς ιδιαίτερηη εμπειρία σε προγραμματισμό να μπορούν να δημιουργήσουν γρήγορα πλούσιες και δυνατές γραφικές απεικονίσεις. Μπορείτε να μάθετε περισσότερα στην ιστοσελίδα της Processing εδώ: http://www.processing.org/. Υπάρχουν φυσικά και πολλά βιβλία επάνω στο θέμα αυτό. Η εγκατάσταση του λογισμικού είναι ιδιαίτερα εύκολη, απλώς το κατεβάζετε από εδώ και το τρέχετε. Υπάρχουν ενσωματωμένα παραδείγματα μέσα στα μενού του προγράμματος και κάποιος μπορεί από την πρώτη στιγμή να παίξει με τον κώδικά τους και να κάνει δοκιμές.



Για την πρώτη μου εφαρμογή χρησιμοποίησα το απλό κύκλωμα που φαίνεται στην φωτογραφία επάνω. Χρησιμοποιεί μία φωτοευαίσθητη αντίσταση (Light-dependent resistor - LDR), ένα εξάρτημα που μεταβάλλει την αντίστασή του στο ηλεκτρικό ρεύμα σε συνάρτηση με το φως που απορροφά. Με απλά λόγια μετράει φωτεινότητα. Ο στόχος είναι να προγραμματιστεί το Arduino ώστε να μεταδίδει στην σειριακή θύρα τις τιμές της φωτεινότητας και ένα πρόγραμμα Processing να διαβάζει τις τιμές αυτές και να τις απεικονίζει σε πραγματικό χρόνο σε ένα διάγραμμα.

Σαν βάση για τα δύο προγράμματα χρησιμοποίησα για το Arduino το Example 07 απόεδώ και για την Processing το παράδειγμα ‘Simple Read’ στην ενότητα Serial από τα ενσωματωμένα παραδείγματα για βιβλιοθήκες του προγράμματος. Οι πρώτες μου δοκιμές δεν είχαν επιτυχία επειδή δεν είχα κάνει σωστή διαμόρφωση στις τιμές που μετέδιδε το Arduino και που διάβαζε το processing script. Μετά από αρκετό ψάξιμο βρήκα αυτή την δημοσίευση από το Arduino forum και αφού την ενσωμάτωσα στον κώδικά μου δούλεψε άψογα.



Μετά από μικροδιορθώσεις στον κώδικα το αποτέλεσμα ήταν ικανοποιητικό. Ενσωμάτωσα ακόμα ένα μικρό σκριπτάκι που απεικονίζει τις μονές μπάρες με διαφορετικό χρώμα από τις ζυγές για ένα πιο εμφανίσιμο γράφημα.



Μπορείτε να κατεβάσετε τα δύο προγραμματάκια (ή sketches όπως αποκαλούνται στα Arduino / Processing) από τα παρακάτω link.

Test01_Arduino.txt
Test01_Processing.txt

Έχουν σχόλια μέσα στον κώδικα ώστε να είναι ευανάγνωστα.



more :


Visit DIY Drones





Κείμενα, σχέδια και φωτογραφίες είναι πνευματική ιδιοκτησία του robotpig.net εφόσον δεν αναφέρεται κάτι διαφορετικό.
Για αναδημοσίευση οποιοδήποτε τμήματος της ιστοσελίδας απαιτείται έγγραφη άδεια. © robotpig.net