HOW TO: Arduino autić - 5.0 out of 5 based on 1 vote
HOW TO: Arduino autić

HOW TO: Arduino autić

U ovom tutorijalu pokazat ćemo vam kako jedan auto na daljinsko upravljanje pokretati uz pomoć Arduina i Bluetooth modula. Time omogućavamo kontrolu autića mobitelom putem Bluetooth konekcije. Ovaj stari autić pronašli smo odbačenog u potoku, potpuno blatan, zakopan u muljevitom tlu.

Prvo morate znati kako ćemo postojeći auto na daljinski lišiti njegove originalne elektronike kako bismo ju zamijenili Arduinom i pripadajućim komponentama. Dakle, šteta je to napraviti na sasvim novom autiću na daljinski, no ukoliko je ta elektronika oštećena ili baš želite autić pokretati Arduinom, to je već druga priča.

 Mi smo tako iskoristili autić koji je prestao funkcionirati nakon pada u blato, nakon čega  mu je otkazala elektronika. Bitno je samo da postojeći motori rade. To se lako može isprobati tako da ih direktno spojite na odgovarajuću bateriju. Ukoliko je automobil koristio bateriju od 9 V, tada motor spojite direktno na bateriju od 9 V kako ga recimo, spajanjem na bateriju od 12 V ne biste oštetili. U našem slučaju to je bila baterija od 6 V. Nije važno kako ste okrenuli plus i minus u odnosu na motor jer u jednom slučaju motor se vrti u jednu stranu, a nakon zamjene polariteta spajanja motor će se vrtiti u drugu stranu.

Nakon što ste se uvjerili da su motori ispravni, treba provjeriti radi li Bluetooth modul.

arduino pribor

Pribor: potreban kako bismo dobili autić kao na slici gore

 

1.

Mi smo koristili HC-06 Bluetooth modul, makar i HC-05 može poslužiti. Kako bi razumjeli kako Bluetooth modul radi te provjerili primjerak koji ste nabavili, poslužit će vam kod koji možete preuzeti s Vidilabovog GitHuba na adresi https://github.com/VidiLAB-com

Kod se nalazi u podmapi MultiSerialMega/MultiSerialMega.ino. Učitajte taj kod na Arduino Leonardo ili Mega. Tek nakon uspješno učitanog koda na Arduino, možete spojiti Bluetooth modul. To je zato što, spojite li ga prije, nećete moći programirati Arduino dok je Bluetooth modul spojen.

Dakle, svaki puta kada želite mijenjati kod morate maknuti Bluetooth modul s Arduina.

Bluetooth se spaja na Arduino prema shemi na slici dolje. Dake RX s bluetooth modula spajate s TX (Digital Port 0) na Arduinu. Isto tako TX s Bluetooth modula spajate s RX (Digital Port 1) na Arduinu. Napajanje za Bluetooth modul (VCC pin) spajamo s 5V pinom Arduina, a GND pin spajamo sa GND pinom.

arduino bluetooth serial 1024x497

Bluetooth: modul morate odspojiti ukoliko želite na Arduino uploadati kod

 

Oznake na bluetooth modulu:

RX = Receive (primanje)

TX = Transmit (slanje)

VCC = napajanje (+) polaritet napajanja (5 V u ovom slučaju)

GND = uzemljenje tj. negativni (-) polaritet napajanja

 

Ovakvo spajanje Bluetooth modula možete izvesti sa samo dvije muško ženske spojne žice za napajanje, jer RX i TX pin možete direktno priključiti na Arduino. Kada je sve spojeno, utaknite USB kabel u računalo te otvorite serijski monitor u Arduino IDE sučelju. Ukoliko je sve dobro spojeno lampica Bluetooth modula treba blinkati.

Sada će svaki podatak koji pošaljete na Bluetooth modul biti ispisan u prozoru serijskog monitora. Kako bi s mobitela mogli poslati ono što nam treba za auto na daljinski, skinite aplikaciju „Arduino Bluetooth RC Car“ s Google Play storea ili utipkajte link http://bit.ly/2rhdpq2 koji vas vodi na store do te aplikacije. Upalite Bluetooth na mobitelu, zatim aplikaciju, unutar aplikacije kliknite na ikonu zupčanika te odaberite Connect to car opciju. Sada odaberite HC-06, a defaultni password je 1234 za spajanje s Bluetooth modulom. Nakon uspješnog povezivanja, LED-ica na Bluetooth modulu konstanto će svijetliti.

app

Android: skinite aplikaciju „Arduino Bluetooth RC Car“ s Google Play storea ili utipkajte link bit.ly/2rhdpq2 koji vas vodi na store do te aplikacije



Pokušajte pritisnuti neki od gumbića i vidjet ćete kako se izlaz na serijskom monitoru mijenja prema već pred definiranim slovima koja služe raznim opcijama, a čiji popis možete dobiti na Settings gumbu.

Vidjet ćete da ovdje ima opcija za prednja i zadnja svijetla te sirenu, no u ovom tutorijalu ih nećemo spajati. Zanimljivo će biti isprobati opciju pokretanja autića sa žiroskopom mobitela.

 

2. Velleman L298n 

L298n je dual H bridge kontroler čip koji je sposoban upravljati jednim manjim steper motorom ili dva DC motora u oba smjera. Naš primjerak drivera motora je Vellemanova pločica VMA409 sa spomenutim L298n čipom, a odabrali smo je jer je možete kupiti u Chipoteci. No, ukoliko vam je to preskupo, možete posegnuti na eBay za neki jeftiniji L298n dual H bridge kontroler.

L298N radi na naponima od +5 do +35 V, a prema svakom od dva DC motora može isporučiti 2 A struje. Koliko je struje potrebno motorima koje vi imate možete izmjeriti multimetrom tako da ga postavite u mod za mjerenje snage te jednu žicu od baterije spojite s jednom motora, a drugu žicu od baterije spojite s jednom žicom mulitimetra, dok drugu žicu multimetra spojite s drugom žicom motora. Sada bi multimetar trebao pokazivati koliko ampera motor troši.
Slaganje
Vellemanov VMA409 je odlična „motor driver“ pločica jer ima nešto više mogućnosti od ostalih jeftinijih varijanti L298n dual H bridge motor drivera

Slaganje 22

Mjerimo koliko ampera troši motor. Jednu žicu od baterije spojite s jednom motora, a drugu od baterije spojite s jednom žicom mulitimetra, dok drugu žicu multimetra spojite s drugom žicom motora

Treba paziti da ovakva mjerenja ne radite sa snažnim motorima ukoliko niste sigurni koliku maksimalnu amperažu multimetar može izmjeriti. Pretjerate li, multimetar će pregoriti. Neki multimetri imaju posebnu konekciju za mjerenja do 10 Ampera struje te je preporučljivo prvo mjerenje napraviti s tom opcijom.

Upogonite li motor od 2 A s L298n čipom, on će se zagrijati do vrlo visokih temperatura te će ga trebati hladiti dodatnim ventilatorom za što se najčešće koriste manji ventilatori iz računala.

 

 

3. Napajanje dual H bridge kontrolera

Ovakav kontroler motora možete napajati kroz pinove napajanja, oznaka VMS, GND te 5 V, obično smještenih suprotno od VMS te GND (minus) pina koji možemo napajati naponom od +5 do +35 V. Taj napon bit će isporučen prema motorima.

5 V pin služi za napajanje logičkog dijela drivera te se kroz taj pin smije napajati sa +5 do +7 volti, no ukoliko tako napajate driver sa dva napajanja, jednim za logički dio, a drugim za motore, morate paziti da je skinut jumper 5V_EN koji se nalazi pored tranzistora oznake 78M05, jer ćete inače spaliti driver.

Spomenuti 70M05 tranzistor služi kako bi od napajanja motora (VMS od 5 do 35 volti) spustio napon na 5V te time samo s jednim izvorom napajanja napajao i logički dio drivera.

Slaganje 8

Nakon spajanja baterija na motor driver mjerimo ima li napona na pinovima 5 V. Kada maknete jumper 5V_EN (5V Enable), neće biti napona na pinovima 5V te ćete morati spojiti dodatno napajanje na ovo mjesto

Slaganje 9

Arduino može primiti 6,32 V napona te je sigurno ovim pinom povezati Arduino na VIN pin kojim ga također možete napajati

Ukoliko vam je teško shvatiti o čemu pričamo najsigurniji način je da prvo spajanje izvedete tako da spojite samo jedno napajanje na pinove VMS (+ napajanja) i GND (- napajanja) te multimetrom izmjerite ima li napona na pinovima 5V i GND. Ukoliko ima, i napon iznosi oko 5V tada vam ne traba drugo napajanje. Ukoliko skinete jumper s 5V_EN jumpera tada nećete  na spomenutim pinovima detektirati napon te znači da morate spojiti i drugo napajanje od 5 V kako bi driver ispravno funkcionirao.

U našem primjeru koristimo spojen jumper na 5V_EN kako autić nebi trebao imati dvije baterije, a i tako dobivamo +5V napajanja s kojim ćemo direktno napajati i Arduino.

 

4. Spajanje autića

KORAK 1

Prvi korak je pronaći mjesto na koje ćemo pričvrstiti Arduino i driver za auto. Kada ste pronašli mjesto, trebate izbušiti rupe kako bi mogli zašarafiti Arduino i driver. Najbolje je običnom olovkom kroz rupe Arduina, a zatim i drivera, zacrtati dvije oznake na kojima nam treba rupa za šarafe. Nakon bušenja, na te rupe prišarafit ćemo matice koje su nam ostale od starog kućišta računala, a koje su služile kao distanceri za montiranje matične ploče.

Slaganje 21

Slaganje 3

KORAK 2

Sada možemo zašarafiti Arduino i driver na te matice.

Slaganje 4

Slaganje 5

KORAK 3

Sljedeći korak je spojiti napajanje na driver. Ovdje je vrlo bitno ne pomiješati + i – te preporučamo crvenu žicu koristiti za + napajanja, a crnu ili sl. (u našem slučaju zelena žica) za minus napajanja. Tako ćemo znati da crvenu žicu uvijek spajamo s + oznakom na bateriji, a crnu/zelenu s minus oznakom na bateriji. Pomiješate li žice, ovo neće završiti dobro i najvjerojatnije ćete spaliti driver i/ili Arduino. Zato dvaput provjerite radite li sve dobro. Ukoliko niste sigurni, nemojte nastavljati spajanje, nego se konzultirajte s nekim tko bi vam mogao pomoći da ovaj dio spojite ispravno.

Slaganje 7

Slaganje 10

Slaganje 11

KORAK 4

Zatim spajamo motore. Što se motora tiče, oni nemaju plus ili minus napajanja na koje moramo paziti, jer kada se okrenu polovi napajanja motora, on se vrti u drugom smjeru. Tako dobivamo mogućnost vožnje naprijed ili nazad, što ćemo kontrolirati softverski uz pomoć Arduina i drivera.

Sada možemo spojiti logički dio drivera s Arduinom. ENA i ENB pinove moramo spojiti s PWM pinovima Arduina koji će kontrolirati brzinu automobila. U našem slučaju to su digitalni pinovi 5 i 6 koji imaju PWM (Pulse With Modulation) opciju. Inače, PWM pinovi Arduina označeni su tilda oznakom (~), a radi se o tome da se napon od 5 V može isporučiti u 256-om djeliću sekunde te se na taj naćin kontrolira brzina motora. Npr isporučite li napon sa vrijednosti 127 na tom pinu kroz naredbu analogWrite(PIN, 127); struja će unutar jedne sekunde biti puštena samo na pola sekunde, a pola sekunde je neće biti. Time smo pokrenuli motor autobila sa pola snage pa će se autić kretati sporo.

Ovdje treba razumjeti da svaki DC motor ima različit minimalni prag struje na koji može reagirati. Tako će na jednom tipu DC motora taj minimalni prag za pokretanje motora biti pola sekundie a na drugom 20-ti dio sekunde, što će ovisiti o snazi motora i o samoj težini kompletne konstrukcije. Tako ćete se, želite li autić voziti vrlo sporo, morati poigrati s računom (10 - speedLevel) * 5 u kodu kako bi stvarno dostigli minimalni level na kojem će se autić kretati.

Slaganje 16

Slaganje 14

 

KORAK 5

Spajanje logičkog dijela drivera s Arduinom odradite prema slici i ovoj tablici:

Motor driver
Arduino
 
ENA
~5
Kontrola brzine prvog motora mora biti spojena na PWM pin označen s ~
IN1
13
Kontrola smjera prvog motora
 
IN2
12
IN3
11
Kontrola smjera drugog motora
 
IN4
10
ENB
~6
Kontrola brzine drugog motora mora biti spojena na PWM pin označen s ~
GND
GND
Uzemljenje
+5 V
Vin
Napajanje Arduina direkto s drivera motora

Primijetite da smo pin +5 V spojili s Vin (Voltage IN) pinom Arduina. Kroz taj pin, naponom od 5 V možete napajati Arduino. Driveri motora drugih proizvođaća neće uvijek imati ta dva dodatna pina 5V i GND, no tada možete Arduino napajati kroz konektor 5 V pored GND i VMS konektora.

 

KORAK 6

Prije no što spojimo Bluetooth modul, ostaje nam uploadati kod na Arduino jer to nakon spajanja Bluetooth modula više neće biti moguće.

Najćešće drugi kodovi s interneta koji služe za pokretanje raznih Bluetooth automobila koriste dva kotača za vožnju naprijed, nazad. A za skretanje se onda koristi pokretanje samo jednog od tih motora te tako pokrenete li desni motor, autić će skretati u lijevo. Upravo zbog toga smo morali napisati vlastiti kod koji će koristiti jedan motor za pokretanje, a drugim samo okrećemo prednje kotače u smjeru u kojem želimo ići.

Pri izradi tog koda primijetili smo da, ukoliko u setup djelu koda ne postavimo sve pinove na Low vrijednost ili nulu, autić ide unazad u nekim random intervalima pri bootanju Arduina.

Dakle, prezuzmite kod s našeg GitHuba, na adresi https://github.com/VidiLAB-com te pronađite Arduino_Autic.ino kod ili direktno na linku http://bit.ly/arduinoautic. Uploadajte ga na Arduino. Kod smo dobro iskomentirali tako da neće biti problema s modifikacijom za koju itekako ima prostora.

Aplikacija recimo dopušta da gumbom palite i gasite svjetla te sirenu. Za taj dio nije napisan kod, kao što nismo niti priložili shemu spajanja tih svjetala i trube.

kod

 

Bluetooth modul spajate prema ovoj tablici spajanja.

FC114 (HC-05 ili HC-06)
Arduino
 
State
nije spojeno
 
RXD
TX - Digitalni Pin 1
 
Komunikacijski pinovi uvijek se spajaju unakrsno
TXD
RX - Digitalni Pin 0
- RX sa TX, a TX sa RX pinom
GND
GND
Uzemljenje
VCC
5 V
Napajanje bluetooth modula Arduina
EN
nije spojeno
 

Dake RX s Bluetooth modula spajate s TX (Digital Port 0) na Arduinu. Isto tako TX s Bluetooth modula spajate s RX (Digital Port 1) na Arduinu. Napajanje za Bluetooth modul (VCC pin) spajamo s 5 V pinom Arduina, a GND pin spajamo sa GND pinom.

Slaganje 17

Slaganje 18

Slaganje 19

 

Kad je sve spojeno, možemo povezati žice napajanja s baterijom. Za nekoliko trenutaka počet će blinkati ledica na Bluetooth modulu.

Autić Hrvoje 4

Sada možete spojiti smartphone s Arduinom te pokušati voziti autić naprijed-nazad te lijevo-desno. Ukoliko se autić ponaša čudno tj. kada pritisnete naprijed on ide nazad ili tako za lijevo i desno morat ćete izmijeniti linije koda gdje inicijaliziramo pinove motora ili zamijeniti žice motora kako biste mu promijenili smjer kretanja.

Recimo:

int inR1 = 12;   zamijenite sa:  int inR1 = 13;

int inR2 = 13;                         int inR2 = 12;

Isto tako možete učiniti i za varijable inF1 te inF2 ukoliko su zamjenjeni smjerovi lijevo i desno.

Cijena
Koristili smo
 
 
 
 
Bušilica
Šarafciger
Multimetar
Mobitel
139,00 kn
Arduino Leonardo
74,00 kn
Velleman L298n
109,00 kn
HC-05 Bluetooth modul
 
4 šarafa i 8 matica
53,00 kn
Baterija 6 V, 1.2 A/h
 
 
Nešto spojnih žica
Autić s motorima

Shema:

shema ar

Komponente: za koje smo naveli cijenu možete potražiti na www.chipoteka.hr



Cijeli kod pronađite na GitHub stranici: https://github.com/VidiLAB-com/Arduino

 

Ocijeni sadržaj
(1 Glasaj)

// možda će vas zanimati

Newsletter prijava


Kako izgleda naš posljednji newsletter pogledajte na ovom linku.

Copyright © by: VIDI-TO d.o.o. Sva prava pridržana.