Indholdsfortegnelse:

Wi-Fi-styret 4-hjulet robot: 6 trin
Wi-Fi-styret 4-hjulet robot: 6 trin

Video: Wi-Fi-styret 4-hjulet robot: 6 trin

Video: Wi-Fi-styret 4-hjulet robot: 6 trin
Video: Control 32 Servo over Wi-Fi using ESP32 and PCA9685 via desktop or mobile phone V5 2024, November
Anonim
Wi-Fi-styret 4-hjulet robot
Wi-Fi-styret 4-hjulet robot

Til dette projekt udvikler vi en 4-hjulet robot ved hjælp af ESP8266, som vil blive kontrolleret over et Wi-Fi-netværk. Robotten kan styres fra en almindelig internetbrowser ved hjælp af en HTML -designet grænseflade eller også fra en Android -mobilapplikation. ESP8266-chip er en kraftfuld og billig mikrokontroller, som ikke kun er let at bruge, men også leveres med indbygget Wi-Fi-forbindelse. Dette er bare den perfekte chip til fjernstyring af robotter fra din computer eller mobilenhed.

For at inkorporere denne chip i vores projekt kan vi bruge en række udviklingsplader baseret på denne mikrokontroller.

1. Adafruit Feather Huzzah - Den er lavet af Adafruit og har let tilgængelige instruktioner og support. Den har li-po batterioplader på selve tavlen, så den kommer virkelig praktisk i bærbare projekter.

2. NodeMCU ESP8266 - Boardet er open source og har fremragende dokumentation, så det vil være meget let at komme i gang.

3. Sparkfun ESP8266 - Det er ligesom Huzzah med tilføjelse af en afbryder og en ekstern antenne til et længere Wi -Fi -område.

4. Wemos D1 Mini - Det er det mindste af alle brædderne, men dette har ingen effekt på ydeevnen.

Til mit projekt bruger jeg Wemos D1 Mini til at lave en Wi-Fi-styret 4-hjulet robot. Men du kan bruge et hvilket som helst ESP8266 -udviklingsbord og bruge den samme Arduino -kode uden at kræve ændringer. Jeg har designet et printkort til dette projekt, men du kan bruge et prik -printkort til at implementere kredsløbet eller endda designe dit eget printkort.

Og vi vil bruge 4WD Robotic Chassis Kit som vist på billedet ovenfor, da det er ideelt til DIY og er det mest økonomiske robotbilsæt med enkel mekanisk struktur.

Funktioner i dette kit:-

1. Leveres med fire separate BO -plastmotorer med gearkasse, det er godt at manøvrere.

2. Stort, robust akrylchassis giver dig mulighed for at udvide store muligheder for at gøre det selv.

3. Firehjulstræk smart bilchassis. Meget let at installere, tilføj bare mikro-controller (f.eks. Arduino) og sensormoduler til at bygge en fuldt autonom robot

Trin 1: Komponentliste

Komponentliste
Komponentliste
Komponentliste
Komponentliste
Komponentliste
Komponentliste

Wemos D1 Mini [mængde - 1]

L293d Motor Driver IC [Antal - 2]

PCF8574 Port Expander IC [mængde - 1]

12V litiumionbatteri [mængde - 1]

Wi-Fi-styret robot-printkort (mængde-1)

4WD Robot Smart Car Chassis Kit [Antal - 1]

Trin 2: Projektets hjerne - ESP8266 Development Board (Wemos D1 Mini)

Projektets hjerne - ESP8266 Development Board (Wemos D1 Mini)
Projektets hjerne - ESP8266 Development Board (Wemos D1 Mini)

Wemos D1 Mini er et mini Wi-Fi udviklingsbord med 4 MB flash baseret på ESP-8266 Chip.

  • Har 11 digitale input/output pins, alle pins har interrupt/pwm/I2C/one-wire understøttet (undtagen D0)
  • Har 1 analog indgang (3,2V maks input)
  • Har en Micro USB -forbindelse til programmering samt en strømforsyning.

Dette kort, som er baseret på ESP8266, er derfor Arduino IDE kompatibelt, derfor kan det programmeres ved hjælp af Arduino eller kan også programmeres ved hjælp af Lua compiler. Det understøtter også både seriel og OTA programmering.

Vi programmerer Wemos D1 Mini ved hjælp af Arduino IDE. For at programmere tavlen ved hjælp af Arduino IDE skal følgende krav være opfyldt.

Krav:-

  • Driver til CH340G
  • Installer nyeste Arduino IDE fra Arduino -webstedet.
  • Et mikro -usb -kabel til programmering

Efter installation af driveren og arduino -softwaren skal du installere "Arduino -kerne til ESP8266 WiFi -chip" inde i Arduino IDE, så vi kan programmere ESP8266 -chippen fra Arduino -miljøet. Denne ESP8266 Arduino -kerne lader dig skrive skitser ved hjælp af velkendte Arduino -funktioner og biblioteker og køre dem direkte på ESP8266, ingen ekstern mikrokontroller kræves.

ESP8266 Arduino core leveres med biblioteker til at kommunikere via WiFi ved hjælp af TCP og UDP, opsætte HTTP, mDNS, SSDP og DNS -servere, lave OTA -opdateringer, bruge et filsystem i flash -hukommelse, arbejde med SD -kort, servoer, SPI og I2C -periferiudstyr.

Download følgende dokument for at få en idé om, hvordan du installerer Esp8266 arduino -kernen.

Trin 3: Motordriver - L293d

Motorfører - L293d
Motorfører - L293d
Motorfører - L293d
Motorfører - L293d
Motorfører - L293d
Motorfører - L293d

Motorføreren er en IC til motorer, der giver dig mulighed for at styre arbejdshastigheden og retningen på to motorer samtidigt.

L293d er designet til at levere tovejs drivstrømme ved spændinger fra 5 V til 36 V. L293D kan drive 2 DC -motorer samtidigt.

L293D er en 16 -pins motor driver IC. Der er 4 INPUT pins, 4 OUTPUT pins og 2 ENABLE pin til hver motor.

L293D Funktioner:

600mA udgangsstrømsevne pr. Kanal

Ur og retning mod urets retning til individuelle kanaler

Pin Beskrivelse af L293d:

  • Pin 1: Når Enable1 er HIGH, fungerer venstre del af IC, dvs. motor forbundet med pin 3 og pin 6 vil rotere.
  • Pin 2: Input 1, når denne pin er HIGH, vil strømmen flyde gennem output 1.
  • Pin 3: Output 1, denne pin er forbundet med en motorterminal.
  • Pin 4/5: GND pins
  • Pin 6: Output 2, denne pin er forbundet med en motorterminal.
  • Pin 7: Input 2, når denne pin er HIGH vil strømmen strømme gennem output 2.
  • Pin 8: VCC2, denne pin bruges til at give strøm til tilsluttede motorer fra 5V til 36V maksimum afhænger af tilsluttet motor.
  • Pin 9: Når Enable 2 er HIGH, fungerer højre del af IC, dvs. motor forbundet med pin 11 og pin 14 vil rotere.
  • Pin 10: Input 4, når denne pin er HIGH, vil strømmen flyde gennem output 4.
  • Pin 11: Output 4, denne pin er forbundet med en motorterminal.
  • Pin 12/13: GND pins
  • Pin 14: Output 3, denne pin er forbundet med en motorterminal.
  • Pin 15: Input 3, når denne pin er HIGH, vil strømmen flyde gennem output 3.
  • Pin 16: VCC1, til logisk strømforsyning til IC, dvs. 5V.

Således kan du se, at du har brug for 3 digitale ben til at styre hver motor (en ben til hastighedskontrol og to ben til retningskontrol). Hvis en L293d styrer to DC -motorer, skal vi bruge to L293d IC'er til at styre fire DC -motorer. Vi kommer til at bruge BO -motorer af plast til dette projekt. Således ser du, at vi vil kræve 12 digitale ben til at styre alle de fire DC -motorer uafhængigt med både hastigheds- og retningskontrol.

Men hvis du ser, at Wemos D1 mini kun har 11 digitale I/O -ben og 1 analog pin. For at løse dette problem skal vi forbinde de fire aktiveringsstifter (to aktiveringsnåle på første L293d og to aktiveringsstifter på anden L293d) til Wemos Digital -stifter direkte, mens alle de otte indgangsstifter (fire af første L293d og fire af andre L293d) ved hjælp af PCF8574 (en I/O -portudvidelse) via I2C.

Trin 4: PCF8574 - en I/O -portudvidelse

PCF8574 - en I/O -portudvidelse
PCF8574 - en I/O -portudvidelse
PCF8574 - en I/O -portudvidelse
PCF8574 - en I/O -portudvidelse

Wemos D1 Mini (dvs. ESP8266) har mangel på input/output pins. Vi kan øge de digitale input/output pins ved hjælp af I/O expander IC som PCF8574, som er en 8 bit I/O expander.

En af fordelene ved at bruge PCF8574A I/O -ekspander er, at den bruger I2C -bus, som kun kræver to datalinjer, de er ur (SCK) og data (SDA). Derfor kan du med disse to linjer styre op til otte stifter af den samme chip. Ved at ændre de tre adressestifter på hver PCF8574 kan vi i alt kontrollere 64 ben.

Denne 8-bit input/output (I/O) ekspander til to-line tovejsbussen (I2C) er designet til 2,5V til 6V VCC drift. PCF8574-enheden giver generel fjernbetjening I/O-udvidelse til de fleste mikrokontrollerfamilier ved hjælp af I2C-interface [serielt ur (SCL), serielle data (SDA)].

Enheden har en 8-bit quasi-tovejs I/O-port (P0 – P7), herunder låste udgange med højstrømsdrevskapacitet til direkte kørsel af lysdioder. Hver kvasi-tovejs I/O kan bruges som input eller output uden brug af et dataretningsstyringssignal. Ved tænding er I/Os høje.

Se nedenstående "PCF8574_With_L293d" pdf -fil for forbindelsesdiagrammet for PCF8574 med de to L293d IC'er

Trin 5: Skemaer

Skemaer
Skemaer
Skemaer
Skemaer

Jeg har brugt Kicad til PCB -design.

Download nedenstående skematiske pdf for at designe dit eget printkort eller implementere det på et prik -pcb -kort.

Trin 6: Kode

Opret forbindelse til følgende Wi-Fi-adgangspunkt:-

// Brugerdefineret netværk Credentialsconst char* ssid = "WiFi_Robot";

const char* password = "Automatiser@111";

Efter tilslutning til ovenstående adgangspunkt skal du gå til nedenstående link i en webbrowser:-

192.168.4.1

Du får følgende besked:-

"hej fra Robot!"

192.168.4.1/fw

Det får robotten til at bevæge sig fremad

192.168.4.1/bk

Det får robotten til at bevæge sig bagud

192.168.4.1/lt

Det får robotten til at bevæge sig til venstre

192.168.4.1/rt

Det får robotten til at bevæge sig til højre

192.168.4.1/st

Det får robotten til at stoppe

Hvis du vil, kan du også styre robotten via Android -appen lavet af Robo Indien.

{Søg efter "WiFi Robot Controller" Android -app i playstore lavet af Robo India}

[Bemærk: På nogen måde er jeg ikke forbundet med Robo India, og dette er ikke til reklame, dette er mit personlige projekt!]

Arbejdsvideo af projektet:-

Anbefalede: