Está en la página 1de 7

ALERTA LUMINOSA

MANUAL DE USUARIO
Johan Gómez
Karol Castro

 Introducción:
En este manual el usuario podrá seguir un paso a paso de como conectar adecuadamente
el circuito para dar funcionamiento a la “Alerta luminosa” el cual consta de un sistema
con el cual se podrá monitorear el voltaje de un sistema de alimentación y activar una
señal luminosa (led) cuando el voltaje este por debajo de 12v, esta herramienta funcionara
con Microchip Studio y Arduino, este sistema consta de dos Arduinos conectados a través
de comunicación serial y uno le enviara la señal al otro, esto se controla por medio de un
código en C el cual se implementara en el entorno de desarrollo Microchip studio.

 Materiales para el desarrollo:

 Dos Arduinos
 Un potenciómetro de 5KΩ
 Un led del color de preferencia (excepto blanco)
 Una resistencia de 190KΩ
 De seis a ocho cables de protoboard o jumpers
 Una protoboard
 Dos cables USB tipo B
 También hay que mencionar que se debe tener instalado el Microchip studio

Imagen de los materiales correspondientes


 Armado del sistema con los materiales:

 Después de tener todos los materiales listos se puede empezar a armar el sistema,
Nombraremos cada uno de los Arduinos de manera diferente esto también es
importante a la hora de saber a cual se le sube que código, entonces serán “Arduino
emisor” y “Arduino receptor”, en la protoboard conectaremos el potenciómetro en
cualquier punto de modo que sus “patas” queden conectadas en diferentes nodos
cada uno de estos nodos estarán conectados por una cables o jumpers al Arduino
emisor, la pata de la mitad del potenciómetro ósea la pata variable ira conectado al
Ao (análogo) y sus otras dos patas estarán conectadas a los 5v y a la tierra (GND)
todo esto al Arduino emisor, después conectaremos los dos Arduino, se conectara un
cable desde el Tx del emisor al Rx del receptor y viceversa, después de conectados
los dos Arduinos conectaremos una de las tierras de cada Arduino de modo que estas
queden en un mismo nodo en la protoboard y a este nodo también se le conecta la
resistencia que ira conectada al ánodo del led y el cátodo ira conectado con un cable
o jumper al pin 13 del receptor.
luego de tener el sistema montado los cables USB conectaran a cada Arduino al
computador para suministrar energía y así mismo poder subir los códigos
correspondientes a cada uno.

Imagen del sistema montado

 Implementación del código en microchip estudio:

o Instalación del programa: Para instalar de manera correcta el programa de


Microchip Studio e iniciar el proyecto para implementar el código correspondiente se
debe seguir el formato que se encuentra en la sección de Anexos; cabe mencionar que
para poder desarrollar bien esta guía se necesita instalar el AVR dude para realizar el
externar tools y desarrollar la parte en la cual se carga el programa en la tarjeta.

o Códigos C:
Para poder subir de manera correcta cada uno de los códigos hay que desconectarlos
del comunicado serial y desconectar uno de los cables USB mientras el otro se sube.

 Código del emisor:

#define F_CPU 16000000UL // Frecuencia del microcontrolador


#define BAUDRATE 9600 // Velocidad de transmisión en baudios
#define BAUD_PRESCALLER (((F_CPU / (BAUDRATE * 16UL))) - 1)

#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>

void USART_Init()

{
// Configurar baud rate
UBRR0H = (uint8_t)(BAUD_PRESCALLER >> 8);
UBRR0L = (uint8_t)(BAUD_PRESCALLER);

// Habilitar transmisor y receptor


UCSR0B = (1 << TXEN0) | (1 << RXEN0);

// Establecer formato del marco: 8 bits de datos, 1 bit de parada


UCSR0C = (1 << UCSZ01) | (1 << UCSZ00);
}

void USART_Transmit(uint8_t data)


{
// Esperar a que el buffer de transmisión esté vacío
while (!(UCSR0A & (1 << UDRE0)));

// Transmitir dato
UDR0 = data;
}

uint16_t read_ADC(uint8_t channel)


{
// Configurar el canal de entrada del ADC
ADMUX = (1 << REFS0) | (channel & 0x07);

// Iniciar conversión
ADCSRA |= (1 << ADSC);

// Esperar a que la conversión se complete


while (ADCSRA & (1 << ADSC));

// Retornar valor del ADC


return ADC;
}

int main()
{
// Inicializar UART
USART_Init();

// Inicializar ADC
ADCSRA |= (1 << ADEN) | (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0); // Habilitar ADC y
configurar preescalador a 128

// Establecer pin A0 como entrada


DDRC &= ~(1 << PC0);

// Variables
uint16_t adc_value;

// Bucle principal
while (1)

{
// Leer valor del ADC del pin A0
adc_value = read_ADC(0);

// Enviar valor del ADC a través de UART


USART_Transmit((adc_value >> 8) & 0xFF); // Envía byte alto
USART_Transmit(adc_value & 0xFF); // Envía byte bajo

// Esperar antes de la próxima lectura


_delay_ms(1000);
}

return 0;
}

 Código del receptor:

#define F_CPU 16000000UL // Frecuencia del microcontrolador


#define BAUDRATE 9600 // Velocidad de transmisión en baudios
#define BAUD_PRESCALLER (((F_CPU / (BAUDRATE * 16UL))) - 1)
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>

void USART_Init()
{
// Configurar baud rate
UBRR0H = (uint8_t)(BAUD_PRESCALLER >> 8);
UBRR0L = (uint8_t)(BAUD_PRESCALLER);

// Habilitar transmisor y receptor


UCSR0B = (1 << TXEN0) | (1 << RXEN0);

// Establecer formato del marco: 8 bits de datos, 1 bit de parada


UCSR0C = (1 << UCSZ01) | (1 << UCSZ00);
}

uint16_t USART_Receive()
{
// Esperar a que se reciba un dato
while (!(UCSR0A & (1 << RXC0)));

// Retornar dato recibido


return UDR0;
}

int main()
{
// Inicializar UART
USART_Init();

// Establecer pin PB5 como salida


DDRB |= (1 << PB5);

// Variables
uint16_t adc_value;

// Bucle principal
while (1)

{
// Recibir valor del ADC enviado desde el otro Arduino
adc_value = (USART_Receive() << 8) | USART_Receive();

// Control del LED basado en el valor recibido


if (adc_value > 512) {
// Encender LED (nivel alto)
PORTB |= (1 << PB5);
} else {
// Apagar LED (nivel bajo)
PORTB &= ~(1 << PB5);
}
}

return 0;
}

o Esquema de Conexiones:

Arduino 1 (M1):
Pin A0: Conectado a un potenciómetro que leerá y variará el voltaje.
Pin TX (pin digital 1): Conectado al pin RX del Arduino 2.

Arduino 2 (M2):
Pin RX (pin digital 0): Conectado al pin TX del Arduino 1.
Pin digital 2: Conectado al LED indicador de alerta.

 Uso de la Herramienta:
1. Encienda el sistema de alimentación.
2. Varie el potenciómetro.
3. El LED indicador de alerta se encenderá si el voltaje cae por debajo de 12V.
4. Si el LED está apagado, el voltaje es igual o superior a 12V.

 ¿De qué manera funciona el sistema?:


El sistema comienza midiendo el voltaje de alimentación a través del Microcontrolador 1
(M1), el voltaje medido se convierte a una señal digital y se envía al Microcontrolador 2
(M2) a través de la interfaz serial, el Microcontrolador 2 (M2) recibe el dato y verifica si
el voltaje es inferior a 12V si el sistema detecta un voltaje inferior a 12V, activa el LED
indicador de alerta, pero si el voltaje es igual o superior a 12V, el LED indicador
permanece apagado.

Recomendaciones:
 Tener en cuenta los COM de los Arduino que se utilicen.
 Verificar con el “clean solution” y luego “build solution” antes de comunicar el
microchip con la tarjeta.
 Verificar siempre que este en “Release”.
 Verificar que los componentes del sistema estén en un estado optimo.
Anexos:

También podría gustarte