Prototipos 2: Práctica Dirigida 1

Práctica Dirigida 1

Prototipos Interactivos 2

Práctica paso a paso...



Código en el IDE de Arduino



int pinRojo =5; //el led rojo estará en el pin 5, esto esta mal en el vídeo
int pinAzul =3; //el led azul estará en el pin 3, esto esta mal en el vídeo
int piezo =6; //El piezo esta conectado al pin 6
int boton=2;//El piezo esta conectado al pin 6
int estado =0; //variable no usada


void setup() {
pinMode (pinRojo, OUTPUT); //Se declara el pinRojo como salida
pinMode (pinAzul, OUTPUT); //Se declara el pinAzul como salida
pinMode (piezo, OUTPUT); //Se declara el piezo como salida
pinMode (boton, INPUT); //Se declara el botón como entrada
Serial.begin (9600);//abre puerto serial y permite la entrada y salida de datos
}

void loop() {
while (digitalRead(boton)==0) // cuidado en no colocar por error un ";"
{
digitalWrite (pinRojo, HIGH); //Escribe  un valor HIGH en el pin digital 5
digitalWrite (pinAzul, LOW); //Escribe  un valor LOW en el pin digital 3
delay(1000);  //espera 1 segundo
digitalWrite (pinRojo,LOW );//Escribe  un valor LOW en el pin digital 5
digitalWrite (pinAzul,HIGH ); //Escribe  un valor HIGH en el pin digital 3
delay(1000);
tone (piezo, 300, 100); //comando que envía una frecuencia e intensidad al piezo
delay(100);
tone (piezo, 450, 50);
Serial.println(digitalRead(boton)); //Muestra en el Monitor serial la lectura del botón
delay(100);
}
while (digitalRead(boton)==1)// cuidado en no colocar por error un ";"
{
digitalWrite (pinRojo, LOW); //Escribe  un valor LOW en el pin digital 5
digitalWrite (pinAzul, LOW); //Escribe  un valor LOW en el pin digital 3
Serial.println(digitalRead(boton)); //Muestra en el Monitor serial la lectura del botón
}
}

Solución del reto...




Código en el IDE de Arduino


int pinRojo =5; //el led rojo está en el pin 5
int pinAzul =3; //el led azul está en el pin 3
int piezo =6; //El piezo está conectado al pin 6
int ldrpin =0; //La fotorresistencia está conectada al pin analógico 0
int ldrval =0; //inicialice una la variable ldrval en 0


void setup() {
pinMode (pinRojo, OUTPUT); //Se declara el pinRojo como salida
pinMode (pinAzul, OUTPUT); //Se declara el pinAzul como salida
pinMode (piezo, OUTPUT); //Se declara el piezo como salida
pinMode (ldrpin, INPUT); //Se declara el pin de la fotorresistencia como entrada
Serial.begin (9600); //abre puerto serial y permite la entrada y salida de datos
}

void loop() {
ldrval = analogRead(ldrpin); //carga a la variable ldrval lo que ingresa por el pin analógico 0 en donde está conectada fotorresistencia
Serial.println(ldrval); //Muestra en el Monitor serial la lectura que hace la fotorresistencia
if (ldrval >= 950) // evalúa si el valor leído es mayor o igual a 950
{
digitalWrite (pinRojo, HIGH); //Escribe  un valor HIGH en el pin digital 5
digitalWrite (pinAzul, LOW); //Escribe  un valor LOW en el pin digital 3
delay(50);  //espera 
digitalWrite (pinRojo,LOW );//Escribe  un valor LOW en el pin digital 5
digitalWrite (pinAzul,HIGH ); //Escribe  un valor HIGH en el pin digital 3
delay(50);
tone (piezo, 250, 100); //comando que envía una frecuencia e intensidad al piezo
delay(50);
tone (piezo, 450, 30);
}
    
else 
{
digitalWrite (pinRojo, LOW); //Escribe  un valor LOW en el pin digital 5
digitalWrite (pinAzul, LOW); //Escribe  un valor LOW en el pin digital 3 
}

}

Entre los desafíos de esta unidad esta:

  1. Conectar correctamente la fotorresistencia, ya que tenía invertidos los cables de tierra y 5V, esto lo resolví usando el monitor serie y revisando los datos que se registraban.
  2. Cuando estaba programando el While, por error deje un ";" lo que dio un error lógico en la programación y que no fue visible al compilar el programa
  3. Comprender mejor donde usar las resistencias; si en el lado positivo o negativo, es algo que debo de reforzar junto con la ley de ohm.
URL consultadas:

No hay comentarios:

Publicar un comentario

Página Principal

Álbum de Aprendizaje Computación física:  Prototipos Interactivos (1 y 2) Estimado lector... Este Blog llevará un registro de apren...