Σημειώσεις arduino kales

Page 29

analogWrite() – PWM

Γράφει μια αναλογική τιμή (ψευδοαναλογικό-ευροπαλμικό PWM κύμα) σε ένα ακροδέκτη. Μπορεί να χρησιμοποιηθεί για να ανάψει ένα LED σε διάφορες φωτεινότητες ή να οδηγήσουμε ένα μοτέρ σε διάφορες ταχύτητες. Μετά την κλήση της analogWrite(), στο pin θα δημιουργηθεί μια σταθερή τετραγωνική κυματομορφή με συγκεκριμένο κύκλο μέχρι την επόμενη κλήση analogWrite() ( ή μια κλήση digitalRead() ή digitalWrite() που αφορά τον ίδιο ακροδέκτη). Η συχνότητα του σήματος PWM για τα περισσότερα pins είναι περίπου 490 Hz. Στο Uno και παρόμοιες πλακέτες, τα pins 5 και 6 έχουν συχνότητα περίπου 980 Hz. Τα pins 3 και 11 για το Leonardo επίσης τρέχει στα 980 Hz.

Στις περισσότερες πλακέτες Arduino (αυτές με το ATmega168 ή ATmega328), η λειτουργία αυτή λειτουργεί στις ακίδες 3, 5, 6, 9, 10, και 11. Στο Arduino Mega, λειτουργεί στις ακίδες 2 έως 13 και 44 έως 46. Σε παλαιότερες πλακέτες Arduino με ATmega8 η analogWrite() υποστηρίζεται μόνο στους ακροδέκτες 9, 10, και 11.

Το Arduino Due υποστηρίζει analogWrite() στις ακίδες 2 έως 13, καθώς και στις ακίδες DAC0 και DAC1. Σε αντίθεση με τις ακίδες PWM, τα DAC0 και DAC1 είναι μετατροπείς Ψηφιακό σε Αναλογικό, και να λειτουργούν σαν πραγματικές αναλογικές έξοδοι. Δεν χρειάζεται να καλέσετε την pinMode() για να ρυθμίσετε την ακίδα ως έξοδο πριν από την κλήση της analogWrite().

Η λειτουργία analogWrite δεν έχει καμία σχέση με τις αναλογικές ακίδες ή τη λειτουργία analogRead. Η σύνταξη της εντολής είναι:

analogWrite(pin, value)

όπου, pin είναι η ακίδα στην οποία θέλουμε να γράψουμε και value η περίοδος λειτουργίας από 0 (πάντα κλειστό) μέχρι και 255 (πάντα ανοικτό). Η analogWrite δεν επιστρέφει τίποτα. Σημειώσεις και γνωστά θέματα

Οι ευροπαλμικές έξοδοι PWM που παράγονται στις ακίδες 5 και 6 θα έχουν υψηλότερη του αναμενόμενου περίοδο λειτουργίας. Αυτό συμβαίνει λόγω των αλληλεπιδράσεων με τις λειτουργίες millis() και delay(), οι οποίες μοιράζονται το ίδιο εσωτερικό χρονόμετρο που χρησιμοποιείται για την παραγωγή των εν λόγω εξόδων PWM. Αυτό μπορεί να παρατηρηθεί κυρίως στις χαμηλές ρυθμίσεις περιόδου λειτουργίας (π.χ. 0-10) και μπορεί να οδηγήσει σε μια τιμή 0 που δεν είναι πλήρως απενεργοποιημένη στην έξοδο των ακίδων 5 και 6.

35


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.