Taula de continguts:

Control de LED mitjançant potenciòmetre amb Arduino Uno R3: 6 passos
Control de LED mitjançant potenciòmetre amb Arduino Uno R3: 6 passos

Vídeo: Control de LED mitjançant potenciòmetre amb Arduino Uno R3: 6 passos

Vídeo: Control de LED mitjançant potenciòmetre amb Arduino Uno R3: 6 passos
Vídeo: Meccano Arduino motors amb botonera 10 botons 4 potenciòmetres 2024, Desembre
Anonim
Control de LED mitjançant potenciòmetre amb Arduino Uno R3
Control de LED mitjançant potenciòmetre amb Arduino Uno R3

Anteriorment, hem utilitzat Serial Monitor per enviar dades al tauler de control, cosa que pot ser útil per conèixer un nou programari. En aquesta lliçó, veurem com canviar la luminància d’un LED per un potenciòmetre i rebre les dades del potenciòmetre al monitor sèrie per veure com canvia el seu valor.

Pas 1: components

- Tauler Arduino Uno * 1

Cable USB * 1

- Resistència (220Ω) * 1

- LED * 1

- Potenciòmetre * 1

- Taula de pa * 1

- Cavalls de pont

Pas 2: Principi

Un potenciòmetre lineal és un component electrònic analògic. Quina és la diferència, doncs, entre un valor analògic i un valor digital? En poques paraules, els mitjans digitals activen / desactiven, nivell alt / baix amb només dos estats, és a dir, 0 o 1. Però l’estat de les dades dels senyals analògics és lineal, per exemple, de l’1 al 1000; el valor del senyal canvia amb el pas del temps en lloc d’indicar un número exacte. Els senyals analògics inclouen els de la intensitat de la llum, la humitat, la temperatura, etc.

Pas 3: el diagrama esquemàtic

El diagrama esquemàtic
El diagrama esquemàtic

Pas 4: procediments

Tràmits
Tràmits
Tràmits
Tràmits

En aquest experiment, el potenciòmetre s’utilitza com

divisor de tensió, que significa dispositius de connexió a tots els seus tres pins. Connecteu el pin central del potenciòmetre al pin A0 i els altres dos pins a 5V i GND respectivament. Per tant, la tensió del potenciòmetre és de 0-5V. Gireu la perilla del potenciòmetre i el voltatge del pin A0 canviarà. A continuació, convertiu aquest voltatge en un valor digital (0-1024) amb el convertidor AD a la placa de control. Mitjançant la programació, podem utilitzar el valor digital convertit per controlar la brillantor del LED de la placa de control.

Pas 1:

Construeix el circuit.

Pas 2:

Baixeu-vos el codi des de

Pas 3:

Pengeu l’esbós al tauler Arduino Uno

Feu clic a la icona Puja per penjar el codi al tauler de control.

Si apareix "Càrrega finalitzada" a la part inferior de la finestra, significa que l'esbós s'ha carregat correctament.

Gireu l’eix del potenciòmetre i hauríeu de veure canviar la lluminositat del LED.

Si voleu comprovar els canvis de valor corresponents, obriu el monitor sèrie i les dades de la finestra canviaran amb la rotació del comandament del potenciòmetre. Aquest experiment també es pot canviar per altres segons vulgueu. Per exemple, utilitzeu el potenciòmetre per controlar l'interval de temps del LED que parpelleja.

Pas 5: Codi

// Controlat per potenciòmetre

// Gira

l’eix del potenciòmetre i hauríeu de veure canviar la lluminositat del LED.

// Lloc web: www.primerobotics.in

/******************************************/

const

int analogPin = 0; // el pin d'entrada analògic s'adjunta a

const

int ledPin = 9; // el led s’adjunta a

int

inputValue = 0; // variable per emmagatzemar el valor provinent del sensor

int

outputValue = 0; // variable per emmagatzemar el valor de sortida

/******************************************/

buit

setup ()

{

Serial.begin (9600); // defineix la sèrie

velocitat de transmissió de 9600

}

/******************************************/

buit

loop ()

{

inputValue = analogRead (analogPin); // llegeix el fitxer

valor del potenciòmetre

Serial.print ("Entrada:"); //imprimir

"Entrada"

Serial.println (inputValue); //imprimir

inputValue

outputValue = mapa (inputValue, 0, 1023, 0, 255); // Converteix de 0-1023 proporcional al nombre d'un nombre de 0 a 255

Serial.print ("Sortida:"); //imprimir

"Sortida"

Serial.println (outputValue); //imprimir

outputValue

analogWrite (ledPin, outputValue); // gira el

LED encès en funció del valor de sortida

retard (1000);

}

/*******************************************/

Recomanat: