0% encontró este documento útil (0 votos)
107 vistas58 páginas

Controla LEDs con Potenciómetro Arduino

Este documento describe una lección sobre reguladores de circuitos. Los estudiantes aprenderán sobre señales analógicas y cómo usar un potenciómetro para controlar la intensidad de los LED en un circuito. Construirán un circuito con LED y Arduino que atenúe los LED cuando se gire el potenciómetro. Aprenderán conceptos como variables, condicionales y comunicación serie para programar el circuito.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
107 vistas58 páginas

Controla LEDs con Potenciómetro Arduino

Este documento describe una lección sobre reguladores de circuitos. Los estudiantes aprenderán sobre señales analógicas y cómo usar un potenciómetro para controlar la intensidad de los LED en un circuito. Construirán un circuito con LED y Arduino que atenúe los LED cuando se gire el potenciómetro. Aprenderán conceptos como variables, condicionales y comunicación serie para programar el circuito.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

8/2/23, 10:16 Student Kit!

REGULADOR
En muchos hogares y edificios de oficinas las luces están controladas por un
regulador que permite atenuar las luces a una configuración que sea cómoda
para el medio ambiente. En esta lección, investigarás las señales analógicas y
cómo se pueden usar para controlar un circuito. Crearás un circuito LED que
atenuará los LEDs cuando gires un dispositivo llamado potenciómetro.

TIEMPO ESTIMADO 90-135 minutos

APRENDEREMOS ACERCA DE:

SENTENCIAS CONDICIONALES, COMUNICACIÓN SERIAL, POTENCIÓMETROS, VARIABLES ,


ANALIZAR DATOS, ALMACENAR INFORMACIÓN

Resumen
La mayoría de los vehículos tienen reguladores en el tablero o panel de control
para controlar el volumen de la radio, la velocidad de los limpiaparabrisas, la
temperatura dentro del coche y qué tan rápido giran los ventiladores que
empujan el aire a través de las rejillas de ventilación. En muchos hogares y
edificios de oficinas las luces están controladas por un regulador que permite
atenuar las luces a una configuración que sea cómoda para el medio ambiente.

En esta lección, investigarás las señales analógicas y cómo se pueden usar para
controlar un circuito. Crearás un circuito LED que atenuará los LEDs cuando gires
un dispositivo llamado potenciómetro. También escribirás un sketch en el
software de Arduino (IDE) que utiliza entradas y salidas analógicas para configurar
el brillo de los LEDs. A medida que programes tu sketch, se te presentarán nuevos
https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 1/58
8/2/23, 10:16 Student Kit!

conceptos de programación, como el uso de variables para almacenar


información, la comunicación serie para enviar información desde la placa
Arduino a la computadora y el uso de condicionales más complejas para crear
ciertos comportamientos en ciertas situaciones. Finalmente, modificarás el
circuito para que actúe como un conjunto de LEDs donde los LEDs se iluminan de
uno en uno según el valor analógico del potenciómetro.

TEACHER NOTES

En esta lección, se presentan los potenciómetros y cómo se pueden usar


para controlar manualmente un circuito. Construirán un circuito LED
donde la placa Arduino UNO R3 controla el brillo de los LEDs en función
de la posición de un potenciómetro. A medida que programen su circuito,
se les presentarán conceptos como variables, sentencias condicionales,
lectura y uso de señales de entrada analógicas y comunicación serie.
Después de que su circuito y sketch estén completos, usarán un
multímetro para investigar más a fondo cómo el potenciómetro controla
los LEDs en el circuito.

TIEMPO EN COMPLETAR LA LECCIÓN

Resumen y Vocabulario 3 minutos

Probar el potenciómetro 5 minutos

Circuito Regulador

Componentes Necesarios 2 minutos

Creación del Circuito 15 minutos

Creación del código - Atenuando los 18 minutos


LEDs

Creación del Código - Comunicación 10 minutos


Serie

Creación del Código - Parpadeando el 15 minutos


Indicador

Probar y Modificar 20 minutos

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 2/58
8/2/23, 10:16 Student Kit!

Recoger 2 minutos

Lección Completada 90 minutos

Si estás completando esta lección en dos clases, los alumnos deberían


finalizar la sección Creación de código - Comunicación Serie al final de
la primera clase.

OBJETIVOS DE APRENDIZA JE

Diferenciarán entre señales digitales y analógicas

Investigarán cómo los potenciómetros afectan al voltaje y la resistencia.

Construirán y experimentarán con un circuito de luz regulable.

Usarán variables de programación para almacenar información.

Explorarán la toma de decisiones en la programación.

Escribirán sentencias condicionales en el código para verificar y controlar


ciertas situaciones.

Utilizarán la comunicación serie para analizar datos e información dentro de


un programa.

Depurarán el código que contenga errores.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 3/58
8/2/23, 10:16 Student Kit!

Vocabulario
Velocidad de Transmisión (Baud Rate) – En comunicación serie, el número
de bits de información transmitidos por segundo entre la computadora y la
placa Arduino UNO R3.

Bit – Un dígito binario (1 o 0); la unidad de datos más pequeña para


dispositivos electrónicos

Byte – Un grupo de ocho bits

Potenciómeter – Un dispositivo eléctrico que tiene un resistor variable; a


menudo se usa para controlar el voltaje en un circuito

Scope – Define dónde se puede usar una variable dentro de un programa de


computadora o sketch Arduino.

Monitor Serie – Una herramienta en el IDE de Arduino que te permite


mostrar información de la placa Arduino UNO R3.

Variable – En programación, un contenedor con un nombre que se utiliza


para almacenar información o datos.

TEACHER NOTES

Hay numerosas actividades de vocabulario que puedes hacer. Sin


embargo, el tiempo para completar estas actividades no se tiene en
cuenta en el plazo de 90 minutos para la lección. Considera estas
actividades como actividades de extensión en clase o como tareas
adicionales que deben completarse por tu cuenta.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 4/58
8/2/23, 10:16 Student Kit!

Probando el Potenciómetro
En esta actividad, usarás un multímetro para investigar cómo un potenciómetro
actúa como un resistor variable.

Componentes Necesarios

1 PLACA DE 1 POTENCIÓMETRO 1 MULTÍMETRO


PROYECTOS

1) Busca un potenciómetro. El potenciómetro tiene dos pines en un lado y un solo


pin en el otro. Es posible que debas colocar una perilla blanca en la clavija del
potenciómetro.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 5/58
8/2/23, 10:16 Student Kit!

Un potenciómetro es un tipo de resistor variable. En otras palabras, se puede


cambiar para no tener resistencia o para tener mucha resistencia. Los
potenciómetros en tu kit tienen un rango de 0 a 10.000 ohmios.

FURTHER NOTES

La mayoría de los potenciómetros están marcados con su rango. Los


potenciómetros en el kit están marcados como potenciómetros de 10K, lo
que significa 10 kilohmios o 10.000 ohmios.

Dentro de un potenciómetro hay un material resistivo y un vástago que se desliza


a lo largo de este material. Cada extremo del material resistivo está conectado a
un pin o terminal. En el siguiente gráfico, estos serían los pines A y B. La
resistencia entre los pines A y B es fija y es la cantidad máxima de resistencia que
un potenciómetro puede agregar al circuito. Para los potenciómetros en tu kit, la
resistencia máxima es de 10 kilohmios.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 6/58
8/2/23, 10:16 Student Kit!

D) Vástago
E) Tira resistiva

Un tercer pin (Pin C en el gráfico) está conectado a un vástago. La resistencia a


través del vástago, o Pin C, depende de la posición del vástago cuando entra en
contacto con el material resistivo. Cuanto más material resistivo deba pasar la
corriente antes de salir del potenciómetro a través del vástago, mayor será la
resistencia a través del Pin C.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 7/58
8/2/23, 10:16 Student Kit!

D) Vástago
E) Tira Resistiva

Entonces, los potenciómetros cambian la resistencia en el circuito. Sin embargo,


los microcontroladores no leen la resistencia; leen el voltaje. En la Lección 3,
usaste un pin digital para leer el voltaje como HIGH o LOW. Entonces, ¿cómo se
consigue que un potenciómetro afecte al voltaje en un circuito? Al conectar el
potenciómetro a una fuente de energía y a tierra. El pin del vástago generalmente
está conectado a un pin analógico en la placa Arduino UNO R3.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 8/58
8/2/23, 10:16 Student Kit!

A) A tierra
B) A positivo
C) Al pin analógico
D) Vástago
E) Tira Resistiva

La ley de Ohm establece que existe una relación inversa entre la corriente y la
resistencia. Cuando una sube, la otra baja. En otras palabras, si la resistencia de
un potenciómetro aumenta, la corriente disminuirá. El microcontrolador mide el
voltaje a través de una entrada analógica y, según el programa, puede cambiar la
forma en que reacciona el circuito.

En los diagramas esquemáticos, los potenciómetros generalmente están


representados por un símbolo que se parece a un resistor con una flecha
apuntando hacia el centro del resistor.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 9/58
8/2/23, 10:16 Student Kit!

2) Conecta un potenciómetro a la placa de prototipado. El lado con dos pines


debe entran en los agujeros 28e y 30e. El otro pin debe estar en el agujero 29g.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 10/58
8/2/23, 10:16 Student Kit!

TEACHER NOTES

El potenciómetro solo debe caben en la placa de prototipado en una


orientación. Si los pines del potenciómetro no se unen a la placa de
prototipado, gira el potenciómetro 90 grados.

3) Configura el multímetro para medir la resistencia. Gira el multímetro para


medir un rango de 20 kilohmios (20K).

4) Conecta las puntas de prueba del multímetro a los terminales del


potenciómetro. Con la punta de prueba roja toca el único pin que está solo. Este
es el terminal del vástago. Con la punta de prueba negra toca uno de los dos
terminales del otro lado del potenciómetro.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 11/58
8/2/23, 10:16 Student Kit!

5) Lentamente gira la perilla. Observa cómo cambia la lectura de la resistencia a


medida que se gira la perilla.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 12/58
8/2/23, 10:16 Student Kit!

TEACHER NOTES

Los estudiantes que trabajan individualmente tendrán dificultades para


realizar esta actividad. Es posible que debas ayudarlos o hacer que se
asocien con otro grupo.

6) Gira la perilla completamente en una dirección y observa la lectura de la


resistencia. Luego gira la perilla completamente en la otra dirección. ¿Cuál es el
rango del potenciómetro?

7) Apaga el multímetro.

TEACHER NOTES

DISCUSIÓN DE CLASE

Después de determinar el rango del potenciómetro, llama a un par de


grupos para compartir lo que midieron para el rango de su
potenciómetro. ¿Cada grupo tenía el mismo rango? Al igual que los
resistores, los potenciómetros tendrán diferentes tolerancias. Aunque
estos potenciómetros están designados a 10K (10 kilohmios), cada
potenciómetro tendrá un rango que es ligeramente mayor o menos que
este rango.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 13/58
8/2/23, 10:16 Student Kit!

Circuito Regulador
En esta actividad, construirás y programarás un circuito que utiliza un
potenciómetro para controlar el brillo de un grupo de LEDs azules.

Componentes Necesarios

1 PLACA DE 3 RESISTOR DE 220 Ω 3 LED AZUL


PROYECTOS

1 POTENCIÓMETRO 1 CABLE DE 1 CABLE DE


ALIMENTACIÓN ROJO ALIMENTACIÓN
NEGRO

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 14/58
8/2/23, 10:16 Student Kit!

1 CABLES DE 1 MULTÍMETRO 1 CABLE USB


CONEXIÓN

FURTHER NOTES

Las bandas de color del resistor de 220 ohmios son:

4 bandas: rojo, rojo, marrón, oro


5 bandas: rojo, rojo, negro, negro, oro

Los potenciómetros a menudo vienen con la perilla separada del resto del
cuerpo del potenciómetro. El cabezal de la perilla debe deslizarse
fácilmente en el orificio en el centro del cuerpo del potenciómetro.

Diagrama Esquemático

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 15/58
8/2/23, 10:16 Student Kit!

Creación del Circuito


Step 1

De la sección anterior, el potenciómetro ya debe estar conectado en la parte


inferior de la placa de prototipado.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 16/58
8/2/23, 10:16 Student Kit!

Step 2

Usa un cable de conexión corto para conectar el orificio 28a al terminal positivo
en el lado izquierdo de la placa de prototipado. Esto conecta el potenciómetro a
la fuente de energía.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 17/58
8/2/23, 10:16 Student Kit!

Step 3

Usa un cable de conexión largo para conectar el orificio 30a al terminal negativo
en el lado derecho de la placa de pruebas. Esto conecta el potenciómetro a tierra.

Step 4

Usa otro cable de conexión para conectar el orificio 29j al pin A0 en la placa
Arduino UNO R3.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 18/58
8/2/23, 10:16 Student Kit!

Step 5

Busca un LED azul. Inserta el ánodo del LED en el orificio 1e. Inserta el cátodo en
el orificio 1f.

Usa un resistor de 220 ohmios para conectar el LED a tierra.

Usa un cable de conexión largo para conectar el LED al pin 11 en la placa Arduino
UNO R3.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 19/58
8/2/23, 10:16 Student Kit!

Step 6

Añade otro LED azul al circuito en la fila 6. Inserta el ánodo en el orificio 6e y el


cátodo en el orificio 6f.

Usa otro resistor de 220 ohmios para conectar el LED a tierra.

Usa un cable de conexión largo para conectar el LED al pin 10 en la placa Arduino
UNO R3. El segundo LED ahora está conectado en el circuito.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 20/58
8/2/23, 10:16 Student Kit!

Step 7

Conecta un tercer LED azul al circuito en la fila 11. Asegúrate de que el ánodo esté
en el orificio 11e y el cátodo esté en el orificio 11f.

Conecta el LED a tierra usando otro resistor de 220 ohmios.

Usa un cable de conexión largo para conectar el LED al pin 9 en la placa Arduino
UNO R3.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 21/58
8/2/23, 10:16 Student Kit!

Step 8

Usa el cable de alimentación negro para conectar el terminal negativo en el lado


derecho de la placa de prototipado a un pin de tierra en la placa Arduino UNO R3.
Recuerda que los pines de tierra están etiquetados como GND.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 22/58
8/2/23, 10:16 Student Kit!

Step 9

Usa el cable de alimentación rojo para conectar el terminal positivo en el lado


izquierdo de la placa de prototipado al pin de cinco voltios en la placa Arduino
UNO R3. El pin de cinco voltios tiene la etiqueta "5V". El circuito ahora debería
estar completo.

FURTHER NOTES

A medida que construyes este circuito, presta mucha atención a la


ubicación de los componentes en la placa de prototipado y por qué estos
orificios funcionan en comparación con otros. Esta será la última lección
donde se mencionan las coordenadas específicas de los orificios. Al
completar esta actividad, deberás tener una buena comprensión de cómo
funciona la placa de prototipado para poder completar su proyecto en la
Lección 5.

Creación del Código - Atenuando los LEDs

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 23/58
8/2/23, 10:16 Student Kit!

Nota: En esta actividad, programarás los LEDs de tu circuito para que se


atenúen y apaguen usando el potenciómetro como dispositivo de entrada.
El pseudocódigo para este programa podría verse así:

1) Crea variables para almacenar información de entrada y salida.


2) Configura los tres pines de Arduino como pines de salida.
3) Comienza el ciclo principal

a) Almacena el valor del potenciómetro como una variable b)


Determina el valor de salida para los LEDs en función de la variable del
potenciómetro. c) Configura el brillo de los LEDs según la variable de
salida.

4) Finaliza el ciclo principal.

FURTHER NOTES

Conceptos de programación respecto a entradas analógicas:

Declaración de variable – Declara el tipo y el nombre de una variable


Asignación de variable – Asigna un valor a una variable
analogRead() – Lee un valor analógico del circuito
analogWrite() – Envía un valor analógico al circuito

Estos conceptos serán revisados:

pinMode() – Declara un pin digital como entrada (INPUT) o salida


(OUTPUT)

1) Inicia el IDE de Arduino en tu computadora o dispositivo.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 24/58
8/2/23, 10:16 Student Kit!

2) En el menú File, elige New. Esto comenzará un nuevo sketch en una nueva
ventana. Puede cerrar a otra ventana de sketch.

Hay dos métodos para ver el IDE de Arduino y las instrucciones de este curso. Usa
el método que mejor te resulte.

Método 1 – Maximiza la ventana Arduino IDE a pantalla completa. Luego, alterna


entre la venta IDE y las instrucciones del curso utilizando la barra de tareas en la
parte inferior de la pantalla.

Método 2 – Organiza la ventana IDE de Arduino y las instrucciones del curso una
al lado de la otra para que pueda ver ambas al mismo tiempo. Ambas ventanas
serán más pequeñas, posiblemente haciendo que sea más difícil de ver, pero la
ventaja es que no tiene que alternar de un lado a otro.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 25/58
8/2/23, 10:16 Student Kit!

3) Guarda el sketch con un nuevo nombre. En el menú File, elige Save As... La
localización del sketch debe ser el Arduino Sketchbook. Si no es así, elige dónde
debes guardar el sketch en la computadora. Nombra el archivo como
"Lesson4_V1_" seguido de tus iniciales. Después haz clic en Save.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 26/58
8/2/23, 10:16 Student Kit!

4) Los LEDs en el circuito están conectados a pines digitales en la placa Arduino


UNO R3. En la Lección 3, aprendiste que los pines digitales se pueden usar como
entrada o salida. Los LEDs del circuito son dispositivos de salida, por lo que los
pines digitales 9, 10 y 11 deben declararse como pines de salida. En la función
void setup(), usa el comando pinMode() para declarar estos pines como OUTPUT.

El potenciómetro es un dispositivo de entrada analógico y está conectado al pin


analógico A0. Todos los pines analógicos en Arduino son pines de entrada. Eso
significa que no tienen que ser declarados como INPUT como lo hacen los pines
digitales.

5) Añade comentarios de códigos a tus sentencias de pines. Recuerda que para


añadir un comentario de código, escribe //, y todo lo que esté después se
ignorará cuando se compile el código. Por ejemplo:

FURTHER NOTES

Añadir comentarios de código es una habilidad importante en la


programación y siempre debe animarse. Se añade específicamente como
ciertos pasos en esta lección. Sin embargo, en lecciones posteriores se
supondrá que estás añadiendo comentarios por tu cuenta sin
instrucciones directas para hacerlo.

6) Verifica tu código y asegúrate de que todos los errores de sintaxis estén


corregidos. Tu void setup() debe estar completa.

7) Para atenuar los LEDs con el potenciómetro, necesitarás una variable para
almacenar el valor del potenciómetro. En programación, piensa en una variable
como un cubo que contiene una pieza de información. Hay varios tipos de
https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 27/58
8/2/23, 10:16 Student Kit!

variables. Por ejemplo, las variables pueden ser números, letras, palabras,
oraciones o simplemente verdadero o falso. Para esta guía, solo utilizarás el tipo
"entero" de variable.

A) Variable B) Datos

Las variables deben declararse antes de que puedan usarse. Cuando se declara
una variable, se crea un lugar de almacenamiento para contener información
dependiendo del tipo de variable que se declara. Las variables también tienen
nombres. Los nombres de las variables pueden ser cualquier combinación de
letras y/o números, siempre que el nombre no sea una palabra clave, comando o
función que ya se utiliza en el IDE de Arduino. Por ejemplo, no puedes usar la
palabra INPUT como nombre de variable porque INPUT tiene otro significado.

Nota: En el IDE de Arduino, los nombres de las variables siempre deberían


aparecer en negro. Si el nombre es naranja o azul, esa palabra es una
palabra clave y no se puede usar como el nombre de la variable. Las
palabras clave son palabras especiales en un lenguaje de programación que

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 28/58
8/2/23, 10:16 Student Kit!

tienen un significado designado. Ejemplos de palabras clave son comando


como pinMode() y parámetros como HIGH.

El scope de una variable determina dónde se puede usar la variable y depende de


dónde la declares. Si una variable se declara fuera de todas las funciones (en
otras palabras, fuera de todas las llaves) es una variable global y se puede usar en
cualquier parte del sketch. Si una variable se declara dentro de una función
(dentro de un conjunto de llaves), es una variable local y solo se puede usar en
esa función.

Nota: Las variables locales solo se pueden usar dentro de la función en la


que se declaran. Eso significa que puede declarar una variable con el mismo
nombre en diferentes funciones del programa.

En general, todos tus sketches para este curso deben seguir un patrón
consistente de primero la declaración de variables, seguido de la función void
setup(), y luego, finalmente, la función void loop().

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 29/58
8/2/23, 10:16 Student Kit!

Ve al principio de tu sketch antes de la función void setup(). Aquí es donde


declararás tu variable para almacenar el valor del potenciómetro. Escribe lo
siguiente al comienzo de tu sketch:

Acabas de declarar una variable entera llama readValue y establecer esta variable
igual a cero. Utilizarás la variable un poco más adelante en el sketch.

FURTHER NOTES

Al declarar una variable, no necesariamente tienes que asignarle un valor.


Por ejemplo, podrías declarar la variable readValue así y asignarle un
valor más adelante en el sketch.

8) Antes de la función void setup(), crea una segunda variable entera llamada
writeValue y ajústala a cero.

La variable writeValue almacenará el valor que controla el brillo de los LEDs.

9) Estás listo para pasar al bucle principal del programa. Lo primero que debes
hacer en la función void loop() es determinar el valor del potenciómetro. El
potenciómetro está conectado al pin de alimentación de 5V, por lo que permite
un rango de voltaje en el pin A0 entre cero y cinco voltios. Este voltaje luego se
convierte en un valor analógico entre 0 y 1.023. Después de que el voltaje se
convierte, los valores analógicos se pueden usar dentro del programa.

CÓNOCE MÁS: Bits y Bytes

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 30/58
8/2/23, 10:16 Student Kit!

Para determinar el valor analógico del potenciómetro, puedes usar el comando


analogRead(pin). Este comando establece el valor entre 0 y 1.023, dependiendo
de la tensión que entra en un pin analógico del circuito. Ningún voltaje tendrá un
valor analógico de 0. Un total de cinco voltios que entran al pin tendrá un valor de
1.023.

Escribe este comando en la función void loop():

Este comando almacena el valor analógico del potenciómetro en la variable


readValue que declaraste en la parte superior del sketch.

Si aún no lo has hecho, añade un comentario de código a esta línea que explique
lo que hace.

COMPRUEBA PARA ENTENDER

¿Cuál es la diferencia entre una señal analógica y una señal digital?

¿Cuál es la diferencia entre un comando digitalRead() y un comando


analogRead()?

FURTHER NOTES

COMPRUEBA PARA ENTENDER - RESPUESTAS

¿Cuál es la diferencia entre una señal analógica y una señal digital?

Respuesta: Una señal analógica tiene un rango de valores entre 0 y


1.023. Una señal digital es high o low, a veces denominada encendido
o apagado.

¿Cuál es la diferencia entre un comando digitalRead() y un comando


analogRead()?

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 31/58
8/2/23, 10:16 Student Kit!

Respuesta: Un comando digitalRead() devuelve un valor que es HIGH o


LOW, mientras que un comando analogRead() devolverá un valor
entre 0 y 1.023.

10) Verifica tu código y depura si es necesario.

11) Los pines digitales de la placa Arduino UNO R3 realmente no pueden enviar un
valor analógico al circuito. Recuerda que los pines digitales solo pueden activarse
o desactivarse. Sin embargo, hay una manera de simular valores analógicos en
pines digitales utilizando un proceso llamado modulación por ancho de pulsos
(PWM). Los pines digitales que incluyen la funcionalidad PWM están marcados con
una tilde de eñe (~). Es por eso que usa los pines 9, 10 y 11 en la placa Arduino
UNO R3.

CÓNOCE MÁS: Modulación por Ancho de Pulsos

Los pines digitales que usan PWM para simular señales de salida analógicas
tienen una resolución de 8 bits. Esto es diferente del convertidor analógico a
digital de 10 bits utilizado por los pines analógicos. Por lo tanto, los pines PWM

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 32/58
8/2/23, 10:16 Student Kit!

tienen un rango de 256 porque 2^8 = 256. Recuerda que ocho bits es igual a un
byte. Eso significa que los pones PWM pueden enviar solo un valor entre 0 y 255 a
los LEDs.

Nota: Para obtener más información sobre PWM, ve a


https://www.arduino.cc/en/Tutorial/PWM

Esto lleva un pequeño problema. El rango de entrada del potenciómetro es de 0 a


1.023, pero el rango de salida a los LEDs es de 0 a 255. ¿Cómo puedes resolver la
diferencia en estos dos rangos? La respuesta - puedes escribir un comando para
dividir el readValue (del potenciómetro) por 4 y almacenar este valor como
writeValue. Escribe este comando como la siguiente línea de la función void
loop():

De esta ecuación, si la variable readValue es 1.023, la variable writeValue será


255.

Nota: Aunque 1.023 ÷ 4 = 255,75 solo la parte entera del número se


almacena en la variable porque la variable se declaró como una variable de
tipo entero (int).

FURTHER NOTES

Los espacios generalmente no tienen un significado importante en el IDE


de Arduino. Como tú quieras usarlos es una preferencia personal. Por
ejemplo, cualquiera de estos comandos se compilará y hará que la placa
Arduino UNO R3 realice la misma tarea:

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 33/58
8/2/23, 10:16 Student Kit!

12) Para configurar el brillo de los LEDs, usa el comando analogWrite(pin, valor).
En este comando, pin es el número de pin digital que admite PWM y el valor estará
entre 0 y 255. Necesitarás tres comandos analogWrite(), uno para cada LED. El
valor que se envía al LED es el que se almacena en la variable writeValue. Añade
un comando analogWrite() para cada LED a la función void loop(). Añade
comentarios de código para cada línea. Cuando termines, tu sketch debería verse
similar a esto:

13) Verifica tu código y depura si es necesario.

14) Conecta la placa Arduino UNO R3 a la computadora a través del cable USB.

15) En el IDE de Arduino, ve al menú Tools y luego pasa el ratón sobre Port.
Selecciona el puerto asociado a su placa Arduino UNO R3.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 34/58
8/2/23, 10:16 Student Kit!

16) Haz clic en el botón Upload para subir el sketch a tu placa.

17) Después de que el sketch se haya subido, gira el potenciómetro para ajustar
el brillo de los LEDs. Si el brillo de los LEDs no cambia, depura el código y repite el
Paso 16.

Nota: La depuración a menudo requiere verificar tanto el código como el


circuito en busca de errores. Si el código se compila correctamente y parece
ser correcto y los LEDs no cambian como se esperaban, quizás haya un
problema en el circuito. Verifica que todos los componentes y cables de
conexión tengan buenas conexiones con la placa de prototipado

18) Haz clic en Save para guardar tu sketch.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 35/58
8/2/23, 10:16 Student Kit!

Inventos Destacados
El Teléfono
Hoy en día, las personas dan por sentado tipos de comunicaciones que eran
desconocidos para el mundo hace solo un par de décadas. La revolución de
Internet que se está experimentando ahora tiene ecos de los avances del pasado
en tecnología de comunicación, desde la invención de la escritura hasta la
creación de la imprenta. Sin mencionar la invención del teléfono por Alexander
Graham Bell en 1876.

En la época de Bell, ya era posible enviar mensajes mecanografiados a largas


distancias a través de cables con máquinas de telégrafo eléctrico. Sin embargo,
estas máquinas no podían enviar sonidos. Bell creía que sería posible crear
máquinas que pudiesen hacerlo.

Primero, usaría una máquina para convertir un sonido en una señal eléctrica.
Esta señal se transmitiría a lo largo de un cable a otra máquina con un conjunto

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 36/58
8/2/23, 10:16 Student Kit!

de láminas de metal. Las láminas vibrarían y reproducirían el sonido. El sonido


que deseaba traducir era, por supuesto, la voz humana.

Bell experimentó con esta idea. Con el tiempo dio a luz al primer teléfono
moderno. El debut del teléfono dejó a muchos en el público sin impresionarse. Se
preguntaban por qué deberían enviar su voz cuando podían enviar un mensaje
escrito. Aunque los teléfonos revolucionaron la vida en el hogar y en la oficina, los
estadounidenses modernos podrían volver a estar de acuerdo con escepticismo
inicial; el estadounidense promedio ahora envía y recibe 94 mensajes de texto por
día.

Gran parte de la historia de la innovación en torno a la telefonía y la informática


se relaciona con la eficiencia. En los años 1930 y 40, el matemático Claude
Shannon pensó mucho en simplificar los circuitos. Su imaginación había sido
capturada por el trabajo de un matemático anterior que creía que la lógica podía
representarse como cálculos matemáticos.

Shannon se dio cuenta de que se podían organizar interruptores eléctricos para


realizar estos cálculos, llamado álgebra booleana. Con sus técnicas, se hizo
posible simplificar las redes de circuitos telefónicos. Esto también ayudó en el
desarrollo de circuitos informáticos.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 37/58
8/2/23, 10:16 Student Kit!

A lo largo de las décadas, la complejidad interna de los sistema informáticos


creció y creció. Y con la creación de redes informáticas, es decir, computadoras
conectadas entre sí y compartiendo información, la complejidad externa de los
sistema informáticos también creció. En la década de 1980, un científico inglés
llamado Tim Berners-Lee trabajó en el CERN, un laboratorio de física en Suiza.
CERN tuvo un pequeño problema. Los científicos habían acumulado muchos
datos de su investigación, pero todo estaba almacenado en sistema informáticos
separados. Los científicos que trabajan con un sistema no tenían una manera fácil
de compartir información con los científicos que trabajan con un sistema
diferente.

Usando el lenguaje de marcas de hipertexto (HTML), Berners-Lee creó páginas de


información que podrían vincularse a otras páginas en redes de ramificación, o
webs. Se pueden acceder a las páginas almacenadas en una ubicación en
terminales de computadora separados. La tecnología para conectar
computadoras ya existía. Esta web facilitó el uso de las conexiones.
https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 38/58
8/2/23, 10:16 Student Kit!

En pocos años, la web creció de una red que solo unos pocos científicos utilizaron
hasta el fenómeno mundial que es hoy.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 39/58
8/2/23, 10:16 Student Kit!

Creación del Código - Comunicación


Serie
El monitor serie es una herramienta útil integrada en el IDE de Arduino que
permite que la placa Arduino UNO R3 se comunique directamente con la
computadora. El monitor serie permite que la placa muestre datos, texto y otra
información relacionada con el sketch. Es especialmente cómodo cuando se
trabaja con señales analógicas. Con las señales digitales, puedes saber qué es un
valor de entrada verificando si un LED está encendido o apagado. Pero una
entrada analógica puede tener 1.024 niveles diferentes. No se puede saber en qué
nivel se encuentra una señal analógica simplemente mirando el brillo de un LED.
El monitor serie te permite ver información que normalmente no podrías ver.

En esta actividad, aprenderás a enviar datos e información al monitor serie para


que puedas ver los valores de lectura y escritura que se utilizan para controlar el
brillo de los LEDs.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 40/58
8/2/23, 10:16 Student Kit!

TEACHER NOTES

En esta actividad, continuarás con el circuito de atenuación de los LEDs y


tu sketch. Añadirás comandos que permitan que la placa Arduino UNO R3
se comunique y muestre datos en tiempo real a medida que cambia la
entrada del potenciómetro. Estos conceptos te ayudarán:

Serial.begin() – Inicia el monitor serie


Serial.print() y Serial.println() – Emite datos desde la placa Arduino
UNO R3 al monitor en serie de la computadora

1) Si es necesario, abre tu sketch Lesson4_V1 en el IDE de Arduino.

2) Guarda el sketch con un nuevo nombre. En el menú File, elije Save As... Asigna
un nombre al archivo "Lección4_V2_" seguido de tus iniciales. Haz clic en Save.

3) Organiza tu ventana de sketch Lesson4_V2 y esta ventana de la forma que más


te convenga.

4) Para usar el monitor serie, debes añadir una sentencia que le indique a la placa
Arduino UNO R3 que inicie el monitor serie. Esta sentencia generalmente va en la
sección del void setup() del sketch.

El comando para iniciar el monitor serie en un sketch es Serial.begin(baudios)


donde baudios es la cantidad de información que se puede transferir entre la
computadora y la placa Arduino UNO R3 por segundo. Las velocidades de
transmisión o baus rates comunes son 9.600 bits por segundo y 115.200

bits por segundo.


En tu función void setup(), escribe el comando:

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 41/58
8/2/23, 10:16 Student Kit!

Nota: Ten en cuenta las mayúsculas en este comando. No olvides el punto y


coma al final.

5) El comando Serial.print() se usa para mostrar datos almacenados en variables


y otro texto en el monitor serie. Para mostrar lo que está almacenado en una
variable, escribe el nombre de la variable dentro de los paréntesis. Para mostrar
otro texto, coloca el texto que deseas mostrar entre comillas dentro los
paréntesis.

Para comenzar, debes mostrar el valor que entra en la placa Arduino UNO R3
desde el potenciómetro. Recuerda que este valor es un valor analógico que se
almacena en la variable readValue. Al final de tu sketch antes de la llave de cierre
de la función void loop(), escribe el comando:

6) El monitor serie te permite imprimir múltiples trozos de información en la


misma línea. Por ejemplo, puedes imprimir tanto la variable readValue como la
variable writeValue en la misma línea. Sin embargo, antes de añadir el comando
para imprimir los datos almacenados en la variable writeValue, es una buena
idea incluir un separador que separe las variables readValue y writeValue. Bajo
el primer comando Serial.print(), escribe este comando:

Esto añadirá dos puntos con un espacio a un lado después de que se imprima la
variable readValue. Cada vez que desees imprimir texto que no esté almacenado
en una variable en el monitor en serie, el texto debe estar entre comillas.

7) También necesitas imprimir el valor almacenado en la variable writeValue. Este


es el valor que se envía a los LEDs para controlar su brillo. Debido a que este es el

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 42/58
8/2/23, 10:16 Student Kit!

último bit the información para imprimir en el monitor serie, usarás un comando
diferente para mostrar esta variable: Serial.println(). Antes de la llave de cierre
para la función void loop(), escribe el comando:

Este comando es similar al comando Serial.print(), excepto que añade un salto de


línea al final. Eso significa que lo siguiente que imprimas en el monitor serie se
imprimirá en una nueva línea.

8) Añade un breve delay() antes del corchete de cierre. Ese delay hace un par de
cosas. Reduce la velocidad del bucle principal, lo que hace que la pantalla del
monitor serie sea más legible. Además, si envías mucha información al monitor
serie, podrías estar enviando datos más rápido de lo que el monitor serie puede
imprimir. Esto hace que el puerto se llene de datos. Un breve delay ayuda a
administrar el flujo de información. Un delay de 100 milisegundos debería estar
bien para comenzar. Puede ajustar este delay más tarde si es necesario.

9) Verifica tu código y depura si es necesario. Tu código debería ser similar a esto:

10) Haz clic en el botón Upload para subir el sketch a tu placa Arduino UNO R3.

11) Haz clic en el botón Serial Monitor en la esquina superior derecha del IDE de
Arduino. El monitor serie se abrirá en una nueva ventana.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 43/58
8/2/23, 10:16 Student Kit!

12) En la esquina inferior derecha, asegúrate de que la velocidad en baudios está


establecida en 9600. Usa el menú desplegable para cambiar la velocidad en
baudios si es necesario. Haz clic en Clear Output para limpiar la ventana del
monitor serie.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 44/58
8/2/23, 10:16 Student Kit!

13) Gira el potenciómetro para ajustar el brillo de los LEDs. Observa cómo
cambian los valores que se muestran en el monitor serie a medida que giras el
potenciómetro. Recuerda que el primer valor es readValue y es el valor analógico
del potenciómetro. El segundo valor es writeValue, que se envía a los LEDs para
controlar su brillo.

Además, mira tu placa Arduino UNO R3. Deberías ver parpadear el LED TX. Este
LED parpadea cada vez que se envían datos desde la placa a la computadora.

14) Haz clic en Save para guardar tu sketch.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 45/58
8/2/23, 10:16 Student Kit!

Creación del Código - Parpadeando el


Indicador
A menudo, cuando escribes código, deseas que sucedan ciertas cosas en ciertas
situaciones y que sucedan otras cosas en otras situaciones. En esta actividad,
aprenderás a usar una sentencia condicional para parpadear los LEDs cuando
alcancen su brillo máximo.

TEACHER NOTES

En esta actividad, modificarás tu sketch de atenuación de LEDs para hacer


que los LEDs parpadeen cuando están en su máximo brillo. Explorarás
sentencias condicionales (sentencias if) y cómo se pueden ejecutar
comandos en ciertas situaciones. Estos conceptos te ayudarán:

if(condición){} else {} – estructura condicional if-else

Revisarás estos conceptos:

if (condition){} – Forma básica de una declaración condicional


digitalWrite() – Envía una señal digital al circuito
delay() – Pausa el sketch/programa por un tiempo designado

1) Si es necesario, abre tu sketch Lesson4_V2 en el IDE de Arduino.

2) Guarda el sketch con un nuevo nombre. En el menú Archivo, elije Save As...
Asigna un nombre al archivo "Lección4_V3_" seguido de tus iniciales. Haz clic en
Save.

3) Organiza tu ventana de sketch Lesson4_V3 y esta ventana de la forma que más


te convenga.

4) En la Lección 3, aprendiste sobre las sentencias condicionales, a veces


llamadas, sentencias if. Estas sentencias ejecutan ciertas líneas de código cuando
https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 46/58
8/2/23, 10:16 Student Kit!

una condición es verdadera. Recuerda que la forma básica de una sentencia


condicional se ve así:

if (condición) {

comando a ejecutar cuando la condición sea verdadera }

Recuerda que la variable readValue es un valor analógico entre 0 y 1.023


determinado por el potenciómetro. Los LEDs son más brillantes en el extremo
superior de este rango. Crea una condición para los LEDs cuando la variable
readValue sea mayor o igual a 1.000. Después de los tres comandos
analogWrite() en su función void loop() y antes de los comandos Serial.print(),
escribe la siguiente instrucción if:

Nota: Asegúrate de que la parte de la condición de la sentencia if se


encuentra entre paréntesis. Además, asegúrate de que la sentencia if tenga
tanto una llave de apertura como una de cierre. La llave de cierre puede
estar en una línea diferente.

5) Añade un comentario de código a la sentencia if para describir la condición que


se está probando. Aquí hay un ejemplo:

FURTHER NOTES

Te preguntarás por qué usamos 1.000 como umbral para controlar el


parpadeo en lugar del valor máximo de 1.023. Aunque el potenciómetro
tiene una potencia de 0 a 10.000 ohmios, el rango de resistencia real será

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 47/58
8/2/23, 10:16 Student Kit!

ligeramente diferente según la tolerancia del potenciómetro. Por ejemplo,


podría ser más como 10 a 9.800 ohmios. Al igual que los resistores, cada
potenciómetro es ligeramente diferente. Al establecer el umbral para
parpadear en 1.000 o más, crea un rango de valores analógicos donde
ocurrirá el comportamiento de parpadeo.

Si no puedes hacer que tus LEDs parpadeen, revisa el monitor serie para
ver cuál es el valor analógico máximo para tu potenciómetro. Es posible
que necesiten reducir el umbral en tu sentencia condicional de 1.000 a
900.

6) Verifica y depura tu código si es necesario.

7) Dentro de las llaves de la sentencia if es donde pondrás los comandos que


quieres que sucedan cuando la condición es verdadera. En tu caso, quieres hacer
que los LEDs parpadeen cuando el valor del potenciómetro sea superior a 1.000.

Recuerda que en la Lección 3, utilizaste el comando digitalWrite() para encender


y apagar los LEDs conectados a los pines de salida de la placa Arduino UNO R3.
Puedes usar el mismo comando aquí para apagar los LEDs. Dentro de las llaves
de tu sentencia if, añade un comando digitalWrite() para apagar los LEDs
conectados a los pines 9, 10 y 11.

Nota- Observa cómo los comandos dentro de las llaves de la sentencia if


están sangrados. La sangría te ayuda a identificar fácilmente los comandos
que se ejecutan cuando la condición es verdadera.

Añade comentarios de código a tus comandos digitalWrite().

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 48/58
8/2/23, 10:16 Student Kit!

Nota: Además de usar digitalWrite(pin, LOW) para apagar los LEDs,


también puedes usar el comando analogWrite(pin, 0). Cualquiera de los
comandos tendrá exactamente el mismo efecto en los LEDs.

8) Para que los LEDs parpadeen, deben permanecer apagados por un corto
tiempo antes de volver a encenderse. Añade un comando delay() después de los
tres comandos digitalWrite() dentro de las llaves para la sentencia if. Establece el
delay para 250 milisegundos (un cuarto de segundo).

Añade un comentario de código para la sentencia de delay.

9) Ahora que los LEDs están apagados, debes añadir comandos para que los LEDs
se vuelvan a encender. Usa tres comandos más de digitalWrite() para volver a
encender los LEDs.

Nota: Copia los tres comandos digitalWrite() que apagan los LEDs y pegalos
después de los delays de 250 milisegundos. Luego, cambia el estado de LOW
a HIGH para cada uno de los nuevos comandos.

Añade comentarios de código para los tres nuevos comandos digitalWrite().

10) Para finalizar el parpadeo, las luces deben permanecer encendidas por un
corto tiempo. Añade otro delay de 250 milisegundos antes de la llave de cierre de
la sentencia if. Añade un comentario de código para este delay. Tu sentencia if
debería ser similar a esta:

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 49/58
8/2/23, 10:16 Student Kit!

FURTHER NOTES

Es posible usar los comandos digitalWrite() y analogWrite() en los


mismos pines. Lo que se elija solo depende de cómo desees controlar el
voltaje que se envía a través de cada pin de la placa Arduino UNO R3.
Recuerda a los alumnos que analogWrite() solo funciona en pines
digitales que tienen el símbolo de modulación por ancho de pulso (~).

11) Verifica y depura tu código si es necesario.

12) Además de la sentencia condicional básica, existen sentencias complejas que


te permiten evaluar más de una condición. Una condicional if-else ejecutará un
conjunto de comandos si la condición es verdadera y ejecutará el conjunto de
comandos "else" si la condición es falsa. La estructura de una condicional if-else
se ve así:

if (condición) {

comando a ejecutar si la condición es verdadera

else {

comando a ejecutar si la condición es falsa

En tu sketch, quieres que los LEDs parpadeen si la variable readValue es mayor


que 1.000. De lo contrario (else), quieres establecer el brillo del LED en función de
la variable writeValue.

Añade un else al código después de la sentencia if. Asegúrate de incluir tanto la


llave de apertura como la de cierre.

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 50/58
8/2/23, 10:16 Student Kit!

13) Cerca de la parte superior de tu función void loop() están tus tres sentencias
analogWrite() que establece el brillo de los LEDs. Quieres que estas instrucciones
se ejecuten solo si la variable readValue es menor o igual a 1.000. Corta y pega
estas sentencias entre la llave de apertura y la de cierre de la parte else{} de su
sentencia if-else.

TEACHER NOTES

DISCUSIÓN DE CLASE

Pregunta a los alumnos si la parte else{} del sketch es realmente


necesaria.

El sketch funcionará sin la sección else{}; sin embargo, es menos eficiente.


Si el valor del potenciómetro es mayor que 1.000 entonces los LEDs se
configurarán al valor analógico antes de la sentencia if, y luego se
configurarán en HIGH y LOW dentro de la sentencia if. Al incluir la parte
else{}, se crea una situación en la que solo se ejecuta un comportamiento
(los LEDs se atenúan o parpadean)

14) Verifica y depura tu código si es necesario. Tu sketch debería ser similar a


esto:

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 51/58
8/2/23, 10:16 Student Kit!

15) Haz clic en el botón Upload para subir el sketch a tu placa de la Arduino UNO
R3.

16) Haz clic en el botón Serial Monitor en la esquina superior derecha del IDE de
Arduino. El monitor serie se abrirá en una nueva ventana.

17) Gira el potenciómetro para ajustar el brillo de los LEDs. ¿Parpadean los LEDs
cuando el potenciómetro está al máximo? Si no, vuele a tu sketch y depúralo.
Cuando termines, vuelve a cargar tu sketch en tu Arduino e inténtalo de nuevo.

18) Haz clic en Save para guardar tu sketch.

Probar y Modificar
Las matrices de LEDs a menudo se usan como indicadores para mostrar el valor
de algo. Cuantos más LEDs se iluminen, mayor será el valor. Por ejemplo, muchos
mezcladores de audio usan matrices de LEDs para mostrar el volumen de un
instrumento o micrófono (estos se llaman medidores de unidades de volumen o
vúmetro). Cuanto más fuerte es la señal de audio, más LEDs se encienden. En esta
actividad, modificarás el sketch de tu indicador parpadeante y programarás los
LEDs para que actúen como una matriz de indicadores. Necesitarás tu cuaderno
de actividades del estudiante para esta actividad.

TEACHER NOTES

En esta actividad,escribirás un pseudocódigo para crear una matriz de


LEDs que ilumina un LED a la vez en función del valor del potenciómetro.
Luego modificarás el código de la actividad anterior para programar la
matriz. Necesitarás tu cuaderno de actividades para esta actividad.
Durante esta actividad, revisarás estos comandos:

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 52/58
8/2/23, 10:16 Student Kit!

if(condición 1){} else if(condición 2){} – condicionales complejas en el


formato if-else if

1) En tu cuaderno de actividades, busca la página 11 para la Lección 4.

2) En la Lección 3, aprendiste a escribir pseudocódigo. Recuerda que el


pseudocódigo es como un esquema para un programa o sketch y está escrito en
un lenguaje cotidiano que puedes comprender fácilmente. En un momento,
escribirás un pseudocódigo para crear una matriz de LEDs que indiquen el valor
del potenciómetro. Los LEDs deberán atenuarse y encenderse uno a uno a
medida que giras el potenciómetro. Pero antes de escribir tu pseudocódigo,
piensa sobre estas preguntas y discútelas:

¿Cómo sabrá la placa Arduino UNO R3 el valor del potenciómetro?

¿Cómo puedes controlar el brillo de cada LED?

¿Cómo puedes hacer que todos los LEDs se apaguen si el potenciómetro está
completamente girado hacia un lado?

¿Cómo puedes encender un LED si es valor del potenciómetro es bajo?

¿Cómo puedes encender dos LEDs si el valor del potenciómetro está en un


rango medio?

¿Cómo puedes encender los tres LEDs si el valor del potenciómetro es alto?

¿Cuándo deberías usar analogWrite() y cuándo deberías usar digitalWrite()?

3) Ahora que has discutido las preguntas anteriores, escribe un pseudocódigo


para tu matriz de indicadores LEDs en el espacio previsto en tu cuaderno de
actividades.

TEACHER NOTES

Las respuestas clave para página de la Lección 4 del cuaderno de


actividades del estudiante se encuentra en la página 11 en el cuaderno de

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 53/58
8/2/23, 10:16 Student Kit!

actividades para profesores.

4) Para hacer la transición de tu pseudocódigo a un sketch para la placa Arduino


UNO R3, comenzarás con tu sketch anterior de la Lección 4. Abre tu sketch
Lesson4_V3 en el IDE de Arduino.

5) Guarda el sketch con un nuevo nombre. En el menú File, elige Saves As...
Asigna un nombre al archivo "Lesson4_V4_" seguido de tus iniciales. Haz clic en
Save.

6) Organiza tu ventana del sketch Lesson4_V4 y esta ventana de la manera que


mejor te convenga.

7) Para encender cada LED en orden según el valor del potenciómetro,


necesitarás múltiples sentencias. Puedes hacer esto usando varias sentencias if.
Por ejemplo:

Si el valor del potenciómetro en inferior a 300, apaga todos los LEDs.

Si el valor del potenciómetro está entre 300 y 600, enciende los primeros
LEDs.

Si el valor del potenciómetro está entre 600 y 900, enciende los primeros dos
LEDs.

Si el valor del potenciómetro es superior a 900 enciende todos los LEDs.

Sin embargo, el uso de múltiples sentencias condicionales como esta requiere


que Arduino UNO R3 compare el potenciómetro con dos valores en algunos
casos. Además, hace que el código sea ineficiente porque cada condición debe ser
probada cada vez a través del ciclo.

Para simplificar y optimizar el código, podemos usar una estructura condicional


llamada declaración if-else if. La estructura de una sentencia if-else if se ve así:

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 54/58
8/2/23, 10:16 Student Kit!

En una estructura if-else if, se prueba la primera condición. Si es cierto, ejecuta


los comandos asociados y omite todas las demás condiciones (incluso si algunas
de esas condiciones son verdaderas). Si la primera condición es falsa, prueba la
segunda condición en la estructura. Si la segunda condición es verdadera, ejecuta
los comandos asociados con esta condición y luego omite las otras condiciones.
Si es falso, prueba la tercera condición y así sucesivamente. En algunas casos, es
posible tener múltiples condiciones verdaderas. Por lo tanto, el orden de las
condiciones es importante. Solo la primera condición verdadera ejecutará sus
comandos asociados.

Modifica tu sketch cambiando tu sentencia if a lo siguiente:

Esta condicional apagará los tres LEDs si el valor del potenciómetro es inferior a
300. Puedes usar los comandos digitalWrite() para apagar completamente los
LEDs.

8) La siguiente condición a probar es cuando el potenciómetro está en el rango


de bajo a medio. Esto es cuando quieres que se encienda el primer LED. Usa un
valor de 600 como umbral para esta condición. Debajo de su declaración if, añade
una condición else if que diga lo siguiente:

Aquí quieres que el primer LED se atenué en función del valor del potenciómetro,
por lo que analogWrite() se utiliza para encender el primer LED.

9) Verifica y depura tu código si es necesario.

10) El siguiente rango es el rango medio a alto. Establece el valor umbral del
potenciómetro a 900 para esta condición. Añade otra declaración if similar a esta:

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 55/58
8/2/23, 10:16 Student Kit!

De nuevo, analogWrite() se usa para atenuar los dos primeros LEDs en función
del valor del potenciómetro.

11) Termina la estructura condicional if-else if con una sección final else. Esta
sección contiene los comandos que se ejecutan si ninguna de las otras
condiciones es verdadera. En otras palabras, los comandos de else {} se
ejecutarán si readValue del potenciómetro es mayor o igual a 900. En este caso,
el valor es alto, por lo que los tres LEDs deberían estar encendidos. Su otra
sección debería verse así:

FURTHER NOTES

Es posible que quieras señalar que para valores del potenciómetro


mayores o iguales a 300, múltiples condiciones de la estructura if-else if
son verdaderas. Por ejemplo, cuando el valor del potenciómetro es 1200,
las tres primeras condiciones son verdaderas. Sin embargo, solo se
ejecutan los comandos asociados con la primera condición verdadera. Se
omiten las otras condicionales verdaderas, incluida la porción del else al
final de la estructura.

CÓNOCE MÁS: Estructuras Condicionales

12) Verifica y depura el código si es necesario. Si tienes errores en el código,


regresa y compáralo con el código de ejemplo que se muestra en los Pasos 7-11.

FURTHER NOTES

El código para este sketch debería ser similar a este:

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 56/58
8/2/23, 10:16 Student Kit!

13) Haz clic en el botón Upload para subir el sketch a tu Arduino UNO R3.

14) Haz clic en el botón Serial Monitor en la esquina superior derecha del IDE de
Arduino. El monitor serie se abrirá en una nueva ventana.

15) Gira el potenciómetro para el control de la matrices de LEDs. ¿La matriz


funciona correctamente? Si no, depura el código y vuelve a subir el código.

Nota: La depuración a menudo requiere verificar tanto el código como el


circuito en busca de errores. Si el código se compila correctamente y parece
ser correcto y los LEDs no cambian como se esperaban, quizás haya un
problema en el circuito. Verifica que todos los componentes y cables de
conexión tengan buenas conexiones con la placa de prototipado.

16) Haz clic en Save para guardar tu sketch.

17) Cierra todas las ventanas del IDE de Arduino.

18) Limpia tu área de trabajo y guarda todo el equipo en sus cajas


correspondientes.

FURTHER NOTES

ACTIVIDADES DE EXTENSIÓN

Divisor de voltaje – Usa el multímetro para investigar la diferencia


entre los dos terminales que están en el mismo lado del
potenciómetro. Debes notar que los terminales son opuestos. Cuando
el potenciómetro se gira hacia un lado, un terminal leerá cerca de
cero ohmios mientras que el otro leerá cerca de 10 kilohmios. Cuando
el potenciómetro se gira completamente en la otra dirección, los
valores de cero y 10 kilohmios cambian de terminal. Cuando el
potenciómetro está en el medio, la resistencia en ambos terminales
https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 57/58
8/2/23, 10:16 Student Kit!

debe sumar hasta 10 kilohmios. Debido a esta característica, los


potenciómetros a veces se denominan divisores de voltaje. Rompen el
voltaje total del potenciómetro en dos voltajes diferentes que pueden
ser utilizados por diferentes partes del circuito.

Serial Plotter – El Serial Plotter es otra herramienta útil para visualizar


los datos que se envían al ordenador desde la placa Arduino UNO R3.
Esta herramienta traza datos en un gráfico. Cada repetición de la
función void loop() crea otro conjunto de punto de datos en el
gráfico.Ejecuta tu sketch. Cierra la ventana del Monitor Serie porque
no puedes tener el Monitor Serie y el Serial Plotter ejecutándose al
mismo tiempo. En el menú Herramientas del IDE, selecciona Serial
Plotter. Observa el gráfico mientras giras el potenciómetro y cambias
el brillo de los LEDs

https://studentkit.arduino.cc/studentkit/module/student-kit/lesson/dimmer-switch 58/58

También podría gustarte