Inhoudsopgave:

Wi-Fi-gestuurde 4-wielige robot - Ajarnpa
Wi-Fi-gestuurde 4-wielige robot - Ajarnpa

Video: Wi-Fi-gestuurde 4-wielige robot - Ajarnpa

Video: Wi-Fi-gestuurde 4-wielige robot - Ajarnpa
Video: iRobot Roomba 980 Robot Vacuum Review with Wi-Fi Connectivity - Should You Buy It? #irobot #roomba 2024, September
Anonim
Wi-Fi-gestuurde 4-wielige robot
Wi-Fi-gestuurde 4-wielige robot

Voor dit project zullen we een 4-wielige robot ontwikkelen met ESP8266 die wordt bestuurd via een Wi-Fi-netwerk. De robot kan worden bestuurd vanuit een gewone internetbrowser, met behulp van een door HTML ontworpen interface of ook vanuit een mobiele Android-applicatie. ESP8266-chip is een krachtige en goedkope microcontroller, die niet alleen gemakkelijk te gebruiken is, maar ook wordt geleverd met ingebouwde Wi-Fi-connectiviteit. Dit is gewoon de perfecte chip om robots op afstand te besturen vanaf uw computer of mobiele apparaat.

Om deze chip in ons project op te nemen, kunnen we verschillende ontwikkelborden gebruiken op basis van deze microcontroller.

1. Adafruit Feather Huzzah - Het is gemaakt door Adafruit en heeft gemakkelijk beschikbare instructies en ondersteuning. Het heeft een li-po-batterijlader op het bord zelf, dus het zal erg handig zijn in draagbare projecten.

2. NodeMCU ESP8266 - Het bord is open source en heeft uitstekende documentatie, dus het zal heel gemakkelijk zijn om te beginnen.

3. Sparkfun ESP8266 - Het is net als de Huzzah met de toevoeging van een aan / uit-schakelaar en een externe antenne voor een groter wifi-bereik.

4. Wemos D1 Mini - Het is de kleinste van alle boards, maar dit heeft geen invloed op de prestaties.

Voor mijn project gebruik ik Wemos D1 Mini om een Wi-Fi-gestuurde 4-wielige robot te maken. Maar je kunt elk ESP8266-ontwikkelbord gebruiken en dezelfde Arduino-code gebruiken zonder dat er wijzigingen nodig zijn. Ik heb een PCB ontworpen voor dit project, maar je kunt een dot-printplaat gebruiken om het circuit te implementeren of zelfs je eigen pcb ontwerpen.

En we zullen de 4WD Robotic Chassis Kit gebruiken, zoals weergegeven in de afbeelding hierboven, omdat het ideaal is voor doe-het-zelf en de meest economische robotcarkit is met een eenvoudige mechanische structuur.

Kenmerken van deze kit: -

1. Wordt geleverd met vier afzonderlijke BO-plastic motoren met versnellingsbak, het is goed voor de wendbaarheid.

2. Groot, stevig acrylchassis zorgt voor grote uitbreidbaarheid voor u om te klussen.

3. Vierwielaandrijving slimme auto chassis kit. Zeer eenvoudig te installeren, voeg gewoon een microcontroller (zoals Arduino) en sensormodules toe om een volledig autonome robot te bouwen

Stap 1: Componentenlijst

Componentenlijst
Componentenlijst
Componentenlijst
Componentenlijst
Componentenlijst
Componentenlijst

Wemos D1 Mini [Aantal – 1]

L293d Motor Driver IC [Aantal – 2]

PCF8574 Poortuitbreiding IC [Aantal – 1]

12V lithium-ionbatterij [Aantal – 1]

Wi-Fi-gestuurde robot-printplaat [Aantal – 1]

4WD Robot Smart Car Chassis Kit [Aantal – 1]

Stap 2: Hersenen van het project - ESP8266 Development Board (Wemos D1 Mini)

Hersenen van het project - ESP8266 Development Board (Wemos D1 Mini)
Hersenen van het project - ESP8266 Development Board (Wemos D1 Mini)

Wemos D1 Mini is een mini-wifi-ontwikkelbord met 4 MB flash op basis van ESP-8266-chip.

  • Heeft 11 digitale input/output pinnen, alle pinnen hebben interrupt/pwm/I2C/one-wire ondersteund (behalve D0)
  • Heeft 1 analoge ingang (3.2V max ingang)
  • Beschikt over een Micro USB-aansluiting voor programmering en een voeding.

Dit bord is gebaseerd op ESP8266 en is daarom Arduino IDE-compatibel, daarom kan het worden geprogrammeerd met Arduino of kan het ook worden geprogrammeerd met Lua-compiler. Het ondersteunt ook zowel seriële als OTA-programmering.

We zullen de Wemos D1 Mini programmeren met Arduino IDE. Om het bord te programmeren met behulp van de Arduino IDE moet aan de volgende vereisten worden voldaan.

Vereiste:-

  • CH340G-stuurprogramma
  • Installeer de nieuwste Arduino IDE vanaf de Arduino-website.
  • Een micro-usb-kabel om te programmeren

Na het installeren van de driver en de arduino-software moet je "Arduino core voor ESP8266 WiFi-chip" in de Arduino IDE installeren, zodat we de ESP8266-chip vanuit de Arduino-omgeving kunnen programmeren. Met deze ESP8266 Arduino-kern kun je schetsen schrijven met bekende Arduino-functies en -bibliotheken, en deze rechtstreeks op ESP8266 uitvoeren, geen externe microcontroller vereist.

ESP8266 Arduino-kern wordt geleverd met bibliotheken om via WiFi te communiceren met behulp van TCP en UDP, HTTP-, mDNS-, SSDP- en DNS-servers in te stellen, OTA-updates uit te voeren, een bestandssysteem in flashgeheugen te gebruiken, te werken met SD-kaarten, servo's, SPI- en I2C-randapparatuur.

Download het volgende document om een idee te krijgen over het installeren van de Esp8266 arduino core.

Stap 3: Motorstuurprogramma - L293d

Motorstuurprogramma - L293d
Motorstuurprogramma - L293d
Motorstuurprogramma - L293d
Motorstuurprogramma - L293d
Motorstuurprogramma - L293d
Motorstuurprogramma - L293d

De Motor Driver is een IC voor motoren waarmee u de werksnelheid en richting van twee motoren tegelijk kunt regelen.

De L293d is ontworpen om bidirectionele aandrijfstromen te leveren bij spanningen van 5 V tot 36 V. De L293D kan 2 gelijkstroommotoren tegelijk aandrijven.

L293D is een 16-pins motorstuurprogramma-IC. Er zijn 4 INPUT-pinnen, 4 OUTPUT-pinnen en 2 ENABLE-pinnen voor elke motor.

L293D-kenmerken:

600mA uitgangsstroom per kanaal

Klok en tegen de klok in richting controle voor individuele kanalen

Speldbeschrijving van L293d:

  • Pin 1: Wanneer Enable1 HOOG is, zal het linkerdeel van het IC werken, d.w.z. de motor die is aangesloten op pin 3 en pin 6 zal draaien.
  • Pin 2: Input 1, wanneer deze pin HOOG is, zal de stroom door output 1 vloeien.
  • Pin 3: Uitgang 1, deze pin is verbonden met één motorklem.
  • Pin 4/5: GND-pinnen
  • Pin 6: Uitgang 2, deze pin is verbonden met één motorklem.
  • Pin 7: Input 2, wanneer deze pin HOOG is, zal de stroom door output 2 vloeien.
  • Pin 8: VCC2, deze pin wordt gebruikt om de aangesloten motoren van stroom te voorzien van 5V tot maximaal 36V, afhankelijk van de aangesloten motor.
  • Pin 9: Wanneer Enable 2 HOOG is, zal het rechter deel van IC werken, d.w.z. de motor die is aangesloten op pin 11 en pin 14 zal draaien.
  • Pin 10: Input 4, wanneer deze pin HOOG is, zal de stroom door output 4 vloeien.
  • Pin 11: Uitgang 4, deze pin is verbonden met één motorklem.
  • Pin 12/13: GND-pinnen
  • Pin 14: Uitgang 3, deze pin is verbonden met één motorklem.
  • Pin 15: Input 3, wanneer deze pin HOOG is, zal de stroom door output 3 vloeien.
  • Pin 16: VCC1, voor logische voeding naar IC, d.w.z. 5V.

U kunt dus zien dat u 3 digitale pinnen nodig hebt om elke motor te besturen (één pin voor snelheidsregeling en twee pinnen voor richtingsregeling). Als één L293d twee gelijkstroommotoren aanstuurt, hebben we twee L293d IC's nodig om vier gelijkstroommotoren te besturen. Voor dit project gaan we kunststof BO Motors gebruiken. U ziet dus dat we 12 digitale pinnen nodig hebben om alle vier de DC-motoren onafhankelijk te besturen met zowel snelheids- als richtingsregeling.

Maar als je ziet dat de Wemos D1 mini slechts 11 digitale I/O-pinnen en 1 analoge pin heeft. Om dit probleem op te lossen, gaan we de vier activeringspinnen (twee activeringspinnen van de eerste L293d en twee activeringspinnen van de andere L293d) rechtstreeks verbinden met Wemos Digital-pinnen, terwijl alle acht invoerpinnen (vier van de eerste L293d en vier van de andere L293d) met behulp van PCF8574 (een I/O-poortuitbreiding) via I2C.

Stap 4: PCF8574 - een I/O-poortexpander

PCF8574 - een I/O-poortexpander
PCF8574 - een I/O-poortexpander
PCF8574 - een I/O-poortexpander
PCF8574 - een I/O-poortexpander

Wemos D1 Mini (d.w.z. ESP8266) heeft een tekort aan input/output-pinnen. We kunnen de digitale input/output-pinnen vergroten met behulp van I/O-expander-IC zoals PCF8574, een 8-bits I/O-expander.

Een van de voordelen van het gebruik van de PCF8574A I/O-uitbreiding is dat deze de I2C-bus gebruikt, waarvoor slechts twee datalijnen nodig zijn, namelijk klok (SCK) en data (SDA). Daarom kunt u met deze twee lijnen maximaal acht pinnen van dezelfde chip besturen. Door de drie adrespinnen van elke PCF8574 te wijzigen, kunnen we in totaal 64 pinnen besturen.

Deze 8-bit input/output (I/O) uitbreiding voor de twee-lijns bidirectionele bus (I2C) is ontworpen voor 2,5V tot 6V VCC-werking. Het PCF8574-apparaat biedt algemene externe I/O-uitbreiding voor de meeste microcontrollerfamilies door middel van de I2C-interface [seriële klok (SCL), seriële data (SDA)].

Het apparaat is voorzien van een 8-bits quasi-bidirectionele I/O-poort (P0-P7), inclusief vergrendelde uitgangen met high-current drive-mogelijkheid voor het direct aansturen van LED's. Elke quasi-bidirectionele I/O kan worden gebruikt als input of output zonder het gebruik van een data-directioneel stuursignaal. Bij het inschakelen zijn de I/O's hoog.

Zie het onderstaande "PCF8574_With_L293d" pdf-bestand voor het aansluitschema van PCF8574 met de twee L293d IC's

Stap 5: Schema's

Schema's
Schema's
Schema's
Schema's

Ik heb Kicad gebruikt voor het ontwerpen van PCB's.

Download onderstaande schematische pdf om uw eigen pcb te ontwerpen of implementeer deze op een dot pcb board.

Stap 6: Coderen

Maak verbinding met het volgende Wi-Fi-toegangspunt: -

// Door de gebruiker gedefinieerde netwerkreferentiesconst char* ssid = "WiFi_Robot";

const char* wachtwoord = "Automatiseren@111";

Nadat u verbinding heeft gemaakt met het bovenstaande toegangspunt, gaat u naar de onderstaande link in een webbrowser: -

192.168.4.1

U krijgt het volgende bericht: -

"hallo van Robot!"

192.168.4.1/fw

Het zorgt ervoor dat de robot vooruit gaat

192.168.4.1/bk

Hierdoor zal de robot achteruit gaan

192.168.4.1/lt

Hierdoor zal de robot naar links bewegen

192.168.4.1/rt

Hierdoor zal de robot naar rechts bewegen

192.168.4.1/st

Het zal ervoor zorgen dat de robot stopt

Als je wilt, kun je de robot ook besturen via de Android-app van Robo India.

{Zoek naar de Android-app "WiFi Robot Controller" in de playstore gemaakt door Robo India}

[Opmerking: ik ben op geen enkele manier verbonden met Robo India en dit is niet voor reclame, dit is mijn persoonlijke project!]

Werkvideo van het project: -

Aanbevolen: