Sommario:

HackerBox 0050: 8 passaggi
HackerBox 0050: 8 passaggi

Video: HackerBox 0050: 8 passaggi

Video: HackerBox 0050: 8 passaggi
Video: Projects - July 2016 2024, Dicembre
Anonim
HackerBox 0050
HackerBox 0050

Saluti agli hacker HackerBox di tutto il mondo! Per HackerBox 0050, stiamo assemblando e programmando la scheda processore embedded HB50. L'HB50 supporta la sperimentazione con microcontrollori ESP32, WiFi IoT integrato, suono bit bang, LED RGB, display LCD TFT a colori, ingressi touch screen, Bluetooth e altro ancora. HackerBox 0050 esplora anche una piccola soluzione di tastiera per qualsiasi progetto embedded, interfacce I2C, budget energetico e automi cellulari.

Questa guida contiene informazioni per iniziare con HackerBox 0050, che può essere acquistato qui fino ad esaurimento scorte. Se desideri ricevere un HackerBox come questo direttamente nella tua casella di posta ogni mese, iscriviti a HackerBoxes.com e unisciti alla rivoluzione!

HackerBoxes è il servizio di box in abbonamento mensile per hacker hardware e appassionati di elettronica e tecnologia informatica. Unisciti a noi nel vivere l'HACK LIFE.

Passaggio 1: elenco dei contenuti per HackerBox 0050

  • Circuito stampato esclusivo HB50
  • Modulo WiFi Dual Core ESP-WROOM-32
  • Display LCD TFT a colori QVGA da 2,4 pollici
  • Display touchscreen integrato con stilo
  • Sei LED RGB WS2812B
  • Sei pulsanti Tacile a montaggio superficiale
  • Cicalino piezoelettrico 12mm SMD
  • AMS1117 Regolatore lineare 3.3V SOT223
  • Intestazione Breakaway 40pin ad angolo retto
  • Due condensatori al tantalio da 22uF 1206 SMD
  • Due resistori da 10K Ohm 0805 SMD
  • Mini tastiera CardKB
  • Cavo di sblocco da Grove a femmina DuPont
  • Modulo seriale USB CP2102
  • Maglioni DuPont Femmina-Femmina 10cm
  • Decalcomania PCB Hokusai Great Wave
  • Decalcomania WireHead esclusiva HackerBox
  • Esclusiva HackerBox 50 Challenge Coin

Alcune altre cose che saranno utili:

  • Saldatore, saldatore e strumenti di saldatura di base
  • Computer per l'esecuzione di strumenti software

Soprattutto, avrai bisogno di un senso di avventura, spirito hacker, pazienza e curiosità. Costruire e sperimentare con l'elettronica, sebbene molto gratificante, può essere complicato, impegnativo e persino frustrante a volte. L'obiettivo è il progresso, non la perfezione. Quando persisti e ti godi l'avventura, una grande soddisfazione può derivare da questo hobby. Fai ogni passo lentamente, presta attenzione ai dettagli e non aver paura di chiedere aiuto.

C'è una grande quantità di informazioni per i membri attuali e potenziali nelle FAQ di HackerBox. Quasi tutte le e-mail di supporto non tecnico che riceviamo hanno già una risposta lì, quindi apprezziamo davvero che tu abbia dedicato qualche minuto alla lettura delle FAQ.

Passaggio 2: circuito stampato HB50

Circuito stampato HB50
Circuito stampato HB50

Per commemorare HackerBox Number 0050, abbiamo creato una versione aggiornata del circuito HackerBox più popolare a grande richiesta. Il kit di badge HackerBox 0020 Summer Camp è andato esaurito a DEF CON 25 in meno di due ore. Da allora i file PCB sono stati richiesti frequentemente. La scheda è stata ristampata almeno un paio di volte da terze parti. Il design ha ispirato una manciata di altri badge e progetti IoT incorporati di cui siamo a conoscenza e, si spera, molti altri di cui non siamo a conoscenza.

Gli aggiornamenti trovati nel nuovo kit PCB HB50 includono la sostituzione dell'ESP-32 DEVkitC con il modulo ESP-WROOM-32 più compatto. I cinque pulsanti a sfioramento capacitivi sono stati sostituiti con pulsanti tattili meccanici. I cinque LED RGB WS2812 che erano in confezioni bianche sono stati aumentati a sei e ora sono in confezioni nere. Il cicalino piezoelettrico è stato sostituito con una versione a montaggio superficiale più compatta. L'alimentazione è stata semplificata. Il display TFT a colori è stato aumentato da 2,2 pollici a 2,4 pollici. Il PCB è più compatto e ha anche alcuni pin IO rotti per il tuo piacere di hacking. Dai tempi di HackerBox 20, ci sono molti più progetti, esempi e codice disponibili per ESP32, quindi prepariamoci a rombare…

Caratteristiche:

  • Processore ESP32 Dual Core 160MHz
  • Display LCD TFT a colori QVGA da 2,4 pollici
  • Wi-Fi 802.11 b/g/n/d/e/i/k/r
  • Bluetooth LE 5.0
  • Cinque pulsanti tattili (+ uno per il reset)
  • Sei LED RGB WS2812
  • Cicalino piezoelettrico
  • Regolatore lineare da 3,3 V
  • Intestazione di espansione

Come con il suo predecessore, l'HB50 può essere indossato su un cordino, utilizzato come palmare, montato a parete o distribuito praticamente ovunque in innumerevoli applicazioni wireless e colorate.

Passaggio 3: richiamare la scheda HB50

Porta in primo piano la scheda HB50
Porta in primo piano la scheda HB50

Per ridurre al minimo, o almeno isolare gli errori, suggeriamo di iniziare l'assemblaggio popolando solo il minimo indispensabile di componenti del PCB HB50 necessari per programmare ESP32. Questo approccio minimo praticabile è delineato in questi passaggi:

  1. Guarda questo video sulla saldatura dei moduli castellati.
  2. Saldare il modulo ESP-WROOM-32 sul PCB. Prenditi il tuo tempo. Non preoccuparti per il pad di terra centrale sotto il modulo. Può essere saldato solo mediante rifusione ed è presente solo per un ulteriore accoppiamento termico.
  3. Usa un multimetro per assicurarti che non ci siano cortocircuiti tra 3V3 e GND. Se c'è un cortocircuito, deve essere identificato e rimosso prima di applicare potenza al tabellone o il mostro di fumo potrebbe uscire.
  4. Saldare i due resistori da 10K appena sopra i pulsanti EN e IO0.
  5. Saldare i pulsanti EN e IO0. Gli altri quattro pulsanti possono essere lasciati fuori per ora.
  6. Rompi una striscia di 16 pin dell'intestazione. Inserirlo dal lato CPU del PCB in modo che i pin puntino verso il bordo più vicino del PCB. Quindi saldare l'intestazione in posizione dal lato del pulsante del PCB.
  7. Verificare nuovamente che non ci siano cortocircuiti tra 3V3 e GND.
  8. Utilizzare quattro cavi jumper DuPont per collegare il modulo CP2102 come mostrato. Si noti che stiamo temporaneamente utilizzando la fonte di alimentazione 3V3 poiché il regolatore lineare non è ancora popolato sul PCB.
  9. Se il tuo computer non ha già installato l'IDE Arduino, ottienilo qui.
  10. Configura il supporto ESP32 all'interno dell'IDE Arduino usando questa guida.
  11. Nell'IDE, imposta strumenti > scheda su "ESP32 Wrover Module".
  12. Collegare il modulo CP2102 a una porta USB del computer.
  13. Nell'IDE, impostare strumenti > porta sulla porta USB corretta per il CP2102.
  14. Se non viene visualizzata una nuova porta quando viene inserito il modulo CP2102, installare il driver USB richiesto da Silicon Labs.
  15. Prendi lo schizzo button_demo.
  16. Compila e carica lo schizzo.
  17. Quando inizia il caricamento, tieni premuti entrambi i pulsanti EN e IO0. EN è fondamentalmente un pulsante di ripristino e IO0 è il perno di fissaggio per forzare la riprogrammazione del flash.
  18. Una volta che i punti e i trattini appaiono nell'IDE, rilascia il pulsante EN (rilascia reset) ma continua a tenere premuto il pulsante IO0 fino a quando la programmazione del flash non inizia per essere sicuro che il perno di reggiatura venga riconosciuto all'avvio.
  19. Al termine della programmazione, premere nuovamente il pulsante EN per ripristinare e avviare il codice appena lampeggiato.
  20. Apri il monitor seriale IDE Arduino e impostalo su 115200 baud.
  21. Premendo il pulsante IO0 dovrebbe generare un messaggio nel monitor seriale.

Passaggio 4: pulsanti, cicalini e LED, OH MIO

Pulsanti, cicalini e LED, OH MIO!
Pulsanti, cicalini e LED, OH MIO!

PI PULSANTI

Una volta completata la fase di programmazione iniziale, spegnere la scheda HB50 e saldare i restanti quattro pulsanti. Lo stesso sketch button_demo dovrebbe ora riportare tutti e cinque i pulsanti (IO0, A, B, C e D) al monitor seriale quando vengono premuti.

CICALINO

Spegnere la scheda HB50 e saldare il cicalino sui suoi pad. Orientare il punto sul cicalino in modo che sia più vicino al pad "+" sulla scheda HB50. Programmare lo sketch buzzer_demo e resettare (EN) la scheda per farla funzionare. Suona bene?

LED RGB WS2812B

Spegnere la scheda HB50 e saldare i sei LED sui loro pad. Orientare l'angolo contrassegnato in bianco di ciascun LED in modo che corrisponda all'angolo con linguetta come mostrato sulla serigrafia del PCB.

Dagli strumenti IDE di Arduino > Gestisci librerie, installa la libreria FastLED.

Apri lo schizzo: File > Esempi > FastLED > ColorPalette.

Nel codice dello schizzo, cambia LED_PIN in 13, NUM_LEDS in 6 e LED_TYPE in WS2812B.

Carica lo schizzo e resetta (EN) la scheda per farla funzionare. Goditi luci scintillanti di ogni colore.

REGOLATORE DI POTENZA LINEARE

Con i LED in gioco (e soprattutto una volta abilitato il trasmettitore WiFi) l'HB50 assorbe molta corrente dall'alimentazione 3V3. Miglioriamo la capacità di alimentazione di 3,3 V saldando il regolatore lineare AMS1117 (pacchetto SOT 233) in posizione. Popolare anche i due condensatori di filtro da 22uF accanto al regolatore. Si noti che un lato di ogni serigrafia condensatore è rettangolare e l'altro lato se ottagonale. I condensatori devono essere orientati in modo che il bordo scuro sulla confezione si allinei al lato serigrafato ottagonale. Il regolatore ora trasformerà parte dell'alimentazione da 5 V in 3,3 V e può fornire molta più corrente rispetto al modulo CP2102 da solo. Per alimentare ora l'HB50 tramite l'alimentazione a 5 V, spostare ENTRAMBE LE ESTREMITÀ del ponticello DuPont 3V3 su 5 V. Cioè, sorgente 5V dal modulo CP2102 in uno dei pin di ingresso 5V sull'intestazione HB50. Si noti che il pin 5V può effettivamente essere alimentato con qualsiasi tensione compresa tra 3,5V e 5V.

Passaggio 5: display LCD TFT a colori QVGA ILI9341

Display LCD TFT a colori QVGA ILI9341
Display LCD TFT a colori QVGA ILI9341

Il display MSP2402 (pagina lcdwiki) è un modulo bus SPI basato sul chip ILI9341. Il chip pilota uno schermo a colori da 2,4 pollici che supporta 65.000 colori e una risoluzione di 320X240 pixel (QVGA).

Il modulo dispone anche di un ingresso touch screen e di uno slot per schede SD.

PRE-TEST DISPLAY I/O PIN

Se hai avuto problemi con la saldatura dei pin ESP-WROOM-32 fino a questo punto, potrebbe essere una buona idea testare preventivamente i pin I/O del modulo display prima di saldare il modulo display in posizione. Come mostrato di seguito e sul diagramma schematico del PCB, gli IO ESP32 in gioco sono 19, 23, 18, 5, 22, 21 e 15. Nota che questi sono i numeri IO e non i numeri pin. I pin possono essere testati scrivendo un piccolo programma che imposta tutti quegli IO come output e quindi esegue un ciclo attraverso gli IO accendendoli e spegnendoli uno dopo l'altro con un secondo o due di ritardo tra di loro. Un semplice LED con un resistore di limitazione della corrente collegato può essere utilizzato come sonda per assicurarsi che ciascun pin IO mappato sulle intestazioni del display (vedere lo schema) sia correttamente acceso e spento e che nessuno di essi sia accoppiato insieme.

Una volta verificati tutti i pin, il display TFT può essere saldato in posizione utilizzando le intestazioni lunghe e corte.

INSTALLA E CONFIGURA TFT LIBRARY

Dall'IDE Arduino: strumenti > Gestisci librerie, installa la libreria TFT_eSPI

Vai alla cartella Librerie Arduino. Aprire la cartella TFT_eSPI e modificare il file User_Setup.h per configurare il chip del driver del modulo, la risoluzione dei pixel e i pin IO. Fai ciò assicurandoti che le definizioni siano (non) commentate come mostrato di seguito e impostate sui valori come mostrato. È possibile verificare che questi corrispondano ai collegamenti nello schema del PCB.

// Sezione 1.

#define ILI9341_DRIVER #define TFT_WIDTH 240 #define TFT_HEIGHT 320 // Sezione 2. // Per la scheda di sviluppo ESP32 #define TFT_MISO 19 #define TFT_MOSI 23 #define TFT_SCLK 18 #define TFT_CS 5 #define TFT_DC 22 #define TFT_RST 21 //#define TFT_RST -1 //#definisci TFT_BL 32 #definisci TOUCH_CS 15

Apri e carica lo schizzo:

File > Esempi > TFT_eSPI > 320 x 240 > Cellular_Automata

Questo schizzo è una bella dimostrazione visiva di Game of Life di Conway.

Un aliante per hacker potrebbe evolversi in esistenza… tieni gli occhi aperti!

VISUALIZZAZIONE LOGO HACKERBOX SU LCD TFT

Prova lo sketch BitHeadDemo.

Passaggio 6: input utente touch screen

Input utente touch screen
Input utente touch screen

Il seguente schizzo può essere utilizzato per configurare e testare la funzionalità del touch screen:

File > Esempi > TFT_eSPI > 320 x 240 > Tastiera_240x320

Il pulsante "invia" trasmette il numero inserito al monitor seriale a 9600 baud.

Passaggio 7: tastiera CardKB I2C

Tastiera CardKB I2C
Tastiera CardKB I2C

Questa piccola scheda implementa una tastiera QWERTY completa che può essere utilizzata praticamente con qualsiasi progetto di microcontrollore. La tastiera comunica utilizzando una porta GROVE A (interfaccia I2C) sull'indirizzo 0x5F. Le combinazioni di pulsanti (Sym+Key, Shift+Key, Fn+Key) sono supportate per l'output di valori chiave avanzati.

Inizia con il semplice esempio di schizzo CardKB_Serial, che comunica con la tastiera su GROVE I2C e fa eco ai tasti premuti sul monitor seriale. Lo sketch può essere eseguito su ESP32 (come l'HB50), Arduino UNO, Arduino Nano o qualsiasi piattaforma che supporti I2C.

Nota che ci sono due diverse chiamate Wire.begin per ESP32 e per UNO/Nano. Decommenta quella appropriata di quelle righe per l'host che stai utilizzando. Collegare i fili di breakout GROVE giallo e bianco ai pin specificati su quella riga di codice. Collegare il filo rosso di breakout GROVE a 5V e il filo nero GROVE a GND.

Pagina di documentazione del produttore. Nota che anche se il microcontrollore integrato CardKB è pre-programmato, la sorgente del firmware è disponibile se desideri hackerare la tastiera.

Passaggio 8:

Immagine
Immagine

Ci auguriamo che l'avventura di HackerBox di questo mese nell'elettronica e nella tecnologia informatica ti stia godendo. Raggiungi e condividi il tuo successo nei commenti qui sotto o sul gruppo Facebook HackerBoxes. Inoltre, ricorda che puoi inviare un'e-mail a [email protected] in qualsiasi momento se hai una domanda o hai bisogno di aiuto.

Qual è il prossimo? Unisciti alla Rivoluzione. Vivi l'hackLife. Ricevi ogni mese una bella scatola di attrezzatura hackerabile direttamente nella tua casella di posta. Naviga su HackerBoxes.com e iscriviti al tuo abbonamento HackerBox mensile.

Consigliato: