Inhoudsopgave:
- Stap 1: Schakelschema
- Stap 2: PCB-ontwerp
- Stap 3: De printplaten bestellen
- Stap 4: Coderen
- Stap 5: Video
Video: Arduino draadloze besturing robotauto - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
In dit bericht ga je leren hoe je een Arduino draadloze robotauto kunt bouwen. We zullen zowel de zender- als de ontvangerzijde bouwen.
De zenderzijde bevat een Arduino nano, joystickmodule en NRF24L01 om de gegevens draadloos te verzenden. De ontvangerzijde bevat Arduino nano, NRF24L01 om de gegevens te ontvangen en L293D-motorstuurprogramma-IC om de motoren te besturen. Zowel de zender- als de ontvangercircuits worden gevoed door 9V-batterijen.
Vereiste componenten De componenten die u voor dit project nodig hebt, zijn als volgt:
Zenderzijde
- Arduino Nano
- Joystick-module
- NRF24L01
- 100uf condensator
- 3-pins schuifschakelaar
- 2-pins aansluitblok
- 9V batterij
Ontvangerzijde:
- Arduino Nano
- NRF24L01
- 100uf condensator
- 0.1uf condensator
- 10uf condensator
- 3-pins schuifschakelaar
- 2-polige aansluitblokken (3 stuks)
- L293D Motorstuurprogramma IC
- 9V batterij
Stap 1: Schakelschema
Het belangrijkste onderdeel van zowel zender- als ontvangercircuits is Arduino nano, die wordt gevoed door de 9V-batterij. Dan hebben we aan beide kanten een NRF24L01-module om draadloos te communiceren.
Joystickmodule aan de zenderzijde zal worden gebruikt om de x- en y-waarden te krijgen die naar de ontvangerzijde worden verzonden en zullen worden gebruikt om de motoren te besturen. L293D motor driver IC aan de ontvangerzijde zal ook stroom krijgen van 9v voeding en zal de motoren aansturen.
Met behulp van het bovenstaande schakelschema kunt u de schakeling op een breadboard maken om ervoor te zorgen dat alles werkt zoals u dat wilt.
Stap 2: PCB-ontwerp
Nadat ik er zeker van was dat alles goed werkt op het breadboard, heb ik de PCB ontworpen op EasyEDA. EasyEDA is een open-source online PCB-ontwerptool.
Hier is een link naar het PCB-ontwerp van dit project. Na het ontwerpen van de PCB's heb ik de Gerber-bestanden gegenereerd die nodig zijn voor het vervaardigen van PCB's.
U kunt de Gerber-bestanden downloaden via de volgende links:
Gerber_Transmitter_20190711100324Download
Gerber_Receiver_20190711100335Download
Stap 3: De printplaten bestellen
Nu hebben we het PCB-ontwerp en is het tijd om de PCB's te bestellen. Daarvoor hoeft u alleen maar naar JLCPCB.com te gaan en op de knop "NU QUOTE" te klikken.
JLCPCB is ook sponsor van dit project. JLCPCB (Shenzhen JLC Electronics Co., Ltd.), is de grootste onderneming voor PCB-prototypes in China en een hightechfabrikant die gespecialiseerd is in snelle PCB-prototypes en PCB-productie in kleine batches. U kunt minimaal 5 PCB's bestellen voor slechts $ 2.
Om de printplaat te laten maken, uploadt u het gerber-bestand dat u in de laatste stap hebt gedownload. Upload het.zip-bestand of u kunt de gerber-bestanden ook slepen en neerzetten.
Na het uploaden van het zipbestand zie je onderaan een succesbericht als het bestand succesvol is geüpload. U kunt de print in de Gerber-viewer bekijken om te controleren of alles goed is.
U kunt zowel de boven- als onderkant van de print bekijken.
Nadat we ervoor hebben gezorgd dat onze print er goed uitziet, kunnen we de bestelling nu tegen een redelijke prijs plaatsen. Je kunt 5 PCB's bestellen voor slechts $ 2, maar als het je eerste bestelling is, kun je 10 PCB's krijgen voor $ 2.
Om de bestelling te plaatsen, klikt u op de knop "OPSLAAN IN WINKELWAGEN".
Mijn PCB's duurden 2 dagen om te worden vervaardigd en kwamen binnen een week aan met de DHL-bezorgoptie. PCB's waren goed verpakt en de kwaliteit was echt goed.
Nadat alles is gemonteerd en de motoren zijn aangesloten, ziet het eruit zoals weergegeven in de laatste afbeelding van deze stap.
Stap 4: Coderen
Zendercode
Ten eerste moeten we de SPI- en RF24-bibliotheek opnemen voor draadloze communicatie. Vervolgens moeten we de digitale pinnen voor de NRF24L01-module en analoge pinnen voor de joystickmodule definiëren. Daarna moeten we het radio-object, het communicatieadres ervoor definiëren en een array om de waarden van de joystickmodule erin op te slaan.
In de setup-functie moeten we de seriële en radiocommunicatie initialiseren.
In de loop-functie lezen we eerst de waarden uit de joystickmodule en slaan ze op in de array. Daarna zullen we met behulp van de radio.write()-functie dat bericht naar de ontvanger sturen. Het eerste argument in deze functie is het bericht en het tweede argument is het aantal bytes dat in dat bericht aanwezig is. De functie radio.write() retourneert een bool en het is waar, dan betekent dit dat de gegevens de ontvanger hebben bereikt en als het terugkeert false, gegevens zijn verloren gegaan.
Ontvangercode Aan de ontvangerzijde moeten we ook de SPI- en RF24-bibliotheken opnemen voor draadloze communicatie. Vervolgens moeten we de digitale pinnen definiëren voor de NRF24L01-module en de l293d-motorstuurprogramma-IC en enkele variabelen. Daarna moeten we een radio-object, een communicatie-adres ervoor definiëren en een array om binnenkomende waarden erin op te slaan.
In de setup-functie moeten we de seriële en radiocommunicatie initialiseren. Dan moeten we enkele pinnen van L293D definiëren als uitvoerpinnen.
In de loop-functie controleren we eerst of bepaalde informatie beschikbaar is of niet. Als het er is, slaan we het op in variabelen. Daarna gaan we motoren aansturen volgens deze waarden.
Je kunt de codes ook krijgen op
Aanbevolen:
NODE MCU-LED-besturing (eenvoudige domotica): 5 stappen
NODE MCU-LED-besturing (eenvoudige huisautomatisering): Hallo jongens, laten we in deze Instructable zien hoe u een LED-lamp kunt bedienen met uw smartphone. We zullen Node-MCU voor dit project gebruiken. Raadpleeg de onderstaande link om Node MCU te installeren bibliotheken (ESP-bibliotheken) in uw Arduino IDE.NODE MCU-BASICS{Volg St
Arduino/Android voor beginners, geen codering vereist - Gegevens en besturing: 15 stappen
Arduino/Android voor beginners, geen codering vereist - Gegevens en besturing: update 23 april 2019 -- Voor datum-/tijdplots die alleen Arduino millis() gebruiken, zie Arduino Datum/tijd plotten/logging met Millis() en PfodApp De nieuwste gratis pfodDesigner V3 .0.3610+ genereerde complete Arduino-schetsen om gegevens uit te zetten tegen datum/tijd-u
RGB LED-besturing door WebSocketsServer - NodeMcu-beginner: 5 stappen
RGB LED-besturing door WebSocketsServer | NodeMcu Beginner: RGB LED-besturing door WebSocketsServer Tutorial
Thuis een robotauto maken: 3 stappen
Hoe maak je een robotauto thuis: maak thuis een ribotische auto
Bluetooth-gestuurde robotauto met Arduino 8 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Bluetooth-gestuurde robotauto met Arduino: in deze instructable ga ik je begeleiden bij het maken van een robotauto die Bluetooth bestuurt vanaf je Android-mobiele telefoon. Niet alleen dat, de robotauto heeft een speciaal vermogen om obstakels te vermijden die hij tegenkomt bij het vooruitrijden van de auto. De robot