PRÁCTICA DIRIGIDA 2

CURSO PROTOTIPOS INTERACTIVOS 2: 

PRÁCTICA DIRIGIDA 2


Esta semana se construyó un prototipo consistente en una simulación de puerta automática que abre y cierra al detectar o no obstáculos gracias a un sensor ultrasónico. Este dispositivo está basado en el funcionamiento de puertas automáticas que podemos observar en los supermercados y los malls de hoy día.

Para comenzar la práctica en la primera parte se aprendió a realizar la conexión de un sensor ultrasónico a la tarjeta Ardino UNO, y posteriormente se programó para que funcionara. En la siguiente imagen podemos observar la programación desarrollada:




En el vídeo 1 podemos observar el resultado y cómo al activar el monitor serial se verifica la medición de distancias realizada por el sensor ultrasónico:




En la segunda parte de la práctica se incorpora un buzzer (o piezo) a la tarjeta protoBoard, con el fin de que éste emita una señal zumbante cuando el sensor ultrasónico indica la proximidad de llegada de la persona.  La programación desarrollada fue la siguiente:



Como puede observarse en el vídeo 2, efectivamente al acercar un obstáculo al sensor ultrasónico y cumplir la condición de proximidad, el buzzer activa una señal audible:




Una vez superada la segunda etapa procedemos a incorporar un servo motor, el cual actúa de la siguiente forma: Cuando el detector ultrasónico detecta un obstáculo cercano, no solo activa el sonido del buzzer, sino que también activa el servo motor, simulando que abre la puerta. Si el obstáculo desaparece, el servo motor vuelve el giro a su posición original. En esta etapa la programación de Arduino fue la siguiente:





Una vez realizada la programación, se corre el programa en la tarjeta Arduino UNO y el resultado podemos observarlo en el vídeo 3:




La última etapa de la práctica fue para incorporar una mini pantalla LCD que permitiera hacer la función de monitor de distancia del sensor ultrasónico. Se siguieron las instrucciones de conexión del circuito electrónico para la pantalla y se añade a la programación los comandos necesarios para que esta muestre como bienvenida un rótulo que diga "PRONIE" y luego proceda a mostrar en números la distancia detectada por el sensor ultrasónico. La programación puede observarse en la siguiente imagen: 



Y en el vídeo 4 podemos observar el resultado ya con la mini pantalla LCD:




Para finalizar se nos propone el reto de lograr acoplar una luz led para que cuando el prototipo accione el servo motor, la luz encienda (en posición de abierto), o la luz apague (en posición de cerrado). Además de esto el reto debe incorporar un sonido musical que sea emitido por el buzzer cuando la puerta se abre, a manera de bienvenida.

Este reto me dio mucha dificultad, ya que no pude entender cómo incorporar una música al piezo para que sonara. Sólo pude incorporar la luz led para que encendiera al simular que abre la puerta y logré variar los tonos para que sonaran más fuerte y más grave de lo que estaba programada.

Se desarrolla la siguiente programación en Arduino:

#include <LiquidCrystal.h>
#include <Servo.h>
Servo servo1;
LiquidCrystal lcd(8,9,4,5,6,7);
int led = 10;
int v=1;
int puertoservo =3;
int trig = 13;
int echo = 12;
int piezo = 2;
int grados;
int tmp=0;
int pulsominimo=650;
int pulsomaximo=2250;
float disCalculada;
void setup()
{
  lcd.setCursor(4,1);
  lcd.print("PRONIE");
  lcd.noBlink();
  delay(2000);
  servo1.attach (puertoservo,pulsominimo, pulsomaximo);
   pinMode (trig, OUTPUT);
   pinMode (echo, INPUT);
   pinMode (piezo, OUTPUT);
   pinMode (led, OUTPUT);
   Serial.begin (9600);
}
void loop()
{
  disCalculada = calcularDistancia ();
  grados=servo1.read();
  Serial.print("Grados :");
  Serial.println (grados);
  delay (200);
  Serial.println ("-----------");
  Serial.print ("cm :");
  Serial.println (disCalculada);
  delay (200);
  if (disCalculada < 100)
  {
    tmp=100;
    tone (piezo, 600, 100);
    digitalWrite (led, HIGH);
  }
  else
  {
    tmp=0;
    digitalWrite (led, LOW);
  }
  delay (10);
  servo1.write (tmp);
  lcd.setCursor(1,1);
  lcd.print("Distancia ");
  lcd.println(disCalculada);
}
int calcularDistancia ()
{
  long distancia;
  long duracion;
  digitalWrite (trig, LOW);
  delayMicroseconds (4);
  digitalWrite (trig, HIGH);
  delayMicroseconds (10);
  digitalWrite (trig, LOW);
  duracion = pulseIn (echo, HIGH);
  duracion = duracion/2;
  distancia = duracion/29;
  return distancia;
  }


Y en el vídeo 5 se puede observar el resultado obtenido:



Espero que al avanzar en la comprensión de la programación de Arduino, logre incorporar los sonidos que se nos solicitó.




PROTOTIPOS INTERACTIVOS 1: PRÁCTICA DIRIGIDA 2


Esta semana realizamos la práctica dirigida 2, en la cual teníamos dos retos por cumplir. A continuación los resultados obtenidos.

Práctica 1: Control de Neopixeles con Potenciómetro.

Esta práctica consistía en utilizar un potenciómetro que hiciera cambiar los colores de los neopixeles de la placa Playground. Para ello se utilizó el circuito Playground, la placa Protoboard, un potenciómetro y juegos de cables con lagartos y con conectores machos. La programación utilizada fue la siguiente:



A continuación el vídeo donde se observa cómo los neopixeles cambian de color al girar el potenciómetro:




Práctica 2: Activación de neopixel con pulsador

La práctica 2 del día de hoy consistió en encender en neopixel # 4 de la circuit Playground, utilizando un pulsador instalado en la tarjeta Protoboard. Los dispositivos utilizados fueron la tarjeta Playground, la tarjeta Protoboard, un pulsador y juegos de cables con lagartos y conectores machos. La programación diseñada fue la siguiente:



Y el vídeo que muestra el resultado obtenido a continuación:



Hasta aquí las actividades correspondientes a la práctica dirigida 2.

rca.

Comentarios

Entradas populares