Sommario:

Robot a 4 ruote controllato tramite Wi-Fi: 6 passaggi
Robot a 4 ruote controllato tramite Wi-Fi: 6 passaggi

Video: Robot a 4 ruote controllato tramite Wi-Fi: 6 passaggi

Video: Robot a 4 ruote controllato tramite Wi-Fi: 6 passaggi
Video: Elegoo Smart Robot Car Kit 4.0 ⋆ imparare, giocare e divertirsi con Arduino Uno e sensori 2024, Dicembre
Anonim
Robot a 4 ruote controllato tramite Wi-Fi
Robot a 4 ruote controllato tramite Wi-Fi

Per questo progetto, svilupperemo un robot a 4 ruote utilizzando ESP8266 che sarà controllato tramite una rete Wi-Fi. Il robot può essere controllato da un normale browser Internet, utilizzando un'interfaccia progettata in HTML o anche da un'applicazione mobile Android. Il chip ESP8266 è un microcontrollore potente ed economico, che non è solo facile da usare, ma è anche dotato di connettività Wi-Fi integrata. Questo è il chip perfetto per controllare i robot in remoto dal tuo computer o dispositivo mobile.

Per incorporare questo chip nel nostro progetto possiamo utilizzare una varietà di schede di sviluppo basate su questo microcontrollore.

1. Adafruit Feather Huzzah - È prodotto da Adafruit e ha istruzioni e supporto facilmente disponibili. Ha un caricabatterie Li-Po sulla scheda stessa, quindi sarà davvero utile nei progetti portatili.

2. NodeMCU ESP8266 - La scheda è open source e ha un'eccellente documentazione, quindi sarà molto facile iniziare.

3. Sparkfun ESP8266 - È come l'Huzzah con l'aggiunta di un interruttore di alimentazione e un'antenna esterna per una portata Wi-Fi più lunga.

4. Wemos D1 Mini - È la più piccola di tutte le schede ma questo non ha alcun effetto sulle prestazioni.

Per il mio progetto, sto usando Wemos D1 Mini per realizzare un robot a 4 ruote controllato tramite Wi-Fi. Ma puoi utilizzare qualsiasi scheda di sviluppo ESP8266 e utilizzare lo stesso codice Arduino senza alcuna modifica richiesta. Ho progettato un PCB per questo progetto, ma puoi utilizzare una scheda PCB dot per implementare il circuito o persino progettare il tuo PCB.

E utilizzeremo il kit telaio robotizzato 4WD come mostrato nell'immagine sopra in quanto è ideale per il fai-da-te ed è il kit per auto robot più economico con una struttura meccanica semplice.

Caratteristiche di questo kit:-

1. Viene fornito con quattro motori in plastica BO separati con cambio è buono per la manovrabilità.

2. Il telaio in acrilico grande e robusto consente una grande espandibilità per il fai-da-te.

3. Kit telaio per auto intelligente a quattro ruote motrici. Molto facile da installare, basta aggiungere un microcontrollore (come Arduino) e moduli sensore per costruire un robot completamente autonomo

Passaggio 1: elenco dei componenti

Elenco dei componenti
Elenco dei componenti
Elenco dei componenti
Elenco dei componenti
Elenco dei componenti
Elenco dei componenti

Wemos D1 Mini [Quantità – 1]

IC driver motore L293d [Quantità – 2]

IC di espansione porta PCF8574 [Quantità – 1]

Batteria agli ioni di litio da 12 V [Quantità – 1]

PCB robot controllato Wi-Fi [Quantità – 1]

Kit telaio per auto intelligente robot 4WD [Quantità - 1]

Passaggio 2: cervello del progetto - Scheda di sviluppo ESP8266 (Wemos D1 Mini)

Brain of the Project - Scheda di sviluppo ESP8266 (Wemos D1 Mini)
Brain of the Project - Scheda di sviluppo ESP8266 (Wemos D1 Mini)

Wemos D1 Mini è una mini scheda di sviluppo Wi-Fi con flash da 4 MB basata sul chip ESP-8266.

  • Dispone di 11 pin di input/output digitali, tutti i pin hanno il supporto di interrupt/pwm/I2C/one-wire (eccetto D0)
  • Dispone di 1 ingresso analogico (ingresso 3,2 V max)
  • Ha una connessione Micro USB per la programmazione e un alimentatore.

Questa scheda è basata su ESP8266 quindi è compatibile con Arduino IDE, quindi può essere programmata utilizzando Arduino o può anche essere programmata utilizzando il compilatore Lua. Supporta anche la programmazione sia seriale che OTA.

Programmeremo Wemos D1 Mini usando Arduino IDE. Per programmare la scheda utilizzando l'IDE Arduino è necessario soddisfare i seguenti requisiti.

Requisiti:-

  • Driver CH340G
  • Installa l'IDE Arduino più recente dal sito Web di Arduino.
  • Un cavo micro usb per la programmazione

Dopo aver installato il driver e il software arduino, è necessario installare "Arduino core for ESP8266 WiFi chip" all'interno dell'IDE Arduino in modo da poter programmare il chip ESP8266 dall'ambiente Arduino. Questo core Arduino ESP8266 ti consente di scrivere schizzi utilizzando funzioni e librerie Arduino familiari ed eseguirli direttamente su ESP8266, senza bisogno di microcontrollori esterni.

Il core Arduino ESP8266 è dotato di librerie per comunicare tramite WiFi utilizzando TCP e UDP, configurare server HTTP, mDNS, SSDP e DNS, eseguire aggiornamenti OTA, utilizzare un file system nella memoria flash, lavorare con schede SD, servi, periferiche SPI e I2C.

Scarica il seguente documento per avere un'idea su come installare il core arduino Esp8266.

Passaggio 3: driver del motore - L293d

Driver del motore - L293d
Driver del motore - L293d
Driver del motore - L293d
Driver del motore - L293d
Driver del motore - L293d
Driver del motore - L293d

Il Motor Driver è un IC per motori che permette di controllare la velocità di lavoro e la direzione di due motori contemporaneamente.

L293d è progettato per fornire correnti di azionamento bidirezionali a tensioni da 5 V a 36 V. L293D può pilotare 2 motori CC contemporaneamente.

L293D è un circuito integrato per driver motore a 16 pin. Ci sono 4 pin INPUT, 4 pin OUTPUT e 2 pin ENABLE per ogni motore.

Caratteristiche L293D:

Capacità di corrente di uscita di 600 mA per canale

Controllo orologio e senso antiorario per i singoli canali

Pin Descrizione di L293d:

  • Pin 1: quando Enable1 è HIGH, la parte sinistra dell'IC funzionerà, ovvero il motore collegato al pin 3 e al pin 6 ruoterà.
  • Pin 2: Ingresso 1, quando questo pin è ALTO la corrente scorrerà attraverso l'uscita 1.
  • Pin 3: Uscita 1, questo pin è collegato a un terminale del motore.
  • Pin 4/5: pin GND
  • Pin 6: uscita 2, questo pin è collegato a un terminale del motore.
  • Pin 7: Ingresso 2, quando questo pin è ALTO la corrente scorrerà attraverso l'uscita 2.
  • Pin 8: VCC2, questo pin viene utilizzato per fornire alimentazione ai motori collegati da 5V a 36V massimo a seconda del motore collegato.
  • Pin 9: quando Enable 2 è HIGH, la parte destra dell'IC funzionerà, ovvero il motore collegato al pin 11 e il pin 14 ruoteranno.
  • Pin 10: Ingresso 4, quando questo pin è ALTO la corrente scorrerà attraverso l'uscita 4.
  • Pin 11: uscita 4, questo pin è collegato a un terminale del motore.
  • Pin 12/13: pin GND
  • Pin 14: uscita 3, questo pin è collegato a un terminale del motore.
  • Pin 15: Ingresso 3, quando questo pin è ALTO la corrente scorrerà attraverso l'uscita 3.
  • Pin 16: VCC1, per alimentazione logica a IC cioè 5V.

Pertanto, puoi vedere che sono necessari 3 pin digitali per controllare ciascun motore (un pin per il controllo della velocità e due pin per il controllo della direzione). Se un L293d controlla due motori CC, allora avremo bisogno di due circuiti integrati L293d per controllare quattro motori CC. Useremo motori BO in plastica per questo progetto. Quindi, vedete, avremo bisogno di 12 pin digitali per controllare tutti e quattro i motori DC in modo indipendente con il controllo della velocità e della direzione.

Ma se vedi Wemos D1 mini ha solo 11 pin I/O digitali e 1 pin analogico. Per risolvere questo problema collegheremo direttamente i quattro pin di abilitazione (due pin di abilitazione del primo L293d e due pin di abilitazione dell'altro L293d) ai pin Wemos Digital mentre tutti gli otto pin di ingresso (quattro del primo L293d e quattro dell'altro L293d) utilizzando PCF8574 (un espansore della porta I/O) tramite I2C.

Passaggio 4: PCF8574 - un'espansione della porta I/O

PCF8574 - un espansore porta I/O
PCF8574 - un espansore porta I/O
PCF8574 - un espansore porta I/O
PCF8574 - un espansore porta I/O

Wemos D1 Mini (ovvero ESP8266) ha una carenza di pin di input/output. Possiamo aumentare i pin di ingresso/uscita digitale utilizzando un IC di espansione I/O come PCF8574, che è un espansore di I/O a 8 bit.

Uno dei vantaggi dell'utilizzo dell'espansore I/O PCF8574A è che utilizza il bus I2C, che richiede solo due linee dati, ovvero clock (SCK) e dati (SDA). Pertanto, con queste due linee, puoi controllare fino a otto pin dello stesso chip. Modificando i tre pin di indirizzo di ciascun PCF8574 possiamo controllare 64 pin complessivi.

Questo espansore di ingresso/uscita (I/O) a 8 bit per il bus bidirezionale a due linee (I2C) è progettato per il funzionamento VCC da 2,5 V a 6 V. Il dispositivo PCF8574 fornisce espansione I/O remota generica per la maggior parte delle famiglie di microcontrollori tramite l'interfaccia I2C [orologio seriale (SCL), dati seriali (SDA)].

Il dispositivo è dotato di una porta I/O quasi bidirezionale a 8 bit (P0-P7), incluse uscite latch con capacità di pilotaggio ad alta corrente per il pilotaggio diretto dei LED. Ciascun I/O quasi bidirezionale può essere utilizzato come ingresso o uscita senza l'uso di un segnale di controllo della direzione dei dati. All'accensione, gli I/O sono alti.

Vedere il file pdf "PCF8574_With_L293d" di seguito per lo schema di collegamento di PCF8574 con i due circuiti integrati L293d

Passaggio 5: schemi

Schematico
Schematico
Schematico
Schematico

Ho usato Kicad per la progettazione di PCB.

Scarica il pdf schematico qui sotto per progettare il tuo pcb o implementarlo su una scheda dot pcb.

Passaggio 6: codice

Connettiti al seguente punto di accesso Wi-Fi:-

// Credenziali di rete definite dall'utenteconst char* ssid = "WiFi_Robot";

const char* password = "Automatizza@111";

Dopo aver effettuato la connessione al punto di accesso sopra, andare al collegamento sottostante in un browser Web: -

192.168.4.1

Riceverai il seguente messaggio: -

"ciao da Robot!"

192.168.4.1/fw

Farà in modo che il robot avanzi

192.168.4.1/bk

Farà in modo che il robot si sposti all'indietro

192.168.4.1/lt

Farà sì che il robot si sposti a sinistra

192.168.4.1/rt

Farà in modo che il robot si muova a destra

192.168.4.1/st

Farà in modo che il robot si fermi

Se vuoi puoi anche controllare il robot tramite l'app per Android realizzata da Robo India.

{Cerca l'app Android "WiFi Robot Controller" sul playstore realizzata da Robo India}

[Nota: in alcun modo non sono connesso con Robo India e questo non è per pubblicità, questo è il mio progetto personale!]

Video di lavoro del progetto:-

Consigliato: