Innholdsfortegnelse:

Arduino Wireless Control Robot Car: 5 trinn
Arduino Wireless Control Robot Car: 5 trinn

Video: Arduino Wireless Control Robot Car: 5 trinn

Video: Arduino Wireless Control Robot Car: 5 trinn
Video: Lesson 24: Smart Car Part 2: Moving Forwared, Reverse, left and right and Controling Speed of Car 2024, September
Anonim
Arduino trådløs kontroll robotbil
Arduino trådløs kontroll robotbil

I dette innlegget kommer du til å lære om hvordan du bygger en Arduino trådløs kontrollrobotbil. Vi skal bygge både sender og mottaker sider.

Sendersiden vil inneholde en Arduino nano, joystick -modul og NRF24L01 for å sende dataene trådløst. Mottakersiden vil inkludere Arduino nano, NRF24L01 for å motta data og L293D -motordriver IC for å kontrollere motorene. Både sender- og mottakerkretsene blir drevet av 9V batterier.

Komponenter som kreves Komponentene du kommer til å kreve for dette prosjektet er som følger

Sendersiden

  • Arduino Nano
  • Joystick -modul
  • NRF24L01
  • 100uf kondensator
  • 3 -pins glidebryter
  • 2 -pins rekkeklemme
  • 9V batteri

Mottakerside

  • Arduino Nano
  • NRF24L01
  • 100uf kondensator
  • 0.1uf kondensator
  • 10uf kondensator
  • 3 -pins glidebryter
  • 2 -pins rekkeklemmer (3 deler)
  • L293D Motordriver IC
  • 9V batteri

Trinn 1: Kretsdiagram

Kretsdiagram
Kretsdiagram

Hoveddelen av både sender og mottaker kretser er Arduino nano som drives av 9V batteri. Så har vi fått NRF24L01 -modulen på begge sider for å kommunisere trådløst.

Joystick -modul på sendersiden vil bli brukt til å hente x- og y -verdiene som vil bli sendt til mottakersiden og som skal brukes til å kontrollere motorene. L293D motor driver IC på mottakersiden vil også få strøm fra 9v strømforsyning og vil kontrollere motorene.

Ved å bruke kretsdiagrammet ovenfor kan du lage kretsen på brødbrettet for å sikre at alt fungerer som du vil.

Trinn 2: PCB -design

PCB -design
PCB -design
PCB -design
PCB -design

Etter å ha kontrollert at alt fungerer bra på brødbrettet, har jeg designet PCB på EasyEDA. EasyEDA er et PCB-designverktøy med åpen kildekode.

Her er en lenke til PCB -designet til dette prosjektet. Etter å ha designet PCB -ene, genererte jeg Gerber -filene som trengs for produksjon av PCB.

Du kan laste ned Gerber -filene gjennom følgende lenker

Gerber_Transmitter_20190711100324 Last ned

Gerber_Receiver_20190711100335 Last ned

Trinn 3: Bestilling av kretskort

Bestilling av kretskort
Bestilling av kretskort
Bestilling av kretskort
Bestilling av kretskort
Bestilling av kretskort
Bestilling av kretskort
Bestilling av kretskort
Bestilling av kretskort

Nå har vi PCB -designet, og det er på tide å bestille PCB -ene. For det trenger du bare å gå til JLCPCB.com, og klikke på "QUOTE NOW" -knappen.

JLCPCB er også sponsor av dette prosjektet. JLCPCB (Shenzhen JLC Electronics Co., Ltd.), er det største PCB-prototypefirmaet i Kina og en høyteknologisk produsent som spesialiserer seg på rask PCB-prototype og liten batch PCB-produksjon. Du kan bestille minst 5 PCB for bare $ 2.

For å få kretskortet produsert, last opp gerber -filen du lastet ned i det siste trinnet. Last opp.zip -filen, eller du kan også dra og slippe gerberfilene.

Etter at du har lastet opp zip -filen, ser du en suksessmelding nederst hvis filen er lastet opp. Du kan se gjennom kretskortet i Gerber viewer for å sikre at alt er bra.

Du kan se både toppen og bunnen av kretskortet.

Etter å ha kontrollert at PCB -en ser bra ut, kan vi nå legge inn bestillingen til en rimelig pris. Du kan bestille 5 PCB for bare $ 2, men hvis det er din første bestilling, kan du få 10 PCB for $ 2.

For å legge inn bestillingen, klikk på "LAGRE TIL VOGN" -knappen.

Min PCB tok 2 dager å bli produsert og kom innen en uke med DHL -leveringsalternativ. PCB var godt pakket og kvaliteten var virkelig god.

Etter å ha satt sammen alt og koblet til motorene, ser det ut som vist i siste bilde på dette trinnet.

Trinn 4: Kode

Senderkode

Først må vi inkludere SPI- og RF24 -biblioteket for trådløs kommunikasjon. Deretter må vi definere de digitale pinnene for NRF24L01 -modulen og analoge pinner for styrespaken. Etter det må vi definere radioobjekt, kommunikasjonsadresse for det og en matrise for å lagre joystick -modulverdier i det.

I oppsettfunksjonen må vi initialisere seriell og radiokommunikasjon.

I loop -funksjonen leser vi først verdiene fra joystick -modulen og lagrer dem i arrayet. Etter det sender vi meldingen til mottakeren ved hjelp av radio.write () -funksjonen. Det første argumentet i denne funksjonen er meldingen og det andre argumentet er antall byte som er tilstede i meldingen. Radio.write () -funksjonen returnerer en bool, og det er sant at det betyr at dataene nådde mottakeren, og hvis den returnerer feil, data har gått tapt.

Mottakerkode På mottakersiden må vi også inkludere SPI- og RF24 -bibliotekene for trådløs kommunikasjon. Da må vi definere de digitale pinnene for NRF24L01 -modulen og l293d -motordriver -IC og noen variabler. Etter det må vi definere radioobjekt, kommunikasjonsadresse for det og en matrise for å lagre innkommende verdier i det.

I oppsettfunksjonen må vi initialisere seriell og radiokommunikasjon. Da må vi definere noen pinner på L293D som utgangspinner.

I loop -funksjonen sjekker vi først om noe informasjon er tilgjengelig eller ikke. Hvis den vil være der, lagrer vi den i variabler. Etter det vil vi styre motorer i henhold til disse verdiene.

Du kan også få kodene på

Anbefalt: