Το Arduino Due είναι ένας πίνακας βασισμένος σε ελεγκτή ARM σχεδιασμένος για ηλεκτρονικούς μηχανικούς και χομπίστες. Η αρχιτεκτονική ARM έχει μεγάλη επιρροή στη σύγχρονη ηλεκτρονική, τα χρησιμοποιούμε παντού, όπως τα κινητά μας, τα iPod και οι υπολογιστές μας κ.λπ. Αν κάποιος θέλει να σχεδιάσει βιομηχανικά συστήματα, πρέπει στους ελεγκτές ARM. Οι ελεγκτές ARM είναι πολύ σημαντικοί λόγω της ευελιξίας τους.
Έχουμε ήδη καλύψει τα βασικά του Arduino Due για να ξεκινήσετε με το Arduino Due. Τώρα σε αυτό το σεμινάριο πρόκειται να προσαρμόσουμε τη φωτεινότητα ενός LED, χρησιμοποιώντας σήμα PWM που παράγεται από το DUE. Ένα σήμα DUE PWM (Pulse Width Modulation) παρέχει μια μεταβλητή τάση σε σχέση με τη σταθερή τροφοδοσία.
Διαμόρφωση πλάτους παλμού:
Στην παραπάνω εικόνα, εάν ο διακόπτης κλείνει συνεχώς για μια χρονική περίοδο, η λυχνία LED θα είναι «ON» κατά τη διάρκεια αυτής της περιόδου συνεχώς. Εάν ο διακόπτης είναι κλειστός για μισό δευτερόλεπτο και ανοίξει για το επόμενο μισό δευτερόλεπτο, τότε η λυχνία LED θα είναι αναμμένη μόνο στο πρώτο μισό δευτερόλεπτο. Τώρα η αναλογία για την οποία το LED είναι αναμμένο σε ολόκληρο τον χρόνο ονομάζεται Duty Cycle και μπορεί να υπολογιστεί ως εξής:
Κύκλος λειτουργίας = Χρόνος ενεργοποίησης / (Χρόνος ενεργοποίησης + χρόνος απενεργοποίησης)
Κύκλος εργασίας = (0,5 / (0,5 + 0,5)) = 50%
Έτσι, η μέση τάση εξόδου θα είναι 50% της τάσης της μπαταρίας.
Αυτό συμβαίνει για ένα δευτερόλεπτο και μπορούμε να δούμε ότι η λυχνία LED είναι σβηστή για μισό δευτερόλεπτο και η λυχνία LED να ανάβει το άλλο μισό δευτερόλεπτο. Εάν η συχνότητα των χρόνων ON και OFF αυξήθηκε από «1 ανά δευτερόλεπτο» σε «50 ανά δευτερόλεπτο». Το ανθρώπινο μάτι δεν μπορεί να συλλάβει αυτήν τη συχνότητα ON και OFF. Για ένα κανονικό μάτι, το LED θα φαίνεται, ως λαμπερό με το ήμισυ της φωτεινότητας. Έτσι, με περαιτέρω μείωση του χρόνου ON, το LED εμφανίζεται πολύ πιο ελαφρύ.
Θα προγραμματίσουμε το DUE για τη λήψη PWM και θα συνδέσουμε ένα LED για να δείξει τη λειτουργία του.
Υπάρχουν 12 κανάλια PWM (Pin 2 έως Pin 13) στο DUE και μπορούμε να χρησιμοποιήσουμε οποιοδήποτε ή όλα αυτά. Σε αυτήν την περίπτωση θα κολλήσουμε σε ένα σήμα PWM στο PIN2.
Συστατικά:
- Arduino Due
- Τροφοδοσία (5v)
- LED
- Κουμπιά (δύο κομμάτια),
- 1KΩ αντίσταση (δύο κομμάτια), 220Ω αντίσταση
Και Arduino IDE - Arduino Nightly Software (https://www.arduino.cc/en/Main/Software).
Διάγραμμα κυκλώματος και εξήγηση εργασίας:
Το κύκλωμα συνδέεται στο breadboard σύμφωνα με το διάγραμμα κυκλώματος. Ωστόσο, πρέπει να προσέξετε κατά τη σύνδεση των ακροδεκτών LED. Αν και τα κουμπιά μπορούν να εμφανίσουν εφέ αναπήδησης, αλλά σε αυτήν την περίπτωση δεν προκαλούν σημαντικά σφάλματα, οπότε δεν χρειάζεται να ανησυχούμε αυτή τη φορά.
Η λήψη σήματος PWM από το DUE είναι εύκολη. Το Arduino IDE παρέχει χρήσιμες δυνατότητες που διευκολύνουν τη δυσκολία του προγραμματιστή. Εάν πηγαίνουμε για προγραμματισμό γυμνών τσιπ, πρέπει να δημιουργήσουμε έναν ελεγκτή ATMEGA για σήμα PWM, κάτι που δεν είναι εύκολο. πρέπει να καθορίσουμε πολλά μητρώα και ρυθμίσεις για ένα ακριβές σήμα, ωστόσο στο Arduino δεν χρειάζεται να ασχοληθούμε με όλα αυτά τα πράγματα. Έχουμε ήδη καλύψει τη Διαμόρφωση πλάτους παλμού με ATmega32, με το Arduino Uno και με το χρονοδιακόπτη 555.
Από προεπιλογή, όλα τα αρχεία κεφαλίδας και τα μητρώα είναι προκαθορισμένα από το Arduino IDE, απλά πρέπει να τα καλέσουμε και αυτό είναι, θα έχουμε έξοδο PWM στο κατάλληλο pin. Πρέπει επίσης να καλέσουμε ορισμένες εντολές για να λάβουμε ένα σήμα PWM, αυτές συζητούνται παρακάτω:
pinMode (2, OUTPUT) analogWrite (pin, τιμή)
Πρώτα πρέπει να επιλέξουμε το κανάλι εξόδου PWM ή να επιλέξουμε έναν ακροδέκτη από 12 ακίδες DUE, μετά από αυτό πρέπει να ορίσουμε αυτόν τον ακροδέκτη ως έξοδο. Δεδομένου ότι χρησιμοποιούμε το PIN2 ως έξοδο, θα το ορίσουμε ως OUTPUT όπως φαίνεται στην πρώτη γραμμή.
Στη συνέχεια, πρέπει να ενεργοποιήσουμε τη δυνατότητα PWM του DUE καλώντας τη λειτουργία " analogWrite (pin, value) ". Εδώ το «pin» αντιπροσωπεύει τον αριθμό pin όπου χρειαζόμαστε έξοδο PWM. Το βάζουμε ως «2», οπότε στο PIN2 έχουμε έξοδο PWM. Η τιμή "Value" είναι η τιμή ΕΝΕΡΓΟΠΟΙΗΣΗΣ, κυμαίνεται μεταξύ 0 (πάντα απενεργοποιημένη) και 255 (πάντα ενεργοποιημένη). Μπορούμε να γράψουμε την κατάλληλη τιμή σε αυτόν τον χώρο για την απαιτούμενη φωτεινότητα των LED.
Συνδέσαμε μερικά κουμπιά στον πίνακα DUE για μεταβολή αυτής της τιμής. Ένα κουμπί είναι για αύξηση της τιμής φωτεινότητας και άλλο για τη μείωση της τιμής φωτεινότητας. Μόλις τελειώσει ο προγραμματισμός, μπορούμε να προσαρμόσουμε τη φωτεινότητα πατώντας αυτά τα κουμπιά.