Sommario:

HackerBoxes 0013: Autosport: 12 passaggi
HackerBoxes 0013: Autosport: 12 passaggi

Video: HackerBoxes 0013: Autosport: 12 passaggi

Video: HackerBoxes 0013: Autosport: 12 passaggi
Video: Hackerboxes 0013: AUTOSPORT 2024, Dicembre
Anonim
HackerBox 0013: Autosport
HackerBox 0013: Autosport

AUTOSPORT: questo mese, gli hacker di HackerBox stanno esplorando l'elettronica automobilistica. Questo Instructable contiene informazioni per lavorare con HackerBoxes #0013. Se desideri ricevere una scatola come questa direttamente nella tua casella di posta ogni mese, ora è il momento di iscriverti a HackerBoxes.com e unirti alla rivoluzione!

Argomenti e obiettivi di apprendimento per questo HackerBox:

  • Adattamento del NodeMCU per Arduino
  • Assemblaggio di un kit per auto 2WD
  • Cablaggio di un NodeMCU per controllare un kit per auto 2WD
  • Controllo di un NodeMCU tramite WiFi utilizzando Blynk
  • Utilizzo dei sensori per la navigazione autonoma
  • Utilizzo della diagnostica di bordo automobilistica (OBD)

HackerBoxes è il servizio di box in abbonamento mensile per l'elettronica fai da te e la tecnologia informatica. Siamo hobbisti, maker e sperimentatori. Hackera il pianeta!

Passaggio 1: HackerBox 0013: contenuto della confezione

HackerBox 0013: contenuto della confezione
HackerBox 0013: contenuto della confezione
HackerBox 0013: contenuto della confezione
HackerBox 0013: contenuto della confezione
HackerBox 0013: contenuto della confezione
HackerBox 0013: contenuto della confezione
  • HackerBoxes #0013 Scheda di riferimento da collezione
  • Kit telaio per auto 2WD
  • Modulo processore WiFi NodeMCU
  • Protezione motore per NodeMCU
  • Blocco ponticello per protezione motore
  • Scatola batteria (4 x AA)
  • Sensore di portata ad ultrasuoni HC-SR04
  • Sensori di riflettività IR TCRT5000
  • Maglioni DuPont femmina-femmina 10cm
  • Due moduli laser rossi
  • Diagnostica di bordo Mini-ELM327 (OBD)
  • Decalcomania da corsa esclusiva HackerBoxes

Alcune altre cose che saranno utili:

  • Quattro batterie AA
  • Nastro biadesivo in schiuma o strisce di velcro
  • Cavo microUSB
  • Smartphone o tablet
  • Computer con Arduino IDE

Soprattutto, avrai bisogno di un senso di avventura, spirito fai-da-te e curiosità da hacker. L'elettronica hobbista hardcore non è sempre facile, ma quando persisti e ti godi l'avventura, una grande soddisfazione può derivare dalla perseveranza e dal far funzionare i tuoi progetti. Fai ogni passo lentamente, presta attenzione ai dettagli e non esitare a chiedere aiuto.

Passaggio 2: elettronica automobilistica e auto a guida autonoma

Elettronica automobilistica e auto a guida autonoma
Elettronica automobilistica e auto a guida autonoma
Elettronica automobilistica e auto a guida autonoma
Elettronica automobilistica e auto a guida autonoma

L'elettronica automobilistica è qualsiasi sistema elettronico utilizzato nei veicoli stradali. Questi includono carputers, telematica, sistemi di intrattenimento per auto e così via. L'elettronica automobilistica nasce dalla necessità di controllare i motori. I primi sono stati utilizzati per controllare le funzioni del motore e sono stati indicati come unità di controllo del motore (ECU). Quando i controlli elettronici iniziarono ad essere utilizzati per più applicazioni automobilistiche, l'acronimo ECU assunse il significato più generale di "unità di controllo elettronica", e quindi furono sviluppate ECU specifiche. Ora, le ECU sono modulari. Due tipi includono moduli di controllo del motore (ECM) o moduli di controllo della trasmissione (TCM). Un'auto moderna può avere fino a 100 ECU.

Le auto radiocomandate (auto R/C) sono auto o camion che possono essere controllati a distanza utilizzando un trasmettitore specializzato o un telecomando. Il termine "R/C" è stato utilizzato per indicare sia "telecomandato" che "radiocomandato", ma l'uso comune di "R/C" oggi si riferisce solitamente a veicoli controllati da un collegamento in radiofrequenza.

Un'auto autonoma (auto senza conducente, auto a guida autonoma, auto robotica) è un veicolo in grado di rilevare l'ambiente circostante e di navigare senza l'intervento umano. Le auto autonome possono rilevare l'ambiente circostante utilizzando una varietà di tecniche come radar, lidar, GPS, odometria e visione artificiale. I sistemi di controllo avanzati interpretano le informazioni sensoriali per identificare percorsi di navigazione appropriati, nonché ostacoli e segnaletica pertinente. Le auto autonome dispongono di sistemi di controllo in grado di analizzare i dati sensoriali per distinguere tra le diverse auto sulla strada, molto utile per pianificare un percorso verso la destinazione desiderata.

Passaggio 3: Arduino per NodeMCU

Arduino per NodeMCU
Arduino per NodeMCU
Arduino per NodeMCU
Arduino per NodeMCU

NodeMCU è una piattaforma IoT open source. Include firmware che funziona sul SoC Wi-Fi ESP8266 di Espressif Systems e hardware basato sul modulo ESP-12.

L'IDE Arduino può ora essere facilmente esteso per supportare la programmazione di moduli NodeMCU come se fossero qualsiasi altra piattaforma di sviluppo Arduino.

Per iniziare, assicurati di avere installato l'IDE Arduino (www.arduino.cc) e i driver per il chip Serial-USB appropriato sul modulo NodeMCU che stai utilizzando. Attualmente la maggior parte dei moduli NodeMCU include il chip USB seriale CH340. Il produttore dei chip CH340 (WCH.cn) dispone di driver per tutti i sistemi operativi più diffusi. Controlla la pagina di traduzione di Google per il loro sito.

Esegui l'IDE di Ardino, vai nelle preferenze e individua il campo per l'inserimento di "Ulteriori URL di Board Manager"

Incolla questo URL:

arduino.esp8266.com/stable/package_esp8266com_index.json

Per installare Board Manager per ESP8266.

Dopo l'installazione, chiudi l'IDE e riavvialo.

Ora collega il modulo NodeMCU al tuo computer utilizzando un cavo microUSB (come utilizzato dalla maggior parte dei telefoni cellulari e tablet).

Seleziona il tipo di scheda all'interno dell'IDE Arduino come NodeMCU 1.0

Ci piace sempre caricare e testare la demo dei blink su una nuova scheda Arduino solo per avere la certezza che tutto funzioni correttamente. Il NodeMCU non fa eccezione, ma devi cambiare il pin LED da pin13 a pin16 prima di compilare e caricare. Assicurati che questo test rapido funzioni correttamente prima di passare a qualcosa di più complicato con Arduino NodeMCU.

Ecco un istruibile che ripercorre il processo di installazione per Arduino NodeMCU con alcuni esempi di applicazioni differenti. È un po' fuori strada rispetto all'obiettivo qui, ma potrebbe essere utile cercare un altro punto di vista se rimani bloccato.

Passaggio 4: kit telaio per auto 2WD

Kit telaio per auto 2WD
Kit telaio per auto 2WD
Kit telaio per auto 2WD
Kit telaio per auto 2WD
Kit telaio per auto 2WD
Kit telaio per auto 2WD

Contenuto del kit telaio per auto 2WD:

  • Telaio in alluminio (i colori variano)
  • Due motori DC FM90
  • Due ruote con pneumatici in gomma
  • Ruota libera
  • Hardware di montaggio
  • Montare l'hardware

I motori DC FM90 sembrano micro servi perché sono costruiti nello stesso alloggiamento di plastica dei comuni micro servi, come FS90, FS90R o SG92R. Tuttavia, l'FM90 non è un servo. L'FM90 è un motore a corrente continua con un treno di ingranaggi in plastica.

La velocità del motore FM90 è controllata dalla modulazione di larghezza di impulso (PWM) dei cavi di alimentazione. La direzione è controllata invertendo la polarità di alimentazione come con qualsiasi motore CC a spazzole. L'FM90 può funzionare a 4-6 Volt DC. Sebbene piccolo, assorbe abbastanza corrente da non essere pilotato direttamente da un pin del microcontrollore. Dovrebbe essere utilizzato un driver del motore o un ponte H.

Specifiche del motore CC FM90:

  • Dimensioni: 32,3 mm x 12,3 mm x 29,9 mm / 1,3 "x 0,49" x 1,2"
  • Conteggio spline: 21
  • Peso: 8,4 g
  • Velocità a vuoto: 110 giri/min (4,8 v) / 130 giri/min (6 v)
  • Corrente di funzionamento (a vuoto): 100mA (4.8v) / 120mA (6v)
  • Coppia di stallo di picco (4,8 v): 1,3 kg/cm / 18,09 oz/in
  • Coppia di stallo di picco (6v): 1,5 kg/cm / 20,86 oz/in
  • Corrente di stallo: 550 mA (4,8 v) / 650 mA (6 v)

Passaggio 5: telaio dell'auto: assemblaggio meccanico

Telaio dell'auto: assemblaggio meccanico
Telaio dell'auto: assemblaggio meccanico
Telaio dell'auto: assemblaggio meccanico
Telaio dell'auto: assemblaggio meccanico
Telaio dell'auto: assemblaggio meccanico
Telaio dell'auto: assemblaggio meccanico

Il telaio dell'auto può essere facilmente assemblato secondo questo schema.

Nota che ci sono due piccoli sacchetti di hardware. Uno include hardware di montaggio con sei distanziatori in ottone da 5 mm-M3 insieme a viti e dadi abbinati. Questo hardware di montaggio può essere utile nelle fasi successive del montaggio di controller, sensori e altri elementi sullo chassis.

Per questo passaggio, utilizzeremo l'hardware di assemblaggio che include:

  • Quattro sottili bulloni M2x8 e piccoli dadi corrispondenti per il fissaggio dei motori
  • Quattro bulloni M3x10 più spessi e dadi abbinati più grandi per il fissaggio della ruota sterzante
  • Due viti PB2.0x8 con filettatura grossa per il fissaggio delle ruote ai motori

Notare che i motori FM90 sono orientati in modo tale che i cavi si estendano dalla parte posteriore del telaio assemblato.

Passaggio 6: telaio dell'auto: aggiungi alimentatore e controller

Telaio dell'auto: aggiungi alimentatore e controller
Telaio dell'auto: aggiungi alimentatore e controller
Telaio dell'auto: aggiungi alimentatore e controller
Telaio dell'auto: aggiungi alimentatore e controller
Telaio dell'auto: aggiungi alimentatore e controller
Telaio dell'auto: aggiungi alimentatore e controller

La scheda di schermatura del motore ESP-12E supporta il collegamento diretto del modulo NodeMCU. Lo scudo del motore include un chip driver del motore push-pull L293DD (scheda tecnica). I fili del motore devono essere collegati ai terminali a vite A+/A- e B+/B- sulla schermatura del motore (dopo aver rimosso i connettori). I cavi della batteria devono essere collegati ai terminali a vite di ingresso della batteria.

Se una delle ruote gira nella direzione sbagliata, i fili al motore corrispondente possono essere scambiati ai morsetti a vite, oppure il bit di direzione può essere invertito nel codice (passo successivo).

C'è un pulsante di accensione in plastica sullo scudo del motore per attivare l'alimentazione in ingresso della batteria. Il blocco jumper può essere utilizzato per indirizzare l'alimentazione al NodeMCU dallo scudo del motore. Senza il blocco jumper installato, il NodeMCU può autoalimentarsi dal cavo USB. Con il blocco jumper installato (come mostrato), l'alimentazione della batteria alimenta i motori ed è anche guidata dal modulo NodeMCU.

Lo scudo del motore e il pacco batteria possono essere montati sul telaio allineando i fori delle viti con le aperture disponibili nel telaio in alluminio. Tuttavia, troviamo più semplice fissarli al telaio utilizzando nastro biadesivo in schiuma o strisce adesive in velcro.

Passaggio 7: telaio dell'auto: programmazione e controllo Wi-Fi

Telaio dell'auto: programmazione e controllo Wi-Fi
Telaio dell'auto: programmazione e controllo Wi-Fi

Blynk è una piattaforma con app iOS e Android per controllare Arduino, Raspberry Pi e altro hardware su Internet. È una dashboard digitale in cui puoi creare un'interfaccia grafica per il tuo progetto semplicemente trascinando e rilasciando i widget. È davvero semplice impostare tutto e inizierai subito ad armeggiare. Blynk ti metterà online e pronto per l'Internet delle tue cose.

Lo script Arduino HBcar.ino qui incluso mostra come interfacciare quattro pulsanti (avanti, indietro, destra e sinistra) su un progetto Blynk per controllare i motori sul telaio dell'auto 2WD.

Prima della compilazione, è necessario modificare tre stringhe nel programma:

  • SSID Wi-Fi (per il punto di accesso Wi-Fi)
  • Password Wi-Fi (per il tuo punto di accesso Wi-Fi)
  • Token di autorizzazione Blynk (dal tuo progetto Blynk)

Nota dal codice di esempio che il chip L293DD sullo schermo del motore è cablato come segue:

  • GPIO pin 5 per la velocità del motore A
  • GPIO pin 0 per la direzione del motore A
  • GPIO pin 4 per la velocità del motore B
  • GPIO pin 2 per direzione motore B

Passaggio 8: sensori per la navigazione autonoma: telemetro ad ultrasuoni

Sensori per la navigazione autonoma: telemetro ad ultrasuoni
Sensori per la navigazione autonoma: telemetro ad ultrasuoni
Sensori per la navigazione autonoma: telemetro ad ultrasuoni
Sensori per la navigazione autonoma: telemetro ad ultrasuoni
Sensori per la navigazione autonoma: telemetro ad ultrasuoni
Sensori per la navigazione autonoma: telemetro ad ultrasuoni
Sensori per la navigazione autonoma: telemetro ad ultrasuoni
Sensori per la navigazione autonoma: telemetro ad ultrasuoni

Il telemetro ad ultrasuoni HC-SR04 (scheda tecnica) può fornire misurazioni da circa 2 cm a 400 cm con una precisione fino a 3 mm. Il modulo HC-SR04 include un trasmettitore a ultrasuoni, un ricevitore e un circuito di controllo.

Dopo aver collegato quattro ponticelli femmina-femmina ai pin dell'HC-SR04, avvolgere del nastro attorno ai connettori può aiutare sia a isolare le connessioni dal cortocircuito allo chassis in alluminio, sia a fornire una massa flessibile da incastrare nello slot nella parte anteriore del il telaio come mostrato.

In questo esempio, i quattro pin dell'HC-SR04 possono essere cablati alla schermatura del motore:

  • Da VCC (su HC-SR04) a VIN (su schermo motore)
  • Da trigger (su HC-SR04) a D6 (su schermo motore)
  • Echo (su HC-SR04) a D7 (su schermo motore)
  • GND (su HC-SR04) a GND (sullo schermo del motore)

VIN fornirà circa 6VDC all'HC-SR04, che necessita solo di 5V. Tuttavia, sembra funzionare bene. L'altra linea di alimentazione disponibile (3,3 V) a volte è adeguata per alimentare il modulo HC-SR04 (certamente provaci), ma a volte non è abbastanza tensione.

Una volta collegato, prova il codice di esempio NodeMCUping.ino per testare il funzionamento dell'HC-SR04. La distanza dal sensore a qualsiasi oggetto è stampata sul monitor seriale (scheda 9600) in centimetri. Prendi il nostro righello e verifica la precisione. Impressionante non è vero?

Ora che hai questo suggerimento, prova qualcosa del genere per un veicolo autonomo che evita le collisioni:

  1. avanti fino a distanza < 10cm
  2. alt
  3. invertire una piccola distanza (opzionale)
  4. girare un angolo casuale (tempo)
  5. passa al passaggio 1

Per alcune informazioni generali di base, ecco un video tutorial ricco di dettagli sull'utilizzo del modulo HC-SR04.

Passaggio 9: sensori per la navigazione autonoma: riflettività a infrarossi (IR)

Sensori per la navigazione autonoma: riflettività a infrarossi (IR)
Sensori per la navigazione autonoma: riflettività a infrarossi (IR)

Il modulo del sensore riflettente IR utilizza un TCRT5000 (scheda tecnica) per rilevare il colore e la distanza. Il modulo emette luce IR e quindi rileva se riceve un riflesso. Grazie alla sua capacità di rilevare se una superficie è bianca o nera, questo sensore viene spesso utilizzato in linea seguendo i robot e la registrazione automatica dei dati sui contatori delle utenze.

La distanza di misurazione va da 1 mm a 8 mm e il punto centrale è di circa 2,5 mm. C'è anche un potenziometro a bordo per regolare la sensibilità. Il diodo IR emette luce IR continua quando il modulo è collegato all'alimentazione. Quando la luce infrarossa emessa non viene riflessa, il triodo sarà nello stato spento e l'uscita digitale (D0) indicherà una logica LOW.

Passaggio 10: raggi laser

Raggi laser
Raggi laser
Raggi laser
Raggi laser

Questi comuni moduli laser da 5 mW 5 V possono essere utilizzati per aggiungere raggi laser rossi praticamente a qualsiasi cosa abbia una potenza di 5 V disponibile.

Nota che questi moduli possono essere facilmente danneggiati, quindi HackerBox # 0013 include un paio per fornire un backup. Abbi cura dei tuoi moduli laser!

Passaggio 11: diagnostica di bordo automobilistica (OBD)

Diagnostica di bordo automobilistica (OBD)
Diagnostica di bordo automobilistica (OBD)
Diagnostica di bordo automobilistica (OBD)
Diagnostica di bordo automobilistica (OBD)

La diagnostica di bordo (OBD) è un termine automobilistico che si riferisce alla capacità di autodiagnosi e di segnalazione di un veicolo. I sistemi OBD consentono al proprietario del veicolo o al tecnico di riparazione di accedere allo stato dei vari sottosistemi del veicolo. La quantità di informazioni diagnostiche disponibili tramite OBD è variata notevolmente dalla sua introduzione nei primi anni '80 delle versioni dei computer di bordo del veicolo. Le prime versioni di OBD accendevano semplicemente una spia di malfunzionamento se veniva rilevato un problema, ma non fornivano alcuna informazione sulla natura del problema. Le moderne implementazioni OBD utilizzano una porta di comunicazione digitale standardizzata per fornire dati in tempo reale oltre a una serie standardizzata di codici di errore diagnostici, o DTC, che consentono di identificare e correggere rapidamente i malfunzionamenti all'interno del veicolo.

OBD-II è un miglioramento sia della capacità che della standardizzazione. Lo standard OBD-II specifica il tipo di connettore diagnostico e il suo pinout, i protocolli di segnalazione elettrica disponibili e il formato di messaggistica. Fornisce inoltre un elenco candidato di parametri del veicolo da monitorare insieme a come codificare i dati per ciascuno. Nel connettore è presente un pin che fornisce alimentazione allo strumento di scansione dalla batteria del veicolo, eliminando la necessità di collegare uno strumento di scansione a una fonte di alimentazione separatamente. I codici di errore diagnostici OBD-II sono a 4 cifre, preceduti da una lettera: P per motore e trasmissione (propulsore), B per carrozzeria, C per telaio e U per rete. I produttori possono anche aggiungere parametri di dati personalizzati alla loro specifica implementazione OBD-II, comprese le richieste di dati in tempo reale e i codici di errore.

L'ELM327 è un microcontrollore programmato per l'interfacciamento con l'interfaccia di diagnostica di bordo (OBD) presente nella maggior parte delle auto moderne. Il protocollo di comando ELM327 è uno degli standard di interfaccia PC-to-OBD più diffusi ed è implementato anche da altri fornitori. L'ELM327 originale è implementato sul microcontrollore PIC18F2480 di Microchip Technology. L'ELM327 astrae il protocollo di basso livello e presenta un'interfaccia semplice che può essere chiamata tramite un UART, tipicamente da uno strumento diagnostico portatile o da un programma per computer connesso tramite USB, RS-232, Bluetooth o Wi-Fi. La funzione di tale software può includere strumentazione del veicolo supplementare, segnalazione di codici di errore e cancellazione di codici di errore.

Sebbene Torque sia probabilmente il più noto, ci sono molte applicazioni che possono essere utilizzate con l'ELM327.

Passaggio 12: hackerare il pianeta

Hackera il pianeta
Hackera il pianeta

Grazie per aver condiviso la nostra avventura nell'elettronica automobilistica. Se ti è piaciuto questo Instrucable e desideri ricevere una scatola di progetti di elettronica come questo direttamente nella tua casella di posta ogni mese, per favore unisciti a noi ISCRIVENDOTI QUI.

Raggiungi e condividi il tuo successo nei commenti qui sotto e/o sulla pagina Facebook di HackerBoxes. Certamente fateci sapere se avete domande o avete bisogno di aiuto con qualsiasi cosa. Grazie per essere parte di HackerBoxes. Si prega di mantenere i vostri suggerimenti e feedback in arrivo. Gli HackerBox sono le TUE scatole. Facciamo qualcosa di grande!

Consigliato: