COMEDERO AUTOMÁTICO PARA MASCOTAS

COMEDERO AUTOMÁTICO PARA MASCOTAS

comedero automatico mascotas

En esta ocasión traigo un proyecto bastante interesante para todo aquel que tenga mascotas, y es que  ¿ cuantas veces hemos tenido que pedir el favor de que alguien se haga cargo de la alimentación de nuestras mascotas?

Con este sistema podremos modificar el programa de nuestro Arduino, para hacer que eche más o menos comida en función de las necesidades de cada uno, el comedero tiene un sensor ultrasonido que mide la distancia que hay entre el propio sensor y la comida, de esta forma, podemos calcular la cantidad de comida que hay en él, además, podremos añadir funciones en el código para limitar la cantidad que que dosifica al día, o por ejemplo, que dosifique solo en las horas que nosotros queremos.

—COMIENZA—

Estos son los materiales que vamos a necesitar:

-sensor ultrasonico      HC_SR04

-Regulador de voltaje     LM-2596

-Rele de 5 voltios CC

-Servo     SG-5010

-Servo    SG-90

-Contenedor para la comida

ARCHIVO STL PARA IMPRIMIR LAS PIEZAS

-Enlace https://mega.nz/#F!BQ10kYSa

-Clave !sDXt6kpwOfM-Aa5LvGj07g

 

—VÍDEO PARTE 1—

En la primera parte del vídeo montamos la estructura principal e instalamos los servos, también montamos el sin fin para dosificar la comida.

 

—VÍDEO PARTE 2—

En la segunda parte instalamos las patas del comedero, y montamos la electrónica del sistema.

—ESQUEMA ELÉCTRICO—

 

 

 

—CÓDIGO ARDUINO—

 

#include <Servo.h>                                                  // añadimos la librería servo

long tiempo;
int disparador =7;                                                     // declaramos pin8 como trigger – dato de tipo entero largo
int entrada =8;                                                         // declaramos pin7 como echo – dato de tipo entero
float distancia;                                                        // declaramos la variable distancia como dato de tipo decimal simple
Servo miniservo;                                                   //creamos el objeto miniservo para el servo pequeño
int servo = 9;

void setup() {
pinMode(disparador, OUTPUT);                    // declaramos disparador como salida (ultrasonidos)
pinMode(entrada, INPUT);                             // declaramos input como entrada (ultrasonidos)
Serial.begin(9600);                                          // configuramos el puerto serie en 9600 baudios
miniservo.attach(10);                                      // iniciamos el servo pequeño con pin 10
pinMode(9, OUTPUT);
}
void loop() {

digitalWrite (disparador, HIGH);                   // lanzamos un pulso para activar el sensor
delayMicroseconds(10);                                   // lo mantenemos en alto durante 10 milisegundos
digitalWrite(disparador, LOW);                    // desactivamos el pin 7
tiempo =(pulseIn(entrada, HIGH)/2);       // medimos el pulso de respuesta
distancia = float(tiempo * 0.0343);            // multiplicamos el tiempo de respuesta por velocidad del sonido
Serial.println(distancia);                              //imprimimos la respuesta en el puerto serie
delay(1000);                                                    // refrescamos la pantalla cada segundo

if(distancia<12){                                           // si la distancia es menor a Xcm=
digitalWrite(10, LOW);                              // dejamos el servo pequeño parado posición 10º
digitalWrite(9, LOW);                               // ponemos el pin 9 a low para que pare
delay(43200000);
}
else                                                                // si la distancia es mayor a Xcm=
{
miniservo.write(10);                                // Desplazamos a la posición 10º
delay(1500);                                              // esperamos 1 segundo
miniservo.write(160);                             // Desplazamos a la posición 170º
delay(1500);                                             // esperamos 1 segundo
digitalWrite(9, HIGH);                         // Activamos el pin 9 para arrancar el sinfín
}
}

 

//Con este codigo vamos hacer 2 lecturas de comida al día, si el nivel del comedero está muy bajo se pondrá en funcionamiento

hasta llegar al nivel programado.

 

—ALGUNAS FOTOS—