- Modulazione della larghezza di impulso:
- Componenti richiesti:
- Spiegazione del circuito:
- Spiegazione di lavoro:
Raspberry Pi è una scheda basata su processore con architettura ARM progettata per ingegneri elettronici e hobbisti. Il PI è una delle piattaforme di sviluppo di progetti più affidabili attualmente disponibili. Con una maggiore velocità del processore e 1 GB di RAM, il PI può essere utilizzato per molti progetti di alto profilo come l'elaborazione delle immagini e Internet of Things.
Per fare uno qualsiasi dei progetti di alto profilo, è necessario comprendere le funzioni di base di PI. Tratteremo tutte le funzionalità di base di Raspberry Pi in questi tutorial. In ogni tutorial discuteremo una delle funzioni di PI. Entro la fine della serie di tutorial sarai in grado di realizzare progetti di alto profilo da solo. Controlla questi per iniziare con Raspberry Pi e Raspberry Pi Configuration.
Abbiamo discusso del LED lampeggiante e dell'interfaccia dei pulsanti con Raspberry Pi nei tutorial precedenti. In questo tutorial PWM Raspberry Pi parleremo di come ottenere l'output PWM con Raspberry Pi. PWM sta per " Pulse Width Modulation ". PWM è un metodo utilizzato per ottenere una tensione variabile da un'alimentazione costante. Vi generare il segnale PWM di lampone PI e dimostrare l'PWM variando la luminosità di un LED, collegato a Pi.
Modulazione della larghezza di impulso:
Abbiamo già parlato più volte di PWM in: Modulazione di larghezza di impulso con ATmega32, PWM con Arduino Uno, PWM con IC timer 555 e PWM con Arduino Due.
Nella figura sopra, se l'interruttore è chiuso continuamente per un periodo di tempo, il LED sarà "ON" durante questo periodo continuamente. Se l'interruttore è chiuso per mezzo secondo e aperto per mezzo secondo successivo, il LED sarà acceso solo nel primo mezzo secondo. Ora la proporzione per la quale il LED è acceso rispetto al tempo totale è chiamata Duty Cycle e può essere calcolata come segue:
Ciclo di lavoro = Tempo di accensione / (Tempo di accensione + Tempo di spegnimento)
Ciclo di lavoro = (0,5 / (0,5 + 0,5)) = 50%
Quindi la tensione di uscita media sarà il 50% della tensione della batteria.
Questo è il caso per un secondo e possiamo vedere il LED spento per mezzo secondo e il LED acceso l'altro mezzo secondo. Se la frequenza dei tempi di attivazione e disattivazione è aumentata da "1 al secondo" a "50 al secondo". L'occhio umano non può catturare questa frequenza. Per un occhio normale si vedrà il LED acceso con metà della luminosità. Quindi con un'ulteriore riduzione del tempo di accensione il LED appare molto più luminoso.
Programmeremo il PI per ottenere un PWM e collegheremo un LED per mostrare il suo funzionamento.
Ci sono 40 pin di uscita GPIO in Raspberry Pi. Ma su 40, è possibile programmare solo 26 pin GPIO (da GPIO2 a GPIO27). PER saperne di più sui pin GPIO, segui: LED lampeggiante con Raspberry Pi
Componenti richiesti:
Qui stiamo usando Raspberry Pi 2 Model B con Raspbian Jessie OS. Tutti i requisiti hardware e software di base sono stati discussi in precedenza, puoi cercarli nell'introduzione di Raspberry Pi, oltre a quello di cui abbiamo bisogno:
- Perni di collegamento
- Resistenza da 220Ω o 1KΩ
- GUIDATO
- Tagliere per il pane
Spiegazione del circuito:
Come mostrato nello schema elettrico, collegheremo un LED tra PIN35 (GPIO19) e PIN39 (massa). Come detto in precedenza, non possiamo prelevare più di 15mA da nessuno di questi pin, quindi per limitare la corrente stiamo collegando una resistenza da 220Ω o 1KΩ in serie al LED.
Spiegazione di lavoro:
Una volta che tutto è connesso, possiamo accendere il Raspberry Pi per scrivere il programma in PYHTON ed eseguirlo.
Parleremo di alcuni comandi che useremo nel programma PYHTON.
Stiamo per importare il file GPIO dalla libreria, la funzione sottostante ci consente di programmare i pin GPIO di PI. Stiamo anche rinominando "GPIO" in "IO", quindi nel programma ogni volta che vogliamo fare riferimento ai pin GPIO useremo la parola "IO".
importa RPi.GPIO come IO
A volte, quando i pin GPIO, che stiamo cercando di utilizzare, potrebbero svolgere altre funzioni. In tal caso, riceveremo avvisi durante l'esecuzione del programma. Il comando seguente indica al PI di ignorare gli avvisi e procedere con il programma.
IO.setwarnings (False)
Possiamo fare riferimento ai pin GPIO di PI, sia per numero di pin a bordo che per numero di funzione. Nel diagramma dei pin, puoi vedere che il "PIN 35" sulla scheda è "GPIO19". Quindi diciamo qui o rappresenteremo il pin qui con "35" o "19".
IO.setmode (IO.BCM)
Stiamo impostando GPIO19 (o PIN35) come pin di uscita. Otterremo l'uscita PWM da questo pin.
IO.setup (19, IO.IN)
Dopo aver impostato il pin come output, dobbiamo impostare il pin come pin di output PWM, p = IO.PWM (canale di uscita, frequenza del segnale PWM)
Il comando precedente serve per impostare il canale e anche per impostare la frequenza del segnale PWM. 'p' qui è una variabile che può essere qualsiasi cosa. Stiamo usando GPIO19 come canale di uscita PWM. La ' frequenza del segnale PWM ' è stata scelta 100, poiché non vogliamo vedere il LED lampeggiante.
Il comando seguente viene utilizzato per avviare la generazione del segnale PWM, ' DUTYCYCLE ' è per impostare il rapporto di accensione, 0 significa che il LED sarà acceso per lo 0% del tempo, 30 significa che il LED sarà acceso per il 30% del tempo e 100 significa completamente acceso.
p.start (DUTYCYCLE)
Questo comando esegue il ciclo 50 volte, x essendo incrementato da 0 a 49.
per x nell'intervallo (50):
Mentre 1: viene utilizzato per il ciclo infinito. Con questo comando le istruzioni all'interno di questo ciclo verranno eseguite continuamente.
Con il programma in esecuzione, il ciclo di lavoro del segnale PWM aumenta. E poi diminuisce dopo aver raggiunto il 100%. Con un LED collegato a questo PIN, la luminosità del LED aumenta prima e poi diminuisce.