- Komponenter krävs för Arduino RC-båt
- 433MHz RF-sändar- och mottagarmoduler
- 433MHZ RF-sändare
- Blockdiagram över Arduino RC-båtsändare
- Kretsschema för Arduino RC Remote (sändare)
- Bygga RC BOAT Transmitter Circuit
- Bygga Arduino RC båtsändarhölje
- 433Mhz mottagarmodul
- Blockdiagram över Arduino RC-båtmottagare
- Kretsschema över Arduino RC-båtmottagare
- Bygga mottagarkretsen för Arduino RC Boat
- Bygga RC-BÅTEN
- Motorer och propellrar för Arduino Air Boat
- Arbetar med Arduino RC Boat
- Arduino-programmering av RC-båten
I det här projektet kommer vi att bygga en fjärrstyrd Arduino Air-Boat som kan styras trådlöst med 433 MHz RF-radiomoduler. Vi kommer att styra den här båten med en hemlagad fjärrkontroll genom att bygga vår egen 433 MHz-sändare och en mottagarmodul. När det gäller fjärrstyrda enheter eller kommunikation mellan två enheter har vi många alternativ som IR, Bluetooth, internet, RF etc. Jämfört med IR-kommunikation har radiokommunikation några fördelar som mer räckvidd och det gör det inte kräver en siktlinjeanslutning mellan sändaren och mottagaren. Dessa moduler kan också göra två sätt att kommunicera, vilket innebär att den kan sända och ta emot samtidigt. Så med den här 433MHz RF-modulen, låt oss bygga en Arduino RC-båt i denna handledning.
Vi har tidigare byggt många fjärrstyrda projekt med dessa 433Mhz RF-moduler för att antingen styra en robot som denna RF-kontrollerade robot eller för hemautomatiseringsapplikationer för att styra hushållsapparater med RF. Förutom att använda RF-moduler har vi också tidigare byggt en Bluetooth-kontrollerad Raspberry Pi-bil och en DTMF-mobilstyrd Arduino-robot. Du kan också kolla in dessa projekt om du är intresserad.
Komponenter krävs för Arduino RC-båt
- 433MHz sändare och mottagare
- Arduino (vilken Arduino som helst, för att minska storleken jag använder promini)
- HT12E och HT12D
- Tryckknappar - 4Nr
- Motstånd - 1mega ohm, 47k ohm
- L293d motorförare
- 9V batteri (jag använder ett 7,4-volts batteri) - 2Nos
- 7805 regulator- 2Nr
- DC-motorer - 2Nr
- Motorblad eller propellrar (jag använder hemlagade propellrar) - 2Nr
- .1uf kondensator- 2Nr
- Vanligt PCB
433MHz RF-sändar- och mottagarmoduler
Dessa typer av RF-moduler är mycket populära bland tillverkare. På grund av deras låga kostnad och enkelhet i anslutningar. Dessa moduler är bäst för alla former av kortdistanskommunikationsprojekt. Dessa moduler är ASK (Amplitude Shift Keying) RF-moduler, Amplitude-shift keying (ASK) är en form av amplitudmodulering som representerar digital data som variationer i amplituden för en bärvåg. I ett ASK-system representeras den binära symbolen 1 genom sändning av en bärvåg med fast amplitud och fast frekvens under en bitvaraktighet på T sekunder. Om signalvärdet är 1, kommer bärarsignalen att sändas; annars sänds ett signalvärde på 0. Det betyder att de vanligtvis inte tar någon ström när de överför Logic "noll". Denna låga energiförbrukning gör dem mycket användbara i batteridrivna projekt.
433MHZ RF-sändare
Denna typ av modul är superliten och levereras med 3 stift VCC, jord och data. Vissa andra moduler levereras med en extra antennstift. Sändarmodulens arbetsspänning är 3V-12V och den här modulen har inga justerbara komponenter. En av de största fördelarna med denna modul är den låga strömförbrukningen, den kräver nästan noll ström för att skicka bit noll.
Blockdiagram över Arduino RC-båtsändare
I blockdiagrammet ovan finns det fyra tryckknappar (kontrollknappar), dessa tryckknappar är för att styra riktningen på båten. Vi har fyra av dem för framåt, bakåt, vänster och höger. Från tryckknapparna får vi logik för att styra båten men kan inte direkt ansluta till kodaren, det är därför vi använde Arduino. Du kanske tror varför jag använde Arduino här, det är helt enkelt för att vi måste dra ner två parallella dataingångar på kodaren samtidigt för en bakåt och framåtrörelse som inte kan uppnås med bara tryckknappar. Därefter kodar kodaren de kommande parallella data till seriella utgångar. Sedan kan vi överföra den seriella data med hjälp av en RF-sändare.
Kretsschema för Arduino RC Remote (sändare)
I ovanstående krets kan du se en sida av alla fyra tryckknappar anslutna till fyra digitala stift av Arduino (D6-D9) och alla de fyra andra sidorna anslutna till marken. Det är när vi trycker på knappen, motsvarande digitala stift får en logisk låg. De fyra parallella ingångarna på HT12E- kodaren är anslutna till ytterligare fyra digitala stift av Arduino (D2-D5). Så med hjälp av Arduino kan vi bestämma ingången till kodaren.
Och prata om kodare HT12E är en 12-bitars kodare och en parallell ingångsseriell utgångskodare. Av 12 bitar är 8 bitar adressbitar som kan användas för att styra flera mottagare. Stiften A0-A7 är adressinmatningsstiften. I det här projektet kontrollerar vi bara en mottagare, så vi vill inte ändra adressen, så jag kopplade alla adressnålar till marken. Om du vill styra olika mottagare med en sändare kan du använda doppbrytare här. AD8-AD11 är kontrollbitingångarna. Dessa ingångar styr D0-D3-utgångarna från HT12D-avkodaren. Vi måste ansluta en oscillator för kommunikationen och oscillatorfrekvensen ska vara 3KHzför 5V-drift. Då blir motståndsvärdet 1,1MΩ för 5V. Sedan kopplade jag utgången från HT12E till sändarmodulen. Vi har redan nämnt, Arduino och RF-sändarmodulen, båda dessa enheter fungerar på 5V högspänning kommer att döda det, så för att undvika detta lade jag till 7805, spänningsregulator. Nu kan vi ansluta (Vcc) 6-12 volt varje typ av batterier till ingång.
Bygga RC BOAT Transmitter Circuit
Jag lödde varje komponent på ett gemensamt kretskort. Kom ihåg att vi arbetar med ett RF-projekt så det finns många chanser för olika typer av störningar så anslut alla komponenter så nära som möjligt. Det är bättre att använda kvinnliga stifthuvuden för Arduino och sändarmodulen. Försök också att lödda allt på kopparplattorna istället för att använda extra ledningar. Slutligen ansluter du en liten tråd till sändarmodulen som hjälper till att öka det totala intervallet. Innan du ansluter Arduino och sändarmodulen, dubbelkontrollera spänningen på lm7805-utgången.
Ovanstående bild visar ovanifrån av den färdiga RC-båtsändarkretsen och bottenvyn av den färdiga RC-båtsändarkretsen visas nedan.
Bygga Arduino RC båtsändarhölje
En anständig kropp är nödvändig för fjärrkontrollen. Detta steg handlar om dina idéer, du kan skapa en avlägsen kropp med dina idéer. Jag förklarar hur jag gjorde det här. För att göra en avlägsen kropp väljer jag 4 mm MDF-ark, du kan också välja plywood, skumplåt eller kartong, sedan skär jag två bitar från den med en längd på 10 cm och en bredd på 5 cm. Sedan markerade jag positionerna för knapparna. Jag placerade riktningsknapparna på vänster sida och framåt, bakåtknapparna till höger. På andra sidan av arket kopplade jag tryckknapparna till huvudsändkretsen. Kom ihåg att en vanlig tryckknapp har fyra stift som är två stift för varje sida. Anslut en stift till Arduino och den andra stiftet till marken. Om du är förvirrad med det, kontrollera det med en multimeter eller kolla databladet.
Efter att ha anslutit alla dessa saker placerade jag kontrollkretsen mellan de två MDF-korten och spände med en lång bult (se nedanstående bilder om du vill). Återigen att skapa en bra kropp handlar om dina idéer.
433Mhz mottagarmodul
Denna mottagare är också mycket liten och levereras med 4 stift VCC, jord, och de två mellersta stiften är data ut. Arbetsspänningen för denna modul är 5v. Liksom sändarmodulen är detta också en lågeffektmodul. Vissa moduler levereras med en extra antennstift men i mitt fall är den inte närvarande.
Blockdiagram över Arduino RC-båtmottagare
Ovanstående blockschema beskriver hur RF-mottagarkretsen fungerar. Först kan vi ta emot de sända signalerna med hjälp av RF-mottagarmodulen. Utgången på denna mottagare är seriell data. Men vi kan inte styra någonting med denna seriella data, det är därför vi kopplade utgången till avkodaren. Avkodaren avkodar seriell data till våra ursprungliga parallella data. I det här avsnittet behöver vi inga mikrokontroller, vi kan direkt ansluta utgångarna till motordrivrutinen.
Kretsschema över Arduino RC-båtmottagare
Den HT12D är ett 12-bitars-avkodare som är en serieingång-parallellutgång avkodare. Ingångsstiftet på HT12D kommer att anslutas till en mottagare som har en seriell utgång. Bland 12-bitarna är 8 bitar (A0-A7) adressbitar och HT12D kommer att avkoda ingången om den bara matchar sin nuvarande adress. D8-D11 är utgångsbitarna. För att matcha den här kretsen till sändarkretsen kopplade jag alla adressstiftarna till marken. Data ut ur modulen är serietyp och avkodaren avkodar denna seriella data till original parallell data och vi kommer ut genom D8-D11. För att matcha svängningsfrekvensen ska 33-56k-motståndet anslutas till oscillatorstiftet. Leds på 17: e stiftet anger giltig sändning, den tänds bara efter att mottagaren är ansluten till en sändare. Mottagarens spänningsingång är också 6-12 volt.
För att styra motorer använde jag L293D IC, jag valde denna IC för att minska storlek och vikt och denna IC är bäst för att styra två motorer i två riktningar. L293D har 16 stift, nedanstående diagram visar tapparna.
1, 9 stift är aktiveringsstiftet, vi ansluter det till 5 v för att aktivera motorerna 1A, 2A, 3A och 4A är styrstiften. Motorn kommer att svänga åt höger om stiftet 1A blir lågt och 2A går högt och motorn kommer att svänga åt vänster om 1A blir lågt och 2A högt. Så vi kopplade dessa stift till avkodarens utgång ps. 1Y, 2Y, 3Y och 4Y är motorns anslutningsstift. Vcc2 är motorns drivspänningsstift, om du använder en högspänningsmotor så ansluter du denna stift till motsvarande spänningskälla.
Bygga mottagarkretsen för Arduino RC Boat
Innan du bygger mottagarkretsen bör du komma ihåg några viktiga saker. Det viktiga är storleken och vikten, för efter att ha byggt kretsen måste vi fixa den på båten. Så om vikten ökar kommer det att påverka flytkraften och rörelsen.
Så som i sändarkretsen, löd varje komponent i ett litet vanligt PCB och försök att använda minsta ledningar. Jag kopplade stift 8 på motordrivrutinen till 5v eftersom jag använder 5V-motorer.
Bygga RC-BÅTEN
Jag försökte olika material för att bygga båtens kaross. Och jag fick ett bättre resultat med termoklad. Så jag bestämde mig för att bygga kroppen med termokok. Först tog jag en 3 cm tjock termokokalbit och placerade mottagarkretsen ovanpå, sedan markerade jag båtens form i termokok och klippte av. Så det här är mitt sätt att bygga båten, du kan bygga enligt dina idéer.
Motorer och propellrar för Arduino Air Boat
Återigen vikt vikt. Så det är viktigt att välja rätt motor, jag väljer 5-volts, normala DC-motorer av typ N20 som är små och viktlösa. För att undvika RF-störningar bör du ansluta 0,1uf kondensator parallellt med motoringångar.
När det gäller propellrar gjorde jag propellrar med plastplåt. Du kan köpa propellrar från butiken eller så kan du bygga dina egna, båda fungerar bra. För att bygga propellern tog jag först ett litet plastark och klippte ut två små bitar från det och jag böjer bitarna med hjälp av ljusvärme. Slutligen satte jag ett litet hål i mitten för motorn och fixerade på motorn som är det.
Arbetar med Arduino RC Boat
Den här båten har två motorer, så kallar den vänster och höger. Om motorn rör sig moturs också (propellorns läge beror också på) suger propellern luft framifrån och avgas till baksidan. Det genererar drag framåt.
Framåtrörelse: Om både vänster och höger motor roterar medurs kommer det att röra sig framåt
Bakåtrörelse: Om både vänster och höger motor roterar moturs (det vill säga propeller suger luft från baksidan och avgas till framsidan) som kommer att göra bakåtrörelse
Vänster rörelse: Om bara den högra motorn roterar, det vill säga, får du bara dra från höger sida så att båten flyttar till vänster sida
Höger rörelse: Om bara den vänstra motorn roterar, det vill säga, blir det bara drag från vänster sida som får båten att flytta till höger.
Vi kopplade motorns drivrutinsingång till fyra utgångsbitar på avkodaren (D8-D11). vi kan styra dessa 4 utgångar genom att ansluta AD8-AD11 till marken som är knapparna på fjärrkontrollen. Till exempel om vi ansluter AD8 till marken som aktiverar D8. Så på ett sådant sätt kan vi styra de två motorerna i två riktningar med dessa 4 utgångar. Men vi kan inte styra två motorer med bara en knapp (vi behöver det för framåt- och bakåtrörelse) det är därför vi använde Arduino. Med hjälp av Arduino kan vi välja ingångsdatapinnar som vår önskan.
Arduino-programmering av RC-båten
Programmeringen av denna båt är väldigt enkel eftersom vi bara vill ha en viss logisk växling. Och vi kan uppnå allt med grundläggande Arduino-funktioner. Det fullständiga programmet för detta projekt finns längst ner på denna sida. Förklaringen till ditt program är som följer
Vi startar programmet med att definiera heltal för fyra ingångsknappar och avkodningsingångar.
int f_button = 9; int b_knapp = 8; int l_knapp = 7; int r_knapp = 6; int ml = 2; int m2 = 3; int m3 = 4; int m4 = 5;
I installationssektionen definierade jag stiftlägena. Det vill säga knapparna är anslutna till digitala stift så att dessa stift ska definieras som ingång och vi måste få utgång för ingången till avkodaren så att vi ska definiera dessa stift som utgång.
pinMode (f_button, INPUT_PULLUP); pinMode (b_knapp, INPUT_PULLUP); pinMode (l_knapp, INPUT_PULLUP); pinMode (r_knapp, INPUT_PULLUP); pinMode (m1, OUTPUT); pinMode (m2, OUTPUT); pinMode (m3, OUTPUT); pinMode (m4, OUTPUT);
Nästa i huvudslingfunktionen läser vi knappens status med hjälp av Arduinos digitalläsfunktion. Om stiftstatusen blir låg betyder det att motsvarande stift trycks in, så utför vi villkoren enligt följande:
om (digitalRead (f_button) == LOW)
Det betyder att framåtknappen trycks ned
{ digitalWrite (m1, LOW); digitalWrite (m3, LOW); digitalWrite (m2, HÖG); digitalWrite (m4, HIGH); }
Detta kommer att rulla ner m1 och m2 för kodaren, vilket kommer att aktivera båda motorerna på mottagarsidan. På samma sätt för bakåtrörelse
{ digitalWrite (m1, HIGH); digitalWrite (m3, HIGH); digitalWrite (m2, LOW); digitalWrite (m4, LOW); }
För vänster rörelse
{ digitalWrite (m1, LOW); digitalWrite (m3, HIGH); digitalWrite (m2, HÖG); digitalWrite (m4, HIGH); }
För rätt rörelse
{ digitalWrite (m1, HIGH); digitalWrite (m3, LOW); digitalWrite (m2, HÖG); digitalWrite (m4, HIGH); }
Efter att ha sammanställt koden, ladda upp den till ditt Arduino-kort.
Felsökning: Placera båten på vattenytan och kontrollera om den rör sig korrekt om du inte försöker ändra polariteten på motorer och propellrar. Försök också att balansera vikten.
Det fullständiga arbetet med projektet finns i den länkade videon längst ner på denna sida. Om du har några frågor lämnar du dem i kommentarsektionen.