Hranilica za psa
Mladi informatičari StrahonincaStiže nam ljeto i godišnji odmori. Nemojte dopustiti da Vaš najbolji prijatelj bude gladan. Udruga MIS predstavlja automatiziranu hranilicu za psa (slobodno se koristi i za ostale kućne ljubimce).
Hranilica za psa omogućuje hranjenje kućnih ljubimaca u željeno vrijeme (vrijeme se postavlja putem mobilne aplikacije) tako da ne trebate mijenjati njihove navike kada niste kod kuće.
Video snimka
Izrada projekta
Slika prikazuje gotovi projekt. Na Arduino mkr1000 spojili smo servo motor koji upravlja spremnikom za hranu. Spremnik se otvara u postavljeno vrijeme i puni zdjelicu hranom.
Mobilna aplikacija
Mobilna aplikacija sastoji se od prikaza statusa – da li je hranjenje već obavljeno ili u koliko sati će se hranjenje obaviti. Preostala dva widgeta služe za postavljanje vremena hranjenja.
Shema projekta
Arduino program
#define BLYNK_PRINT /* #define BLYNK_PRINT Serial #include#include #include #include #include RTCZero rtc; Servo myservo; const byte seconds = 59; const byte minutes = 58; const byte hours = 11; char auth[] = "db63a7ff5acb4c6ab4927a068995e629"; char ssid[] = "ssid"; char pass[] = "pass"; #define SERVO_OPEN 0 #define SERVO_CLOSED 100 int pos = 0; volatile bool mustFeed = false; const byte day = 1; const byte month = 5; const byte year = 18; void setup() { Serial.begin(9600); Blynk.begin(auth, ssid, pass); myservo.attach(9); rtc.begin(); rtc.setTime(hours, minutes, seconds); rtc.setDate(day, month, year); rtc.setAlarmTime(12, 00 , 00); rtc.enableAlarm(rtc.MATCH_HHMMSS); rtc.attachInterrupt(Feed); } void loop() { Blynk.run(); if (mustFeed) { mustFeed = false; myservo.write(SERVO_OPEN); delay(500); myservo.write(SERVO_CLOSED); Blynk.virtualWrite(V5, "NAHRANJENO"); } print2digits(rtc.getDay()); Serial.print("/"); print2digits(rtc.getMonth()); Serial.print("/"); print2digits(rtc.getYear()); Serial.print(" "); print2digits(rtc.getHours()); Serial.print(":"); print2digits(rtc.getMinutes()); Serial.print(":"); print2digits(rtc.getSeconds()); Blynk.virtualWrite(V0, rtc.getHours()); Blynk.virtualWrite(V2, rtc.getMinutes()); if (rtc.getHours() == 11){ Blynk.virtualWrite(V5, "HRANJENJE U 12:00"); } Serial.println(); delay(1000); } void Feed(){ mustFeed = true; } void print2digits(int number) { if (number < 10) { Serial.print("0"); } Serial.print(number); }
Arduino program ovoga projekta možete preuzeti ovdje.
Autori
Projekt su izradili Fran Železnjak i Šimun Bilas uz mentorstvo Viktora Lazara iz udruge "Mladi informatičari Strahoninca".
Projekt je prijavljen na temu: Internet of Things: Kućni ljubimci i domaće životinje.