arduino εντολή analogWrite()

Πως χρησιμοποιούνται οι αναλογικές έξοδοι

Η εντολή analogWrite(), στέλνει έναν παλμό PWM σε μία από τις διαθέσιμες εξόδους του arduino. Η χρήση της μπορεί να είναι από το σταδιακό άναμμα ή σβήσιμο ενός LED (fade in / out), μέχρι την οδήγηση ενός ηλεκτρικού μοτέρ με μεταβλητή ταχύτητα.

Περιγραφή




Αφού καλέσουμε την εντολή analogWrite(), το Pin εξόδου θα παράξει έναν σταθερό τετραγωνικό παλμό του οποίου η συχνότητα είναι συνήθως 490Hz που θα έχει διάρκεια μέχρι την επόμενη κλήση των εντολών analogWrite() ή digitalRead() ή digitalWrite().

Σημείωση: Στην πλακέτα UNO, τα pin 5 και 6, έχουν μία συχνότητα περίπου 980Hz.

Οι έξοδοι που μπορούν να δουλέψουν με την εντολή analogWrite() είναι:

  • Πλακέτες που έχουν τον μικροελεγκτή ATmega168  ή ATmega328p, έχουν ως αναλογικές εξόδους τα pin 2,5,6,9,10 και 11.
  • Στην έκδοση arduino mega τα pin 2-13 και 44-66 (πολλές αναλογικές εξόδους το mega)
  • Παλαιότερες εκδόσεις που έχουν τον μικροελεγκτή ATmega8, υποστηρίζουν μόνο τα pin 9,10 και 11.
  • Η έκδοση Arduino DUE, έχει αναλογικές εξόδους που βρίσκονται στα pin 2 έως 13. Επιπρόσθετα διαθέτει και pin DAC0 και DAC1 τα οποία σε αντίθεση με τις PWM εξόδους, είναι πραγματικές αναλογικές έξοδοι.

Η εντολή analogWrite(), δεν έχει καμία σχέση με την εντολή analogRead() ούτε με τα αναλογικά pin εισόδου.

Σύνταξη

analogWrite(pin, τιμή)

pin: Το pin της πλακέτας (αρκεί να είναι PWM (να έχει το σήμα ~)

τιμή: μία τιμή ακέραιου τύπου η οποία κυμαίνεται από 0 έως 255. Στην εντολή analogWrite() θεωρούμε ότι η εντολή κρατάει το pin μόνιμα σε κατάσταση HIGH.

Η εντολή δεν επιστρέφει κάτι.

Παράδειγμα κώδικα




Το παράδειγμα του κώδικα θα το βρείτε στα build in παραδείγματα του arduino IDE στην περιοχή file–>examples–>Basic –>analog–>fade.

/*
Fading
This example shows how to fade an LED using the analogWrite() function.
The circuit:
- LED attached from digital pin 9 to ground.
created 1 Nov 2008
by David A. Mellis
modified 30 Aug 2011
by Tom Igoe
This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/Fading
*/
int ledPin = 9; // LED connected to digital pin 9
void setup()
{
  // nothing happens in setup
}
void loop() 
{
  // fade in from min to max in increments of 5 points:
  for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5)
   {
     // sets the value (range from 0 to 255):
     analogWrite(ledPin, fadeValue);
     // wait for 30 milliseconds to see the dimming effect
     delay(30);
   }
  // fade out from max to min in increments of 5 points:
  for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5)
    {
      // sets the value (range from 0 to 255):
      analogWrite(ledPin, fadeValue);
      // wait for 30 milliseconds to see the dimming effect
     delay(30);
    }
  }
Επιστροφή στη λίστα εντολών
Δεκέμβριος 24, 2018

0 Απαντήσεις στο "arduino εντολή analogWrite()"

    Αφήστε ένα μήνυμα

    Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

    Σχεδιασμός © GetCert. Με επιφύλαξη παντός δικαιώματος.

    Αυτό είναι ένα δοκιμαστικό κατάστημα για δοκιμαστικούς σκοπούς — καμία παραγγελία δεν θα ολοκληρωθεί. Απόρριψη