Entradas analógicas en Arduino

Proyectos JC
6 Oct 202011:14

Summary

TLDREste vídeo explica cómo leer entradas analógicas en Arduino y controlar el brillo de un LED. Se menciona que las entradas analógicas pueden tomar valores dentro de un intervalo y se usa un convertidor analógico a digital de 10 bits. Se detalla cómo se leen los valores analógicos con la función 'analogRead()', y cómo se convierten a voltajes reales. Además, se muestra un ejemplo práctico utilizando un potenciómetro para controlar la intensidad de luz de un LED conectado a una salida analógica.

Takeaways

  • 🔬 Se discute el tema de entradas analógicas en Arduino y se explica que una señal analógica puede tomar valores dentro de un rango continuo de voltaje.
  • 📏 Se menciona que las placas de Arduino generalmente tienen un convertidor analógico a digital de 10 bits, lo que permite medir valores entre 0 y 5 volts.
  • 🔢 Se indica que los valores digitales obtenidos por una entrada analógica varían entre 0 y 1023, correspondientes a los 10 bits del convertidor ADC.
  • 🔌 Se describe que los pines analógicos en Arduino están numerados desde 0 hasta 5 y están ubicados en una parte específica de la placa.
  • 💡 Se utiliza la función `analogRead()` para leer valores analógicos en Arduino, la cual guarda los datos en una variable.
  • 🔄 Se explica que los pines de entrada analógica en Arduino están configurados por defecto como entradas y no requieren configuración adicional.
  • 📊 Se sugiere el uso del Monitor Serial para verificar los valores leídos por el pin analógico y se menciona el uso del Serial Plotter para visualizar gráficamente los datos.
  • 🔧 Se da un ejemplo práctico utilizando un potenciómetro conectado a una entrada analógica para controlar la intensidad de un LED.
  • 💡 Se muestra cómo convertir los valores leídos (0 a 1023) a voltaje (0 a 5 volts) mediante una simple regla de tres.
  • 🛠️ Se detalla cómo modificar el programa de Arduino para enviar los valores leídos por la entrada analógica a una salida PWM para controlar el brillo de un LED.

Q & A

  • ¿Qué es una señal analógica y cómo se diferencia de una señal digital?

    -Una señal analógica es una magnitud que puede tomar valores dentro de un intervalo continuo, desde un voltaje mínimo hasta un voltaje máximo, mientras que una señal digital solo puede tomar valores discretos.

  • ¿Cuál es la resolución de un convertidor analógico a digital de 10 bits en Arduino?

    -Un convertidor analógico a digital de 10 bits en Arduino proporciona una resolución de 1024 valores distintos, lo que significa que si se trabaja de 0 a 5 volts, devuelve valores enteros entre 0 y 1023.

  • ¿Cómo se calcula el voltaje que está ingresando a un Arduino a partir de los valores lidos por una entrada analógica?

    -Para calcular el voltaje que está ingresando a un Arduino, se multiplica el valor leído por 5 y se divide entre 1023.

  • ¿Cuáles son los pines que se utilizan para las entradas analógicas en Arduino?

    -Los pines utilizados para las entradas analógicas en Arduino se llaman pines analógicos y empiezan desde el pin 0 hasta el pin 5.

  • ¿Qué función se utiliza para leer valores analógicos en Arduino?

    -La función utilizada para leer valores analógicos en Arduino es 'analogRead()', que se asocia con un pin específico dentro de los paréntesis.

  • ¿Cómo se inicializa la comunicación serial en Arduino para mostrar los valores leídos por una entrada analógica?

    -La comunicación serial se inicializa con la función 'Serial.begin()', especificando una velocidad de baudios, como 9600, antes de utilizar la función 'Serial.println()' para mostrar los valores.

  • ¿Qué herramienta de Arduino se puede utilizar para graficar la señal leída de una entrada analógica?

    -La herramienta de Arduino que se puede utilizar para graficar la señal leída de una entrada analógica es el Serial Plotter.

  • ¿Cómo se convierte un valor leído por una entrada analógica en un voltaje específico en Arduino?

    -Para convertir un valor leído por una entrada analógica en un voltaje específico, se multiplica el valor leído por 5 y se divide entre 1023.

  • ¿Cómo se utiliza el valor leído de una entrada analógica para controlar la intensidad de un LED en Arduino?

    -El valor leído de una entrada analógica se utiliza para controlar la intensidad de un LED enviando ese valor a una salida PWM (Pin Digital Modulado en Ancho de Pulso), donde el valor se escala de 0 a 255.

  • ¿Qué cambios se deben realizar en el código de Arduino para leer un potenciómetro y controlar la intensidad de un LED con él?

    -Se deben declarar variables para el pin de entrada analógica, el valor leído y la salida PWM. En el loop, se lee el valor analógico, se escala para usarlo en PWM y se envía a la salida PWM para controlar la intensidad del LED.

Outlines

00:00

🔧 Introducción a las entradas analógicas en Arduino

El primer párrafo explica cómo trabajar con entradas analógicas en Arduino. Se menciona que una señal analógica es una magnitud que puede tomar valores dentro de un rango continuo y se relaciona con el voltaje. Se destaca que Arduino tiene un convertidor analógico a digital de 10 bits, lo que permite medir valores entre 0 y 5 voltios, proporcionando enteros entre 0 y 1023. Se describe cómo leer estos valores usando la función 'analogRead()', y cómo calcular el voltaje real basándose en la regla de 3. Se da un ejemplo de cómo usar un potenciómetro para controlar la intensidad de un LED conectado a una salida analógica. Se detalla el proceso de programación en Arduino, incluyendo la declaración de variables, la configuración de la comunicación serial y cómo mostrar los valores leídos en el monitor serial.

05:00

📊 Verificando la lectura de voltaje con el monitor serial y el plotter de Arduino

El segundo párrafo se enfoca en la verificación de la lectura de voltaje a través del monitor serial y el uso del plotter de Arduino. Se describe cómo se pueden visualizar los valores leídos por el pin analógico conectado al potenciómetro, y cómo estos valores varían al modificar el potenciómetro. Se explica cómo calcular el voltaje real a partir de los valores leídos y se sugiere cambiar la variable 'valor' a un tipo flotante para poder mostrar decimales. Se muestra cómo actualizar el programa para mostrar el voltaje en el monitor serial y se demuestra que los valores varían entre 0 y 5 voltios, que es el límite de los pines de entrada analógica de Arduino.

10:03

💡 Control de brillo de un LED con la entrada analógica

El tercer párrafo trata sobre cómo usar los datos obtenidos de una entrada analógica para controlar la intensidad de un LED. Se describe el proceso de modificar el programa para que los valores leídos del potenciómetro se utilicen para variar la intensidad de luz del LED conectado a una salida PWM (Pin 6). Se explica cómo convertir los valores leídos (de 0 a 1023) a un rango de 0 a 255, que es el soporte de las salidas PWM, y cómo enviar estos valores al pin de salida para controlar el LED. Se demuestra cómo cargar el programa en Arduino y verificar que la intensidad de luz del LED cambia al modificar el potenciómetro, y se menciona cómo se pueden ver los valores enviados a la salida PWM en el monitor serial.

Mindmap

Keywords

💡Arduino

Arduino es una placa de circuito integrado de código abierto, utilizada para crear prototipos de proyectos electrónicos. En el video, Arduino se utiliza como la plataforma principal para leer y procesar señales analógicas, mostrando cómo se conecta a diferentes componentes electrónicos y cómo se programa para realizar tareas específicas, como leer un potenciómetro y controlar el brillo de un LED.

💡Señal analógica

Una señal analógica es una señal que puede tomar cualquier valor dentro de un rango continuo, como los voltajes que varían de un nivel mínimo a un máximo. En el video, se explica que las señales analógicas son medidas en Arduino y se convierten en valores digitales, lo cual es fundamental para entender cómo Arduino interactúa con el mundo físico.

💡Convertidor analógico a digital (ADC)

Un convertidor analógico a digital es un dispositivo que transforma señales analógicas en señales digitales. En el video, se menciona que Arduino tiene un convertidor ADC de 10 bits, lo que permite leer señales analógicas y convertirlas en valores enteros entre 0 y 1023, que luego se pueden usar en programas.

💡Pines analógicos

Los pines analógicos son conexiones en la placa de Arduino que se utilizan para leer señales analógicas. En el video, se indica que estos pines están numerados desde 0 hasta 5 y se emplean para conectar componentes como potenciómetros y sensores que proporcionan señales analógicas.

💡Función analogRead()

La función 'analogRead()' es una función de Arduino que se utiliza para leer un valor analógico de un pin analógico. En el video, se muestra cómo se usa esta función para obtener valores de un potenciómetro conectado a un pin analógico, demostrando cómo se relaciona directamente con la señal analógica que se está leyendo.

💡Potenciómetro

Un potenciómetro es un dispositivo variable resistivo que se usa para controlar la cantidad de corriente que fluye a través de un circuito. En el video, el potenciómetro se conecta a una entrada analógica de Arduino y se usa para generar una señal analógica que varía según la posición del potenciómetro, lo que se mide y se procesa en Arduino.

💡Monitor serial

El monitor serial en Arduino es una herramienta que permite ver los datos que se envían desde la placa a la computadora. En el video, se utiliza el monitor serial para verificar los valores que Arduino lee del potenciómetro, mostrando cómo se pueden supervisar y depurar los datos que se leen de los pines analógicos.

💡Salida analógica

Una salida analógica es una señal que varía continuamente, como la intensidad de luz de un LED. En el video, se muestra cómo se usan los valores leídos de un pin analógico para controlar la salida analógica a un LED, cambiando su brillo de acuerdo con la señal leída.

💡PWM (Modulación de ancho de pulso)

PWM es una técnica utilizada para simular una señal analógica mediante señales digitales. En el video, se menciona que los pines de salida analógica en Arduino usan PWM para controlar la intensidad de un LED, lo que permite variar la cantidad de tiempo que el LED está encendido para crear la ilusión de un cambio en la intensidad.

💡Regla de 3

La regla de 3 es una técnica de aritmética utilizada para resolver problemas de proporciones. En el video, se usa la regla de 3 para convertir los valores lidos por Arduino (de 0 a 1023) a un rango de voltajes (de 0 a 5V), lo cual es crucial para interpretar los datos leídos de los pines analógicos en términos de voltajes.

Highlights

Sesión de Arduino para aprender entradas analógicas.

Señal analógica es una magnitud que toma valores en un rango de voltaje.

Entrada analógica proporciona medición en forma de valor digital.

Arduino tiene un convertidor analógico a digital de 10 bits.

Valores enteros entre 0 y 1023 para entradas analógicas de Arduino.

Arduino detecta variaciones de 0 a 5V en entrada analógica.

Pines analógicos de Arduino van desde 0 a 5.

Función 'analogRead' para leer valores analógicos en Arduino.

Arduino solo recibe 0 a 5V, devuelve valores de 0 a 1023.

Se realiza una regla de tres para obtener valores en voltaje.

Ejemplo con potenciómetro conectado a entrada analógica.

Valores leídos por potenciómetro se usan para controlar brillo de LED.

Programación en Arduino para declarar variables y leer entradas analógicas.

Configuración de comunicación serial en Arduino.

Se verifica lectura de voltaje a través del monitor serial.

Uso del plotter de Arduino para graficar señal recibida.

Conversión de valores lidos a voltaje con multiplicación y división.

Modificación de programa para controlar intensidad de LED con datos de entrada analógica.

Uso de salida analógica (PWM) para controlar brillo de LED.

Prueba de variación en brillo de LED con potenciómetro.

Transcripts

play00:00

saludos a todos en esta ocasión vamos a

play00:02

ver el tema de entradas analógicas en

play00:04

arduino

play00:05

previamente vamos a tomar algunas

play00:07

consideraciones y recordar que una señal

play00:10

la analógica es una magnitud que puede

play00:12

tomar valores dentro de un intervalo

play00:13

desde un voltaje mínimo hasta un voltaje

play00:16

máximo además debemos de tomar en cuenta

play00:18

que una entrada analógica proporciona

play00:21

una medición codificada en forma de un

play00:23

valor digital con un número determinado

play00:25

de bits generalmente las placas de

play00:26

arduino cuentan con un convertidor de

play00:28

analógico a digital de 10 bits lo que

play00:31

significaría que si nosotros estamos

play00:33

trabajando de 0 a 5 bolsas en una

play00:35

entrada analógica de arduino nos estaría

play00:37

proporcionando valores enteros entre 0 y

play00:40

1.023 si nosotros dividimos 5 entre 1024

play00:43

podemos saber que nuestro arduino es

play00:45

capaz de detectar valores o variaciones

play00:48

de hasta 5000 y volts en una entrada

play00:50

analógica así es que los pines que vamos

play00:53

a utilizar para las lecturas analógicas

play00:55

en arduino son justamente los pines que

play00:57

se nombran como analógico e inician

play01:00

desde cero y van hasta a 5 y van a ser

play01:03

los que encontramos en esta parte de

play01:05

nuestra placa de arte

play01:06

y la función que vamos a utilizar para

play01:08

leer valores analógicos en nuestro

play01:10

arduino es la función análoga read con r

play01:14

mayúscula y generalmente esta va a estar

play01:17

asociada a una variable en donde se va a

play01:19

guardar la información capturada por

play01:21

esta función dentro de paréntesis se

play01:23

tiene que indicar el pin que se está

play01:25

utilizando como entrada digital como ya

play01:28

lo habíamos mencionado anteriormente los

play01:30

pines de arduino solamente van a recibir

play01:32

de 0 a 5 volts sin embargo nos van a

play01:34

devolver valores de 0 a 1.023 por lo

play01:37

tanto si se requiere obtener un valor en

play01:40

voltaje de lo que se obtiene como

play01:42

medición se podría realizar simplemente

play01:44

una regla de 3 tomando en cuenta que el

play01:46

valor máximo de entrada son 5 walks y el

play01:49

valor máximo que devuelve arduino son

play01:51

mil 23 solamente realizando una

play01:53

multiplicación y una división

play01:55

multiplicamos el valor que estamos

play01:57

leyendo por 5 y lo dividimos entre mil

play01:59

23 con esto nosotros estaríamos

play02:01

encontrando el voltaje que está

play02:04

ingresando a nuestro arduino en esta

play02:06

ocasión vamos a realizar un ejemplo

play02:08

utilizando un potenciómetro el cual está

play02:11

conectado de esta manera

play02:12

a la salida del potenciómetro la vamos a

play02:14

conectar a una entrada analógica de

play02:17

nuestra arduino una vez que comprobemos

play02:19

que estamos leyendo correctamente el

play02:21

voltaje o los valores ingresados por el

play02:23

potenciómetro en el pin analógico vamos

play02:26

a utilizar esos mismos datos para

play02:27

generar un control de brillo de un led

play02:30

en donde vamos a conectar este led a una

play02:32

salida analógica y por medio de esta

play02:35

entrada analógica nosotros vamos a

play02:37

enviarle esos valores para modificar la

play02:39

intensidad de luz de nuestro led así es

play02:41

que vamos a realizar la programación en

play02:43

arduino

play02:46

una vez estando dentro del programa de

play02:48

arduino lo primero que vamos a hacer es

play02:50

declarar las variables con las que vamos

play02:52

a trabajar en nuestro programa vamos a

play02:53

comenzar a declarar una variable del

play02:55

tipo entero la cual va a tener el nombre

play02:57

de pod y va a estar asociada a la

play03:00

entrada analógica a cero también vamos a

play03:02

declara otra variable del tipo entero la

play03:05

cual se va a llamar valor y en esta

play03:07

variable vamos a guardar la información

play03:09

obtenida por la función análoga read

play03:12

además de que esta variable la vamos a

play03:13

inicializar en cero ya realizado esto

play03:16

dentro de la función voice tú no es

play03:18

necesario realizar alguna configuración

play03:20

ya que por default los pines de entradas

play03:22

analógicas de arduino se configuran como

play03:24

entradas así es que directamente en la

play03:27

función boy loop

play03:29

lo que vamos a hacer es utilizar la

play03:30

función análoga rip y vamos a guardar

play03:33

los valores en la variable valor por lo

play03:36

tanto escribimos valor igual

play03:39

analog rip y dentro de paréntesis vamos

play03:43

a colocar el pie por donde vamos a leer

play03:45

la información en este caso ya tenemos

play03:48

la variable pod asociada al pin 0 por lo

play03:51

tanto escribimos pod

play03:52

cerramos con punto y coma en este

play03:54

momento ya estaríamos realizando la

play03:55

lectura por el pin analógico a 0 y ahora

play03:58

para verificar lo vamos a mostrarlo por

play04:01

medio del monitor serial por lo tanto es

play04:03

necesario inicializar la comunicación

play04:05

serial lo indicamos con serial punto

play04:08

begin a una velocidad de 9.600 y

play04:12

posteriormente dentro de la función

play04:13

boyle vamos a mostrar la información

play04:16

guardada en la variable valor por lo

play04:18

tanto vamos a utilizar la función sería

play04:20

el print ln y dentro de paréntesis vamos

play04:22

a colocar la variable valor bien hasta

play04:25

aquí esto básicamente sería todo vamos a

play04:27

verificar si no tenemos algún error lo

play04:30

guardamos

play04:32

y podemos corroborar que no nos muestra

play04:34

ningún error estamos listos para

play04:36

cargarlo a nuestra placa de arduino bien

play04:39

ya conectamos nuestro arduino a la

play04:40

computadora y vamos a verificar el

play04:42

puerto en el cual está conectado y bueno

play04:45

cabe mencionar que en este vídeo estoy

play04:46

utilizando una placa diferente a los

play04:48

vídeos anteriores y en este caso me está

play04:50

mostrando que está conectado en el

play04:52

puerto con 8 también ya se muestra

play04:54

seleccionada la placa de arduino 1 así

play04:57

es que vamos a cargar el programa

play05:00

correcto verificamos que ya se cargó el

play05:02

programa y nos indica que ya se subió

play05:04

ahora vamos a activar el monitor serial

play05:07

y lo que estamos viendo en pantalla son

play05:09

los valores con respecto al voltaje que

play05:11

está ingresando por el pin analógico a 0

play05:15

ahora voy a variar el potenciómetro y

play05:17

podemos verificar cómo van variando los

play05:19

valores y estos valores tendrían que

play05:21

llegar como máximo hasta 1000 23 si

play05:24

retrocedo nuevamente variando el

play05:27

potenciómetro estos valores tendrían que

play05:29

llegar solamente a 0

play05:32

bien con esto corroboramos que estamos

play05:34

leyendo correctamente los valores

play05:36

ingresados por el puerto analógico de

play05:38

arduino por el acero y en este y es un

play05:42

buen momento para verificar la

play05:44

herramienta que nos proporciona el líder

play05:46

de arduino conocida como sería el

play05:48

plotter en este caso lo que vamos a

play05:50

hacer aquí es verificar

play05:53

como se grafica la señal que estamos

play05:55

recibiendo de arduino podemos verificar

play05:58

que como máximo nuevamente llega hasta

play06:01

1000 23 y el valor mínimo de esta

play06:04

gráfica nuevamente es 0 correcto ahora

play06:08

si nosotros queremos verificar los

play06:10

valores correspondientes al voltaje

play06:12

ingresado en el puerto analógico lo

play06:15

único que tenemos que hacer es realizar

play06:16

una multiplicación y división por lo que

play06:19

voy a generar una nueva variable y esta

play06:21

variable va a ser del tipo flotante para

play06:24

que pueda mostrar el punto decimal y

play06:26

también voy a cambiar la variable valor

play06:27

a un tipo flotante en este caso mi

play06:30

variable va a ser volts haciendo

play06:33

referencia al voltaje y también la voy a

play06:34

inicializar en cero ya que tengo esto

play06:37

dentro de la función voice tube voy a

play06:39

utilizar la variable volts y en este

play06:41

caso simplemente voy a multiplicar la

play06:43

variable valor que es en donde están

play06:45

guardados los valores leídos por el

play06:47

puerto analógico y esta variable la voy

play06:50

a multiplicar por 5 y la voy a dividir

play06:53

entre mil 23 una vez realizado eso ya

play06:56

tendría el valor correspondiente al volt

play06:59

de 0 a 5 volts y ahora lo que voy a

play07:02

hacer es mostrar la variable gold con

play07:05

esto nuevamente vamos a cargar el

play07:06

programa a la placa ya que se cargo

play07:09

ahora vamos a activar el monitor serial

play07:11

para verificar sus valores y

play07:14

corroboramos que nos da un valor de 0

play07:16

volts y ahora modificando y variando

play07:18

nuestro potenciómetro podemos observar

play07:21

que no se está comenzando a marcar hasta

play07:23

ahí iría un volts

play07:26

2

play07:28

y nos daría como máximo hasta 5 volts

play07:31

hasta aquí ya es el tope de el

play07:33

potenciómetro y podemos corroborar que

play07:35

el máximo son 5 volts que es lo que

play07:38

estamos tomando de la fuente que nos

play07:40

proporciona cinco volts de arduino y de

play07:42

la misma manera recordar que los pines

play07:44

de entradas analógicas de arduino

play07:46

soportan hasta 5 volts

play07:50

ahora vamos a utilizar esos mismos datos

play07:52

para poder variar la intensidad de luz

play07:55

de nuestro led que se encuentra ya

play07:56

conectado en una salida de pdm en este

play08:00

caso es el pin 6 vamos a modificar un

play08:02

poco nuestro programa para utilizar los

play08:04

datos obtenidos por la entrada analógica

play08:07

y estos datos los vamos a utilizar para

play08:09

variar la intensidad de luz de nuestro

play08:12

led por lo tanto vamos a dejar la

play08:13

variable pot en la entrada analógica a 0

play08:16

además vamos a dejar como entero la

play08:20

variable valor y vamos a generar una

play08:22

variable del tipo entero que se llame

play08:24

brillo además necesitamos una variable

play08:27

la cual también va a ser de tipo entero

play08:29

y esta variable va a estar asociada a la

play08:32

salida del pedo lo m en el pin 6 por lo

play08:35

tanto voy a poner led wv m y esta va a

play08:39

estar asociada al pin 6 bien nuevamente

play08:42

como estamos utilizando analógicos

play08:43

dentro del set up no es necesario

play08:45

configurar nada y dentro del baile ya

play08:48

tenemos la lectura de la entrada

play08:50

analógica guardando los datos en la

play08:53

variable valor para que nosotros podamos

play08:55

obtener una

play08:56

de pedrolo m por el pin 6 es necesario

play08:59

proporcionar valores entre 0 y 255 como

play09:03

nosotros obtenemos valores de 0 a 1.023

play09:05

lo único que tenemos que hacer es tomar

play09:08

el valor obtenido y ahora lo vamos a

play09:10

dividir entre 4 estos valores los vamos

play09:13

a guardar dentro de la variable brillo

play09:15

ya que tenemos los valores de 0 a 255

play09:18

ahora lo que vamos a hacer es realizar

play09:21

una salida de wm y utilizamos la función

play09:25

analog right y dentro de paréntesis

play09:27

vamos a colocar el ping el cual vamos a

play09:29

utilizar como salida en este caso es led

play09:33

pero lo m

play09:33

asociado al pin 6 y separado por coma

play09:36

vamos a enviar un valor de 0 a 255 y ese

play09:40

valor se encuentra dentro de la variable

play09:42

brillo ya que realizamos esto

play09:44

simplemente vamos a mostrar por pantalla

play09:46

también el valor alojado en la variable

play09:49

brillo y ahora estamos listos para

play09:50

cargar nuestro programa

play09:54

bien podemos observar que nuestro

play09:56

programa se ha cargado correctamente y

play09:58

ahora verifiquemos que al variar la

play10:00

nuestro potenciómetro la intensidad de

play10:02

luz de nuestro led tiene que cambiar

play10:05

aquí estamos aumentando la intensidad de

play10:06

luz y ahora vamos a disminuir esa

play10:09

intensidad

play10:12

y podemos corroborar cómo se va variando

play10:15

correctamente además de esto podemos

play10:18

verificar también por el monitor serial

play10:20

los valores que estamos enviando a la

play10:22

salida del pdm en este caso estamos

play10:24

enviando un valor de 34 y cuando se

play10:27

encuentre completamente encendido

play10:29

estaríamos enviando 255 correcto

play10:33

vamos a variar lo nuevamente

play10:36

vamos disminuyendo poco a poco y

play10:38

verificamos como nuestro led también se

play10:40

va apagando

play10:44

realizamos una prueba más

play10:50

completamente prendido y ahora vamos a

play10:53

disminuir el brillo

play11:07

bien por este vídeo ha sido todo hasta

play11:10

luego

play11:12

el agua

Rate This

5.0 / 5 (0 votes)

Связанные теги
ArduinoEntradas AnalógicasPotenciometroControl de BrilloLEDProgramaciónElectrónicaSensoresHardwareTutorial
Вам нужно краткое изложение на английском?