Innholdsfortegnelse:
- Rekvisita
- Trinn 1: 3D -modell
- Trinn 2: 3D -utskrift
- Trinn 3: Forberedelse for montering: Ledninger
- Trinn 4: Forberedelse for montering: OLED -skjerm
- Trinn 5: Forberedelse for montering: Joysticks
- Trinn 6: Forberedelse for montering: NRF24L01
- Trinn 7: Forberedelse for montering: Potensiometre
- Trinn 8: Forberedelse for montering: Brytere
- Trinn 9: Forberedelse for montering: Lodd batteriet til av / på-bryteren
- Trinn 10: Forberedelse for montering: AMS1117 Spenningsregulator
- Trinn 11: Forbered Perf Board: Arduino og Pin Headers
- Trinn 12: Forbered Perf Board: Pin Extensions
- Trinn 13: Montering: Fest styrespakene til basen
- Trinn 14: Montering: Fest potensiometrene og OLED -displayet til potensiometerstativet
- Trinn 15: Montering: Fest potensiometerstativet til styrespaken
- Trinn 16: Montering: Fest NRF24L01 -kabinettet til potensiometerstativet
- Trinn 17: Montering: Fest håndtakene til basen
- Trinn 18: Montering: Fest batteriet på basen
- Trinn 19: Montering: Fest bryterne til håndtakene
- Trinn 20: Montering: Fest Perf Board -enheten til styrespaken
- Trinn 21: Montering: Fest Perf Board til Perf Board Mount
- Trinn 22: Arduino -tilkoblinger
- Trinn 23: Senderkode
- Trinn 24: Mottakerkode
- Trinn 25: Konklusjon
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02
Dette prosjektet vil vise deg hvordan jeg gikk frem for å designe og bygge en Arduino -basert RC -sender.
Målet mitt for dette prosjektet var å designe en 3D -utskrivbar RC -sender som jeg kunne bruke til å kontrollere andre Arduino -prosjekter. Jeg ville at kontrolleren skulle være så permanent som mulig, men jeg ville også ha muligheten til å ta den fra hverandre og redesigne deler av den. Dette prosjektet er resultatet av noen ukers hardt arbeid.
Rekvisita
For å bygge denne kontrolleren trenger du:
- Analog joystick x2
- Analog potensiometer x2
- 128x32 0,91 tommers OLED -skjerm x1
- Arduino Nano x1
- NRF24L01 -modul med antenne x1
- 3 cm x 7 cm perfboard x1
- BRC 18650 3,7 v Li-ion batteri x2
- 2 -cellers 18650 batteriveske x1
- AMS1117 3.3 spenningsregualtor x1
- 3 -stillings vippebryter x1
- 2 -posisjon vippebryter x2
Ytterligere elementer:
- Flerfarget standard 22 gauge ledning
- Flerfarget solid kjerne 22 gauge wire
- Mann + Kvinne Pin -overskrifter
- m3 pannehodeskruer og muttere (assortert lengde)
- m2 pannehodeskruer og muttere (assortert lengde)
- m2 standoffs (assortert lengde)
-
Tilgang til:
- 3D -skriver
- Loddejern
Trinn 1: 3D -modell
Jeg begynte med å modellere kontrolleren i en 3D -modelleringsprogramvare. Det var et par ting jeg tok i betraktning under designprosessen:
- 3D -skriveren min er relativt liten, så delene mine må settes sammen etter utskriftsprosessen. For å løse dette, la jeg til hull i hele designet for å feste deler ved hjelp av m2 skruer.
- Jeg ønsket å enkelt omorganisere deler på designet mitt uten å måtte skrive ut på nytt, så jeg la til hull med jevnt mellomrom der delene skulle settes sammen for å gi mulighet for design etter utskrift.
- Jeg unngikk helt overheng i dette designet, noe som resulterte i utskrifter av høy kvalitet.
Denne modellen inneholder ikke alle delene som består av senderen, men alle delene som kreves for 3D -utskrift er inkludert. Du kan laste ned STEP -filen for denne modellen ved å klikke nedlasting nedenfor.
*Jeg inkluderte.stl -filen for nrf24 -kabinettet for de som hadde problemer med å dele den i tre separate deler.
Trinn 2: 3D -utskrift
Dette er et ganske greit trinn. Etter at alle delene er skrevet ut, kan du begynne å forberede montering av delene.
Trinn 3: Forberedelse for montering: Ledninger
For å tillate endringer i utformingen av dette prosjektet loddet jeg mannlige pinhoder i den ene enden av alle ledningene.
Trinn 4: Forberedelse for montering: OLED -skjerm
Før du begynner montering, må du forberede noen av de elektroniske komponentene. Det første du må gjøre er loddetråder til hver av komponentens pinner. (Det er lettere å bruke standardledningen i denne situasjonen fordi den er mer fleksibel og derfor lettere å montere.) OLED-skjermen min var uten pin-headers, så jeg loddet ledningene direkte til breakout-kortet. Det spiller imidlertid ingen rolle om du lodder til pinnehodene.
Trinn 5: Forberedelse for montering: Joysticks
Det neste trinnet er å lodde ledninger til styrespakene. I dette tilfellet loddet jeg ledningene til pinnehodene av flere årsaker:
- Hvis jeg hadde fjernet pinnehodene og loddet til hullene, ville jeg ha måttet føre ledningene gjennom toppen av hullene fordi det 3D -trykte feste er direkte under styrespakens utbruddskort.
- Siden jeg loddet til pinnehodene, faller ledningene rett ned og gjør oversiden av senderen mer organisert.
Jeg brukte de samme fargene for de samme typene pins på begge joysticks:
- Rød for VCC
- Svart for GND
- Blå for VRX
- Gul for VRY
- Grønn for SV
Dette gjorde det lettere når du koblet ledningene til de riktige portene på Arduino.
Trinn 6: Forberedelse for montering: NRF24L01
For NRF24L01 -modulen fjernet jeg pinnehodene og loddet direkte til hullene for å få plass til perfboardet. Nok en gang noterte jeg fargene jeg brukte for hver pinne for fremtidig referanse.
Trinn 7: Forberedelse for montering: Potensiometre
For potensiometrene, loddetråder til hver av de tre ledningene. De to ytre ledningene er enten jordede eller vcc -pinner (det spiller ingen rolle i hvilken rekkefølge) og den midterste ledningen sendes ut. Jeg loddet en rød ledning og svart ledning til de to ytterste ledningene og en hvit ledning til midtledningen for begge potensiometre.
Trinn 8: Forberedelse for montering: Brytere
Ta bryteren for tre posisjoner og lodd en ledning til hver av pinnehodene. Jeg brukte svart for midten og to andre farger for utsiden, som jeg tok til etterretning for fremtidig referanse.
På de to posisjonsbryterne er det tre pinneoverskrifter. Du vil bare bruke to av disse. En svart ledning går i midten og en annen ledning går på en av de to utvendige pinnehodene. Viktig: Gjør dette for bare én bryter.
Den neste bryteren vil bli brukt som en av / på-bryter. Foreløpig er det bare å lodde en ledning til den sentrale pinnen på denne av / på-bryteren.
Trinn 9: Forberedelse for montering: Lodd batteriet til av / på-bryteren
Lodd den røde ledningen til batterikassen til en av de ytre pinnene på av / på-bryteren. Hvis du ikke allerede har det, lodder du en pinneoverskrift på den svarte ledningen til batterikassen.
Trinn 10: Forberedelse for montering: AMS1117 Spenningsregulator
For dette trinnet trenger du AMS1117 3,3 volt regulator. Her har jeg en festet til et breakout -bord designet for NRF24L01, så jeg skal vise hvordan du fullfører dette trinnet ved å bruke denne delen. Hvis du bare har AMS1117 IC, er det mange opplæringsprogrammer der ute som kan hjelpe deg med ledningene.
Det første jeg gjorde var å avolde alle pinnehodene fra brettet. Jeg loddet deretter en rød og svart ledning til de tilsvarende pinnene.
Jeg fortsatte med den ikke-permanente designen, og jeg tok en rad med to kvinnelige pinhoder og festet dem til VCC- og GND-portene der NRF24L01-modulen ville sitte.
Når du har gjort dette, kan du gå videre til neste trinn.
Trinn 11: Forbered Perf Board: Arduino og Pin Headers
Det siste du må gjøre før montering er å forberede perfboardet. For å gjøre dette trenger du Arduino Nano, de solide kjernetrådene og de kvinnelige pinnehodene.
Sørg for at Arduino Nano har pinhoder, og fortsett å lodde den til perfboardet. Du vil legge det så langt til den ene siden av brettet som mulig for å la plass til tilkoblingsutvidelser, men du vil også legge igjen en rad på hver side av Arduino for lodding av kvinnelige pinhoder. Sørg for at USB -kontakten er så nær kanten av kortet som mulig. Brettet mitt på 3 x 7 cm er 10 hull på 24 hull. Dette etterlot meg to rader til venstre side av Arduino, en rad til høyre side, og omtrent ni hull bak Arduino.
Ta deretter to rader med femten kvinnelige pinhoder og lodde dem ved siden av Arduino. Jeg brukte standard kvinnelige pin -overskrifter, men jeg skulle ønske jeg hadde brukt stablehoder av denne grunn:
Du må koble ledningene på pinnehodene til ledningene på Arduino. Hvis du brukte standard pinhoder, må en loddebro gjøre forbindelsen, noe som er litt kjedelig og tidkrevende. Hvis du brukte stakingshodene, kan du bøye ledningene for å berøre Arduino -lederne for å gjøre loddeoppgaven mye enklere
Uansett hvilken måte du velger å gjøre dette på, må pinnehodene være koblet til Arduino pinnehoder.
Trinn 12: Forbered Perf Board: Pin Extensions
Når du har Arduino- og pinhodene loddet til brettet, er neste trinn å forlenge 5v- og jordpinnene for å ta imot alle de elektriske komponentene.
Lodd to rader med 10 pinnehoder på perf -brettet i motsatt ende som Arduino med en rad mellomrom mellom dem.
Ta et stykke solid kjernetråd og kjør den fra 5V -pinnen på Arduino til en rad med pinhoder. Strip isolasjonen slik at ledningen blir eksponert der den berører ledningene på pinnehodene. Lodd ledningen på plass.
Gjør det samme bortsett fra med GND -pinnen på Arduino og den andre raden med pinnehoder.
Når du har gjort dette, er senderen klar til å settes sammen.
Trinn 13: Montering: Fest styrespakene til basen
For denne oppgaven trenger du åtte m4 skruer og de tilhørende muttere, sammen med noen skiver.
Plasser mutrene i de sekskantede hullene på bunnen av 3D -trykte delen vist ovenfor.
Skyv en skive på hver skrue.
Skyv fire m4 -skruer inn i de fire hullene på styrespaken.
Skyv joystick -forskjøvet 3D -trykt del for å fungere som en avstand mellom utbruddskortet og styrespaken.
Skyv styrespaken med skruer på plass på sokkelen, og hold mutrene i hullene mens du fester skruene.
Gjenta dette trinnet for den andre joysticken.
Trinn 14: Montering: Fest potensiometrene og OLED -displayet til potensiometerstativet
Skyv potensiometrene på plass på potensiometerstativet. Potensiometrene jeg har kommet med muttere for å stramme dem ned, og jeg brukte disse her for å holde potensiometrene på plass. For å stramme mutrene inne i innsatsen brukte jeg en flat skrutrekker.
Før deretter OLED-skjermtrådene gjennom sporet på venstre side av potensiometerstativet. Stram dekselet over skjermen med noen få m2 skruer. Du må kanskje legge til noen skiver for å passe til skjermens fremspring.
Trinn 15: Montering: Fest potensiometerstativet til styrespaken
Ta potensiometerstativet og fest det til joystickbasen ved hjelp av m2-skruer slik at pinnehodene på joysticken vender bort fra stativet.
Trinn 16: Montering: Fest NRF24L01 -kabinettet til potensiometerstativet
NRF24L01 -kabinettet består av tre deler. Ta den første delen og før ledningene til selve modulen gjennom sporet på baksiden. Den fremre enden skal sitte i sporet og loddeskjøtene som stikker ut fra baksiden av brettet skal også sitte i den respektive sporet.
Ta hetten på kabinettet og sett hullene på linje slik at den flate siden av dekselet er flatt mot kabinettet. Skyv to m2 skruer gjennom hullene og sett denne enheten gjennom hullene på potensiometerstativet. For å fullføre dette trinnet, plasser hullene på den andre hetten med m2 -skruene slik at det lille parabolske fremspringet på forsiden av delen sitter rundt sylinderen til NRF24L01 -modulen. Trekk til med to muttere.
Trinn 17: Montering: Fest håndtakene til basen
Ta begge håndtakene og fest dem til basen med m2 -skruer som vist på bildene ovenfor.
Trinn 18: Montering: Fest batteriet på basen
Fest batterihuset til batterifestet med m3 skruer.
Fest batterifestet til basen med m2 skruer slik at batterikassen åpner nedover.
Trinn 19: Montering: Fest bryterne til håndtakene
For dette trinnet trenger du alle vippebryterne. Begynn med vippebryteren med tre posisjoner.
Fjern festet fra bryteren og skyv bryteren gjennom det sekskantede hullet på høyre håndtak. Det er ikke avgjørende hvor denne bryteren er plassert.
Ta bryteren med to stillinger med to ledninger og skyv den gjennom et hull på venstre side av håndtaket, og fest den på samme måte som den forrige bryteren.
Velg et annet hull på venstre håndtak for å feste den siste to-posisjons vippebryteren, som skal være av / på-bryteren.
Trinn 20: Montering: Fest Perf Board -enheten til styrespaken
Bruk m2 -skruer og m2 -avstandsstykker for å feste perfboard -braketten til styrespaken. Sørg for at sporet på perf board -festet passer rundt NRF24L01 -modulen. Nok en gang må du kanskje legge til noen skiver mellom festet og basen for å ta hensyn til skruehodets fremspring (du kan også bruke 3D -trykt forskyvning for dette). Du vil sørge for at du skyver de lengre m2 -skruene gjennom rørene på festet først, fordi du ikke kan gjøre dette når feste er festet.
Trinn 21: Montering: Fest Perf Board til Perf Board Mount
Bruk m2 -skruer til å feste perfboardbraketten til perfboardet slik at Arduino- og pinnehodene vender vekk fra holderen. Lengden på ledningene dine kan drive retningen USB -porten på Arduino peker.
Trinn 22: Arduino -tilkoblinger
Å velge denne designen av senderen resulterer i en tilsynelatende uorganisert underside. For å få dette til å virke som en mindre overveldende oppgave, fokuserte jeg på en type tilkobling om gangen. For eksempel begynte jeg med å koble alle GND -ledningene til den utvidede raden for GND på perf -brettet. Her er forbindelsene:
Digitale pins:
D4 - Joystick1 Sw
D5 - Joystick2 Sw
D6 - Ytterpinne på 2 posisjon vippebrytere
D7 - Utvendig pinne på 3 posisjon vippebryter
D8 - Annen utvendig pin av 3 posisjon vippebryter
D9 - CE -pin av NRF24L01
D10 - CSN Pin av NRF24L01
D11 - MOSI Pin av NRF24L01
D12 - MISC Pin av NRF24L01
D13 - SCK Pin av NRF24L01
*Merk: Dette er når fargekoding av ledningene dine vil komme godt med. NRF24L01 -kabinettet begrenser synet på pinnavnene. Når du fargekoder ledningene, kan du fortelle hvilken pinne som er uten større innsats, noe som gjør det mye lettere å koble ledningene til Arduino.
Analoge pinner:
A0 - Senterstift på potensiometer 1
A1 - Senterstift på potensiometer 2
A2 - Joystick2 VRX -pinne
A3 - Joystick2 VRY Pin
A4 - OLED SDA (DATA) Pin
A5 - OLED SCL (CLOCK) Pin
A6 - Joystick1 VRY Pin
A7 - Joystick1 VRX Pin
Spenningsregulator (AMS1117):
Koble jordpinnen til NRF24L01 -modulen til jordpinnen på spenningsregulatoren. Koble 3,3 volt -pinnen på NRF24L01 til spenningsregulatoren.
Jordpinnforlengelsespinnehoder (Koble alle disse pinnene til jordpinnene):
- Midtpinne på 2 posisjon vippebryter
- Midtpinne på 3 posisjon vippebryter
- Joystick1 GND Pin
- Joystick2 GND Pin
- Potensiometer 1 høyre pinne
- Potensiometer 2 høyre pinne
- OLED GND Pin
- GND for batterideksel
- GND Pin på spenningsregulator
5v Pin Extension Pin Headers (Koble alle disse pinnene til VCC pin headers):
- Joystick1 5v pin
- Joystick2 5v pin
- Potensiometer 1 venstre pinne
- Potensiometer 2 venstre pinne
- OLED VCC -pinne
- VCC Pin på spenningsregulator
Andre tilkoblinger:
Den siste komponenten som skal kobles til, er av / på-bryteren. En ledning på bryteren skal være koblet til den positive kontakten på batterikassen. Midtpinnen blir koblet til VIN -pinnen på Arduino.
Trinn 23: Senderkode
Det siste trinnet til denne kontrolleren er koden. Jeg vil gjøre en liten forklaring på denne koden, men hvis du vil ha en mer grundig forklaring på nøyaktig hvordan NRF24l01-modulen fungerer og brukes, kan du besøke dette nettstedet:
Arduino trådløs kommunikasjon - NRF24L01 Opplæring
#inkludere
#include #include #include #include #include #include #include #include #include #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 32 // OLED display height, in pixels Adafruit_SSD1306 display (SCREEN_WIDTH, SCREEN_HEIGHT, &, -1); RF24 radio (9, 10); const byte adresse [6] = "00001"; int data [11]; const int onevrx = 7; // variabel for VRX på joystick 1 const int onevry = 6; // variabel for VRY på joystick 1 const int twovrx = 2; // variabel for VRX på joystick 2 const int twovry = 3; // variabel for VRY på joystick 2 const int pot0Pin = 0; // variabel for pot 1 const int pot1Pin = 1; // variabel for pot 2 const int ASwitch = 6; // variabel for to -posisjon vippebryter const int BSwitch1 = 8; // variabel for posisjon en av tre stillings vippebryter const int BSwitch2 = 7; // variabel for posisjon tre av tre stillings vippebryter const int CButton = 2; // variabel for valgfri trykknapp 1 const int DButton = 3; // variabel for valgfri trykknapp 2 int oneX; int oneY; int twoX; int toY; int pot0; int pot1; ugyldig oppsett () {Serial.begin (9600); radio.begin (); radio.openWritingPipe (adresse); radio.setPALevel (RF24_PA_MIN); radio.stopListening (); pinMode (ASbryter, INPUT_PULLUP); // sett APin til utgangsmodus pinMode (BSwitch1, INPUT_PULLUP); // sett BPin til utgangsmodus pinMode (BSwitch2, INPUT_PULLUP); // sett CPin til utgangsmodus pinMode (CButton, INPUT_PULLUP); // sett DPin til utgangsmodus pinMode (DButton, INPUT_PULLUP); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); forsinkelse (1000); display.clearDisplay (); display.setTextSize (.25); display.setTextColor (HVIT); display.setCursor (0, 0); display.print ("Slå på"); display.display (); forsinkelse (10); } void loop () {oneX = analogRead (onevrx); oneY = analogRead (enevry); twoX = analogRead (twovrx); twoY = analogRead (to); pot0 = analogRead (pot0Pin); pot1 = analogRead (pot1Pin); data [0] = oneX; data [1] = ett år; data [2] = toX; data [3] = toY; data [4] = pot0; data [5] = pot1; data [6] = digitalRead (ASwitch); data [7] = digitalRead (BSwitch1); data [8] = digitalRead (BSwitch2); data [9] = digitalRead (CButton); data [10] = digitalRead (DButton); radio.write (& data, sizeof (data)); // sende data til mottakerforsinkelsen (100); display.clearDisplay (); display.setTextSize (.25); display.setTextColor (HVIT); display.setCursor (5, 5); display.println (data [4]); display.print ("Mottatt strøm"); // legg til tilleggsinformasjon du ønsker å vise på OLED -skjermen. display (); }
Trinn 24: Mottakerkode
#inkludere
#include #include RF24 radio (9, 10); // cns, ce // definere objektet for å kontrollere NRF24L01 const byte adresse [6] = "00001"; // definere kommunikasjonsadressen som skal svare til senderens int -data [11] = {512, 512, 512, 512, 512, 512, 0, 0, 0, 0, 0}; // definere matrise som brukes til å lagre kommunikasjonsdataens oppsett av tomrom () {radio.begin (); radio.openReadingPipe (0, adresse); radio.setPALevel (RF24_PA_MIN); radio.startListening (); // sett som mottaker Serial.begin (9600); } void loop () {if (radio.available ()) {radio.read (& data, sizeof (data)); // skrive ut noen få datapunkter fra kontrolleren til den serielle skjermen Serial.print (data [0]); Serial.print ("\ t / t"); Serial.print (data [1]); Serial.print ("\ t / t"); Serial.print (data [2]); Serial.print ("\ t / t"); Serial.print (data [3]); Serial.println (""); } // Igjen, dette er bare basiskodeksemplet for mottakermodulen.
Trinn 25: Konklusjon
Du kan kontrollere praktisk talt ethvert Arduino -prosjekt med denne kontrolleren, og designet gir enda mer modifikasjon. Du kan bestemme deg for at du vil ha to ekstra potensiometre i stedet for en OLED -skjerm (Hvis du vil ha STEP -filen til et 4 potensiometerstativ, kan jeg sende det til deg. Bare kom med en kommentar med forespørselen). Eller kanskje du ønsker å legge til noen knapper i designet. Det er helt opp til deg.
Hvis du har spørsmål, kommentarer eller bekymringer, ikke nøl med å spørre.
Takk for at du tok deg tid til å lese gjennom disse 24 trinnene. Jeg håper du var i stand til å lære noe eller få noen nye ideer om hva som kan oppnås med en 3D -skriver og en Arduino.
Runner Up i Arduino Contest 2020
Anbefalt:
Ta flotte bilder med en iPhone: 9 trinn (med bilder)
Ta flotte bilder med en iPhone: De fleste av oss har med oss en smarttelefon overalt i disse dager, så det er viktig å vite hvordan du bruker smarttelefonkameraet ditt til å ta flotte bilder! Jeg har bare hatt en smarttelefon i et par år, og jeg har elsket å ha et greit kamera for å dokumentere ting jeg
Raspberry Pi -eske med kjølevifte med CPU -temperaturindikator: 10 trinn (med bilder)
Raspberry Pi-eske med kjølevifte med CPU-temperaturindikator: Jeg hadde introdusert bringebær pi (heretter som RPI) CPU-temperaturindikatorkrets i det forrige prosjektet. Kretsen viser ganske enkelt RPI 4 forskjellige CPU-temperaturnivå som følger.- Grønn LED ble slått på når CPU -temperaturen er innenfor 30 ~
Slik gjør du det: Installere Raspberry PI 4 Headless (VNC) med Rpi-imager og bilder: 7 trinn (med bilder)
Howto: Installere Raspberry PI 4 Headless (VNC) Med Rpi-imager og bilder: Jeg planlegger å bruke denne Rapsberry PI i en haug med morsomme prosjekter tilbake i bloggen min. Sjekk det gjerne ut. Jeg ønsket å begynne å bruke Raspberry PI igjen, men jeg hadde ikke tastatur eller mus på min nye plassering. Det var en stund siden jeg konfigurerte en bringebær
Teppe med sensorer/ RF -kommunikasjon med Arduino Micro: 4 trinn (med bilder)
Teppe med sensorer/ RF -kommunikasjon med Arduino Micro: Jeg avsluttet nylig installasjonen Like variert, som er laget av en serie lamper som reagerer på sensorene plassert i et teppe under lampene. Her er hvordan jeg laget teppet med trykksensorer. Jeg håper du finner det nyttig
Slik demonterer du en datamaskin med enkle trinn og bilder: 13 trinn (med bilder)
Slik demonterer du en datamaskin med enkle trinn og bilder: Dette er en instruksjon om hvordan du demonterer en PC. De fleste grunnkomponentene er modulære og fjernes lett. Det er imidlertid viktig at du er organisert om det. Dette vil bidra til å hindre deg i å miste deler, og også i å gjøre monteringen igjen