- Components necessaris per a Arduino RC Boat
- Mòduls de transmissor i receptor de RF de 433 MHz
- Transmissor de RF 433MHZ
- Esquema de blocs del transmissor Arduino RC Boat
- Diagrama de circuits del control remot Arduino RC (transmissor)
- Construint el circuit del transmissor RC BOAT
- Construint el recinte del transmissor RC Boat Arduino
- Mòdul receptor 433Mhz
- Diagrama de blocs del receptor Arduino RC Boat
- Diagrama de circuits del receptor de vaixells RC Arduino
- Construint el circuit receptor d'Arduino RC Boat
- Construint el RC-BOAT
- Motors i hèlixs per a Arduino Air Boat
- Funcionament d'Arduino RC Boat
- Programació Arduino del RC Boat
En aquest projecte, construirem un Arduino Air-Boat controlat a distància que es pot controlar sense fils mitjançant els mòduls de ràdio RF de 433 MHz. Controlarem aquest vaixell mitjançant un control remot casolà mitjançant la construcció del nostre propi transmissor de 433 MHz i un mòdul receptor. En el cas de dispositius controlats a distància o de comunicacions entre dos dispositius, tenim moltes opcions com IR, Bluetooth, Internet, RF, etc. En comparació amb la comunicació IR, les comunicacions per ràdio tenen alguns avantatges, com ara més abast i no requereixen una connexió de línia visual entre el transmissor i el receptor. A més, aquests mòduls poden fer dues formes de comunicació, és a dir, poden transmetre i rebre alhora. Per tant, utilitzant aquest mòdul de 433 MHz, construïm un Arduino RC Boat en aquest tutorial.
Anteriorment hem construït molts projectes controlats a distància mitjançant aquests mòduls de RF de 433 MHz per controlar un robot com aquest robot controlat per RF o per a aplicacions d’automatització domèstica per controlar electrodomèstics mitjançant RF. A part d’utilitzar mòduls de RF, també hem construït anteriorment un cotxe Raspberry Pi controlat per Bluetooth i un robot Arduino controlat per telèfon mòbil DTMF. També podeu consultar aquests projectes si esteu interessats.
Components necessaris per a Arduino RC Boat
- Transmissor i receptor de 433 MHz
- Arduino (qualsevol Arduino, per reduir la mida que estic fent servir promini)
- HT12E i HT12D
- Polsadors: 4Nos
- Resistències: 1 mega ohm, 47 k ohm
- Controlador de motor L293d
- Bateria de 9V (estic fent servir una bateria de 7,4 volts) - 2Nos
- Regulador 7805- 2Nos
- Motors de CC- 2Nos
- Fulla o propulsors del motor (estic fent servir propulsors casolans) - 2Nos
- .1uf condensador- 2Nos
- PCB comú
Mòduls de transmissor i receptor de RF de 433 MHz
Aquest tipus de mòduls de RF són molt populars entre els fabricants. A causa del seu baix cost i senzillesa en les connexions. Aquests mòduls són els millors per a totes les formes de projectes de comunicació a curt abast. Aquests mòduls són mòduls de tipus RF de tipus ASK (Amplitude Shift Keying), el teclat de desplaçament d’amplitud (ASK) és una forma de modulació d’amplitud que representa les dades digitals com a variacions de l’amplitud d’una ona portadora. En un sistema ASK, el símbol binari 1 es representa transmetent una ona portadora d'amplitud fixa i una freqüència fixa durant una durada de bits de T segons. Si el valor del senyal és 1, es transmetrà el senyal portador; en cas contrari, es transmetrà un valor de senyal de 0. Això significa que normalment no consumeixen energia quan transmeten la lògica "zero". Aquest baix consum d'energia els fa molt útils en projectes amb bateria.
Transmissor de RF 433MHZ
Aquest tipus de mòdul és molt petit i ve amb 3 pins VCC, terra i dades. Alguns altres mòduls inclouen un pin d'antena addicional. La tensió de treball del mòdul transmissor és de 3V-12V i aquest mòdul no té components ajustables. Un dels principals avantatges d’aquest mòdul és el baix consum de corrent, que requereix gairebé zero corrent per enviar el bit zero.
Esquema de blocs del transmissor Arduino RC Boat
Al diagrama de blocs anterior, hi ha quatre botons (botons de control), que són per controlar la direcció de la barca. En tenim quatre per endavant, enrere, esquerra i dreta. A partir dels botons, obtenim lògica per controlar l’embarcació, però no podem connectar-nos directament al codificador, per això hem utilitzat l’Arduino. Podríeu pensar per què he utilitzat Arduino aquí, és simplement perquè hem de tirar cap avall dues entrades de dades paral·leles del codificador alhora per fer un moviment cap enrere i cap endavant que no es pot aconseguir amb només botons. A continuació, el codificador codifica les properes dades paral·leles a les sortides serials. Després podem transmetre aquestes dades en sèrie amb l'ajut d'un transmissor de RF.
Diagrama de circuits del control remot Arduino RC (transmissor)
Al circuit anterior, podeu veure un dels quatre botons connectats a quatre pins digitals d'Arduino (D6-D9) i els altres quatre costats connectats a terra. És a dir, quan premem el botó, els pins digitals corresponents tenen una lògica baixa. Les quatre entrades paral·leles del codificador HT12E es van connectar a altres quatre pins digitals d'Arduino (D2-D5). Així doncs, amb l’ajuda d’Arduino, podem decidir l’entrada del codificador.
I parlant del codificador HT12E és un codificador de 12 bits i un codificador de sortida sèrie-entrada paral·lela. De 12 bits, els 8 bits són bits d’adreça que es poden utilitzar per controlar diversos receptors. Els pins A0-A7 són els pins d’entrada d’adreça. En aquest projecte, només controlem un receptor, de manera que no volem canviar-ne l'adreça, de manera que he connectat tots els pins d'adreces a terra. Si voleu controlar diferents receptors amb un transmissor, podeu utilitzar interruptors dip aquí. AD8-AD11 són les entrades de bits de control. Aquestes entrades controlaran les sortides D0-D3 del descodificador HT12D. Hem de connectar un oscil·lador per a la comunicació i la freqüència de l’oscil·lador ha de ser de 3 KHzper a un funcionament de 5 V. Aleshores, el valor de la resistència serà d’1,1MΩ per a 5V. Després vaig connectar la sortida de l'HT12E al mòdul transmissor. Ja hem esmentat, el mòdul transmissor Arduino i RF, tots dos dispositius que funcionen a 5V d’alta tensió el mataran, així que, per evitar-ho, he afegit el regulador de voltatge 7805. Ara podem connectar (Vcc) 6-12volt a qualsevol tipus de bateria d’entrada.

Construint el circuit del transmissor RC BOAT
He soldat tots els components en un PCB comú. Recordeu que estem treballant en un projecte de RF, de manera que hi ha moltes possibilitats de diferents tipus d’interferències, de manera que connecteu tots els components el més a prop possible. És millor utilitzar capçaleres de pin femelles per a Arduino i el mòdul transmissor. A més, intenteu soldar tot el que hi ha als coixinets de coure en lloc d’utilitzar cables addicionals. Finalment, connecteu un petit cable al mòdul transmissor que us ajudarà a augmentar el rang total. Abans de connectar el mòdul Arduino i el transmissor, comproveu de nou el voltatge de la sortida lm7805.

La imatge superior mostra la vista superior del circuit transmissor RC Boat completat i la vista inferior del circuit transmissor RC Boat completat es mostra a continuació.

Construint el recinte del transmissor RC Boat Arduino
És necessari un cos decent per al comandament a distància. Aquest pas consisteix en les vostres idees, podeu crear un cos remot amb les vostres idees. Estic explicant com he fet això. Per fer un cos remot, trio fulls de MDF de 4 mm, també podeu triar contraxapat, full d’escuma o cartró, i després tallo dos trossos amb una longitud de 10 cm i una amplada de 5 cm. Després vaig marcar les posicions dels botons. Vaig col·locar els botons de direcció a la part esquerra i endavant, cap enrere a la dreta. A l’altra banda del full, vaig connectar els botons de pressió al circuit transmissor principal. Recordeu que un polsador normal té 4 pins que són dos pins per cada costat. Connecteu un pin a Arduino i l’altre a terra. Si esteu confós, comproveu-ho amb un multímetre o consulteu el full de dades.

Després de connectar totes aquestes coses, vaig col·locar el circuit de control entre les dues plaques de MDF i vaig apretar amb un cargol llarg (si us plau, consulteu les imatges següents). Una vegada més crear un bon cos es tracta de les vostres idees.

Mòdul receptor 433Mhz
Aquest receptor també és molt petit i ve amb 4 pins VCC, terra, i els dos pins centrals són dades de sortida. La tensió de treball d’aquest mòdul és de 5v. Igual que el mòdul transmissor, aquest també és un mòdul de baixa potència. Alguns mòduls inclouen un pin d'antena addicional, però en el meu cas no hi és.
Diagrama de blocs del receptor Arduino RC Boat
El diagrama de blocs anterior descriu el funcionament del circuit del receptor de RF. En primer lloc, podem rebre els senyals transmesos mitjançant el mòdul receptor RF. La sortida d’aquest receptor són dades de sèrie. Però no podem controlar res amb aquestes dades de sèrie, per això hem connectat la sortida al descodificador. El descodificador decodifica les dades de sèrie a les nostres dades paral·leles originals. En aquesta secció, no necessitem cap microcontrolador, podem connectar directament les sortides al controlador del motor.
Diagrama de circuits del receptor de vaixells RC Arduino

El HT12D és un descodificador de 12 bits que és un descodificador de sortida sèrie-paral·lel. El pin d'entrada de l'HT12D es connectarà a un receptor que té una sortida sèrie. Entre els 12 bits, els 8 bits (A0-A7) són bits d'adreça i l'HT12D descodificarà l'entrada si només coincideix amb la seva adreça actual. D8-D11 són els bits de sortida. Per fer coincidir aquest circuit amb el circuit transmissor, vaig connectar tots els pins d’adreça a terra. Les dades fora del mòdul són el tipus de sèrie i el descodificador descodifica aquestes dades de sèrie a dades paral·leles originals i sortim a través de D8-D11. Per coincidir amb la freqüència d'oscil·lació, haureu de connectar la resistència de 33-56k als pins de l'oscil·lador. El led del pin número 17 indica la transmissió vàlida, només s’encén després que el receptor es connectés a un transmissor. L’entrada de tensió del receptor també és de 6-12 volts.

Per controlar motors, he utilitzat l’IC L293D, he escollit aquest IC perquè per reduir la mida i el pes, aquest IC és el millor per controlar dos motors en dues direccions. L293D té 16 pins, el diagrama següent mostra els pinouts.


1, 9 pins són el pin d’activació, ho connectem a 5 v per permetre que els motors 1A, 2A, 3A i 4A siguin els pins de control. El motor girarà cap a la dreta si el pin 1A baixa i el 2A augmenta, i el motor girarà cap a l’esquerra si 1A baixa i 2A d’alçada. Per tant, hem connectat aquests pins a la sortida ps del descodificador. 1Y, 2Y, 3Y i 4Y són els pins de connexió del motor. Vcc2 és el pin de tensió de conducció del motor, si utilitzeu un motor d'alta tensió, connecteu aquest pin a la font de tensió corresponent.
Construint el circuit receptor d'Arduino RC Boat
Abans de construir el circuit del receptor, heu de recordar algunes coses importants. L’important és la mida i el pes, perquè després de construir el circuit, hem de fixar-lo al vaixell. Per tant, si el pes augmenta, això afectarà la flotabilitat i el moviment.
Igual que al circuit del transmissor, soldeu tots els components d’un petit PCB comú i intenteu utilitzar cables mínims. He connectat el pin 8 del controlador del motor a 5V perquè estic fent servir motors de 5V.

Construint el RC-BOAT
Vaig provar diferents materials per construir el cos del vaixell. I vaig obtenir un millor resultat amb la làmina de termocol. Així que vaig decidir construir el cos amb termocol. Primer, vaig agafar una peça de termocol de 3 cm de gruix i vaig col·locar el circuit receptor a la part superior, després vaig marcar la forma del vaixell en termocol i vaig tallar. Per tant, aquesta és la meva manera de construir el vaixell, que podeu construir segons les vostres idees.
Motors i hèlixs per a Arduino Air Boat
Una vegada més el pes importa. Per tant, és important triar el motor correcte, trio motors de corrent continu de 5 volts, tipus n20, que són petits i sense pes. Per evitar les interferències de RF, haureu de connectar un condensador de 0,1uf paral·lel a les entrades del motor.

En el cas de les hèlixs, he fabricat hèlixs amb làmines de plàstic. Podeu comprar hèlixs a la botiga o podeu construir les vostres pròpies. Totes dues funcionaran bé. Per construir les hèlixs, primer, vaig agafar una petita làmina de plàstic i en vaig tallar dos trossos petits i vaig doblegar els trossos amb l’ajut de la calor de les espelmes. Finalment, vaig posar un petit forat al centre del motor i el vaig fixar al motor.

Funcionament d'Arduino RC Boat
Aquest vaixell té dos motors que permeten trucar-lo a esquerra i dreta. Si el motor també es mou cap a les agulles del rellotge (també depèn la posició de l'hèlix), el propulsor aspira aire des de la part davantera i s'escapa cap a la part posterior. Això genera arrossegament cap endavant.
Moviment cap endavant: si els motors esquerre i dret giren cap a les agulles del rellotge, el moviment cap endavant
Moviment cap enrere: si tant el motor esquerre com el dret giren en sentit contrari a les agulles del rellotge (és a dir, l'hèlix aspira aire de la part posterior i s'escapa cap a la part davantera) que farà moviment cap enrere
Moviment cap a l'esquerra: si només gira el motor dret que és el vaixell, només arrossegueu des del costat dret que farà que el vaixell es mogui cap al costat esquerre
Moviment dret: si només gira el motor esquerre, el vaixell només arrossega des del costat esquerre que farà que el vaixell es mogui cap al costat dret.
Hem connectat l’entrada del controlador de motors a quatre bits de sortida del descodificador (D8-D11). podem controlar aquestes 4 sortides connectant l'AD8-AD11 a la terra que són els botons del comandament a distància. Per exemple, si connectem AD8 a la terra que activarà el D8. Així doncs, podem controlar els dos motors en dues direccions mitjançant aquestes 4 sortides. Però no podem controlar dos motors amb un sol botó (ho necessitem per avançar i retrocedir), per això hem utilitzat l'Arduino. Amb l’ajut d’Arduino, podem seleccionar els pins de dades d’entrada que desitgem.
Programació Arduino del RC Boat
La programació d’aquest vaixell és molt senzilla perquè només volem una commutació lògica. I ho podem aconseguir tot amb funcions bàsiques d’Arduino. El programa complet d’aquest projecte es troba a la part inferior d’aquesta pàgina. L’explicació del vostre programa és la següent
Comencem el programa definint els enters de quatre botons d'entrada i pins d'entrades del descodificador.
int botó_f = 9; int b_butó = 8; int l_butó = 7; int botó_r = 6; int m1 = 2; int m2 = 3; int m3 = 4; int m4 = 5;
A la secció de configuració, he definit els modes de pin. És a dir, els botons estan connectats a pins digitals, de manera que aquests pins s’han de definir com a entrada i hem d’obtenir sortida per a l’entrada del descodificador, de manera que hauríem de definir aquests pins com a sortida.
pinMode (botó f_, INPUT_PULLUP); pinMode (b_button, INPUT_PULLUP); pinMode (l_button, INPUT_PULLUP); pinMode (r_button, INPUT_PULLUP); pinMode (m1, OUTPUT); pinMode (m2, OUTPUT); pinMode (m3, OUTPUT); pinMode (m4, OUTPUT);
A continuació, a la funció de bucle principal, llegirem l'estat del botó mitjançant la funció de lectura digital d'Arduino. Si l'estat del pin es redueix, significa que es prem el pin corresponent, executarem les condicions de la manera següent:
if (digitalRead (f_button) == BAIX)
Això significa que es prem el botó d'avanç
{ digitalWrite (m1, BAIX); digitalWrite (m3, BAIX); digitalWrite (m2, ALT); digitalWrite (m4, HIGH); }
D’aquesta manera es desplaçaran m1 i m2 del codificador, això activarà els dos motors al costat del receptor. De la mateixa manera, per retrocedir
{ digitalWrite (m1, HIGH); digitalWrite (m3, HIGH); digitalWrite (m2, BAIX); digitalWrite (m4, BAIX); }
Per moviment a l'esquerra
{ digitalWrite (m1, BAIX); digitalWrite (m3, HIGH); digitalWrite (m2, ALT); digitalWrite (m4, HIGH); }
Per a un moviment correcte
{ digitalWrite (m1, HIGH); digitalWrite (m3, BAIX); digitalWrite (m2, ALT); digitalWrite (m4, HIGH); }
Després de compilar el codi, pengeu-lo a la vostra placa Arduino.
Resolució de problemes: col·loqueu el vaixell sobre la superfície de l'aigua i comproveu si es mou correctament si no, proveu de canviar la polaritat dels motors i les hèlixs. A més, intenteu equilibrar el pes.

El funcionament complet del projecte es pot trobar al vídeo enllaçat al final d'aquesta pàgina. Si teniu alguna pregunta, deixeu-los a la secció de comentaris.
