Sommario:

HackerBox 0051: Laboratorio MCU: 10 passaggi
HackerBox 0051: Laboratorio MCU: 10 passaggi

Video: HackerBox 0051: Laboratorio MCU: 10 passaggi

Video: HackerBox 0051: Laboratorio MCU: 10 passaggi
Video: MCU LAB Demo with Potentiometer and OLED Display 2024, Luglio
Anonim
HackerBox 0051: Laboratorio MCU
HackerBox 0051: Laboratorio MCU

Saluti agli hacker HackerBox di tutto il mondo! HackerBox 0051 presenta HackerBox MCU Lab. MCU Lab è una piattaforma di sviluppo per testare, sviluppare e prototipare con microcontrollori e moduli di microcontrollori. Un Arduino Nano, un modulo ESP32 e una pillola nera SMT32 vengono utilizzati per esplorare i blocchi di funzionalità del laboratorio MCU. I blocchi di funzionalità di MCU Lab includono interruttori, pulsanti, LED, un display OLED, cicalino, potenziometro, pixel RGB, traslatore di livello logico, uscita VGA, ingresso tastiera PS/2, interfaccia seriale USB e aree di prototipazione doppia senza saldatura.

Questa guida contiene informazioni per iniziare con HackerBox 0051, 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 per vivere l'HACK LIFE.

Passaggio 1: elenco dei contenuti per HackerBox 0051

  • Modulo MCU 1: Arduino Nano 5V, 16MHz
  • Modulo MCU 2: WEMOS ESP32 Lite
  • Modulo MCU 3: pillola nera STM32F103C8T6
  • Circuito stampato esclusivo del laboratorio MCU
  • Adattatore seriale USB FT232RL
  • Display OLED 128x64 I2C 0,96 pollici
  • Cambio di livello logico bidirezionale a 8 bit
  • LED RGB SMD WS2812B
  • Quattro pulsanti tattili a montaggio superficiale
  • Quattro LED rossi diffusi da 5 mm
  • Cicalino piezoelettrico
  • Connettore VGA HD15
  • Connettore per tastiera mini-DIN PS/2
  • Potenziometro 100K Ohm
  • Interruttore DIP a 8 posizioni
  • AMS1117 Regolatore lineare 3.3V SOT223
  • Due condensatori al tantalio da 22uF 1206 SMD
  • Dieci resistori da 680 Ohm
  • Quattro piedini per PCB in gomma adesiva
  • Due mini breadboard senza saldatura da 170 punti
  • Undici connettori femmina per connettore femmina a 8 pin
  • Intestazione staccabile a 40 pin
  • Fascio di 65 cavi jumper maschio
  • Adesivo per circuito stampato pugno alzato
  • Hack The Planet Smiley Pirate Sticker
  • Portachiavi esclusivo HackerBox "Rimuovi prima del volo"

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: HackerBox MCU Lab

HackerBox MCU Lab
HackerBox MCU Lab

MCU Lab è una versione compatta e raffinata di una piattaforma di sviluppo che utilizziamo per prototipare e testare vari progetti basati su microcontrollori (MCU). È super utile per lavorare con moduli MCU (come Arduino Nano, ESP32 DevKit, ecc.) o singoli pacchetti di dispositivi MCU (come ATMEGA328, ATtiny85, PIC, ecc.). Un MCU di destinazione può essere posizionato in una delle mini breadboard senza saldatura. Due MCU possono essere interfacciati insieme utilizzando entrambe le breadboard oppure uno degli spazi della breadboard può essere utilizzato per altri circuiti.

I "blocchi di funzionalità" dell'MCU Lab sono suddivisi in intestazioni femminili simili a quelle che si trovano su un Arduino UNO. Le intestazioni femmina sono compatibili con i pin del ponticello maschio.

Passaggio 3: assemblare il laboratorio MCU HackerBoxes

Assemblare il laboratorio MCU HackerBoxes
Assemblare il laboratorio MCU HackerBoxes

COMPONENTI SMD SUL RETRO DELLA SCHEDA

Inizia montando il regolatore lineare AMS1117 (pacchetto SOT 233) e i due condensatori di filtro da 22 uF sul retro del PCB. Si noti che un lato di ogni serigrafia del condensatore è rettangolare e l'altro lato è ottagonale. I condensatori devono essere orientati in modo che il bordo scuro sulla confezione si allinei al lato serigrafato ottagonale.

CONTINUA CON I COMPONENTI SUL FRONTE DELLA SCHEDA

Saldare il LED RGB WS2812B. Orientare l'angolo contrassegnato in bianco di ciascun LED in modo che corrisponda all'angolo con linguetta come mostrato sulla serigrafia del PCB.

Quattro pulsanti tattili SMD

Quattro LED rossi con quattro resistori

Level Shifter con pin VA più vicino alla marcatura 3V3 e pin VB più vicino alla marcatura 5V. Il modulo Level Shifter può essere montato a filo del PCB saldando le intestazioni al modulo e quindi facendo scorrere i distanziatori in plastica nera dalle intestazioni prima di montare il modulo sul PCB MCU Lab. Anche lasciare i distanziali va bene.

Due strisce dell'intestazione possono essere interrotte per collegare il modulo FT232. Una sezione più piccola di header a 4 pin può essere utilizzata anche per l'header 5V/GND proprio accanto al modulo FT232.

Per ora, popola l'intestazione VGA femmina più vicina al connettore VGA HD15 e alla presa per tastiera. Tuttavia, NON POPOLARE l'intestazione aggiuntiva adiacente a quella o alle cinque resistenze tra queste due intestazioni. Le opzioni specifiche per l'interfacciamento del segnale video sono discusse in seguito.

Popolare le altre nove intestazioni femminili.

Rimuovere l'adesivo dal retro di entrambe le breadboard senza saldatura per fissarle al PCB MCU Lab.

Posiziona i piedini in gomma adesivi sul fondo del PCB MCU Lab per proteggere il banco da lavoro dai graffi.

GESTIONE DEGLI INGRESSI DI POTENZA

Ci sono almeno due, e più probabilmente fino a quattro, luoghi in cui il potere può entrare nel laboratorio MCU. Ciò può causare problemi, quindi considera sempre attentamente i seguenti suggerimenti:

I punti di intestazione etichettati 5V sono tutti collegati. Il binario 5V si collega anche alla presa della tastiera, al traslatore di livello e al LED RGB WS2812B. L'alimentazione può essere fornita alla guida 5V collegando l'FT232 a USB, collegando l'intestazione di alimentazione a quattro pin a un alimentatore esterno o collegando un ponticello da uno dei pin 5V sul PCB a un modulo 5V alimentato (generalmente alimentato da USB).

Allo stesso modo, i pin GND sono tutti collegati. Si collegano a USB GND sull'FT232 (supponendo che l'USB sia collegato all'FT232). Possono anche essere collegati a terra utilizzando un ponticello tra uno di essi e un modulo alimentato come discusso per la rete 5V.

Il binario 3V3 è azionato dal regolatore sul retro del PCB. È solo una sorgente e (a differenza del binario 5V) non dovrebbe essere pilotato da alcun modulo o altro circuito poiché è pilotato direttamente dal regolatore sul binario 5V.

Passaggio 4: modulo MCU Arduino Nano

Modulo MCU Arduino Nano
Modulo MCU Arduino Nano

Uno dei moduli MCU più comuni in questi giorni è Arduino Nano. La scheda Arduino Nano inclusa viene fornita con pin di intestazione, ma non vengono saldati al modulo. Lascia perdere i pin per ora. Esegui questi test iniziali sul modulo Arduino Nano prima di saldare i pin dell'intestazione. Tutto ciò che serve è un cavo microUSB e la scheda Arduino Nano così com'è esce dalla borsa.

Arduino Nano è una scheda Arduino miniaturizzata a montaggio superficiale, compatibile con la breadboard, con USB integrato. È sorprendentemente completo e facile da hackerare.

Caratteristiche:

  • Microcontrollore: Atmel ATmega328P
  • Tensione: 5V
  • Pin I/O digitali: 14 (6 PWM)
  • Pin di ingresso analogico: 8
  • Corrente CC per pin I/O: 40 mA
  • Memoria Flash: 32 KB (2 KB per bootloader)
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • Velocità di clock: 16 MHz
  • Dimensioni: 17 mm x 43 mm

Questa particolare variante di Arduino Nano è il Robotdyn Nano nero. Include una porta MicroUSB integrata collegata a un chip bridge USB/seriale CH340G. Informazioni dettagliate sul CH340 (e driver, se necessario) possono essere trovate qui.

Quando colleghi per la prima volta Arduino Nano a una porta USB del tuo computer, la spia di alimentazione verde dovrebbe accendersi e poco dopo il LED blu dovrebbe iniziare a lampeggiare lentamente. Questo accade perché il Nano è precaricato con il programma BLINK, che è in esecuzione sul nuovissimo Arduino Nano.

SOFTWARE: Se non hai ancora installato l'IDE Arduino, puoi scaricarlo da Arduino.cc

Collega il Nano al cavo MicroUSB e l'altra estremità del cavo a una porta USB del computer. Avvia il software Arduino IDE. Seleziona "Arduino Nano" nell'IDE in strumenti>scheda e "ATmega328P (old bootloader)" in strumenti>processore. Seleziona la porta USB appropriata in strumenti>porta (probabilmente è un nome con "wchusb" all'interno).

Infine, carica un pezzo di codice di esempio:File->Esempi->Basics->Blink

Blink è in realtà il codice che è stato precaricato sul Nano e dovrebbe essere in esecuzione in questo momento per far lampeggiare lentamente il LED blu. Di conseguenza, se carichiamo questo codice di esempio, non cambierà nulla. Invece, modifichiamo un po' il codice.

Guardando da vicino, puoi vedere che il programma accende il LED, aspetta 1000 millisecondi (un secondo), spegne il LED, aspetta un altro secondo e poi ripete tutto - per sempre.

Modificare il codice modificando entrambe le istruzioni "delay(1000)" in "delay(100)". Questa modifica farà lampeggiare il LED dieci volte più velocemente, giusto?

Carichiamo il codice modificato nel Nano facendo clic sul pulsante UPLOAD (l'icona a forma di freccia) appena sopra il codice modificato. Guarda sotto il codice per le informazioni sullo stato: "compiling" e poi "uploading". Alla fine, l'IDE dovrebbe indicare "Caricamento completato" e il LED dovrebbe lampeggiare più velocemente.

Se è così, congratulazioni! Hai appena hackerato il tuo primo pezzo di codice incorporato.

Una volta che la tua versione con lampeggio veloce è stata caricata e funzionante, perché non vedere se riesci a cambiare di nuovo il codice per far lampeggiare velocemente il LED due volte e poi aspettare un paio di secondi prima di ripetere? Provaci! Che ne dici di altri modelli? Una volta che sei riuscito a visualizzare un risultato desiderato, codificarlo e osservarlo per funzionare come previsto, hai fatto un enorme passo avanti per diventare un hacker hardware competente.

Ora che hai confermato il funzionamento del modulo Nano, vai avanti e salda i pin dell'intestazione su di esso. Una volta collegate le intestazioni, il modulo può essere facilmente utilizzato in una delle breadboard senza saldatura dell'MCU Lab. Questo processo di test di un modulo MCU scaricando un semplice codice di test, modificandolo e scaricandolo di nuovo è una best practice ogni volta che si utilizza un modulo MCU nuovo o di tipo diverso.

Se desideri ulteriori informazioni introduttive per lavorare nell'ecosistema Arduino, ti suggeriamo di consultare la Guida per HackerBoxes Starter Workshop, che include diversi esempi e un collegamento a un libro di testo Arduino PDF.

Passaggio 5: esplora il laboratorio MCU con Arduino Nano

Esplora il laboratorio MCU con Arduino Nano
Esplora il laboratorio MCU con Arduino Nano

POTENZIOMETRO

Collegare il pin centrale del potenziometro al Nano Pin A0.

Carica ed esegui: Esempi > Analog > AnalogInput

L'esempio predefinito è il LED integrato del Nano. Ruotare il potenziometro per modificare la velocità di lampeggio.

Modificare:

Nel codice, cambia LedPin=13 a 4

Ponticello dal Nano Pin 4 (e GND) a uno dei LED rossi del MCU Lab.

CICALINO

Ponticello da Buzzer a Nano Pin 8. Assicurarsi che il GND della scheda sia collegato al GND del Nano alimentato poiché la massa del buzzer è cablata alla rete GND della scheda.

Carica ed esegui: Esempi > Digitale > toneMelody

DISPLAY OLED

Nell'IDE Arduino, usa il gestore della libreria per installare "ssd1306" da Alexey Dyna.

Collega OLED: GND a GND, VCC a 5V, SCL a Nano A5, SDA a Nano A4

Carica ed esegui: esempi > ssd1306 > demo > ssd1306_demo

LED RGB WS2812B

Nell'IDE Arduino, usa il gestore della libreria per installare FastLED

Collega il pin dell'header del WS2812 al pin 5 del Nano.

Carica: Esempi > FastLED > ColorPalette

Cambia NUM_LEDS in 1 e LED_TYPE in WS2812B

Compila ed esegui

SCRIVI UN CODICE PER ESERCITARE I PULSANTI E GLI INTERRUTTORI

Ricorda di usare pinMode(INPUT_PULLUP) per leggere un pulsante senza aggiungere un resistore.

COMBINA INSIEME ALCUNI DI QUESTI ESEMPI

Ad esempio, cicla le uscite in qualche modo interessante e mostra stati o valori di input sull'OLED o sul monitor seriale.

Passaggio 6: WEMOS ESP32 Lite

WEMOS ESP32 Lite
WEMOS ESP32 Lite

Il microcontrollore ESP32 (MCU) è un sistema su chip (SOC) a basso costo e basso consumo con Wi-Fi integrato e Bluetooth dual-mode. L'ESP32 utilizza un nucleo Tensilica Xtensa LX6 e include interruttori per antenna integrati, balun RF, amplificatore di potenza, amplificatore di ricezione a basso rumore, filtri e moduli di gestione dell'alimentazione. (wikipedia)

Il modulo WEMOS ESP32 Lite è più compatto rispetto alla versione precedente, il che lo rende più facile da usare su una breadboard senza saldatura.

Eseguire il test iniziale del modulo WEMOS ESP32 prima di saldare i pin dell'intestazione sul modulo.

Configura il pacchetto di supporto ESP32 nell'IDE di Arduino.

Sotto strumenti>scheda, assicurati di selezionare "WeMos LOLIN32"

Carica il codice di esempio su File>Esempi>Basics>Blink e programmalo su WeMos LOLIN32

Il programma di esempio dovrebbe far lampeggiare il LED sul modulo. Sperimenta con la modifica dei parametri di ritardo per far lampeggiare il LED con schemi diversi. Questo è sempre un buon esercizio per acquisire sicurezza nella programmazione di un nuovo modulo microcontrollore.

Una volta che si è a proprio agio con il funzionamento del modulo e come programmarlo, saldare con cura le due file di pin di intestazione in posizione e testare nuovamente i programmi di caricamento.

Passaggio 7: generazione video ESP32

Image
Image

Questo video mostra la libreria VGA ESP32 e un tutorial molto carino e semplice dal laboratorio di bitluni.

L'implementazione dimostrata a 3 bit (8 colori) utilizza ponticelli a filo diretto tra il modulo ESP32 e il connettore VGA. Effettuare queste connessioni sull'intestazione VGA di MCU Lab è abbastanza semplice poiché non sono coinvolti componenti aggiuntivi.

A seconda dell'MCU in uso, del suo livello di tensione, delle risoluzioni dei pixel e delle profondità di colore desiderate, ci sono varie combinazioni di resistori in linea e reti di resistori che possono essere posizionati tra l'MCU e l'intestazione VGA. Se decidi di utilizzare in modo permanente resistori in linea, possono essere saldati sul PCB MCU Lab. Se si desidera mantenere la flessibilità e soprattutto se si desidera utilizzare soluzioni più complesse, si consiglia di non saldare alcun resistore in posizione e utilizzare semplicemente le schede senza saldatura e l'intestazione VGA per collegare i resistori necessari.

Ad esempio, per implementare la modalità colore a 14 bit di bituni mostrata alla fine del video, il modulo ESP32 può essere posizionato su una delle mini schede senza saldatura e l'altra scheda senza saldatura può essere utilizzata per collegare le ladder dei resistori.

Ecco alcuni altri esempi:

In HackerBox 0047 un Arduino Nano pilota una semplice uscita VGA con 4 resistori.

Un emulatore VIC20 è implementato su ESP32 utilizzando FabGL e 6 resistori.

Implementa un PC BASIC utilizzando ESP32 e 3 resistori.

Gioca a Space Invaders su ESP32 usando FabGL e 6 resistori.

Genera uscita VGA su STM32 con 6 resistori.

Livelli di testo e grafica simultanei su STM32 con dimostrazione video.

Passaggio 8: modulo MCU pillola nera STM32F103C8T6

TXS0108E Traslatore di livello logico a 8 bit
TXS0108E Traslatore di livello logico a 8 bit

Black Pill è un modulo MCU basato su STM32. È una variante migliorata della comune pillola blu e della meno comune pillola rossa.

Black Pill presenta il microcontrollore STM32F103C8T6 ARM M3 a 32 bit (scheda tecnica), un'intestazione ST-Link a quattro pin, una porta MicroUSB e un LED utente su PB12. La corretta resistenza di pull-up su PA12 viene installata per il corretto funzionamento della porta USB. Questo pull-up richiedeva in genere una modifica della scheda su altre Pill Board.

Sebbene simile nell'aspetto all'Arduino Nano, la Black Pill è molto più potente. Il microcontrollore ARM STM32F103C8T6 a 32 bit può funzionare a 72 MHz. Può eseguire la moltiplicazione a ciclo singolo e la divisione dell'hardware. Dispone di 64 Kbyte di memoria Flash e 20 Kbyte di SRAM.

Programmazione di STM32 da Arduino IDE.

Passaggio 9: TXS0108E Cambio livello logico a 8 bit

Il TXS0108E (scheda tecnica) è un cambio di livello logico bidirezionale a 8 bit. Il modulo è impostato per segnali di spostamento di livello tra 3,3 V e 5 V.

Poiché i canali del livello del segnale sono bidirezionali, gli ingressi flottanti possono causare il pilotaggio involontario delle uscite corrispondenti. Viene fornito un controllo di abilitazione dell'uscita (OE) per proteggere in tali scenari. È necessario prestare attenzione a seconda di come è collegato il cambio per assicurarsi che un'uscita dal cambio (o "intenzionale" o dovuta a un ingresso flottante sull'altro lato) non sia mai autorizzata a pilotare in modo incrociato un'uscita da un altro dispositivo.

Il pin OE viene lasciato scollegato nelle tracce PCB. Un connettore a due pin è fornito sotto il modulo per il collegamento di OE e 3V3. Il cortocircuito dell'intestazione a due pin (usando un pezzo di filo o un ponticello) collega OE a 3V3 che consente all'IC di pilotare le sue uscite. Al pin OE possono essere collegati anche un resistore di pulldown e un controllo logico.

Passaggio 10: HackLife

HackLife
HackLife

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: