Está en la página 1de 7

UNIVERSIDAD TECNOLÓGICA DE HONDURAS

FACULTAD DE INGENIERÍA

ESPACIO FORMATIVO:
MICROCONTROLADORES
MCE-0801

SECCIÓN: 19:20 A 20:59


AULA GRL

PRÁCTICA #2

CATEDRÁTICO: ING. JORGE ALBERTO VARGAS

ESTUDIANTES:

BORIS IVOR FLORES CÁCERES 201610010833


CARLOS ALEJANDRO VILLALVIR SURA 201710010081
LENNY DANIEL AVELAR MALDONADO 201620020098
LYNDA ROSSYBEL VÁSQUEZ ZÚNIGA 201710010719
MIGUEL ANTONIO CALLIZO HERNÁNDEZ 201610010006

LA CEIBA, ATLÁNTIDA, 10 DE FEBRERO DE 2021


Funcionalidad

1. Si el botón 1 es presionado, se muestra una secuencia de


encendido de 1 al 9, donde el led rojo parpadea en los números
1, 4 y 7, también el led verde parpadea en 2, 5 y 8, y por último
el led azul en 3, 6 y 9. Cada número indica la cantidad de
parpadeos a mostrar por led.
2. Si el botón 2 es presionado, se muestra una secuencia de
encendido de 1 al 9 solo números impares, donde el led rojo
parpadea en los números 1 y 7, también el led verde parpadea
en 3 y 9 y por último el led azul en 5. Cada número indica la
cantidad de parpadeos a mostrar por led.
3. Si el botón 2 es presionado, se muestra una secuencia de
encendido de 1 al 9 solo números pares, donde el led rojo
parpadea en los números 2 y 8, también el led verde parpadea
en 4 y por último el led azul en 6. Cada número indica la
cantidad de parpadeos a mostrar por led.
4. El sensor PIR cuando detecta movimiento, activa el buzzer y
ejecuta una secuencia de 5 pitidos y enciende un led rojo, luego
se apaga. Si no detecta presencia permanece apagado.
//Codigo usando funciones:

// 1er. Paso Declara Variables


int Pin_LedRojo = 13;
int Pin_LedVerde = 12;
int Pin_LedAzul = 11;
int Pin_Potenciometro = A0;
int Pin_SensorPIR = 7;
int Pin_Buffer = 6;
int Pin_BotonRojo = 4;
int Pin_BotonVerde = 3;
int Pin_BotonAzul = 2;

int Dato;
int DataPIR;
int boton1, boton2, boton3;

// 2do. Paso, Configuracion


void setup()
{
pinMode(Pin_LedRojo,OUTPUT);
pinMode(Pin_LedVerde,OUTPUT);
pinMode(Pin_LedAzul,OUTPUT);
pinMode(Pin_Buffer,OUTPUT);
pinMode(Pin_Potenciometro,INPUT);
pinMode(Pin_SensorPIR,INPUT);
Serial.begin(9600);

// 3er Paso,Funcionalida
void loop()
{
//CapturaDatos(); //Llamar a funcion para
Obtener Datos
//MadaSerial(); //Esta funcion Manda a Puerto Serial
//ControlPuertos(); //Funcion de control de Puertos
leerBotones();
Deteccion();
delay(1000);
}

// Declarar cuerpo de Funciones

void CapturaDatos()
{
Dato = analogRead(Pin_Potenciometro); //Leo el valor de
Entrada
}

void MadaSerial()
{
//Enviar Informacion mediante el Puerto serial (RS-232)
Serial.print("El valor de entrada es:");
Serial.println(Dato);
}

void ControlPuertos()
{
// Controlar Leds
if(Dato >= 0 and Dato <= 400)
{
digitalWrite(Pin_LedRojo,HIGH);
digitalWrite(Pin_LedVerde,LOW);
digitalWrite(Pin_LedAzul,LOW);
}
else if(Dato > 401 and Dato < 800)
{
digitalWrite(Pin_LedRojo,LOW);
digitalWrite(Pin_LedVerde,HIGH);
digitalWrite(Pin_LedAzul,LOW);
}
else
{
digitalWrite(Pin_LedRojo,LOW);
digitalWrite(Pin_LedVerde,LOW);
digitalWrite(Pin_LedAzul,HIGH);
}
}

void leerBotones(){
boton1 = digitalRead(Pin_BotonRojo);
boton2 = digitalRead(Pin_BotonVerde);
boton3 = digitalRead(Pin_BotonAzul);

if(boton1 == HIGH){
for(int i = 1; i <= 9; i++){
if(i == 1 || i == 4 || i == 7){
for(int j = 1; j <= i; j++){
parpadear(Pin_LedRojo);
}
}
else if(i == 2 || i == 5 || i == 8){
for(int j = 1; j <= i; j++){
parpadear(Pin_LedVerde);
}
}
else if(i == 3 || i == 6 || i == 9)
{
for(int j = 1; j <= i; j++){
parpadear(Pin_LedAzul);
}
}
}
}
else if(boton2 == HIGH){
for(int i = 1; i <= 9; i++){
if(i == 1 || i == 7){
for(int j = 1; j <= i; j++){
parpadear(Pin_LedRojo);
}
}
else if(i == 3 || i == 9){
for(int j = 1; j <= i; j++){
parpadear(Pin_LedVerde);
}
}
else if(i == 5)
{
for(int j = 1; j <= i; j++){
parpadear(Pin_LedAzul);
}
}
}
}
else if(boton3 == HIGH)
{
for(int i = 1; i <= 9; i++){
if(i == 2 || i == 8){
for(int j = 1; j <= i; j++){
parpadear(Pin_LedRojo);
}
}
else if(i == 4){
for(int j = 1; j <= i; j++){
parpadear(Pin_LedVerde);
}
}
else if(i == 6)
{
for(int j = 1; j <= i; j++){
parpadear(Pin_LedAzul);
}
}
}
}
}

void parpadear(int Pin_Led){


digitalWrite(Pin_Led, HIGH);
delay(500);
digitalWrite(Pin_Led, LOW);
delay(500);
}

void Deteccion()
{
DataPIR = digitalRead(Pin_SensorPIR);
Serial.print("El Valor del PIR es: ");
Serial.println(DataPIR);
if( DataPIR == 1)
{
for(int i = 1; i <= 5; i++){
tone(Pin_Buffer, 5000);
delay(250);
noTone(Pin_Buffer);
delay(250);
}
}
else
{
noTone(Pin_Buffer);
}
}

void Parpadeo()
{
digitalWrite(Pin_LedRojo,HIGH);
delay(100);
digitalWrite(Pin_LedRojo,LOW);
delay(100);
}

También podría gustarte