Está en la página 1de 19

Materia: “Mecanismos”

Alumnos: Arturo Barrera / Karla Félix Dispensador de Alimento para Mascotas

INDICE
1
PROBLEMÁTICA: ...................................................................................................... 2

OBJETIVOS: .............................................................................................................. 2

ALCANCES: ............................................................................................................... 2

DESCRIPCIÓN DE MATERIALES: ............................................................................ 3

DIBUJOS: ................................................................................................................... 4

FOTOS:....................................................................................................................... 5

CODIGOS: .................................................................................................................. 7

PROYECTO FINAL
Materia: “Mecanismos”

Alumnos: Arturo Barrera / Karla Félix Dispensador de Alimento para Mascotas

PROBLEMÁTICA:

En México se estima que la mayoría de las familias tiene por lo menos una
mascota, sea lo más común perros y gatos muy independientemente de las razas,
pero ¿cuál es el principal problema a la hora de adquirir u adoptar una mascota?
Claro la hora de estar pendientes de su comida, checar que la coma toda, que no 2
se desperdicie, evitar que se contamine, darle la dosis necesaria para su
alimentación básica.
Y ¿Cómo podemos estar al pendiente de su alimentación?, ¿Cómo cuidar el
alimento que se le suministra?, ¿Cómo cumplir con el horario de su dieta?
Para estas preguntas se propone el siguiente prototipo a desarrollar, un
dispensador de agua y alimento para perro o gato, que pueda dar raciones según
el tamaño de su mascota y en el horario que se programe, con esto se busca
fomentar su alimentación ininterrumpida, la conservación del alimento, evitar
desperdicio, contaminación, cuidar nuestra economía y por ende la prevención de
la salud de su mascota.

OBJETIVOS:
 Alimentación
 Salud
 Economía
 Conservación
 Facilidad para su ingesta
 Evitar la contaminación del alimento

ALCANCES:
Facilitar a las personas profesionales e independientes el cuidado de sus
mascotas, proporcionándoles dispensadores de alimento programables a su
alcance. Con esto se busca fomentar el bienestar de nuestros nuevos integrantes.

PROYECTO FINAL
Materia: “Mecanismos”

Alumnos: Arturo Barrera / Karla Félix Dispensador de Alimento para Mascotas

DESCRIPCIÓN DE MATERIALES:
Primera prueba de diseño (sujeto a cambios para
mejora de este) En primera estancia se utilizaron los
siguientes materiales: 3

 Sensor ultrasónico
 Módulo de reloj (ds3231)
 Garrafón
 Base soldada
 Recipiente para el alimento
 Servo motor SG90 RC 9G
 Eliminador de 5v a 2.0 A
 Cables dupont de 20cm (MM Y HM)
 Batería tipo botón de 3v
 Arduino UNO (la modelo varia dentro de los participantes)

Se anexan imágenes y videos de las pruebas realizadas:


https://drive.google.com/file/d/185V3QAgOOTe0tpkDcC5FDouHJ7wKTV4
N/view?usp
=sharing

https://drive.google.com/file/d/18R0oaPp7LPawqiEUormCP0nAd5XpDDS
B/view?usp= sharing

PROYECTO FINAL
Materia: “Mecanismos”

Alumnos: Arturo Barrera / Karla Félix Dispensador de Alimento para Mascotas

DIBUJOS:

PROYECTO FINAL
Materia: “Mecanismos”

Alumnos: Arturo Barrera / Karla Félix Dispensador de Alimento para Mascotas

FOTOS:

PROYECTO FINAL
Materia: “Mecanismos”

Alumnos: Arturo Barrera / Karla Félix Dispensador de Alimento para Mascotas

PROYECTO FINAL
Materia: “Mecanismos”

Alumnos: Arturo Barrera / Karla Félix Dispensador de Alimento para Mascotas

CODIGOS:

//ARTURO Y KARLA POYECTO 1


//CODIGO SENSOR ULTRA SONICO
#include 7
<Servo.h>
Servo ioe;
int trig =
2; int echo
= 3; int
tiempo; int
distancia;
void
setup() {
pinMode(trig,
OUTPUT);
pinMode(echo,
INPUT);
ioe.attach(4);
}
void loop() {
digitalWrite(trig,
HIGH); delay(500);
digitalWrite(trig,
LOW);
tiempo=pulseIn(echo,
HIGH);
distancia=tiempo/58.2;

PROYECTO FINAL
Materia: “Mecanismos”

Alumnos: Arturo Barrera / Karla Félix Dispensador de Alimento para Mascotas

delay(500);
if(distancia
<=20){
ioe.write(90);
}
8
if
(distancia>20){
ioe.write(0);
}

PROYECTO FINAL
Materia: “Mecanismos”

Alumnos: Arturo Barrera / Karla Félix Dispensador de Alimento para Mascotas

CODIGO 2:

//ARTURO Y KARLA
//MODULO DE RELOJ
#include
9
<DS3231.h>
#include
<Wire.h>

DS3231 Clock;

byte
Year;
byte
Month;
byte
Date;
byte
DoW;
byte
Hour;
byte
Minute;
byte
Second;

bool
h12;
bool
PM;

PROYECTO FINAL
Materia: “Mecanismos”

Alumnos: Arturo Barrera / Karla Félix Dispensador de Alimento para Mascotas

void GetDateStuff(byte& Year, byte& Month, byte& Day, byte&


DoW, byte& Hour, byte& Minute, byte& Second) {
boolean GotString =
false; char InChar;
byte Temp1,
10
Temp2; char
InString[20];

byte j=0;

while (!GotString) {
if
(Serial.available(
)) { InChar =
Serial.read();
InString[j] =
InChar;
j += 1;
if (InChar ==
'x') {
GotString =
true;
}
}
}

Serial.println(InString);
// Read Year first
Temp1 =
(byte)InString[0] -48;

PROYECTO FINAL
Materia: “Mecanismos”

Alumnos: Arturo Barrera / Karla Félix Dispensador de Alimento para Mascotas

Temp2 =
(byte)InString[1] -48;
Year = Temp1*10 +
Temp2;
// now month
11
Temp1 =
(byte)InString[2] -48;
Temp2 =
(byte)InString[3] -48;
Month = Temp1*10 +
Temp2;
// now date
Temp1 =
(byte)InString[4] -48;
Temp2 =
(byte)InString[5] -48;
Day = Temp1*10 +
Temp2;
// now Day of Week
DoW = (byte)InString[6] - 48;
// now Hour
Temp1 = (byte)InString[7] -48;
Temp2 =
(byte)InString[8] -48;
Hour = Temp1*10 +
Temp2;
// now Minute
Temp1 =
(byte)InString[9] -48;

PROYECTO FINAL
Materia: “Mecanismos”

Alumnos: Arturo Barrera / Karla Félix Dispensador de Alimento para Mascotas

Temp2 =
(byte)InString[10] -48;
Minute = Temp1*10 +
Temp2;
// now Second
12
Temp1 =
(byte)InString[11] -48;
Temp2 =
(byte)InString[12] -48;
Second = Temp1*10 +
Temp2;
}

void setup() {
Serial.begin(9
600);
Wire.begin();
}

void loop() {

if (Serial.available()) {
GetDateStuff(Year, Month, Date, DoW, Hour, Minute, Second);

Clock.setClockMode(
false);
Clock.setYear(Year);
Clock.setMonth(Mont
h);

PROYECTO FINAL
Materia: “Mecanismos”

Alumnos: Arturo Barrera / Karla Félix Dispensador de Alimento para Mascotas

Clock.setDate(Date);
Clock.setDoW(DoW);

Clock.setHour(Hour);
Clock.setMinute(Min
ute); 13
Clock.setSecond(Se
cond);
}
delay(1000);
Clock.getTime(Year, Month, Date, DoW, Hour, Minute, Second);
//Se imprime
Serial.print(Date,
DEC);
Serial.print("/");
Serial.print(Month,
DEC);
Serial.print("/");
Serial.print(Year,
DEC); Serial.print("
");
Serial.print(Clock.getHour(h12,
PM), DEC); Serial.print(":");
Serial.print(Minute,
DEC); Serial.print(":");
Serial.println(Second,
DEC);
}

PROYECTO FINAL
Materia: “Mecanismos”

Alumnos: Arturo Barrera / Karla Félix Dispensador de Alimento para Mascotas

14

CODIGO 3:

PROYECTO FINAL
Materia: “Mecanismos”

Alumnos: Arturo Barrera / Karla Félix Dispensador de Alimento para Mascotas

//ARTURO Y KARLA
//SERVO CODIGO
#include
<Servo.h>
15
#include
<DS3231.h>
#include
<Wire.h>

char
*horas[]={
"16:45",
"16:46",
"16:47",
"16:47",
"16:49"
};

long nhoras =
(sizeof(horas)/sizeof(char *)); bool
h12;
bool PM;
DS3231
Clock;
Servo servoMotor;
byte year, month, date, DoW, hour, minute, second;

void setup() {
PROYECTO FINAL
Materia: “Mecanismos”

Alumnos: Arturo Barrera / Karla Félix Dispensador de Alimento para Mascotas

Wire.begin();
Serial.begin(96
00);
}
void loop() {
delay(1000); 16

Clock.getTime(year, month, date, DoW, hour, minute,


second); if(deboGirar()==1)
girar();

void girar(){
servoMotor.attach(
9); int i;
for (i=0;i<4;i++){
servoMotor.write(0
); delay(500);
servoMotor.write(9
0); delay(500);
}
servoMotor.detach();
}

int
deboGirar(){
String h =
""; String m
= "";
for(int i=0;i<nhoras;i++){

PROYECTO FINAL
Materia: “Mecanismos”

Alumnos: Arturo Barrera / Karla Félix Dispensador de Alimento para Mascotas

h= getValue(horas[i], ':', 0);


m= getValue(horas[i], ':',
1); hour =
Clock.getHour(h12, PM);
if(int(hour)==atoi(h.c_str()) && int(minute)==atoi(m.c_str()) && 17
int(second)==0) return 1;

}
return 0;

}
String getValue(String data, char separator, int index)
{
int found = 0;
int strIndex[] = { 0, -1 };
int maxIndex = data.length() - 1;

for (int i = 0; i <= maxIndex && found <=


index; i++) { if (data.charAt(i) == separator
|| i == maxIndex) {
found++;
strIndex[0] = strIndex[1] + 1;
strIndex[1] = (i == maxIndex) ?
i+1 : i;
}
}
return found > index ? data.substring(strIndex[0], strIndex[1]) : "";
}

PROYECTO FINAL
Materia: “Mecanismos”

Alumnos: Arturo Barrera / Karla Félix Dispensador de Alimento para Mascotas

18

PROYECTO FINAL
PROYECTO FINAL

También podría gustarte