- Komponente potrebne za Arduino RC brod
- Moduli RF odašiljača i prijemnika od 433 MHz
- RF odašiljač od 433 MHz
- Blok dijagram odašiljača plovila Arduino RC
- Kružna shema daljinskog upravljača Arduino RC (odašiljača)
- Izgradnja RC BOAT odašiljačkog kruga
- Izgradnja kućišta odašiljača plovila Arduino RC
- Prijemnički modul od 433 MHz
- Blok dijagram Arduino RC prijemnika plovila
- Kružni dijagram Arduino RC prijemnika čamca
- Izgradnja prijamnog kruga broda Arduino RC
- Izgradnja RC-BRODA
- Motori i propeleri za Arduino Air Boat
- Rad Arduino RC broda
- Arduino programiranje RC broda
U ovom projektu izgradit ćemo daljinski upravljani Arduino Air-Boat kojim se može bežično upravljati pomoću RF radio modula od 433 MHz. Upravljat ćemo ovim čamcem pomoću domaćeg daljinskog upravljača izgradnjom vlastitog predajnika i prijemnog modula od 433 MHz. U slučaju uređaja s daljinskim upravljanjem ili komunikacije između dva uređaja, imamo puno mogućnosti poput IR-a, Bluetooth-a, interneta, RF-a itd. U usporedbi s IC komunikacijom, radio-komunikacije imaju neke prednosti poput većeg dometa, a to ne znači zahtijevaju vidnu vezu između odašiljača i prijamnika. Također, ovi moduli mogu obaviti dva načina komunikacije, što znači da mogu istovremeno prenositi i primati. Dakle, koristeći ovaj 433MHz RF modul, napravimo Arduino RC brod u ovom vodiču.
Prethodno smo izgradili mnoge projekte s daljinskim upravljanjem pomoću ovih RF modula od 433 MHz za bilo upravljanje robotom poput ovog robota kojim se kontrolira RF ili za aplikacije automatizacije kuće za upravljanje kućanskim aparatima koji koriste RF. Osim korištenja RF modula, prethodno smo napravili i Bluetooth kontrolirani Raspberry Pi Car i DTMF mobitelom kojim je upravljao Arduino Robot. Te projekte možete pogledati i ako ste zainteresirani.
Komponente potrebne za Arduino RC brod
- Odašiljač i prijemnik od 433 MHz
- Arduino (bilo koji Arduino, da smanjim veličinu koju koristim promini)
- HT12E i HT12D
- Tipke - 4Nos
- Otpornici - 1mega ohma, 47k ohma
- L293d vozač motora
- 9V baterija (koristim 7,4-voltnu bateriju) - 2Nos
- 7805 regulator- 2Br
- Istosmjerni motori- 2br
- Motorni list ili propeleri (koristim domaće propelere) - 2Nos
- .1uf kondenzator- 2Br
- Uobičajena PCB
Moduli RF odašiljača i prijemnika od 433 MHz
Ove su vrste RF modula vrlo popularne među proizvođačima. Zbog njihove niske cijene i jednostavnosti veza. Ovi su moduli najbolji za sve oblike kratkoročnih komunikacijskih projekata. Ti su moduli RF moduli tipa ASK (Amplitude Shift Keying). Amplitudsko pomicanje (ASK) oblik je amplitudske modulacije koji digitalne podatke predstavlja kao varijacije amplitude vala nosača. U ASK sustavu, binarni simbol 1 predstavljen je prijenosom vala noseće fiksne amplitude i fiksne frekvencije u trajanju bita od T sekundi. Ako je vrijednost signala 1, tada će se prenositi signal nosača; u protivnom će se prenijeti vrijednost signala 0. To znači da obično ne troše energiju kada emitiraju logiku "nula". Ova mala potrošnja energije čini ih vrlo korisnima u projektima na baterije.
RF odašiljač od 433 MHz
Ova vrsta modula je vrlo mala i dolazi s 3 pinova VCC, uzemljenjem i podacima. Neki drugi moduli isporučuju se s dodatnom antenskom iglom. Radni napon modula odašiljača je 3V-12V i ovaj modul nema nikakve podesive komponente. Jedna od glavnih prednosti ovog modula je mala potrošnja struje, za slanje bita nula potrebna je gotovo nulta struja.
Blok dijagram odašiljača plovila Arduino RC
U gornjoj blok shemi postoje četiri tipke (kontrolne tipke), ove tipke služe za upravljanje smjerom plovila. Imamo ih četiri za naprijed, natrag, lijevo i desno. Pomoću tipki dobivamo logiku upravljanja brodom, ali se ne možemo izravno povezati s kodorom, zato smo koristili Arduino. Možda ćete pomisliti zašto sam ovdje koristio Arduino, to je jednostavno zato što moramo istovremeno povući dva paralelna ulaza podataka kodera za kretanje unatrag i naprijed što se ne može postići samo tipkama. Tada koder kodira nadolazeće paralelne podatke na serijske izlaze. Tada te serijske podatke možemo prenijeti uz pomoć RF odašiljača.
Kružna shema daljinskog upravljača Arduino RC (odašiljača)
U gornjem krugu možete vidjeti jednu stranu sve četiri tipke povezane na četiri digitalne iglice Arduina (D6-D9) i sve ostale četiri strane spojene na zemlju. Tada pritisnemo tipku, odgovarajući digitalni pinovi postaju logički niski. Četiri paralelna ulaza davača HT12E spojena na još četiri digitalna pina Arduina (D2-D5). Dakle, uz pomoć Arduina možemo odlučiti o ulazu kodera.
Govoreći o koderu HT12E je 12-bitni koder i paralelni ulazno-serijski izlazni koder. Od 12 bitova, 8 bita su adresni bitovi koji se mogu koristiti za upravljanje više prijemnika. Igle A0-A7 su igle za unos adrese. U ovom projektu kontroliramo samo jedan prijamnik, pa ne želimo mijenjati njegovu adresu, pa sam sve kontaktne adrese povezao sa zemljom. Ako jednim upravljačem želite upravljati različitim prijamnicima, ovdje možete koristiti dip prekidače. AD8-AD11 su ulazi upravljačkog bita. Ovi ulazi će kontrolirati D0-D3 izlaze HT12D dekodera. Moramo povezati oscilator za komunikaciju, a frekvencija oscilatora trebala bi biti 3KHzza rad od 5V. Tada će vrijednost otpornika biti 1,1MΩ za 5V. Tada sam spojio izlaz HT12E na modul odašiljača. Već smo spomenuli, Arduino i RF odašiljački modul, oba ova uređaja rade na 5V visokog napona, ubit će ga, pa da bih to izbjegao, dodao sam 7805, regulator napona. Sada na ulaz možemo spojiti (Vcc) 6-12volt baterije bilo kojeg tipa.

Izgradnja RC BOAT odašiljačkog kruga
Svaku komponentu sam zalemio na zajedničku PCB. Sjetite se da radimo na RF projektu pa postoji mnogo šansi za različite vrste smetnji, pa povežite sve komponente što je više moguće. Bolje je koristiti ženska zaglavlja za pin za Arduino i modul odašiljača. Također, pokušajte lemiti sve na bakrenim pločicama, umjesto da koristite dodatne žice. Na kraju, spojite malu žicu na modul odašiljača koji će vam pomoći povećati ukupan domet. Prije spajanja Arduina i modula odašiljača, dvaput provjerite napon izlaza lm7805.

Gornja slika prikazuje pogled odozgo na dovršeni sklop RC brodskog odašiljača, a donji prikaz dovršenog kruga RC brodskog odašiljača dolje.

Izgradnja kućišta odašiljača plovila Arduino RC
Za daljinski je potrebno pristojno tijelo. Ovaj korak odnosi se samo na vaše ideje, sa svojim idejama možete stvoriti udaljeno tijelo. Objašnjavam kako sam to napravio. Za izradu udaljenog tijela biram 4 mm MDF listove, možete odabrati i šperploču, pjenasti lim ili karton, a zatim sam od toga izrezao dva komada duljine 10 cm i širine 5 cm. Tada sam označio položaje gumba. Tipke za usmjeravanje smjestio sam na lijevu stranu i gumbe za naprijed, unatrag na desnu stranu. S druge strane lima spojio sam tipke na glavni odašiljački krug. Sjetite se da normalni gumb ima 4 pina, što su dvije pinovi za svaku stranu. Spojite jedan pin na Arduino, a drugi na zemlju. Ako ste zbunjeni s tim, provjerite multimetrom ili provjerite tablicu podataka.

Nakon spajanja svih ovih stvari, stavio sam upravljački krug između dvije MDF ploče i zategnuo nekim dugim vijkom (ako želite, pogledajte donje slike). Ponovno stvaranje dobrog tijela tiče se samo vaših ideja.

Prijemnički modul od 433 MHz
Ovaj je prijemnik također vrlo malen i dolazi s 4 pinova VCC, uzemljen, a dva srednja pina su podaci za izlaz. Radni napon ovog modula je 5v. Kao i modul odašiljača, ovo je također modul male snage. Neki se moduli isporučuju s dodatnom antenskom iglom, ali u mom slučaju to nije prisutno.
Blok dijagram Arduino RC prijemnika plovila
Gornji blok dijagram opisuje rad kruga RF prijemnika. Prvo, prenosne signale možemo primiti pomoću modula RF prijemnika. Izlaz ovog prijemnika su serijski podaci. Ali ne možemo kontrolirati ništa s ovim serijskim podacima, zato smo izlaz spojili na dekoder. Dekoder dekodira serijske podatke u naše izvorne paralelne podatke. U ovom odjeljku ne trebaju nam mikrokontroleri, izlaze možemo izravno povezati s pokretačkim programom motora.
Kružni dijagram Arduino RC prijemnika čamca

HT12D je 12-bitni dekoder koji je serijski ulaz-paralelni izlaz dekoder. Ulazni pin HT12D bit će spojen na prijamnik koji ima serijski izlaz. Među 12-bitima, 8 bitova (A0-A7) su adresni bitovi i HT12D će dekodirati ulaz samo ako se podudara s trenutnom adresom. D8-D11 su izlazni bitovi. Da bih spojio ovaj krug s krugom odašiljača, spojio sam sve adresne igle na masu. Podaci izvan modula su serijskog tipa i dekoder dešifrira te serijske podatke u izvorne paralelne podatke i izlazimo kroz D8-D11. Da bi se podudarao s frekvencijom titranja, treba spojiti otpor 33-56k na oscilatorne igle. Voden na 17. pinu označava valjani prijenos, svijetli tek nakon što je prijemnik spojen na odašiljač. Napon ulaza u prijemnik je također 6-12 volti.

Za upravljanje motorima koristio sam L293D IC, odabrao sam ovaj IC jer smanjujem veličinu i težinu, a ovaj IC je najbolji za upravljanje dva motora u dva smjera. L293D ima 16 pinova, donji dijagram prikazuje pinouts.


1, 9 zatiči su osovinica za omogućavanje, mi to spajamo na 5 v kako bismo omogućili motore 1A, 2A, 3A i 4A za upravljanje. Motor će se okrenuti udesno ako se iglica 1A spusti nisko, a 2A visoko, a motor će se okrenuti ulijevo ako 1A padne niska, a 2A visoka. Tako smo povezali ove pinove na izlazni ps dekodera. 1Y, 2Y, 3Y i 4Y su iglice za spajanje motora. Vcc2 je napon pogonskog napona motora, ako koristite visokonaponski motor, tada ga spojite na odgovarajući izvor napona.
Izgradnja prijamnog kruga broda Arduino RC
Prije izrade kruga prijemnika, trebali biste se sjetiti nekih važnih stvari. Važna je veličina i težina jer je nakon izgradnje kruga moramo popraviti na brodu. Dakle, ako se težina poveća, to će utjecati na uzgon i kretanje.
Isto kao u krugu odašiljača, zalemite svaku komponentu na maloj zajedničkoj pločici i pokušajte upotrijebiti najmanje žica. Spojio sam pin 8 upravljačkog programa motora na 5v jer koristim motore od 5V.

Izgradnja RC-BRODA
Isprobao sam različite materijale za izgradnju tijela čamca. I postigao sam bolji rezultat s termokol pločom. Stoga sam odlučio tijelo izgraditi termokolom. Prvo sam uzeo komad termokola debljine 3 cm i stavio krug prijemnika na vrh, zatim sam označio oblik čamca termokolom i izrezao. Dakle, ovo je moj način za izgradnju broda, a možete graditi prema svojim idejama.
Motori i propeleri za Arduino Air Boat
Još jednom je važna težina. Dakle, odabir ispravnog motora je važan, ja biram normalne istosmjerne motore tipa 520 volta, n20, koji su mali i bez težine. Da bi se izbjegle RF smetnje, treba spojiti 0.1uf kondenzator paralelno s ulazima motora.

U slučaju propelera, izrađivao sam propelere koristeći plastične listove. Propelere možete kupiti u trgovini ili možete napraviti vlastite, oboje će raditi sasvim u redu. Da bih izgradio propelere, prvo sam uzeo mali plastični lim i od njega izrezao dva mala komada te ih savijam uz pomoć topline svijeće. Konačno, u sredinu sam stavio malu rupu za motor i pričvrstio ga na motor.

Rad Arduino RC broda
Ovaj brod ima dva motora što ga možemo nazvati lijevim i desnim. Ako se i motor pomiče u smjeru kazaljke na satu (položaj pogona također ovisi), propeler usisava zrak s prednje strane i ispuh na stražnju stranu. To generira povlačenje prema naprijed.
Kretanje prema naprijed: Ako se i lijevi i desni motor okreću u smjeru kazaljke na satu, to će kretati prema naprijed
Kretanje unatrag: Ako se i lijevi i desni motor okreću u smjeru suprotnom od kazaljke na satu (to je propeler usisava zrak sa stražnje strane i ispuh na prednju stranu), što će izvršiti pomicanje unatrag
Kretanje lijevom stranom : Ako se okreće samo desni motor, tj. Brod, povucite samo desnu stranu koja će pomaknuti brod na lijevu stranu
Desno kretanje: Ako se okreće samo lijevi motor, to jest čamac, povlači se samo s lijeve strane zbog čega će se čamac pomaknuti na desnu stranu.
Spojili smo ulaz pogona motora na četiri izlazna bita dekodera (D8-D11). možemo kontrolirati ova 4 izlaza spajanjem AD8-AD11 na masu koja je tipka na daljinskom upravljaču. Na primjer, ako AD8 spojimo na zemlju koja će aktivirati D8. Dakle, na takav način možemo upravljati s dva motora u dva smjera pomoću ova 4 izlaza. Ali ne možemo upravljati s dva motora samo jednim gumbom (to nam treba za kretanje naprijed i natrag), zato smo koristili Arduino. Uz pomoć Arduina možemo odabrati željene igle za ulazne podatke.
Arduino programiranje RC broda
Programiranje ovog broda vrlo je jednostavno jer želimo samo neko logičko prebacivanje. A sve možemo postići s osnovnim Arduino funkcijama. Kompletni program za ovaj projekt nalazi se na dnu ove stranice. Objašnjenje vašeg programa je sljedeće
Program započinjemo definiranjem cijelih brojeva za četiri ulazne tipke i ulazne igle dekodera.
int f_button = 9; int b_button = 8; int l_button = 7; int r_button = 6; int m1 = 2; int m2 = 3; int m3 = 4; int m4 = 5;
U odjeljku za postavljanje definirao sam načine pin. Odnosno, tipke su spojene na digitalne pinove pa bi ih te igle trebale definirati kao ulaz, a mi moramo dobiti izlaz za ulaz dekodera, tako da bismo te pinove trebali definirati kao izlaz.
pinMode (f_button, INPUT_PULLUP); pinMode (b_button, INPUT_PULLUP); pinMode (l_button, INPUT_PULLUP); pinMode (r_button, INPUT_PULLUP); pinMode (m1, IZLAZ); pinMode (m2, IZLAZ); pinMode (m3, IZLAZ); pinMode (m4, IZLAZ);
Sljedeće u glavnoj funkciji petlje očitat ćemo status gumba pomoću funkcije digitalnog čitanja Arduina. Ako status pin-a padne, to znači da je pritisnut odgovarajući pin, izvršit ćemo uvjete kako slijedi -
if (digitalRead (f_button) == LOW)
To znači da je pritisnut gumb za naprijed
{ digitalWrite (m1, LOW); digitalWrite (m3, LOW); digitalWrite (m2, VISOKO); digitalWrite (m4, HIGH); }
To će povući m1 i m2 kodera, što će aktivirati oba motora na strani prijemnika. Slično tome, za kretanje unatrag
{ digitalWrite (m1, HIGH); digitalWrite (m3, VISOKO); digitalWrite (m2, LOW); digitalWrite (m4, LOW); }
Za kretanje lijevo
{ digitalWrite (m1, LOW); digitalWrite (m3, VISOKO); digitalWrite (m2, VISOKO); digitalWrite (m4, HIGH); }
Za pravilno kretanje
{ digitalWrite (m1, HIGH); digitalWrite (m3, LOW); digitalWrite (m2, VISOKO); digitalWrite (m4, HIGH); }
Nakon sastavljanja koda, prenesite ga na svoju Arduino ploču.
Rješavanje problema: Postavite čamac na vodenu površinu i provjerite kreće li se pravilno ako ne pokušate promijeniti polaritet motora i propelera. Također, pokušajte uravnotežiti težinu.

Kompletni rad projekta nalazi se u videozapisu na dnu ove stranice. Ako imate pitanja, ostavite ih u odjeljku za komentare.
