Pin PWM.

Diamo un'occhiata al pinout delle schede Arduino Nano e Wemos Mini, i pin su cui è possibile eseguire un segnale PWM utilizzando gli strumenti Arduino standard sono contrassegnati come PWM:
  • Arduino Nano ha 6 di questi pin. Il fatto è che il segnale PWM è generato da blocchi hardware separati (timer), quindi il loro numero è limitato. Allo stesso tempo, la generazione di PWM a una frequenza maggiore non carica il microcontrollore, il segnale viene generato in modo indipendente.
  • Su Wemos Mini, puoi eseguire PWM su qualsiasi pin tranne GPIO16. Qui la generazione PWM è implementata nel software, quindi funziona su qualsiasi pin, ma l'utilizzo di più pin contemporaneamente a una frequenza maggiore rallenterà il microcontrollore.
Attiva PWM.
Per generare PWM, c'è la funzione AnalogWrite (pin, value):
  • pin - pin PWM (vedi pinout).
  • value - riempimento del segnale PWM. Per impostazione predefinita, ha una profondità di bit di 8 bit, ovvero assume il valore 0.. 255, esp8266 aveva 10 bit, ovvero 0.. 1023 nelle versioni del CPU precedenti alla 3.0.
Proviamo a modificare la luminosità del LED collegato tramite una resistenza al pin D3 (Arduino Nano). Potenziometro collegato al pin A0:
void setup() 
{
}
void loop() 
     //PWM per 3 pin, 1023/4 = 255 - spostato l'intervallo
    analogWrite(3, analogRead(0) / 4);
}
Nell'esempio considerato, la luminosità del LED cambia a seconda della posizione di rotazione del potenziometro.
Caratteristiche di Arduino Nano.
Parametri del segnale PWM standard:
Timer        Pin              Frequenza     Profondità di bit
Timer 0     D5 и D6     976 Гц           8 бит (0...255)
Timer 1     D9 и D10   488 Гц           8 бит (0...255) 
Timer 2     D3 и D11   488 Гц           8 бит (0...255)
Caratteristiche Wemos Mini.
La frequenza PWM predefinita è 1 kHz: la frequenza può essere regolata in analogWriteFreq(100...40000 Hz)
La profondità di bit PWM predefinita è 8 bit (0..255) sulle versioni del CPU 3.x. Nelle versioni precedenti - 10 bit (0.. 1023): la profondità di bit può essere configurata in analogWriteResolution(4...16 bit).
Crea il tuo sito web gratis! Questo sito è stato creato con Webnode. Crea il tuo sito gratuito oggi stesso! Inizia