Programirano natjecanje automobila

igor_pangrcic

Igor Pangrčič

Sažetak

Naša Osnovna škola Frana Metelka Škocjan sudjelovala je u dvogodišnjem projektu Erasmus+ pod naslovom Minds on Hands on STEM Goes on koji je preveden Uključi mozak, zasuči rukave, postani znanstvenik. S učenicima smo prisustvovali na nekoliko projekata mobilnosti. Tijekom jedne razmjene učenika u sklopu projekta Erasmus+ u Estoniji učenici su napravili vozilo na temelju Arduino platforme koje se na stazi utrkivalo putem pametnog Android uređaja. Svaka reli-momčad ima sljedeće članove tima:

  • Mehaničara koji je izradio cijelu šasiju vozila i instalirao potrebnu opremu, dijelove itd.
  • Elektroničara koji je napravio električni krug za konačno vozilo (instalirao i spojio žice za elektroničke blokove).
  • Programera koji je prilagodio kretanje vozila i fino prilagodio njegovo ponašanje (npr. ako se kretalo samo u jednom smjeru, ili ako je vozilo bilo vrlo osjetljivo ili previše tromo pri vožnji itd.).
  • Natjecatelji su bili svi članovi ekipe koji su se natjecali na stazi i davali povratne informacije koje su trebali poboljšati. Suradnja između članova tima osigurala je bolji krajnji rezultat i uspjeh na stazi.

Ključne riječi: Arduino, Erasmus+, mehaničar, elektroničar, programer, natjecanje.

Shema za mehaničare

Mehaničari su sklopili okvir vozila prema crtežu. Jednom kad je okvir vozila bio simagepreman, čekali su da elektroničari i programeri pripreme prototip elektroničkog dijela vozila i program upravljanja motorom. Nakon testa na vozilo su ugrađene elektroničke komponente.

Slika 1. Shema konstrukcije vozila

Shema za elektroničare

Priključili su mikrokontroler, napajanje, regulator motora i motor. Budući da snaga računala iz USB utičnice nije bila dovoljna za pokretanje motora, morali su upotrijebiti dodatno napajanje (baterija od 9 V). Upravljač motora L298N slika2je H most koji omogućuje promjenu polariteta struje koja djeluje na motor, a time i smjer vrtnje motora. Uz to, upravljač motora L298N omogućuje uklanjanje napona od 5 V za napajanje Arduino mikrokontrolera. Ako su željeli promijeniti brzinu motora, žice motora morale su se spojiti na Arduino ploču s pomoću PWM pina (Pulse Width Modulation). Ploča je bila označena simbolom ~.

Slika 2. Shema i skica za Arduino 1

Kod za programere

Služeći se definicijom »analogWrite« u kodu, napon od 5 V povezan sa žicama motora može se podijeliti na 255 jedinica. To je moguće samo s pomoću PWM slika3pina.

Na primjer, vrijednost 150 znači da je signal PWM (Pulse Width Modulation ili modulacija širine impulsa) (150 × 5) / 255 volti (ili 2,9 V). Zbog nižeg napona motor se sporije okreće.

Definicija »digitalWrite« odnosi se samo na situaciju u kojoj struja postoji ili ne postoji, tj. upišite 1 ili 0 (HIGH ili LOW).

Slika 3. Kod programa 1

Daljnjim razvijanjem cijeli tim napravio je sljedeće:

  • Dodali su još jedan motor.
  • Dopunili su programski kôd podacima za drugi motor i provjerili jesu li oba motora odgovarala kretanju po želji korisnika.
  • Izradili su vozilo na dva kotača i programirali ga tako da se kreće naprijed, natrag, zaokreće naglo ili mirno te se može zavrtjeti na mjestu.

SVI gore navedeni događaji ostali su slobodan izbor i otkrili su da razvoj uvelike ovisi o vremenu koje tim ima na raspolaganju.

Ispitivanja vozila

Prvo su povezali Arduino s pametnim uređajem putem Bluetooth signala.

Natjecatelj je upravljao vozilom putem Android pametnog uređaja (mogao se koristiti i

slika4

svojim osobnim uređajem). Svaka je momčad dobila ispitno vozilo koje je prethodno bilo spremno za trening, ali sve su se ekipe natjecale s vozilom koje su sami izradili. Za vožnju su upotrebljavali aplikaciju Arduino Bluetooth RC Car.

Softveru se pristupalo preko ove poveznice.

Slika 4. QR kod aplikacije

Vozač je instalirao softver u odgovarajući uređaj i naučio ga upotrebljavati. Aplikacija je slika5prenijela signal s pametnog telefona na Arduino, što im je omogućilo daljinsko upravljanje vozilom.

Slika 5. Aplikacija Bluetooth RC Controllerslika6

Elektroničar je povezao Arduino BT modul (HC-05 ili HC-06). Da bi primio signal, BT modul mora biti spojen na Arduino tako da je VCC pin BT modula povezan s napajanjem od 5 V. GND pin povezan je s masom, a TXD pin na ploči Arduino 12.

slika7Slika 6. Shema i skica za Arduino 2

Programer je povezao pametni uređaj i Arduino putem BT veze kao što je prikazano na slici programskog koda. Ako se u aplikaciji ne pritisne nijedna tipka, prikazuje se simbol S (Stop), a simbol F prikazuje se ako se pritisne strelica prema naprijed.

.Slika 7. Kod programa 2slika8

Imali su mogućnost služiti se monitorom serijskog priključka smještenim u softveru (naveden u nastavku) za provjeru veze Tools ­ Serial monitor.

Kako bi se elektromotor provukao kroz signalni znak u kôd se moraju dodati odgovarajući redovi koda.

Slika 8. Kod programa 3

Daljnjim razvijanjem cijeli tim napravio je sljedeće:

  • Vozilo su programirali logično slijedeći kontrolne tipke mobilne aplikacije.
  • Oni kojima je ostalo malo vremena imali su mogućnost nadograditi vozilo tako da se upali jedno LED svjetlo kad pritisnete svjetlo u mobilnoj aplikaciji.
  • LED treba električni otpor od 220 Ω i pravi polaritet.

slika9
Slika 9. Shema i skica za Arduino 3

Primjer koda za LED rasvjetu:

slika10Slika 10. Kod programa 4

Trkaća staza

Za natjecanje između pojedinih momčadi koristili su predložak iz Lego EV3 seta. Momčad koja je najbrže završila stazu pobijedila je (svaki prelazak crte dovodio je do kaznenih bodova što je momčadi značilo dodatne sekunde). Natjecanje je održano pod budnim okom sudaca.

Slika 11. Staza.

Zaključak

Učenici jako vole stvarati ili programirati proizvode s Arduinom. Zanimljiv im je jer ga mogu upotrebljavati na svim operativnim sustavima, a ne ovisi o brzini, memoriji ili RAM-u računala. U našoj smo školi odlučili djeci ponuditi što više različitih interesantnih aktivnosti kroz Erasmus+ projekt, a jedna od njih je i aktivnost gdje se, osim robota, programiraju i različita vozila LEGO MINDSTORMS Education EV3 i LEGO Education WeDo te programira uz Arduino.

Literatura

  1. http://www2.arnes.si/~sspjplav/Sola/Predmeti/Leto/PRAKTICNO%20PROGRAMIRANJE/2_Programiranje%20Arduina.pdf
  2. https://ucilnica.fri.uni-lj.si/mod/page/view.php?id=16122
  3. https://svet-el.si/literatura/arduino/programiranje-z-arduino-1-3/
  4. http://www.elektronika-start.com/arduino/