Práctica Dirigida 1



Esta práctica consiste en simular un sistema de alarma que mientras un boton no sea presionado, encienda unas luces led y reproduzca un sonido y al presionar el botón la alarma se apague.

Vídeo de la Práctica Dirigida 1





Código del programa de la Práctica Dirigida 1


int pinRojo=3;   //variable que asigna el pin número 3 a PinRojo
int pinAzul=5;    //variable que asigna el pin número 5 a PinAzul
int piezo=6;       //variable que asigna el pin número 6 a piezo
int boton=2;      //variable que asigna el pin número 2 a boton
int estado=0;     //variable que asigna el estado del boton

void setup() {

pinMode(pinRojo,OUTPUT);  // asigna el pinRojo de Salida
pinMode(pinAzul,OUTPUT);    // asigna el pinAzul de Salida
pinMode(boton, INPUT);    // asigna el boton de entrada
pinMode(piezo,OUTPUT);    // asigna el piezo de Salida
Serial.begin(9600);                //inicializa el monitor serial

}

void loop() {
  while(digitalRead(boton)==0)   //ciclo mientras el boton no sea presionado
 {                                                  // enciende LED y piezo
  digitalWrite(pinRojo, HIGH);
  digitalWrite(pinAzul, LOW);
  delay(500);
  digitalWrite(pinRojo, HIGH);
  digitalWrite(pinAzul, LOW);
  delay(500);
  tone(piezo,300,100);
  delay(1000);
  tone(piezo,450,50);
  delay(1000);
  }
while(digitalRead(boton)==1)    //ciclo mientras el boton sea presionado
{                                               //apaga led y piezo
  analogWrite(pinRojo,LOW);
  analogWrite(pinAzul,LOW);
  Serial.println(digitalRead(boton));  //imprime en monitor serial el valor del boton
 }
}


Reto 1.  

El reto es el siguiente: Controlar que la alarma suene solo cuando detecta movimiento, simular el efecto con la fotocelda. Para eso puedes usar los vídeos que sugeridos a continuación sobre cómo crear la conexión en el Arduino para la fotocelda.


Vídeo del Reto1



Código del Reto 1

int piezo = 9; // Piezo on Pin 9
int ldrPin = 0; // LDR en el pin analogico 0
int ldrValue = 0;  //inicializa valor de LDR
void setup() {
Serial.begin(9600);
pinMode(piezo,OUTPUT);
}
void loop() {
ldrValue = analogRead(ldrPin); //lee el valor del LDR
Serial.print(ldrValue);
if (ldrValue >= 500){   // si el valor de LDR es mayor enciende sonido
tone (piezo,300,100);
}
else
{
 tone (piezo,0,0);
}
delay(500);
}


Problemas técnicos durante el desarrollo de la practica Dirigida 1
1. Primero fue que el led lo colocaba mal ya que como tiene terminales diferentes una larga y otra corta, que van a distintos lugares ya sea resistencia o negativo, la colocaba alrevez.
2. También tuve un problema cuando puse el botón ya que no me di cuenta que hay que colocarle en ambos paneles de la protoboad y lo coloque conectado solo a uno de ellos y no me hacia conexión cuando lo presionaba luego investigue que tiene que estar en medio de ambos paneles para que haga conexión.


No hay comentarios:

Publicar un comentario