Sommario:

Controllo della luminosità, Arduino (con animazioni): 7 passaggi
Controllo della luminosità, Arduino (con animazioni): 7 passaggi

Video: Controllo della luminosità, Arduino (con animazioni): 7 passaggi

Video: Controllo della luminosità, Arduino (con animazioni): 7 passaggi
Video: Impara Arduino in modo PRATICO, facile e divertente! Arduino Tutorial Italiano per Principianti. 2024, Luglio
Anonim
Image
Image

Negli ultimi anni ho costruito due flipper (pinballdesign.com) e due teste di robot (grahamasker.com) ognuno controllato da Arduino. Avendo avuto una carriera da ingegnere meccanico mi trovo bene con la progettazione dei meccanismi, però faccio fatica con la programmazione. Ho deciso di creare animazioni per illustrare alcuni dei concetti base di Arduino. Ho pensato che avrebbe aiutato me e gli altri a capirli. Un'immagine vale più di mille parole e un'animazione può valere più di mille immagini!

Quindi ecco una spiegazione animata sull'argomento del controllo della luminosità. L'animazione sopra mostra uno schema di un potenziometro collegato a un Arduino. Mostra come la regolazione della posizione del potenziometro può alterare la luminosità di un led. Spiegherò tutti gli elementi di questo processo. Per chiunque non abbia familiarità con potenziometri e led, inizierò con quelli. Spiegherò quindi perché il led deve essere collegato a un pin Arduino abilitato PWM e come viene utilizzata la funzione MAP all'interno di uno sketch Arduino per convertire l'ingresso dal potenziometro in un'uscita adatta al controllo di un led.

Se hai familiarità con led e potenziometri, puoi saltare le sezioni 1 e 2.

Passaggio 1: INFORMAZIONI sui LED

INFORMAZIONI SUI LED
INFORMAZIONI SUI LED

L'illustrazione a sinistra in alto mostra il simbolo del circuito per un led e la polarità delle gambe del led. La corrente scorrerà solo attraverso un LED in una direzione, quindi la polarità è importante. La gamba più lunga è il positivo. Inoltre c'è un lato piatto sulla flangia, questo è il lato negativo.

TENSIONE e CORRENTE

La tensione richiesta da un LED varia da circa 2,2v a 3,2 volt a seconda del suo colore. La loro corrente nominale è in genere di 20 mA. Per limitare la corrente ed evitare il surriscaldamento del LED, è necessario utilizzare una resistenza in serie a ciascun LED. Consiglio circa 300 ohm.

L'illustrazione a destra in alto mostra un modo per saldare un resistore a una gamba di un led e isolarlo con una guaina termoretraibile.

Fase 2: POTENZIOMETRO

POTENZIOMETRO
POTENZIOMETRO

In termini Arduino un potenziometro è un sensore. "Sensore" si riferisce a qualsiasi dispositivo esterno che, quando collegato ai pin di ingresso, può essere rilevato da Arduino. Utilizzeremo un potenziometro collegato ad Arduino, per controllare la luminosità di un LED. Un potenziometro è talvolta chiamato divisore di tensione, che penso sia una descrizione migliore. Il diagramma in alto a sinistra indica il principio di un partitore di tensione. In questo esempio, un resistore è collegato a terra a un'estremità e tenuto, da una fonte di alimentazione, a 5 V all'altra estremità. Se un cursore viene spostato lungo il resistore, sarà a una tensione di 0 V all'estremità sinistra, 5 V all'estremità destra. In qualsiasi altra posizione sarà ad un valore compreso tra 0v e 5v. A metà strada, ad esempio, sarà a 2,5V. Se rimodelliamo la disposizione come mostrato sopra a destra, allora questo rappresenta l'azione di un potenziometro rotante.

Fase 3: IL CIRCUITO

IL CIRCUITO
IL CIRCUITO

L'illustrazione sopra mostra come dobbiamo collegare il potenziometro e il led ad un Arduino.

L'Ardunio ha bisogno di rilevare la tensione che gli viene fornita dal potenziometro. La tensione cambia gradualmente quando si ruota il potenziometro, è quindi un segnale analogico e quindi deve essere collegato a un pin di ingresso analogico su Arduino. La tensione su questo pin verrà letta dall'Arduino ogni volta che il programma la richiede tramite la funzione “analogRead”.

L'Arduino ha solo pin di uscita digitale. Tuttavia quei pin con accanto una tilde (~) simulano un'uscita analogica adatta a controllare la luminosità di un Led. Questo processo è chiamato Pulse Width Modulation (PWM) ed è spiegato tramite l'animazione successiva, Passaggio 4.

Passaggio 4: PWM

PWM, modulazione dell'ampiezza dell'impulso

Come accennato in precedenza, i pin con una tilda, "~" accanto a loro sono pin PWM. Poiché i pin sono digitali, possono essere solo a 0v o 5v, tuttavia con PWM possono essere utilizzati per attenuare un LED o controllare la velocità di un motore. Lo fanno fornendo 5v a un LED ma pulsandolo tra 0v e 5v a 500 Hz (500 volte al secondo) e allungando o riducendo la durata di ogni elemento 0v e 5v dell'impulso. Poiché il LED vede un impulso 5v più lungo di un impulso 0v, diventa più luminoso. Nel nostro programma, usiamo la funzione analogWrite() per emettere una "onda quadra" PWM. Ha 256 incrementi, Zero che fornisce un ciclo di lavoro dello 0% e 255 che fornisce un "ciclo di lavoro" del 100%, ovvero 5 volt continui. Quindi 127 darebbe un ciclo di lavoro del 50%, metà del tempo a 0v e metà del tempo a 5v. L'animazione sopra mostra come quando questo ciclo di lavoro viene allungato verso il 100%, il led diventa più luminoso.

Step 5: IL PROGRAMMA (ARDUINO SKETCH)

Image
Image

Il video precedente passa attraverso un programma (schizzo) che può essere utilizzato per controllare la luminosità di un led utilizzando un potenziometro. Il circuito è lo stesso mostrato al punto 3.

Se trovi che questo video sia veloce (o lento) da leggere comodamente allora puoi regolarne la velocità All'estremità destra della barra di controllo inferiore c'èun simbolo a forma di ruota dentata (a volte con un'etichetta rossa 'HD' su di essa.) Se cliccato farà apparire un menu che include la "velocità di riproduzione".

Sarebbe, ovviamente, meglio se potessi fare clic su un pulsante per scorrere ogni riga del programma alla tua velocità, tuttavia sfortunatamente non è possibile fornire questo metodo interattivo qui. Se preferisci usare quel metodo su questo argomento e su molti altri argomenti Arduino, allora c'è una versione di anteprima gratuita di un ebook interattivo/animato disponibile su animatoarduino.com

C'è una caratteristica del programma che penso necessiti di maggiori spiegazioni: su line14 viene utilizzata la funzione "mappa". C'è una spiegazione sul suo scopo successivo, nel passaggio 6

Passaggio 6: MAPPA

Abbiamo il potenziometro collegato a un pin analogico. La tensione del potenziometro varia tra 0v e 5v. Questo intervallo viene registrato nel processore in incrementi di 1024. Quando l'ingresso del valore viene utilizzato per creare un'uscita tramite un pin digitale abilitato PWM, questo intervallo deve essere mappato all'intervallo di uscita di un pin digitale. Questo ha 255 incrementi. A tale scopo viene utilizzata la funzione mappa che fornisce un'uscita proporzionale all'ingresso.

Il video qui sopra lo illustra.

Passaggio 7: Arduino animato

Le immagini in questo Instructable sono state prese dal mio ebook Animated Arduino che è disponibile su www.animatedarduino.com in cui miro a fornire una migliore comprensione di alcuni dei concetti incontrati mentre imparavo a programmare Arduino.

Sul sito Web è disponibile una copia di anteprima gratuita dell'ebook che consente di sperimentare la natura interattiva del libro. È fondamentalmente una raccolta di pagine di esempio e quindi omette molte delle spiegazioni. Include pagine di esempio che ti consentono di fare clic sui pulsanti che ti guidano attraverso ogni riga di un programma e di visualizzare i relativi commenti. Altre pagine hanno animazioni video e contenuti audio che puoi controllare. È inclusa una pagina dei contenuti in modo che tu possa vedere cosa contiene l'edizione completa.

Consigliato: