Este documento presenta un curso sobre sistemas embebidos utilizando Arduino. Incluye temas de teoría, programación y prácticas con Arduino Uno y Mega. Las prácticas cubren el parpadeo de LEDs, rotación de bits, interruptores, eliminación de rebotes y contadores visualizados en LEDs. El documento también lista los materiales necesarios como Arduinos, LEDs, displays y más.
6. MODALIDAD
Encendido y Apagado.
Rotación de bits.
Traslado de bits.
Interruptores y Switchs.
Rebotes
Contadores
Luis David Narváez
7. PARPADEO DE LED’s
Enunciado: Encender y apagar
3 LEDs conectados a los pines
13, 12 y 11 con una
temporización de 500ms,
empleando las diferentes formas
de configurar los pines en
Lenguaje C.
Luis David Narváez
INICIO
Declaración
Salidas
ON/OFF Salidas
Delay
ON/OFF Salidas
FIN
11. ROTACIÓN DE BITS
Luis David Narváez
Enunciado: Se trata de
hacer encender 12 LEDs
de manera consecutiva, sin
que permanezcan
encendidos dos de ellos
simultáneamente. Los
LEDs están conectados a
los PINES DIGITALES
15. ENTRADAS DE DATOS
Los dispositivos de entrada de datos encontramos con
frecuencia en sensores de alarmas (magnéticos, de
movimiento, infrarrojos, etc.), sensores digitales
industriales (sensores digitales de proximidad, finales de
carrera, pulsadores de marcha y paro de motores, etc.).
Rebotes en un pulsador
El problema en la utilización de estos dispositivos son los
rebotes que aparecen en el momento en que cambian de
posición, cuya duración depende de la fuerza con que se
presione este dispositivo, y a su estructura interna.
Luis David Narváez
17. ELIMINAR REBOTES
Para eliminar este problema se suele realizar
por dos medios:
Hardware mediante el empleo de un flip-flop, un
condensador, etc.
Software utilizando los retardos de cerca de
10ms que es lo que normalmente una persona
tarda en presionar y soltar una tecla.
Luis David Narváez
18. Enunciado:
Se desea controlar una
lámpara desde un punto
diferente por medio de
un interruptor. La
lámpara está conectada
al PIN 13 y el interruptor
al PIN 2.
Luis David Narváez
PRÁCTICA
INICIO
Declaración
Entradas y Salidas
Leer Entrada
Delay
FIN
Entrada
Activada ¿?
ON Salida
OFF Salida
SI
NO
21. Enunciado:
Se desea controlar el
encendido y apagado
de un LED mediante
un pulso tanto para el
ON y el OFF.
Luis David Narváez
PRÁCTICA
INICIO
Declaración Entradas,
Salidas, Tiempos de Rebote,
Variables de Estado
Leer Entrada
Negación Var
Estado
FIN
Entrada
Activada ¿?
Delay
SI
NO
OFF Salidas,
Clear Var Estado
Leer Entrada
Entrada
Activada ¿?
Var Estado Salida
NO
SI
23. Enunciado:
Realizar un programa que permita
visualizar, el estado (on/off) de 4
switchs conectados en los pines
2,3,4,5 mediante 4 diodos LED
conectados en los pines
10,11,12,13. La conexión de los
switchs se realizará empleando
resistencias pull-down, de tal
forma que, cuando un switch esté
abierto el microcontrolador
reciba un “0L”. En esta posición el
LED correspondiente estará
apagado. Luis David Narváez
PRÁCTICA
INICIO
Declaración
Entradas y Salidas
Leer Entrada
Delay
FIN
Entrada
Activada ¿?
ON Salida
OFF Salida
SI
NO
24. DESARROLLO
En este circuito, los switchs, al estar en posición OFF
(abiertos), sus pines están conectados a través de la
resistencia de 10KΩ a GND, dando un estado lógico bajo
(0L), en esa posición el LED correspondiente debe estar
apagado, entonces se requiere el valor leído en el pin
digital para sacar un estado lógico alto (1L) que encienda
el LED.
La misma lógica se aplicará en la posición ON (cerrado).
Luis David Narváez
27. Enunciado:
Se desea realizar un
programa que cuente los
pulsos provenientes de un
pulsador (CONTADOR)
conectado al pin 2 y los
visualice en forma binaria
en LEDs conectados a los
pines 10,11,12,13.
Luis David Narváez
PRÁCTICA
INICIO
Declaración Entradas,
Salidas, Tiempos de Rebote,
Variables de Conteo
Visualizar
FIN
Pulso
Detectado ??
Contador ++
SI
NO
OFF Salidas,
Clear Contador
Delay
28. DESARROLLO
En este caso vamos a utilizar las funciones de
verificación del estado de un pin del puerto digital del
Arduino.
bitRead(var, index);
E incrementar la variable de conteo
Contador++
Luis David Narváez