Componentes electrónicos:

  • Arduino UNO/Genuino 101
  • Sensor ultrasonido
  • Shield
  • Matriz de led

Software:

Resumen:

En el siguiente proyecto programaremos nuestra torre de vigilancia para que cambie su cara dependiendo de si detecta intrusos cerca.

Paso 1:

El primer paso será realizar las conexiones de los diferentes componentes electrónicos.

 

 

Paso 2:

Una vez que realizamos las conexiones, pasaremos a realizar el código para subirlo a nuestra placa.

Paso 3:

Si quieren programarlo directamente en código, les dejamos a continuación el equivalente a los bloques.

#include "LedControlMS.h"
#define Matrices 1
 LedControl matriz=LedControl(12, 11, 10, 1);
//sensor de ultrasonido
long tiempo(int trigger_pin, int echo_pin);
long distancia(int trigger_pin, int echo_pin);
void caritas(int variable_carita);

void setup()
{


  pinMode( 3 , INPUT );

  pinMode( 2 , OUTPUT );

  for (int i=0; i< Matrices ; i++)
{
matriz.shutdown(i,false);
matriz.setIntensity(i,8);
matriz.clearDisplay(i);
}


}


void loop()
{
    if (distancia(2,3) <= 10) {
      caritas(2);
     }else {
      caritas(0);
     }

}


//sensor de ultrasonido
long tiempo(int trigger_pin, int echo_pin)
{
  digitalWrite(trigger_pin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigger_pin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigger_pin, LOW);
  long microseconds = pulseIn(echo_pin ,HIGH);
  return microseconds;
}
long distancia(int trigger_pin, int echo_pin)
{
  long microseconds = tiempo(trigger_pin, echo_pin);
  long distancia;
  distancia = microseconds/29/2;
  if (distancia == 0){
    distancia = 999;
  }
  return distancia;
}
void caritas(int variable_carita)
 {
byte feliz[8]={B00000000,
 B01100011,
 B11000011,
 B10001000,
B10001000,
 B11000011,
 B01100011,
 B00000000};
byte sorprendido[8]={B00000000,
 B00000011,
 B01000011,
 B10101000,
 B10101000,
 B01000011,
  B00000011,
 B00000000};
 byte enojado[8]={B00000000,
 B10000011,
 B01000010,
 B01001000,
 B01001000,
 B01000010,
 B10000011,
 B00000000};
 if(variable_carita==0)
 {
  matriz.setRow(0,0,feliz[0]);
matriz.setRow(0,1,feliz[1]);
 matriz.setRow(0,2,feliz[2]);
  matriz.setRow(0,3,feliz[3]);
 matriz.setRow(0,4,feliz[4]);
  matriz.setRow(0,5,feliz[5]);
 matriz.setRow(0,6,feliz[6]);
  matriz.setRow(0,7,feliz[7]);
 delay(50);
 }
 if(variable_carita==1)
 {
 matriz.setRow(0,0,sorprendido[0]);
  matriz.setRow(0,1,sorprendido[1]);
  matriz.setRow(0,2,sorprendido[2]);
  matriz.setRow(0,3,sorprendido[3]);
  matriz.setRow(0,4,sorprendido[4]);
  matriz.setRow(0,5,sorprendido[5]);
  matriz.setRow(0,6,sorprendido[6]);
  matriz.setRow(0,7,sorprendido[7]);
  delay(50);
 }
  if(variable_carita==2)
 {
  matriz.setRow(0,0, enojado[0]);
  matriz.setRow(0,1, enojado[1]);
  matriz.setRow(0,2, enojado[2]);
  matriz.setRow(0,3, enojado[3]);
  matriz.setRow(0,4, enojado[4]);
  matriz.setRow(0,5, enojado[5]);
  matriz.setRow(0,6, enojado[6]);
  matriz.setRow(0,7, enojado[7]);
delay(50);
}
}

Paso 4:

Una vez que sabemos que nuestro código funciona correctamente, armamos la estructura de nuestro vigilante.

Paso 5:

Por último, los invitamos a que ustedes le agreguen luces, una sirena o frases a nuestro vigilante.