Inhoudsopgave:

Arduino draadloze besturing robotauto - Ajarnpa
Arduino draadloze besturing robotauto - Ajarnpa

Video: Arduino draadloze besturing robotauto - Ajarnpa

Video: Arduino draadloze besturing robotauto - Ajarnpa
Video: 4 Wheel drive robot rover 2024, November
Anonim
Arduino draadloze besturingsrobotauto
Arduino draadloze besturingsrobotauto

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

Schakelschema
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

PCB-ontwerp
PCB-ontwerp
PCB-ontwerp
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

De printplaten bestellen
De printplaten bestellen
De printplaten bestellen
De printplaten bestellen
De printplaten bestellen
De printplaten bestellen
De printplaten bestellen
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: