Πίνακας περιεχομένων:

Έλεγχος φωτεινότητας, Arduino (με κινούμενα σχέδια): 7 βήματα
Έλεγχος φωτεινότητας, Arduino (με κινούμενα σχέδια): 7 βήματα

Βίντεο: Έλεγχος φωτεινότητας, Arduino (με κινούμενα σχέδια): 7 βήματα

Βίντεο: Έλεγχος φωτεινότητας, Arduino (με κινούμενα σχέδια): 7 βήματα
Βίντεο: Το ΕΑΠ στο Spoudase Festival: Παίζω και μαθαίνω με Scratch και Arduino 2024, Ιούλιος
Anonim
Image
Image

Τα τελευταία χρόνια έχω κατασκευάσει δύο μηχανές φλίπερ (pinballdesign.com) και δύο κεφαλές ρομπότ (grahamasker.com) η καθεμία από τις οποίες ελέγχεται από τον Arduinos. Έχοντας μια καριέρα ως μηχανολόγος μηχανικός είμαι μια χαρά με το σχεδιασμό των μηχανισμών, ωστόσο δυσκολεύομαι με τον προγραμματισμό. Αποφάσισα να δημιουργήσω κινούμενα σχέδια για να απεικονίσω μερικές από τις βασικές έννοιες του Arduino. Νόμιζα ότι θα βοηθούσε εμένα και τους άλλους να τους καταλάβουμε. Μια εικόνα αξίζει χίλιες λέξεις και μια κινούμενη εικόνα μπορεί να είναι χίλιες εικόνες!

Ακολουθεί λοιπόν μια κινούμενη εξήγηση για το θέμα Έλεγχος φωτεινότητας. Η παραπάνω εικόνα δείχνει ένα σχηματικό ποτενσιόμετρο συνδεδεμένο σε ένα Arduino. Δείχνει πώς η ρύθμιση της θέσης του ποτενσιόμετρου μπορεί να αλλάξει τη φωτεινότητα ενός led. Θα εξηγήσω όλα τα στοιχεία αυτής της διαδικασίας. Για όποιον δεν είναι εξοικειωμένος με τα ποτενσιόμετρα και τα led, θα ξεκινήσω με αυτά. Στη συνέχεια, θα εξηγήσω γιατί το led πρέπει να συνδεθεί σε ένα pin Arduino με δυνατότητα PWM και πώς η συνάρτηση MAP χρησιμοποιείται σε ένα σκίτσο Arduino για τη μετατροπή της εισόδου από το ποτενσιόμετρο σε έξοδο που είναι κατάλληλη για τον έλεγχο ενός led.

Εάν είστε εξοικειωμένοι με τα led και τα ποτενσιόμετρα, μπορείτε να παραλείψετε τις ενότητες 1 και 2.

Βήμα 1: ΣΧΕΤΙΚΑ ΜΕ LED

ΣΧΕΤΙΚΑ ΜΕ LED
ΣΧΕΤΙΚΑ ΜΕ LED

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

ΤΑΣΗ και ΤΡΕΧΟΝ

Η τάση που απαιτείται από ένα LED κυμαίνεται από περίπου 2,2v έως 3,2 volt ανάλογα με το χρώμα του. Η τρέχουσα βαθμολογία τους είναι συνήθως 20mA. Για να περιορίσετε το ρεύμα και να αποφύγετε την υπερθέρμανση της λυχνίας LED, είναι απαραίτητο να χρησιμοποιήσετε μια αντίσταση σε σειρά με κάθε LED. Προτείνω περίπου 300 ωμ.

Η εικόνα στα δεξιά παραπάνω δείχνει έναν τρόπο συγκόλλησης μιας αντίστασης σε ένα πόδι ενός led και μονώνοντάς την με θερμοσυστελλόμενο περίβλημα.

Βήμα 2: ΠΟΤΕΝΣΙΟΜΕΤΡΟ

ΠΟΤΕΝΣΙΟΜΕΤΡΟ
ΠΟΤΕΝΣΙΟΜΕΤΡΟ

Σε όρους Arduino, ένα ποτενσιόμετρο είναι ένας αισθητήρας. "Αισθητήρας" αναφέρεται σε οποιαδήποτε εξωτερική συσκευή η οποία όταν συνδέεται σε ακίδες εισόδου μπορεί να ανιχνευθεί από το Arduino. Θα χρησιμοποιήσουμε ένα ποτενσιόμετρο συνδεδεμένο στο Arduino, για να ελέγξουμε τη φωτεινότητα ενός LED. Ένα ποτενσιόμετρο μερικές φορές ονομάζεται διαχωριστής τάσης, το οποίο νομίζω ότι είναι καλύτερη περιγραφή. Το διάγραμμα στα αριστερά παραπάνω δείχνει την αρχή ενός διαχωριστή τάσης. Σε αυτό το παράδειγμα, μια αντίσταση συνδέεται με τη γείωση στο ένα άκρο και συγκρατείται, από κάποια πηγή ισχύος στα 5v στο άλλο άκρο. Εάν ένα ρυθμιστικό μετακινηθεί κατά μήκος της αντίστασης θα είναι σε τάση 0v στο αριστερό άκρο, 5v στο δεξί άκρο. Σε οποιαδήποτε άλλη θέση θα είναι σε τιμή μεταξύ 0v και 5v. Στα μισά της διαδρομής, για παράδειγμα, θα είναι στα 2,5V. Εάν αναδιαμορφώσουμε τη διάταξη όπως φαίνεται στα δεξιά παραπάνω, τότε αυτό αντιπροσωπεύει τη δράση ενός περιστρεφόμενου ποτενσιόμετρου.

Βήμα 3: Ο ΚΥΚΛΟΣ

Ο ΚΥΚΛΟΣ
Ο ΚΥΚΛΟΣ

Η παραπάνω εικόνα δείχνει πώς πρέπει να συνδέσουμε το ποτενσιόμετρο και το led σε ένα Arduino.

Το Ardunio πρέπει να αισθανθεί την τάση που τροφοδοτείται από το ποτενσιόμετρο. Η τάση αλλάζει ομαλά καθώς γυρίζει το ποτενσιόμετρο, είναι έτσι ένα αναλογικό σήμα και ως εκ τούτου πρέπει να συνδεθεί με έναν αναλογικό πείρο εισόδου στο Arduino. Η τάση σε αυτόν τον πείρο θα διαβάζεται από το Arduino κάθε φορά που το ζητά το πρόγραμμα μέσω της λειτουργίας "analogRead".

Το Arduino διαθέτει μόνο ψηφιακές ακίδες εξόδου. Ωστόσο, οι ακίδες με μια tilde (~) δίπλα τους προσομοιώνουν μια αναλογική έξοδο που είναι κατάλληλη για τον έλεγχο της φωτεινότητας ενός Led. Αυτή η διαδικασία ονομάζεται Pulse Width Modulation (PWM) και εξηγείται μέσω της επόμενης κίνησης, Βήμα 4.

Βήμα 4: PWM

PWM, Pulse Width Modulation

Όπως αναφέρθηκε προηγουμένως, οι καρφίτσες με μια tilda, "~" δίπλα τους είναι καρφίτσες PWM. Επειδή οι ακίδες είναι ψηφιακές μπορούν να είναι μόνο στα 0v ή 5v, ωστόσο με το PWM μπορούν να χρησιμοποιηθούν για να χαμηλώσουν ένα LED ή να ελέγξουν την ταχύτητα ενός κινητήρα. Το κάνουν με την παροχή 5v σε ένα LED αλλά παλμώντας το μεταξύ 0v και 5v στα 500 Hz (500 φορές ανά δευτερόλεπτο) και τεντώνοντας ή συρρικνώνοντας τη διάρκεια κάθε στοιχείου 0v και 5v του παλμού. Καθώς το LED βλέπει μεγαλύτερο παλμό 5v από έναν παλμό 0v, τότε γίνεται πιο φωτεινό. Στο πρόγραμμά μας, χρησιμοποιούμε τη συνάρτηση analogueWrite () για την έξοδο ενός «τετραγωνικού κύματος» PWM. Έχει 256 προσαυξήσεις, μηδέν δίνει 0% κύκλο λειτουργίας και 255 δίνει 100% «κύκλο λειτουργίας», δηλαδή συνεχή 5 βολτ. Έτσι το 127 θα έδινε έναν κύκλο λειτουργίας 50%, τον μισό χρόνο στα 0v και τον μισό χρόνο στα 5v. Η παραπάνω κίνηση δείχνει πώς καθώς αυτός ο κύκλος λειτουργίας τεντώνεται προς 100%, τότε το led γίνεται πιο φωτεινό.

Βήμα 5: ΤΟ ΠΡΟΓΡΑΜΜΑ (ARDUINO SKETCH)

Image
Image

Το παραπάνω βίντεο περνά μέσα από ένα πρόγραμμα (σκίτσο) που μπορεί να χρησιμοποιηθεί για τον έλεγχο της φωτεινότητας ενός led χρησιμοποιώντας ποτενσιόμετρο. Το κύκλωμα είναι το ίδιο όπως φαίνεται στο βήμα 3.

Εάν θεωρείτε ότι αυτό το βίντεο είναι γρήγορο (ή αργό) για άνετη ανάγνωση, μπορείτε να ρυθμίσετε την ταχύτητά του. Στο δεξιό άκρο της κάτω ράβδου ελέγχου υπάρχει ένα σύμβολο σε σχήμα τροχού γραναζιού (μερικές φορές με κόκκινη ετικέτα "HD" πάνω του.) Εάν κάνετε κλικ, θα εμφανιστεί ένα μενού που περιλαμβάνει "ταχύτητα αναπαραγωγής".

Φυσικά, θα ήταν καλύτερα αν μπορούσατε να κάνετε κλικ σε ένα κουμπί για να περάσετε σε κάθε γραμμή του προγράμματος με τη δική σας ταχύτητα, ωστόσο δυστυχώς δεν είναι δυνατό να παρέχετε αυτήν τη διαδραστική μέθοδο εδώ. Αν προτιμάτε να χρησιμοποιήσετε αυτήν τη μέθοδο σε αυτό το θέμα και σε πολλά άλλα θέματα Arduino, τότε υπάρχει δωρεάν έκδοση προεπισκόπησης ενός διαδραστικού/κινούμενου ebook διαθέσιμου στο animatedarduino.com

Υπάρχει ένα χαρακτηριστικό στο πρόγραμμα που νομίζω ότι χρειάζεται περισσότερη εξήγηση: στη γραμμή 14 χρησιμοποιείται η συνάρτηση "χάρτης". Ακολουθεί εξήγηση για το σκοπό του, στο βήμα 6

Βήμα 6: ΧΑΡΤΗΣ

Έχουμε το ποτενσιόμετρο συνδεδεμένο με έναν αναλογικό πείρο. Η τάση του ποτενσιόμετρου κυμαίνεται μεταξύ 0v και 5v. Αυτό το εύρος καταχωρείται στον επεξεργαστή σε 1024 προσαυξήσεις. Όταν η τιμή εισόδου χρησιμοποιείται για τη δημιουργία εξόδου μέσω ψηφιακής ακίδας PWM, αυτό το εύρος πρέπει να αντιστοιχιστεί στο εύρος εξόδου ενός ψηφιακού πείρου. Αυτό έχει 255 προσαυξήσεις. Η συνάρτηση χάρτη χρησιμοποιείται για το σκοπό αυτό και παρέχει μια έξοδο ανάλογη της εισόδου.

Το παραπάνω βίντεο το αποδεικνύει.

Βήμα 7: Κινούμενο Arduino

Οι εικόνες σε αυτό το Instructable έχουν ληφθεί από το ebook μου Animated Arduino, το οποίο είναι διαθέσιμο στη διεύθυνση www.animatedarduino.com, στο οποίο στοχεύω στην καλύτερη κατανόηση ορισμένων από τις έννοιες που συναντώνται κατά την εκμάθηση προγραμματισμού του Arduino.

Υπάρχει δωρεάν αντίγραφο προεπισκόπησης του ebook που διατίθεται στον ιστότοπο, το οποίο σας επιτρέπει να γνωρίσετε τη διαδραστική φύση του βιβλίου. Είναι βασικά μια συλλογή από δείγματα σελίδων και έτσι παραλείπει πολλές εξηγήσεις. Περιλαμβάνει δείγματα σελίδων που σας επιτρέπουν να κάνετε κλικ σε κουμπιά που σας οδηγούν σε κάθε γραμμή ενός προγράμματος και να δείτε σχετικά σχόλια. Άλλες σελίδες διαθέτουν κινούμενα σχέδια βίντεο και περιεχόμενο ήχου που μπορείτε να ελέγξετε. Περιλαμβάνεται μια σελίδα περιεχομένου για να μπορείτε να δείτε τι περιέχει η πλήρης έκδοση.

Συνιστάται: