Inhoudsopgave:

3D-geprinte Arduino-gebaseerde RC-zender - Ajarnpa
3D-geprinte Arduino-gebaseerde RC-zender - Ajarnpa

Video: 3D-geprinte Arduino-gebaseerde RC-zender - Ajarnpa

Video: 3D-geprinte Arduino-gebaseerde RC-zender - Ajarnpa
Video: How to Make a 3D Printer with Arduino at home 2024, Juni-
Anonim
3D-geprinte op Arduino gebaseerde RC-zender
3D-geprinte op Arduino gebaseerde RC-zender

Dit project laat je zien hoe ik te werk ben gegaan bij het ontwerpen en bouwen van een op Arduino gebaseerde RC-zender.

Mijn doel voor dit project was om een 3D-afdrukbare RC-zender te ontwerpen die ik kon gebruiken om andere Arduino-projecten te besturen. Ik wilde dat de controller zo permanent mogelijk was, maar ik wilde ook de mogelijkheid om hem uit elkaar te halen en delen ervan opnieuw te ontwerpen. Dit project is het resultaat van een paar weken hard werken.

Benodigdheden

Om deze controller te bouwen, heb je nodig:

  • Analoge joystick x2
  • Analoge potentiometer x2
  • 128x32 0,91 inch OLED-scherm x1
  • Arduino Nano x1
  • NRF24L01 module met antenne x1
  • 3cm x 7cm perfboard x1
  • BRC 18650 3.7 v Li-ion batterij x2
  • 2 cel 18650 batterijhouder x1
  • AMS1117 3.3 spanningsregelaar x1
  • 3 standen tuimelschakelaar x1
  • 2 standen tuimelschakelaar x2

Extra artikelen:

  • Veelkleurige standaard 22 gauge draad
  • Veelkleurige massieve kern 22 gauge draad
  • Mannelijke + Vrouwelijke Pin-headers
  • m3 schroeven en moeren met platte kop (diverse lengtes)
  • m2 schroeven en moeren met platte kop (diverse lengtes)
  • m2 afstandhouders (diverse lengtes)
  • Toegang tot:

    • 3D-printer
    • Soldeerbout

Stap 1: 3D-model

3d model
3d model

Ik begon met het modelleren van de controller in een 3D-modelleringssoftware. Tijdens het ontwerpproces heb ik met een aantal zaken rekening gehouden:

  • Mijn 3D-printer is relatief klein, dus mijn onderdelen moeten na het printproces worden samengevoegd. Om dit op te lossen, heb ik gaten in het ontwerp toegevoegd om onderdelen te bevestigen met m2-schroeven.
  • Ik wilde onderdelen op mijn ontwerp gemakkelijk opnieuw rangschikken zonder opnieuw te hoeven printen, dus voegde ik gaten op uniforme afstanden toe waar de onderdelen zouden worden samengevoegd om ontwerpmogelijkheden na het afdrukken mogelijk te maken.
  • In dit ontwerp heb ik overhangen helemaal vermeden, wat resulteert in prints van hoge kwaliteit.

Dit model bevat niet alle onderdelen waaruit de zender bestaat, maar alle onderdelen die nodig zijn voor 3D-printen zijn inbegrepen. U kunt het STEP-bestand voor dit model downloaden door hieronder op downloaden te klikken.

*Ik heb het.stl-bestand voor de nrf24-bijlage bijgevoegd voor degenen die problemen hadden om het in drie afzonderlijke delen te splitsen.

Stap 2: 3D printen

3d printen
3d printen

Dit is een vrij eenvoudige stap. Nadat alle onderdelen zijn afgedrukt, kunt u beginnen met de voorbereiding van de montage van de onderdelen.

Stap 3: Voorbereiding voor montage: draden

Voorbereiding voor montage: draden
Voorbereiding voor montage: draden

Om wijzigingen in het ontwerp van dit project mogelijk te maken, heb ik mannelijke pin-headers aan het ene uiteinde van alle draden gesoldeerd.

Stap 4: Voorbereiding voor montage: OLED-display

Voorbereiding voor montage: OLED-display
Voorbereiding voor montage: OLED-display

Voordat u met de montage begint, moet u enkele elektronische componenten voorbereiden. Het eerste dat u moet doen, is draden aan elk van de pinnen van het onderdeel solderen. (In deze situatie is het gemakkelijker om de standaarddraad te gebruiken omdat deze flexibeler is en daarom gemakkelijker te monteren.) Mijn OLED-display had geen pin-headers, dus ik heb de draden rechtstreeks op het breakout-bord gesoldeerd. Het maakt echter geen verschil of je wel of niet soldeert op de pin-headers.

Stap 5: Voorbereiding voor montage: joysticks

Voorbereiding voor montage: joysticks
Voorbereiding voor montage: joysticks
Voorbereiding voor montage: joysticks
Voorbereiding voor montage: joysticks

De volgende stap is het solderen van draden aan de joysticks. In dit geval heb ik de draden om een paar redenen aan de pin-headers gesoldeerd:

  1. Als ik de pin-headers had verwijderd en aan de gaten had gesoldeerd, had ik de draden door de bovenkant van de gaten moeten voeren, omdat de 3D-geprinte houder zich direct onder het breakout-bord van de joystick bevindt.
  2. Omdat ik aan de pin-headers heb gesoldeerd, vallen de draden recht naar beneden en wordt de bovenkant van de zender overzichtelijker.

Ik heb dezelfde kleuren gebruikt voor dezelfde soorten pinnen op beide joysticks:

  • Rood voor VCC
  • Zwart voor GND
  • Blauw voor VRX
  • Geel voor VRY
  • Groen voor SW

Dit maakte het gemakkelijker om de draden op de juiste poorten op de Arduino aan te sluiten.

Stap 6: Voorbereiding voor montage: NRF24L01

Voorbereiding voor montage: NRF24L01
Voorbereiding voor montage: NRF24L01

Voor de NRF24L01-module heb ik de pin-headers verwijderd en rechtstreeks op de gaten gesoldeerd om ruimte te hebben voor het perfboard. Nogmaals, ik heb nota genomen van de kleuren die ik voor elke pin heb gebruikt voor toekomstig gebruik.

Stap 7: Voorbereiding voor montage: Potentiometers

Voorbereiding voor montage: Potentiometers
Voorbereiding voor montage: Potentiometers

Voor de potentiometers soldeert u draden aan elk van de drie draden. De buitenste twee draden zijn ofwel aarde- of vcc-pinnen (het maakt niet uit in welke volgorde) en de middelste draad wordt uitgevoerd. Ik heb een rode draad en een zwarte draad aan de buitenste twee draden gesoldeerd en een witte draad aan de middelste draad voor beide potentiometers.

Stap 8: Voorbereiding voor montage: schakelaars

Voorbereiding voor montage: schakelaars
Voorbereiding voor montage: schakelaars

Neem de driestandenschakelaar en soldeer een draad aan elk van de pin-headers. Ik gebruikte zwart voor het midden en twee andere kleuren voor de buitenkant, die ik noteerde voor toekomstig gebruik.

Op de twee positieschakelaars bevinden zich drie pin-headers. Je zult er maar twee van gebruiken. Een zwarte draad gaat in het midden en een andere draad gaat op een van de twee buitenste pin-headers. Belangrijk: Doe dit voor slechts één switch.

De volgende schakelaar wordt gebruikt als aan-uitschakelaar. Soldeer voorlopig alleen een draadje aan de centrale pin van deze aan-uitschakelaar.

Stap 9: Voorbereiding voor montage: soldeer de batterijbehuizing aan de aan-uitschakelaar

Voorbereiding voor montage: soldeer de batterijbehuizing op de aan-uitschakelaar
Voorbereiding voor montage: soldeer de batterijbehuizing op de aan-uitschakelaar

Soldeer de rode draad van de batterijhouder aan een van de buitenste pinnen op de aan-uitschakelaar. Als je dat nog niet hebt gedaan, soldeer dan een pin-header op de zwarte draad van de batterijhouder.

Stap 10: Voorbereiding voor montage: AMS1117 spanningsregelaar

Voorbereiding voor montage: AMS1117 spanningsregelaar
Voorbereiding voor montage: AMS1117 spanningsregelaar
Voorbereiding voor montage: AMS1117 spanningsregelaar
Voorbereiding voor montage: AMS1117 spanningsregelaar

Voor deze stap heb je de AMS1117 3.3 volt regelaar nodig. Hier heb ik er een bevestigd aan een breakout-bord dat is ontworpen voor de NRF24L01, dus ik zal laten zien hoe je deze stap kunt voltooien met behulp van dit onderdeel. Als je alleen de AMS1117 IC hebt, zijn er tal van tutorials die je kunnen helpen met de bedrading.

Het eerste wat ik deed, was alle pin-headers van het bord verwijderen. Vervolgens heb ik een rode en zwarte draad gesoldeerd aan de bijbehorende pinnen.

Verdergaand met het niet-permanente ontwerp, nam ik een rij van twee vrouwelijke pin-headers en bevestigde deze aan de VCC- en GND-poorten waar de NRF24L01-module zou zitten.

Zodra u dit hebt gedaan, kunt u doorgaan naar de volgende stap.

Stap 11: Bereid het Perf Board voor: Arduino en Pin Headers

Bereid het Perf Board voor: Arduino en Pin Headers
Bereid het Perf Board voor: Arduino en Pin Headers
Bereid het Perf Board voor: Arduino en Pin Headers
Bereid het Perf Board voor: Arduino en Pin Headers
Bereid het Perf Board voor: Arduino en Pin Headers
Bereid het Perf Board voor: Arduino en Pin Headers

Het laatste dat u voor de montage moet doen, is het perfboard voorbereiden. Om dit te doen, hebt u de Arduino Nano, de massieve kerndraden en de vrouwelijke pin-headers nodig.

Zorg ervoor dat je Arduino Nano pin-headers heeft en soldeer hem op het perfboard. Je zult het zo ver mogelijk aan één kant van het bord willen plaatsen om ruimte te laten voor verbindingsuitbreidingen, maar je zult ook een rij aan elke kant van de Arduino willen laten voor het solderen van de vrouwelijke pin-headers. Zorg ervoor dat de USB-connector zich zo dicht mogelijk bij de rand van het bord bevindt. Mijn bord van 3 cm x 7 cm is 10 gaten bij 24 gaten. Hierdoor had ik twee rijen aan de linkerkant van de Arduino, één rij aan de rechterkant en ongeveer negen gaten achter de Arduino.

Neem vervolgens twee rijen van vijftien vrouwelijke pin-headers en soldeer ze naast de Arduino. Ik gebruikte standaard vrouwelijke pin-headers, maar ik wou dat ik om deze reden stapelheaders had gebruikt:

U moet de leads op de pin-headers aansluiten op de leads op de Arduino. Als je de standaard pin-headers hebt gebruikt, moet een soldeerbrug de verbinding maken, wat een beetje vervelend en tijdrovend is. Als je de uitzet-headers hebt gebruikt, kun je de leads buigen om de Arduino-leads aan te raken om de soldeertaak veel gemakkelijker te maken

Welke manier u ook kiest om dit te doen, de pin-headers moeten worden aangesloten op de Arduino-pin-headers.

Stap 12: Bereid het Perf Board voor: Pin Extensions

Bereid het Perf Board voor: Pin Extensions
Bereid het Perf Board voor: Pin Extensions
Bereid het Perf Board voor: Pin Extensions
Bereid het Perf Board voor: Pin Extensions
Bereid het Perf Board voor: Pin Extensions
Bereid het Perf Board voor: Pin Extensions

Zodra je de Arduino- en pin-headers op het bord hebt gesoldeerd, is de volgende stap het verlengen van de 5v- en grondpinnen om alle elektrische componenten te kunnen bevatten.

Soldeer twee rijen van 10-pins headers op het perf-bord aan de andere kant als de Arduino met één rij ruimte ertussen.

Neem een stuk massieve kerndraad en voer het van de 5V-pin op de Arduino naar een rij pin-headers. Strip de isolatie zodat de draad zichtbaar is waar deze de draden op de pin-headers raakt. Soldeer de draad op zijn plaats.

Doe hetzelfde, behalve met de GND-pin op de Arduino en de andere rij pin-headers.

Zodra u dit hebt gedaan, is de zender klaar om te worden gemonteerd.

Stap 13: Montage: bevestig de joysticks aan de basis

Montage: bevestig de joysticks aan de basis
Montage: bevestig de joysticks aan de basis
Montage: bevestig de joysticks aan de basis
Montage: bevestig de joysticks aan de basis
Montage: bevestig de joysticks aan de basis
Montage: bevestig de joysticks aan de basis
Montage: bevestig de joysticks aan de basis
Montage: bevestig de joysticks aan de basis

Voor deze taak heb je acht m4-schroeven en de bijbehorende moeren nodig, samen met een paar ringen.

Plaats de moeren in de zeshoekige gaten aan de onderkant van het hierboven getoonde 3D-geprinte onderdeel.

Schuif een ring op elke schroef.

Duw vier m4-schroeven in de vier gaten op het breakout-bord van de joystick.

Schuif het joystick-offset 3D-geprinte onderdeel om te fungeren als een impasse tussen het breakout-bord en de joystickbevestiging.

Schuif de joystick met schroeven op zijn plaats op de basis en houd de moeren in hun sleuven terwijl u de schroeven vastdraait.

Herhaal deze stap voor de andere joystick.

Stap 14: Montage: bevestig de potentiometers en het OLED-scherm aan het potentiometerrek

Montage: bevestig de potentiometers en het OLED-scherm aan het potentiometerrek
Montage: bevestig de potentiometers en het OLED-scherm aan het potentiometerrek
Montage: bevestig de potentiometers en het OLED-scherm aan het potentiometerrek
Montage: bevestig de potentiometers en het OLED-scherm aan het potentiometerrek
Montage: bevestig de potentiometers en het OLED-scherm aan het potentiometerrek
Montage: bevestig de potentiometers en het OLED-scherm aan het potentiometerrek
Montage: bevestig de potentiometers en het OLED-scherm aan het potentiometerrek
Montage: bevestig de potentiometers en het OLED-scherm aan het potentiometerrek

Schuif de potentiometers op hun plaats op het potentiometerrek. De potentiometers die ik heb geleverd met moeren om ze vast te draaien, en ik heb deze hier gebruikt om de potentiometers op hun plaats te houden. Om de moeren in de inzet vast te draaien, heb ik een platte schroevendraaier gebruikt.

Voer vervolgens de draden van het OLED-display door de sleuf aan de linkerkant van het potentiometerrek. Draai de kap over het display vast met een paar m2 schroeven. Mogelijk moet u een paar ringen toevoegen om het uitsteeksel van het scherm op te vangen.

Stap 15: Montage: bevestig het potentiometerrek aan de joystickbasis

Montage: bevestig het potentiometerrek aan de joystickbasis
Montage: bevestig het potentiometerrek aan de joystickbasis

Neem het potentiometerrek en bevestig het aan de joystickbasis met behulp van m2-schroeven, zodat de pin-headers van de joystick van het rek af wijzen.

Stap 16: Montage: bevestig de NRF24L01-behuizing aan het potentiometerrek

Montage: bevestig de NRF24L01-behuizing aan het potentiometerrek
Montage: bevestig de NRF24L01-behuizing aan het potentiometerrek
Montage: bevestig de NRF24L01-behuizing aan het potentiometerrek
Montage: bevestig de NRF24L01-behuizing aan het potentiometerrek
Montage: bevestig de NRF24L01-behuizing aan het potentiometerrek
Montage: bevestig de NRF24L01-behuizing aan het potentiometerrek
Montage: bevestig de NRF24L01-behuizing aan het potentiometerrek
Montage: bevestig de NRF24L01-behuizing aan het potentiometerrek

De NRF24L01-behuizing bestaat uit drie delen. Pak het eerste deel en voer de draden van de module zelf door de gleuf aan de achterkant. De voorkant moet in de gleuf zitten en de soldeerverbindingen die uit de achterkant van het bord steken, moeten ook in hun respectieve gleuf zitten.

Neem de dop van de behuizing en lijn de gaten uit zodat de platte kant van de kap plat tegen de behuizing ligt. Schuif twee m2 schroeven door de gaten en monteer dit geheel door de gaten op het potentiometerrek. Om deze stap te voltooien, lijnt u de gaten op de tweede dop uit met de m2-schroeven, zodat het kleine parabolische uitsteeksel aan de voorkant van het onderdeel rond de cilinder van de NRF24L01-module zit. Draai het vast met twee moeren.

Stap 17: Montage: Bevestig de handgrepen aan de basis

Montage: Bevestig de handgrepen aan de basis
Montage: Bevestig de handgrepen aan de basis
Montage: Bevestig de handgrepen aan de basis
Montage: Bevestig de handgrepen aan de basis

Neem beide handvatten en bevestig ze aan de basis met behulp van m2 schroeven, zoals weergegeven in de afbeeldingen hierboven.

Stap 18: Montage: bevestig de batterijhouder aan de basis

Montage: bevestig de batterijhouder aan de basis
Montage: bevestig de batterijhouder aan de basis
Montage: bevestig de batterijhouder aan de basis
Montage: bevestig de batterijhouder aan de basis
Montage: bevestig de batterijhouder aan de basis
Montage: bevestig de batterijhouder aan de basis

Bevestig de batterijhouder aan de batterijhouder met verzonken m3-schroeven.

Bevestig de batterijhouder aan de basis met m2 schroeven zodat de batterijhouder naar beneden opent.

Stap 19: Montage: bevestig de schakelaars aan de handgrepen

Montage: bevestig de schakelaars aan de handgrepen
Montage: bevestig de schakelaars aan de handgrepen
Montage: bevestig de schakelaars aan de handgrepen
Montage: bevestig de schakelaars aan de handgrepen

Voor deze stap heb je alle tuimelschakelaars nodig. Begin met de tuimelschakelaar met drie standen.

Verwijder de sluiting van de schakelaar en schuif de schakelaar door het zeshoekige gat op de rechter handgreep. Het is niet cruciaal waar deze schakelaar zich bevindt.

Neem de tuimelschakelaar met twee standen met twee draden en duw deze door een gat aan de linkerkant van de hendel, en bevestig hem op dezelfde manier als de vorige schakelaar.

Kies een ander gat in de linkerhandgreep om de laatste tuimelschakelaar met twee standen te bevestigen, wat de aan-uitschakelaar zou moeten zijn.

Stap 20: Montage: Bevestig de Perf Board-assemblage aan de joystickbasis

Montage: bevestig de geperforeerde plaat aan de joystickbasis
Montage: bevestig de geperforeerde plaat aan de joystickbasis
Montage: bevestig de geperforeerde plaat aan de joystickbasis
Montage: bevestig de geperforeerde plaat aan de joystickbasis

Gebruik m2-schroeven en m2-afstandhouders om de perfboardbevestiging aan de joystickbasis te bevestigen. Zorg ervoor dat de sleuf op de perf-kaartbevestiging rond de NRF24L01-module past. Nogmaals, het kan zijn dat u een paar ringen tussen de houder en de basis moet toevoegen om rekening te houden met het uitsteeksel van de schroefkop (u kunt hiervoor ook de 3D-geprinte offset gebruiken). Zorg er wel voor dat je eerst de langere m2 schroeven door de buizen op de beugel schuift, want als de beugel eenmaal is bevestigd, kun je dit niet meer doen.

Stap 21: Montage: Bevestig het Perf Board aan de Perf Board Mount

Montage: Bevestig het Perf Board aan de Perf Board Mount
Montage: Bevestig het Perf Board aan de Perf Board Mount

Gebruik m2-schroeven om de perfboard-montage aan de perfboard te bevestigen, zodat de Arduino- en pin-headers van de montage af zijn gericht. De lengte van uw draden kan de richting bepalen waarin de USB-poort op de Arduino wijst.

Stap 22: Arduino-verbindingen

Arduino-verbindingen
Arduino-verbindingen

De keuze voor dit zenderontwerp resulteert in een ogenschijnlijk ongeorganiseerde onderkant. Om dit een minder overweldigende taak te laten lijken, concentreerde ik me op één type verbinding tegelijk. Ik begon bijvoorbeeld met het aansluiten van alle GND-draden op de uitgebreide rij voor GND op het perf-bord. Dit zijn de aansluitingen:

Digitale pinnen:

D4 - Joystick1 Sw

D5 - Joystick2 Sw

D6 - Buitenpen van tuimelschakelaar met 2 standen

D7 - Buitenpen van tuimelschakelaar met 3 standen

D8 - Andere buitenpen van tuimelschakelaar met 3 standen

D9 - CE-pin van NRF24L01

D10 - CSN-pin van NRF24L01

D11 - MOSI-pen van NRF24L01

D12 - DIVERSE Pin van NRF24L01

D13 - SCK-pen van NRF24L01

*Opmerking: dit is wanneer kleurcodering van uw draden van pas komt. De NRF24L01-behuizing beperkt uw zicht op de pinnamen. Wanneer u de draden kleurcodeert, kunt u zonder veel moeite zien welke pin dat is, waardoor het veel gemakkelijker wordt om de draden op de Arduino aan te sluiten.

Analoge pinnen:

A0 - Middelste pen van potentiometer 1

A1 - Middelste pen van potentiometer 2

A2 - Joystick2 VRX-pin

A3 - Joystick2 VRY-pin

A4 - OLED SDA (DATA)-pin

A5 - OLED SCL (KLOK) Pin

A6 - Joystick1 VRY-pin

A7 - Joystick1 VRX-pin

Spanningsregelaar (AMS1117):

Sluit de massapin van de NRF24L01 module aan op de massapin op de spanningsregelaar. Sluit de 3,3 volt pin op de NRF24L01 aan op de spanningsregelaar.

Uitbreidingspin-headers voor aardpen (sluit al deze pinnen aan op de headers van de aardpen):

  • Middelste pin op tuimelschakelaar met 2 standen
  • Middelste pin op tuimelschakelaar met 3 standen
  • Joystick1 GND-pin
  • Joystick2 GND-pin
  • Potentiometer 1 rechts pin
  • Potentiometer 2 rechts pin
  • OLED GND-pin
  • GND van batterijhouder
  • GND Pin op spanningsregelaar

5v Pin Extension Pin Headers (verbind al deze pinnen met de VCC pin-headers):

  • Joystick1 5v-pin
  • Joystick2 5v-pin
  • Potentiometer 1 linker pin
  • Potentiometer 2 linker pin
  • OLED VCC-pin
  • VCC-pin op spanningsregelaar

Andere aansluitingen:

Het laatste onderdeel dat moet worden aangesloten, is de aan-uitschakelaar. Een kabel van de schakelaar moet worden aangesloten op de positieve pool op de batterijbehuizing. De middelste pin wordt verbonden met de VIN-pin op de Arduino.

Stap 23: Zendercode

De laatste stap naar deze controller is de code. Ik zal een kleine uitleg geven voor deze code, maar als je een meer diepgaande uitleg wilt over hoe de NRF24l01-module precies werkt en wordt gebruikt, bezoek dan deze site:

Arduino draadloze communicatie - NRF24L01 zelfstudie

#erbij betrekken

#include #include #include #include #include #include #include #include #include #define SCREEN_WIDTH 128 // OLED-displaybreedte, in pixels #define SCREEN_HEIGHT 32 // OLED-displayhoogte, in pixels Adafruit_SSD1306 display (SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); RF24-radio (9, 10); const byte-adres [6] = "00001"; int-gegevens[11]; const int onevrx = 7; //variabele voor VRX op joystick 1 const int onevry = 6; //variabele voor VRY op joystick 1 const int twovrx = 2; //variabele voor VRX op joystick 2 const int twovry = 3; //variabele voor VRY op joystick 2 const int pot0Pin = 0; //variabele voor pot 1 const int pot1Pin = 1; //variabele voor pot 2 const int ASwitch = 6; //variabele voor tuimelschakelaar met twee standen const int BSwitch1 = 8; //variabele voor positie één van drie standen tuimelschakelaar const int BSwitch2 = 7; //variabele voor positie drie van drie standen tuimelschakelaar const int CButton = 2; //variabele voor optionele drukknop 1 const int DButton = 3; //variabele voor optionele drukknop 2 int oneX; int oneY; int tweeX; int tweeY; int pot0; int pot1; void setup() { Serial.begin(9600); radio.begin(); radio.openWritingPipe(adres); radio.setPALevel(RF24_PA_MIN); radio.stopListening(); pinMode (ASwitch, INPUT_PULLUP); // stel APin in op de uitvoermodus pinMode (BSwitch1, INPUT_PULLUP); // stel BPin in op de uitvoermodus pinMode (BSwitch2, INPUT_PULLUP); // stel CPin in op de uitvoermodus pinMode (CButton, INPUT_PULLUP); // stel DPin in op de uitvoermodus pinMode (DButton, INPUT_PULLUP); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); vertraging (1000); display.clearDisplay(); display.setTextSize(.25); display.setTextColor(WIT); display.setCursor(0, 0); display.print("Inschakelen"); weergave.weergave(); vertraging(10); } void loop () { oneX = analogRead (onevrx); oneY = analogRead(onevry); tweeX = analoog lezen (tweevrx); tweeY = analoogLees(tweevry); pot0 = analoog lezen (pot0Pin); pot1 = analoog lezen (pot1Pin); data[0] = éénX; gegevens[1] = eenY; gegevens[2] = tweeX; gegevens[3] = tweeY; gegevens[4] = pot0; gegevens[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)); // stuur gegevens naar de ontvanger vertraging (100); display.clearDisplay(); display.setTextSize(.25); display.setTextColor(WIT); display.setCursor (5, 5); display.println(data[4]); display.print("Ontvangend vermogen"); // voeg hier eventuele aanvullende informatie toe die u op de OLED wilt weergeven display.display(); }

Stap 24: Ontvangercode

#erbij betrekken

#include #include RF24-radio(9, 10); //cns, ce // definieer het object om NRF24L01 const byte address [6] = "00001" te besturen; // definieer het communicatieadres dat moet overeenkomen met de transmitter int data [11] = {512, 512, 512, 512, 512, 512, 0, 0, 0, 0, 0}; // definieer array die wordt gebruikt om de communicatiegegevens void setup () { radio.begin (); radio.openReadingPipe(0, adres); radio.setPALevel(RF24_PA_MIN); radio.startListening(); //set als ontvanger Serial.begin (9600); } void loop() { if (radio.available()) { radio.read(&data, sizeof(data)); //afdrukken van een paar datapunten van de controller naar de seriële monitor Serial.print(data[0]); Serial.print("\t\t"); Serial.print(gegevens[1]); Serial.print("\t\t"); Serial.print(gegevens[2]); Serial.print("\t\t"); Serial.print(gegevens[3]); Serieel.println(""); } //Nogmaals, dit is slechts het voorbeeld van de basiscode voor de ontvangermodule.

Stap 25: Conclusie

Je kunt vrijwel elk Arduino-project met deze controller besturen, en het ontwerp zorgt voor nog meer aanpassingen. Je zou kunnen besluiten dat je twee extra potentiometers wilt in plaats van een OLED-display (als je het STEP-bestand van een 4 potentiometerrek wilt, kan ik dat naar je sturen. Maak een opmerking bij het verzoek). Of misschien wilt u een paar drukknoppen aan het ontwerp toevoegen. Het is helemaal aan jou.

Als u vragen, opmerkingen of zorgen heeft, aarzel dan niet om deze te stellen.

Bedankt dat je de tijd hebt genomen om deze 24 stappen door te lezen. Ik hoop dat je iets hebt kunnen leren of een paar nieuwe ideeën hebt gekregen over wat je kunt bereiken met een 3D-printer en een Arduino.

Arduino-wedstrijd 2020
Arduino-wedstrijd 2020
Arduino-wedstrijd 2020
Arduino-wedstrijd 2020

Tweede plaats in de Arduino-wedstrijd 2020

Aanbevolen: