Arduino: Biciklističko računalo sa mobilnom aplikacijom
Kako uz pomoć Arduina napraviti mjerač brzine koji će putem Bluetootha slati vrijednosti na pametni telefon s Androidom.
Pomoću Arduinova „mozga“, Atmelova mikrokontrolera, izradit ćemo pouzdan mjerač brzine koji se može koristiti na biciklima, ali i na motociklima.
U prethodnom broju Vidija pomoću micro:bita smo izradili mjerač brzine za bicikl. Takav mjerač baš i nije pretjerano pouzdan i poprilično je ograničen mogućnostima. Zašto? Prisjetimo se da micro:bit nema integriranu funkciju za brojanje vremena, što je velik minus. Arduino takve naredbe ima i time nam omogućuje brojne pogodnosti s kojima se nudi širok spektar mogućnosti.
Prisjetimo se načina rada mjerača brzine. Kao što smo učili u osnovnoj školi iz fizike, brzina je omjer prijeđenog puta u nekom vremenskom intervalu, a računa se pomoću formule v = s/t. Budući da u Arduinovu programskom jeziku imamo integriranu funkciju brojanja vremena, a prijeđeni nam je put opseg kotača na biciklu/motoru – problem je riješen!
Za vremenski interval uzet ćemo vrijeme potrebno da kotač napravi puni krug, a to ćemo ostvariti pomoću „reed switcha“ ili senzora magnetskog polja. Ako odaberemo senzor, poželjno ga je koristiti s prethodno ugrađenim komparatorom napona, koji će našem Arduinu slati digitalne vrijednosti i olakšati nam život umjesto da uspoređuje analogne vrijednosti koje mogu odstupati. Ili možemo naknadno ugraditi takav komparator napona.
Najosjetljivija komponenta na breadboardu je Red Switch jer ima kućište od stakla
Reed switch je često sićušni prozirni prekidač u obliku otpornika koji unutar sebe sadrži dvije fleksibilne provodljive niti koje se u prisustvu magnetskog polja privuku i zatvore strujni krug. Magnet je potrebno učvrstiti na žbice kotača kako bi prilikom okretanja magnet prošao u neposrednoj blizini senzora.
Programski kod: Inicijalizirat ćemo potrebne varijable, postaviti neke konstantne vrijednosti poput opsega kotača pomoću kojega ćemo računati brzinu iz relacije v=s/t.
U beskonačnoj petlji vrtjet ćemo programski kod koji će mjeriti brzinu između okretanja kotača, izračunavati brzinu i ispisivati je na mobilnoj aplikaciji. Reed switch će nam davati impuls kad god se kotač okrene za puni krug, i to digitalni impuls jer je s njime lakše raditi. Ako je opseg kotača unesen u metrima, a vrijeme mjerimo u sekundama, naša će brzina biti izražena u metrima po sekundi.
Kako bismo dobili što bolji utisak o brzini kretanja, našu brzinu pomnožit ćemo s 3,6 da bismo je izrazili u kilometrima po satu. Zašto 3,6? Budući da kilometar ima 1000 m, a 1 sat ima 3600 sekundi, dijeljenjem jedinica dobit ćemo navedenu konstantu.
Mobilna aplikacija: Mobilnu aplikaciju radit ćemo u nama već dobro poznatom Mit App Inventoru jer je poprilično jednostavan i u njemu se kod piše pomoću naredbi u obliku blokova. Aplikaciju ćemo raditi po uzoru na pametnu kuću koju smo napravili prije nekoliko brojeva, stoga nećemo detaljno objašnjavati čitav proces izrade aplikacije jer ga možete pronaći na Githubu.
Shematski prikaz mjerača brzine
Zaprimljene vrijednosti ispisuju se u labelima. Osim navedenih, postoje još dva dodatna labela, od kojih je jedan na početku, a drugi na kraju. Oni su skriveni jer se u njima upisuju prazne vrijednosti radi sinkronizacije podataka. Razmake ćemo definirati pomoću zareza. Zapis bi trebao izgledati ovako: ,47km/h,
Uparivanje mobitela i mjerača brzine odvija se samo prvi puta, dok se prilikom svakog korištenja aplikacija mora spojiti s Bluetooth modulom na mjeraču brzine.
Brzinu osvježavanja možemo postaviti vrlo nisko, svega 100 ms, jer naš programski kod nema vremenske odgode koje inače moramo dodavati kod većine senzora. Iako je naše rješenje napravljeno uz Bluetooth aplikaciju, umjesto nje možemo dodati i LCD zaslon na kojemu možemo također prikazivati tražene vrijednosti.
Izgled mobilne aplikacije
Dodatak:
Pomoću podataka o brzini možemo računati prijeđeni put, potrošenu energiju i slično. Sve se svodi na matematičke izračune u programskom kodu i nije potrebno dodavanje nikakvih senzora.
Napajanje:
Za vanjsko napajanje koristili smo AA baterije (3 x 1,5 V) spojene u seriju kako bi imale dovoljno električne energije. Za napajanje također možete koristiti i punjive baterije kako biste ih mogli višekratno koristiti.
Upozorenje:
Nemojte savijati nožice na reed switchu jer je kućiste načinjeno od stakla i vrlo lako može doci do pucanja koje će rezultirati totalnim uništenjem komponente.