Dispensador

MATERIALES CANTIDAD 1 1 1 1 6 6 2 TOTAL OBJETO ARDUINO UNO CARGADOR ARDUINO SENSOR ULTRASONICO SERVOMOTOR CABLES MACHO

Views 124 Downloads 1 File size 224KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

MATERIALES

CANTIDAD 1 1 1 1 6 6 2 TOTAL

OBJETO ARDUINO UNO CARGADOR ARDUINO SENSOR ULTRASONICO SERVOMOTOR CABLES MACHO CABLES HEMBRA PLACAS DE CARTON OTROS

VALOR 35000 5000 20000 20000 600 600 10000 10000 101200

ESQUEMA DE CONEXIÓN DISPOSITIVOS ELECTRONICOS DISPENSADOR DE COMIDA

PROGRAMACION DEL DISPENSADOR AUTOMATIZADO DE COMIDA PARA PERRO LA APLICACIÓN QUE SIRVE PARA PROGRAMAR SE LLAMA ARDUINO IDE // Incluímos la librería para poder controlar el servo sin esta libreria no podemos hacer funcionar el servo #include

// DECLARACION DE VARIABLES PARA PINES. EL PIN 8 Y 9 SON PINES QUE VAN CONECTADOS AL SENSOR ULTRASONICO Y EL PIN 13 NOS SIRVE PARA VERIFICAR QUE EL PROGRAMA ESTA CORRIENDO const int pinecho = 8; const int pintrigger = 9; const int pinled = 13; // Declaramos la variable para controlar el servo Servo servoMotor; // VARIABLES PARA CALCULOS unsigned int tiempo, distancia; boolean leerSensor = true;

void setup() { // PREPARAR LA COMUNICACION SERIAL ESPECIFICACIONES MINIMAS PARA QUE FUNCIONE CORRECTAMENTE EL ARDUINO UNO Serial.begin(9600);// ES LA VELOCIDAD DE LA TARJETA 9600 BITS POR SEGUNDO // CONFIGURAR PINES DE ENTRADA Y SALIDA QUE VAN CONECTADOS AL SERVO MOTOR pinMode(pinecho, INPUT); pinMode(pintrigger, OUTPUT); servoMotor.write(0); }

void loop() { servoMotor.attach(11); // ENVIAR PULSO DE DISPARO EN EL PIN "TRIGGER" digitalWrite(pintrigger, LOW); delayMicroseconds(2); digitalWrite(pintrigger, HIGH); // EL PULSO DURA AL MENOS 10 MICROSEGUNDOS EN ESTADO ALTO

delayMicroseconds(10); digitalWrite(pintrigger, LOW); // MEDIR EL TIEMPO EN ESTADO ALTO DEL PIN "ECHO" EL PULSO ES PROPORCIONAL A LA DISTANCIA MEDIDA tiempo = pulseIn(pinecho, HIGH);

// LA VELOCIDAD DEL SONIDO ES DE 340 M/S O 29 MICROSEGUNDOS POR CENTIMETRO // DIVIDIMOS EL TIEMPO DEL PULSO ENTRE 58, TIEMPO QUE TARDA RECORRER IDA Y VUELTA UN CENTIMETRO LA ONDA SONORA distancia = tiempo / 58; // ENVIAR EL RESULTADO AL MONITOR SERIAL Serial.print(distancia); Serial.println(" cm"); delay(200);

// ENCENDER SERVO CUANDO SE CUMPLA CON CIERTA DISTANCIA if (distancia = 8 && leerSensor) { if(leerSensor){ leerSensor = false; } // Desplazamos a la posición 0º servoMotor.write(180); delay(2000); // Desplazamos a la posición 160º servoMotor.write(0); // Esperamos 3 segundo delay(2000); // Desplazamos a la posición 0º servoMotor.write(180); delay(2000);

// Desplazamos a la posición 160º servoMotor.write(0); // Esperamos 3 segundo delay(2000); } }