Samo trči, samo trči ... naprijed Orky
OŠ "Kuna"Video snimka
Izrada projekta
Ako nemate kolo za hrčka možete ga izraditi pomoću papira i kartona. Neodimijski magnet prilijepite s unutrašnje strane valjka.
Mobilna aplikacija
U mobilnoj aplikaciji koristimo Value Display widget za prikaz pređenih krugova, a Labeled Value widget za prikaz pređenih metara. Ukoliko bi imali pravog hrčka trebali bi mjeriti pređene kilometre jer hrčak u prosjeku pređe 50 km mjesečno. To bi mogli tako da promijenimo vrijednost varijable “meters” u programskom kodu.
SuperChart će prikazivati grafički prikaz pređenog puta u vremenu. Uz pomoć ovog dijela mogli bi otkriti da hrčci trče većinom noću.
Vaule Display koristi pin V0, a Labeled Value i Superchart widget koriste pin V1.
Shema projekta
Arduino program
#define BLYNK_PRINT /* #define BLYNK_PRINT SerialUSB #include#include #include int LedCrvena = 7; // pin ledice int reelSwitch = 6; // pin magnetnog senzora int switchState; // varijabla koja sluzi za spremanje vrijednost magnetnog senzora int number = 0; // varijabla koja sluzi za brojanje krugova //nije potrebno resetiranje na 0 pri gašenju/paljenju Arduina float meters = 0; // varijabla koja sluzi za odredivanje predene udaljenosti //nije potrebno resetiranje na 0 pri gašenju/paljenju Arduina //ukoliko imate pravog hrcka trebali bi brojati kilometre char auth[] = "11dc5e1468d34f01bb7da1ec377b7e73"; //pin projekta char ssid[] = "IoT"; // ime mreze char pass[] = "011235813"; // lozinka mreze BlynkTimer timer; //Blynk timer omogucuje pozivanje drugih funkcija u void loop() petlji void setup() { pinMode (LedCrvena, OUTPUT); // ledica je izlaz pinMode (reelSwitch, INPUT); // senzor je ulaz Serial.begin(9600); // broj bitova po sekundi za prijenos podataka// moguce ocitati podatke pomocu Arduino aplikacije -> Tools -> Serial Monitor Blynk.begin(auth, ssid, pass); //spajanje na wifi mrezu i Blynk server timer.setInterval(100L, switchstate);// poziva funkciju switchstate svakih 100ms (vrijeme poziva je potrebno odrediti prema jakosti magneta i prema brzini trcanja hrcka tako da se registrira samo jedan okretaj pri prolazu magneta pokraj senzora) } void switchstate(){ switchState = digitalRead(reelSwitch); // procita vrijednost magnetnog senzora i zapisuje tu vrijednost u varijablu switchstate if (switchState == LOW) // ukoliko magnetni senzor ne osjeti prisutnost magneta { digitalWrite(LedCrvena, LOW); // iskljucuje ledicu } else // inace (magnetni senzor osjetio prisutnost magneta) { digitalWrite(LedCrvena, HIGH); // ukljucuje ledicu number=number+1; // povecava varijablu number za 1 (varijablu koja broji broj krugove sto ih hrcak prede) Blynk.virtualWrite(V0,number); // zapisuje vrijednost varijable number pinu V0 meters=number*0.5; // varijabla koja odreduje predenu udaljenost u metrima (broj krugova se mnozi s opsegom kruga u metrima) Blynk.virtualWrite(V1,meters);// zapisuje vrijednost varijable meters pinu V1 } delay(100); // jednostavni debounce } void loop() { timer.run();// omogucuje pozivanje void switchstate() funkcije Blynk.run();// omogucuje rad Blynk mobilne aplikacije // uz Blynk.run() i timer.run() nije pozeljno dodavati neku drugu funkciju jer je moguce odspajanje Arduina s Interneta //sve funkcije se trebaju pozivati pomocu "timer.setInterval" (primjer je u void setup() funkciji }
Arduino program ovoga projekta možete preuzeti ovdje.
Autori
Projekt su izradili Petra Milovčić i Letizia Grljušić uz mentorstvo Srećka Jančikića iz OŠ “Kuna”.
Projekt je prijavljen na temu: Internet of Things: Kućni ljubimci i domaće životinje.