Ας μάθουμε τι βρίσκεται πίσω από το ακρωνύμιο PWM, πώς λειτουργεί, σε τι χρησιμεύει και πώς μπορούμε να το χρησιμοποιήσουμε όταν συνεργαζόμαστε με το Arduino.
Απαραίτητη
- - Arduino;
- - Δίοδος εκπομπής φωτός;
- - μια αντίσταση με αντίσταση 200 Ohm.
- - υπολογιστή.
Οδηγίες
Βήμα 1
Οι ψηφιακές ακίδες Arduino μπορούν να δώσουν μόνο δύο τιμές: λογική 0 (LOW) και λογική 1 (HIGH). Γι 'αυτό είναι ψηφιακοί. Αλλά ο Arduino έχει «ειδικά» συμπεράσματα, τα οποία χαρακτηρίζονται PWM. Μερικές φορές συμβολίζονται με κυματιστή γραμμή "~" ή σε κύκλο ή κάπως διακρίνονται από άλλες. Το PWM σημαίνει "Pulse-width modulation" ή Pulse Width Modulation, PWM.
Ένα σήμα διαμορφωμένου πλάτους παλμού είναι ένα σήμα παλμού σταθερής συχνότητας, αλλά ένας κύκλος μεταβλητής λειτουργίας (ο λόγος της διάρκειας παλμού προς την περίοδο επανάληψής του). Λόγω του γεγονότος ότι οι περισσότερες φυσικές διεργασίες στη φύση έχουν κάποια αδράνεια, οι απότομες πτώσεις τάσης από 1 έως 0 θα εξομαλυνθούν, λαμβάνοντας κάποια μέση τιμή. Ρυθμίζοντας τον κύκλο λειτουργίας, μπορείτε να αλλάξετε τη μέση τάση στην έξοδο PWM.
Εάν ο κύκλος λειτουργίας είναι 100%, τότε όλη την ώρα στην ψηφιακή έξοδο του Arduino θα υπάρχει λογική τάση "1" ή 5 volt. Εάν ορίσετε τον κύκλο λειτουργίας στο 50%, τότε ο μισός χρόνος στην έξοδο θα είναι λογικός "1" και μισός - λογικός "0" και η μέση τάση θα είναι 2,5 βολτ. Και ούτω καθεξής.
Στο πρόγραμμα, ο κύκλος λειτουργίας ορίζεται όχι ως ποσοστό, αλλά ως αριθμός από 0 έως 255. Για παράδειγμα, η εντολή "analogWrite (10, 64)" θα πει στον μικροελεγκτή να στείλει σήμα με κύκλο λειτουργίας 25 % σε ψηφιακή έξοδο PWM # 10.
Οι ακίδες Arduino με λειτουργία διαμόρφωσης πλάτους παλμού λειτουργούν σε συχνότητα περίπου 500 Hz. Αυτό σημαίνει ότι η περίοδος επανάληψης παλμών είναι περίπου 2 χιλιοστά του δευτερολέπτου, η οποία μετριέται από τις πράσινες κάθετες πινελιές στο σχήμα.
Αποδεικνύεται ότι μπορούμε να προσομοιώσουμε ένα αναλογικό σήμα στην ψηφιακή έξοδο! Ενδιαφέρον, σωστά;!
Πώς μπορούμε να το χρησιμοποιήσουμε; Υπάρχουν πολλές εφαρμογές! Για παράδειγμα, αυτά είναι ο έλεγχος φωτεινότητας LED, ο έλεγχος ταχύτητας κινητήρα, ο έλεγχος ρεύματος τρανζίστορ, η εξαγωγή ήχου από έναν πιεζοηλεκτρικό πομπό …
Βήμα 2
Ας ρίξουμε μια ματιά στο πιο βασικό παράδειγμα - τον έλεγχο της φωτεινότητας ενός LED χρησιμοποιώντας PWM. Ας συνθέσουμε ένα κλασικό σχέδιο.
Βήμα 3
Ας ανοίξουμε το σκίτσο "Fade" από τα παραδείγματα: File -> Samples -> 01. Βασικά -> Fade.
Βήμα 4
Ας το αλλάξουμε λίγο και να το φορτώσουμε στη μνήμη Arduino.
Βήμα 5
Ενεργοποιούμε τη δύναμη. Το LED αυξάνεται σταδιακά στη φωτεινότητα και στη συνέχεια μειώνεται σταδιακά. Έχουμε προσομοιώσει ένα αναλογικό σήμα στην ψηφιακή έξοδο χρησιμοποιώντας διαμόρφωση πλάτους παλμού.