PRACTICA UC_PARTE_1
PRACTICA UC_PARTE_1
PRACTICA UC_PARTE_1
2. En el siguiente ejemplo, vamos a encender y a apagar un LED conectado a RB0 cada medio segundo.
3. Secuencia de encendido y apagado de LEDS. El ejercicio siguiente, consiste en activar y desactivar los LEDS que
están conectados al puerto uno a uno empezando desde el puerto RD0 hasta llegar al RD7 en forma indefinida
4. Manejo de pulsadores, consiste en prender un LED al accionar un pulsador 1 (P1) y apagar el LED al accionar el
pulsador 2 (P2).
5. Semáforo: Puedes construir un semáforo utilizando LEDs y un microcontrolador ATmega328P. Utiliza los pines
de salida para controlar los LEDs que representan las luces roja, amarilla y verde del semáforo. Programa el
microcontrolador para que cambie el estado de los LEDs de acuerdo con una secuencia predefinida.
6. Desarrolle el programa para que los LEDS conectados al puerto B se activen y desactiven según indica la secuencia
en la tabla (control de tiempo de parpadeo mediante potenciómetro)
7. Efecto de círculo (Circular Effect): Conecta varios LEDs dispuestos en forma de círculo a los pines de salida.
Utilizando el microcontrolador, programa una secuencia en la que los LEDs se enciendan y apaguen sucesivamente
alrededor del círculo, creando un efecto de movimiento circular de la luz.
8. Efecto de desplazamiento (Shift Effect): Conecta una serie de LEDs a los pines de salida del microcontrolador.
Utilizando un bucle, puedes hacer que la secuencia de iluminación se desplace a lo largo de los LEDs, creando un
efecto de desplazamiento visual. Puedes controlar la velocidad y dirección del desplazamiento ajustando los
tiempos de espera en el código.
9. En el circuito de la figura, el LED D1 se activa al pulsar P1, D2 con P2 y D3 con P3. Cualquier LED puede
activarse si los tres están apagados. El pulsador P4, sirve para apagar el LED que esté prendido.
10. Realizar el programa para simular el funcionamiento de dos conmutadores de tres vías. Al pulsar cualquiera de los
pulsadores el estado del LED cambia
11. Escribir un programa que lea el valor de un pulsador conectado al pin PD0 del ATmega32 y que cambie el estado
de un LED conectado al pin PB0 cada vez que se presione el pulsador. El programa debe usar la sentencia
SWITCH para evaluar el valor del pulsador y encender o apagar el LED según corresponda.
12. Crear un sistema de alarma que utilice un sensor PIR conectado al pin PD2 del ATmega8 y que active un zumbador
conectado al pin PB1 cuando detecte movimiento. El programa debe usar la sentencia SWITCH para activar o
desactivar el zumbador según el valor del sensor PIR2.
13. Desarrollar un juego de memoria que utilice cuatro botones conectados a los pines PD0-PD3 del ATmega16A y
cuatro LEDs conectados a los pines PB0-PB3. El programa debe generar una secuencia aleatoria de LEDs y pedir
al usuario que la repita presionando los botones correspondientes. El programa debe usar la sentencia SWITCH
para verificar si el usuario presionó el botón correcto o no.
14. Implementar un conversor de unidades que utilice un teclado matricial de 4x4 conectado a los pines PC0-PC7 del
ATmega328P y que muestre el resultado en un LCD de 16x2. El programa debe permitir al usuario ingresar una
unidad de medida (cm, m, km, in, ft, mi) y un valor numérico y convertirlo a otra unidad de medida elegida por el
usuario. El programa debe usar la sentencia SWITCH para realizar la conversión adecuada según la unidad de
medida ingresada.
15. Configurar un display de 7 segmentos de cátodo común en el puerto B de un ATmega328P. Mostrar los números
del 0 al 9 con un retardo de 1 segundo.
16. Conectar un sensor de temperatura a ADC0. Leer la temperatura, convertir el valor a centenas, decenas y unidades,
y mostrarlo en un display de 3 dígitos de 7 segmentos.
17. Diseñar un contador de 0 a 59 que se incremente cada segundo y lo muestre en un display de 2 dígitos de 7
segmentos.
21. Contador de eventos con 7 segmentos: Desarrolla un contador de eventos que utiliza un display de 7 segmentos
para mostrar el número de eventos registrados. El microcontrolador AVR debe permitir restablecer el contador a
cero mediante un botón o comando.
22. Leer la tensión de un potenciómetro conectado al pin ADC0 de un microcontrolador ATmega328P. Mostrar el
valor leído en el puerto B.
23. Leer la señal de un sensor de temperatura conectado al pin ADC1. Calcular la temperatura en Celsius según la
curva del sensor y mostrarla en el puerto C.
24. Leer dos sensores de luz conectados a ADC0 y ADC1. Calcular la suma de las dos lecturas y mostrar el resultado
en el puerto D.
25. Leer un arreglo de 8 fotoresistores conectados a los pines ADC0 al ADC7. Encontrar cuál fotoresistor tiene la
máxima intensidad de luz y mostrarlo en el puerto B.
26. Diseña un programa en CodeVisionAVR para un microcontrolador AVR que lea una señal analógica de un sensor
de temperatura conectado al pin ADC0. Luego, convierte esta señal en grados Celsius y muestra el resultado en
un display de 7 segmentos.
27. Escribe un código en CodeVisionAVR para un microcontrolador AVR que lea una señal analógica de un
potenciómetro conectado al pin ADC1. A continuación, utiliza la lectura del ADC para controlar la velocidad de
un motor DC conectado a uno de los pines de salida del microcontrolador.
28. Configurar una pantalla LCD 16x2 en modo de 4 bits usando el puerto D de un ATmega328P. Mostrar el texto
"Hola Mundo!" en la primera línea.
29. Conectar un sensor de temperatura a ADC0. Leer la temperatura y mostrarla en la primera línea de la pantalla
LCD en formato "Temp: 25 C".
30. Mostrar en la primera línea el texto "Contador:". En la segunda línea mostrar un contador de 0 a 999 con
actualización cada segundo.
31. Conectar 5 pulsadores a 5 pines del puerto B. Mostrar en la primera línea de la pantalla el número de pulsador que
se presiona en tiempo real.
32. Mostrar una interfaz para introducir dos números usando las teclas de la pantalla LCD. Leer los números, sumarlos
y mostrar el resultado en la segunda línea.
33. Diseñar un sistema de medición de velocidad que utilice un sensor óptico conectado al pin PD2 del ATmega32 y
que calcule la velocidad de un objeto que pasa frente al sensor usando el timer0. El programa debe mostrar la
velocidad en km/h en una pantalla LCD 16X2 conectada a los pines PC0-PC7.