Você está na página 1de 2

Actividad Bloque 4

Susana Mónica Román Nájera

Idea Objeto programado con Arduino

La idea que tengo es construir un sistema automático para alimentar peces, que consistiría
principalmente en un mecanismo que permita abrir y cerrar un recipiente colocado sobre la pecera
de tal manera que suelte el alimento cada determinado tiempo según se programe,

Justificación

Como todo sistema de control posee entre otras ventajas la capacidad de operar en base a
condicionantes y permite también automatizar procesos. Específicamente hablando de las peceras,
de forma básicas no importando la especie de la que se trate requieren de alimentarse y
dependiendo del numero de especies así como del tipo será dicho alimento. La propuesta que
propongo consiste en elaborar un mecanismo capaz de abrir y cerrar el recipiente que contendrá el
alimento para la pecera de tal manera que pueda vaciar en determinado tiempo la cantidad de
alimento dependiendo de la especie y número de peces que tenga la pecera, y de esta forma evitar
que una persona tenga que estar físicamente para alimentarlas.

Propuesta para programarlo

1. Servomotor
2. Recibiente con tapa
3. Soporte para colocar el recipiente
4. Arduino uno

Para la programación del arduino pretendo programar el tiempo en el que se moverá el servomotor
y permita de esta forma abrir el recipiente.

Para lo anterior requiero de la librería Servo.h además de las librerías Time.h y TimeAlarms.h

#include <Servo.h>
#include <Time.h>
#include <TimeAlarms.h>
Servo motorServo;
int ang = 0;
int anguloInicio = 360;
int anguloFin = 1;
int numeroDeTazones = 3;

void setup() {
setTime(0,0,0,9,20,11);
motorServo.attach(9);
pinMode(13, OUTPUT);
Alarm.alarmRepeat(6,0,0, servirComida);
Alarm.alarmRepeat(12,0,0, servirComida);
Alarm.alarmRepeat(18,0,0, servirComida);
Alarm.timerOnce(3, servirComida);
}

void loop() {
Alarm.delay(1000);
}

void servirComida(){
delay(1000);
for(int tazon = 0; tazon < numeroDeTazones; tazon ++){
digitalWrite(13, HIGH);
for(ang = anguloInicio; tazon > anguloFin; ang -= 3){
motorServo.write(ang);
delay(10);
}
digitalWrite(13, LOW);
delay(2000);
}
}
Estoy trabajándolo con un simulador pero para implementarlo requiero de mas tiempo ya que
necesito diseñar el recipiente para que abra/cierre la tapa y permita vaciar la cantidad de alimento
que tenga dicho recipiente.

Você também pode gostar