Turinys:

„Arduino“belaidis valdymo robotas automobilis: 5 žingsniai
„Arduino“belaidis valdymo robotas automobilis: 5 žingsniai

Video: „Arduino“belaidis valdymo robotas automobilis: 5 žingsniai

Video: „Arduino“belaidis valdymo robotas automobilis: 5 žingsniai
Video: Internetinis seminaras KUKA mobilioji robotika 2024, Lapkritis
Anonim
„Arduino“belaidis valdymo robotas automobilis
„Arduino“belaidis valdymo robotas automobilis

Šiame įraše jūs sužinosite, kaip sukurti „Arduino“belaidį valdymo robotą automobilį. Mes pastatysime tiek siųstuvo, tiek imtuvo puses.

Siųstuvo pusėje bus „Arduino nano“, vairasvirtės modulis ir NRF24L01 duomenims siųsti belaidžiu būdu. Imtuvo pusėje bus „Arduino nano“, „NRF24L01“duomenims priimti ir „L293D“variklio tvarkyklės IC, skirta valdyti variklius. Tiek siųstuvo, tiek imtuvo grandinės bus maitinamos 9 V baterijomis.

Komponentai, kurių jums reikės šiam projektui, yra šie

Siųstuvo pusė

  • Arduino Nano
  • Vairasvirtės modulis
  • NRF24L01
  • 100uf kondensatorius
  • 3 kontaktų slankiojantis jungiklis
  • 2 kontaktų gnybtų blokas
  • 9V baterija

Imtuvo pusė

  • Arduino Nano
  • NRF24L01
  • 100uf kondensatorius
  • 0.1uf kondensatorius
  • 10uf kondensatorius
  • 3 kontaktų slankiojantis jungiklis
  • 2 kontaktų gnybtai (3 vnt.)
  • L293D variklio vairuotojo IC
  • 9V baterija

1 žingsnis: grandinės schema

Grandinės schema
Grandinės schema

Pagrindinė siųstuvo ir imtuvo grandinių dalis yra „Arduino nano“, maitinama 9 V baterija. Tada abiejose pusėse turime NRF24L01 modulį, skirtą belaidžiam ryšiui.

Joystick modulis siųstuvo pusėje bus naudojamas gauti x ir y reikšmes, kurios bus siunčiamos į imtuvo pusę ir bus naudojamos varikliams valdyti. L293D variklio tvarkyklės IC imtuvo pusėje taip pat gaus maitinimą iš 9 V maitinimo šaltinio ir valdys variklius.

Naudodami aukščiau pateiktą schemą, galite sukurti grandinę ant duonos lentos, kad įsitikintumėte, jog viskas veikia taip, kaip norite.

2 žingsnis: PCB projektavimas

PCB dizainas
PCB dizainas
PCB dizainas
PCB dizainas

Įsitikinęs, kad duonos plokštėje viskas gerai, sukūriau „EasyEDA“PCB. „EasyEDA“yra atvirojo kodo internetinis PCB projektavimo įrankis.

Čia yra nuoroda į šio projekto PCB dizainą. Sukūręs PCB, sukūriau Gerber failus, reikalingus PCB gamybai.

Gerber failus galite atsisiųsti naudodami šias nuorodas

Gerber_Transmitter_20190711100324Atsisiųsti

Gerber_Receiver_20190711100335Atsisiųsti

3 žingsnis: PCB užsakymas

PCB užsakymas
PCB užsakymas
PCB užsakymas
PCB užsakymas
PCB užsakymas
PCB užsakymas
PCB užsakymas
PCB užsakymas

Dabar mes turime PCB dizainą ir laikas užsisakyti PCB. Norėdami tai padaryti, tiesiog eikite į JLCPCB.com ir spustelėkite mygtuką „QUOTE NOW“.

JLCPCB taip pat remia šį projektą. JLCPCB (Shenzhen JLC Electronics Co., Ltd.) yra didžiausia PCB prototipų įmonė Kinijoje ir aukštųjų technologijų gamintojas, kurio specializacija yra greitas PCB prototipas ir mažos partijos PCB gamyba. Galite užsisakyti mažiausiai 5 PCB tik už 2 USD.

Norėdami gauti PCB, įkelkite gerber failą, kurį atsisiuntėte paskutiniame veiksme. Įkelkite.zip failą arba taip pat galite nuvilkti gerber failus.

Įkėlę ZIP failą, apačioje matysite sėkmės pranešimą, jei failas sėkmingai įkeltas. „Gerber“peržiūros programoje galite peržiūrėti PCB, kad įsitikintumėte, jog viskas gerai.

Galite peržiūrėti tiek PCB viršutinę, tiek apatinę dalis.

Įsitikinę, kad mūsų PCB atrodo gerai, dabar galime pateikti užsakymą už priimtiną kainą. Galite užsisakyti 5 PCB tik už 2 USD, bet jei tai pirmas užsakymas, galite gauti 10 PCB už 2 USD.

Norėdami pateikti užsakymą, spustelėkite mygtuką „IŠSAUGOTI Į KREPŠELĮ“.

Mano PCB pagamino 2 dienas ir atvyko per savaitę, naudojant DHL pristatymo parinktį. PCB buvo gerai supakuoti, o kokybė tikrai gera.

Viską surinkus ir prijungus variklius, atrodo taip, kaip parodyta paskutiniame šio žingsnio paveikslėlyje.

4 žingsnis: kodas

Siųstuvo kodas

Pirma, turime įtraukti SPI ir RF24 biblioteką belaidžiam ryšiui. Tada turime apibrėžti skaitmeninius kaiščius NRF24L01 moduliui ir analoginius kaiščius valdymo svirties moduliui. Po to turime apibrėžti radijo objektą, jo ryšio adresą ir masyvą, kad jame būtų saugomos vairasvirtės modulio vertės.

Sąrankos funkcijoje turime inicijuoti nuoseklųjį ir radijo ryšį.

Atliekant ciklo funkciją, pirmiausia skaitome vertes iš kreiptuko modulio ir išsaugome jas masyve. Po to, naudodamiesi funkcija radio.write (), mes išsiųsime tą pranešimą imtuvui. Pirmasis šios funkcijos argumentas yra pranešimas, o antrasis - pranešime esančių baitų skaičius. Funkcija radio.write () grąžina bool ir tai tiesa, tai reiškia, kad duomenys pasiekė imtuvą ir jei jis grįžta klaidinga, duomenys prarasti.

Imtuvo pusėje taip pat turime įtraukti SPI ir RF24 bibliotekas belaidžiam ryšiui. Tada turime apibrėžti NRF24L01 modulio ir l293d variklio tvarkyklės IC skaitmeninius kaiščius ir kai kuriuos kintamuosius. Po to turime apibrėžti radijo objektą, jo ryšio adresą ir masyvą, kad jame būtų saugomos gaunamos vertės.

Sąrankos funkcijoje turime inicijuoti nuoseklųjį ir radijo ryšį. Tada kai kuriuos L293D kaiščius turime apibrėžti kaip išvesties kaiščius.

Naudojant ciklo funkciją, pirmiausia patikriname, ar yra tam tikros informacijos, ar ne. Jei jis bus, mes jį išsaugosime kintamaisiais. Po to mes valdysime variklius pagal šias vertes.

Kodus taip pat galite gauti adresu

Rekomenduojamas: