Innholdsfortegnelse:

HackerBox 0051: MCU Lab: 10 trinn
HackerBox 0051: MCU Lab: 10 trinn

Video: HackerBox 0051: MCU Lab: 10 trinn

Video: HackerBox 0051: MCU Lab: 10 trinn
Video: MCU LAB Demo with Potentiometer and OLED Display 2024, Juli
Anonim
HackerBox 0051: MCU Lab
HackerBox 0051: MCU Lab

Hilsen HackerBox Hackere rundt om i verden! HackerBox 0051 presenterer HackerBox MCU Lab. MCU Lab er en utviklingsplattform for å teste, utvikle og prototype med mikrokontrollere og mikrokontrollermoduler. En Arduino Nano, ESP32 -modul og SMT32 svart pille brukes til å utforske funksjonsblokkene til MCU Lab. MCU Lab -funksjonsblokker inkluderer brytere, knapper, LED -er, en OLED -skjerm, summer, potensiometer, RGB -piksel, logisk nivåskifter, VGA -utgang, PS/2 -tastaturinngang, serielt USB -grensesnitt og to loddeløse prototypingområder.

Denne guiden inneholder informasjon om hvordan du kommer i gang med HackerBox 0051, som kan kjøpes her så lenge lageret rekker. Hvis du ønsker å motta en HackerBox som denne rett i postkassen din hver måned, kan du abonnere på HackerBoxes.com og bli med i revolusjonen!

HackerBoxes er den månedlige abonnementstjenesten for maskinvarehackere og entusiaster innen elektronikk og datateknologi. Bli med oss for å leve HACK LIFE.

Trinn 1: Innholdsliste for HackerBox 0051

  • MCU -modul 1: Arduino Nano 5V, 16MHz
  • MCU -modul 2: WEMOS ESP32 Lite
  • MCU -modul 3: STM32F103C8T6 svart pille
  • Eksklusivt MCU -kretskort
  • FT232RL USB seriell adapter
  • OLED 128x64 Display I2C 0,96 tommer
  • Toveis 8-biters logisk nivåskifter
  • WS2812B RGB SMD LED
  • Fire berørbare knapper på overflaten
  • Fire røde 5 mm lysdioder
  • Piezo summer
  • HD15 VGA -kontakt
  • Mini-DIN PS/2 tastaturkontakt
  • 100K ohm potensiometer
  • 8 Posisjon DIP -bryter
  • AMS1117 3.3V lineær regulator SOT223
  • To 22uF Tantal kondensatorer 1206 SMD
  • Ti 680 Ohm motstander
  • Fire limgummi PCB -føtter
  • To 170 -punkts mini loddefrie brødbrett
  • Elleve 8 -pins kvinnelige toppstikkontakter
  • 40 pinners Breakaway Header
  • Bunt med 65 mannlige hoppetråder
  • Klistremerke med hevet knyttneve
  • Hack The Planet Smiley Pirate Sticker
  • Eksklusiv HackerBox "Fjern før fly" nøkkelring

Noen andre ting som vil være nyttige:

  • Loddejern, lodde og grunnleggende loddeverktøy
  • Datamaskin for kjøring av programvareverktøy

Viktigst av alt, trenger du en følelse av eventyr, hackerånd, tålmodighet og nysgjerrighet. Å bygge og eksperimentere med elektronikk, selv om det er veldig givende, kan være vanskelig, utfordrende og til og med frustrerende til tider. Målet er fremgang, ikke perfeksjon. Når du fortsetter og liker eventyret, kan du få mye tilfredshet fra denne hobbyen. Ta hvert trinn sakte, vær oppmerksom på detaljene, og ikke vær redd for å be om hjelp.

Det er et vell av informasjon for nåværende og potensielle medlemmer i HackerBoxes FAQ. Nesten alle de ikke-tekniske support-e-postene vi mottar, er allerede besvart der, så vi setter stor pris på at du tar deg noen minutter til å lese vanlige spørsmål.

Trinn 2: HackerBoxes MCU Lab

HackerBoxes MCU Lab
HackerBoxes MCU Lab

MCU Lab er en kompakt, polert versjon av en utviklingsplattform vi bruker til å prototype og teste forskjellige mikrokontroller (MCU) baserte design. Det er super nyttig for å jobbe med MCU -moduler (for eksempel en Arduino Nano, ESP32 DevKit, etc) eller individuelle MCU -enhetspakker (for eksempel ATMEGA328s, ATtiny85s, PICs, etc). En mål -MCU kan plasseres i et av de mineloddefrie brødbrettene. To MCUer kan kobles sammen med begge brødbrettene, eller en av brødbrettplassene kan brukes til andre kretser.

"Funksjonsblokkene" til MCU Lab er brutt ut til kvinnelige overskrifter som ligner de som finnes på en Arduino UNO. Hunnene for kvinner er kompatible med mannlige jumperpinner.

Trinn 3: Monter HackerBoxes MCU Lab

Monter HackerBoxes MCU Lab
Monter HackerBoxes MCU Lab

SMD -KOMPONENTER PÅ BAKGRUNN

Start med å montere AMS1117 (SOT 233 -pakken) lineær regulator og de to 22uF -filterkondensatorene på baksiden av kretskortet. Vær oppmerksom på at den ene siden av hver kondensator silketrykk er rektangulær og den andre siden er åttekantet. Kondensatorene bør være orientert slik at den mørke stammen på pakken er på linje med den åttekantede silketrykket.

FORTSETT MED KOMPONENTER PÅ FREMKORTET

Lodd WS2812B RGB LED. Orienter det hvite merkede hjørnet på hver lysdiode slik at det svarer til hjørnet på fanen som vist på silketrykket på PCB.

Fire SMD -tastbare knapper

Fire røde lysdioder med fire motstander

Nivåskifter med VA -pin nærmest 3V3 -merking og VB -pinne nærmest 5V -merking. Level Shifter -modulen kan monteres i flukt til kretskortet ved å lodde toppene til modulen og deretter skyve de svarte plastavstandsholderne fra toppene før modulen monteres på MCU Lab PCB. Det er også greit å la distansene stå på.

To strimler av overskriften kan brytes av for å koble FT232 -modulen. En mindre 4-pinners seksjon av overskriften kan også brukes for 5V/GND-overskriften ved siden av FT232-modulen.

For øyeblikket fyller du ut den kvinnelige VGA -overskriften nærmest HD15 VGA -kontakten og tastaturstikkontakten. IKKE POPULER imidlertid den ekstra overskriften ved siden av den ene eller de fem motstandene mellom de to overskriftene. Spesifikke alternativer for videosignalgrensesnitt diskuteres senere.

Befolk de ni andre kvinnelige topptekstene.

Fjern limet på baksiden av begge loddeløse brødbrettene for å feste dem til MCU Lab PCB.

Plasser klebende gummiføtter til bunnen av MCU Lab PCB for å beskytte arbeidsbenken din mot riper.

HÅNDTERING AV KRAFTINNGANGER

Det er minst to, og mer sannsynlig så mange som fire, steder der strøm kan komme inn i MCU Lab. Dette kan forårsake problemer, så vurder alltid følgende tips nøye:

Toppunktene merket 5V er alle tilkoblet. 5V -skinnen kobles også til tastaturkontakten, nivåskifteren og WS2812B RGB LED. Strøm kan leveres til 5V -skinnen ved å koble FT232 til USB, koble firepinners strømhodet til en ekstern forsyning, eller ved å koble en jumper fra en av en 5V -pinne på kretskortet til en 5V -modul (vanligvis drevet av USB).

På samme måte er alle GND -pinnene tilkoblet. De kobles til USB GND på FT232 (forutsatt at USB er koblet til FT232). De kan også kobles til bakken ved hjelp av en jumper mellom en av dem og en drevet modul som diskutert for 5V -nettet.

3V3 -skinnen drives av regulatoren på baksiden av kretskortet. Det er bare en kilde, og (i motsetning til 5V -skinnen) bør den ikke drives av noen moduler eller andre kretser siden den drives direkte fra regulatoren på 5V -skinnen.

Trinn 4: Arduino Nano MCU -modul

Arduino Nano MCU -modul
Arduino Nano MCU -modul

En av de vanligste MCU -modulene i disse dager er Arduino Nano. Det medfølgende Arduino Nano -kortet kommer med toppnål, men de kommer ikke loddet til modulen. La pinnene være av for nå. Utfør disse første testene på Arduino Nano -modulen før lodding på toppnålene. Alt som trengs er en microUSB -kabel og Arduino Nano -kortet akkurat som det kommer ut av posen.

Arduino Nano er et overflatemontert, brødbrettvennlig, miniatyrisert Arduino-bord med integrert USB. Det er utrolig fullt utstyrt og lett å hacke.

Funksjoner:

  • Mikrokontroller: Atmel ATmega328P
  • Spenning: 5V
  • Digitale I/O -pinner: 14 (6 PWM)
  • Analoge inngangspinner: 8
  • Likestrøm per I/O -pinne: 40 mA
  • Flash -minne: 32 KB (2 KB for oppstartslaster)
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • Klokkehastighet: 16 MHz
  • Dimensjoner: 17 mm x 43 mm

Denne spesielle varianten av Arduino Nano er den svarte Robotdyn Nano. Inneholder en innebygd MicroUSB-port koblet til en CH340G USB/seriell brobrikke. Detaljert informasjon om CH340 (og drivere, om nødvendig) finner du her.

Når du først kobler Arduino Nano til en USB -port på datamaskinen, skal den grønne strømlampen lyse og kort tid etter skal den blå LED -en begynne å blinke sakte. Dette skjer fordi Nano er forhåndslastet med BLINK-programmet, som kjører på den splitter nye Arduino Nano.

PROGRAMVARE: Hvis du ennå ikke har Arduino IDE installert, kan du laste den ned fra Arduino.cc

Koble Nano til MicroUSB -kabelen og den andre enden av kabelen til en USB -port på datamaskinen. Start Arduino IDE -programvaren. Velg "Arduino Nano" i IDE under verktøy> bord og "ATmega328P (gammel oppstartslaster)" under verktøy> prosessor. Velg riktig USB -port under verktøy> port (det er sannsynligvis et navn med "wchusb" i den).

Last til slutt opp et eksempel på kode: Fil-> Eksempler-> Grunnleggende-> Blink

Blink er faktisk koden som var forhåndslastet på Nano og burde kjøre akkurat nå for sakte å blinke den blå LED -en. Følgelig, hvis vi laster inn denne eksempelkoden, vil ingenting endres. I stedet, la oss endre koden litt.

Når du ser nøye ut, kan du se at programmet slår på LED -en, venter 1000 millisekunder (ett sekund), slår av LED -en, venter et sekund til og deretter gjør alt igjen - for alltid.

Endre koden ved å endre begge "forsinkelser (1000)" -uttalelsene til "forsinkelse (100)". Denne endringen vil føre til at LED -en blinker ti ganger raskere, ikke sant?

La oss laste den endrede koden inn i Nano ved å klikke på UPLOAD -knappen (pilikonet) like over den endrede koden. Se under koden for statusinformasjon: "kompilering" og deretter "opplasting". Til slutt skal IDE indikere "Opplasting fullført", og LED -lampen din skal blinke raskere.

Gratulerer i så fall! Du har nettopp hacket ditt første stykke innebygd kode.

Når hurtigblink-versjonen er lastet og kjører, hvorfor ikke se om du kan endre koden igjen slik at LED-en blinker raskt to ganger og deretter vente et par sekunder før du gjentar den? Gi det et forsøk! Hva med noen andre mønstre? Når du først har lykkes med å visualisere et ønsket resultat, kodet det og observert at det fungerer som planlagt, har du tatt et enormt skritt mot å bli en kompetent maskinvarehacker.

Nå som du har bekreftet at Nano -modulen fungerer, må du fortsette og lodde toppnålene på den. Når topptekstene er koblet til, kan modulen enkelt brukes i et av de loddeløse brødbrettene til MCU Lab. Denne prosessen med å teste ut en MCU -modul ved å laste ned noen enkle testkoder, endre og laste ned igjen er en god praksis når du bruker en ny eller annen type MCU -modul.

Hvis du ønsker ytterligere introduksjonsinformasjon for arbeid i Arduino -økosystemet, foreslår vi at du sjekker veiledningen for HackerBoxes Starter Workshop, som inneholder flere eksempler og en lenke til en PDF Arduino -lærebok.

Trinn 5: Utforsk MCU Lab med Arduino Nano

Utforsk MCU Lab med Arduino Nano
Utforsk MCU Lab med Arduino Nano

POTENTIOMETER

Koble senterpinnen på potensiometeret til Nano Pin A0.

Last og kjør: Eksempler> Analog> AnalogInput

Eksemplet som standard er Nanos innebygde LED. Drei potensiometeret for å endre blinkhastigheten.

Endre:

Endre LedPin = 13 til 4 i koden

Genser fra Nano Pin 4 (og GND) til en av de røde lysdiodene på MCU Lab.

SUMMER

Jumper fra summer til Nano Pin 8. Sørg for at brettet GND er koblet til GND på den drevne Nano siden summergulvet er hardt tilkoblet brettet GND -nett.

Last og kjør: Eksempler> Digital> toneMelody

OLED DISPLAY

I Arduino IDE, bruk biblioteksjefen til å installere "ssd1306" fra Alexey Dyna.

Koble OLED: GND til GND, VCC til 5V, SCL til Nano's A5, SDA til Nano's A4

Last og kjør: Eksempler> ssd1306> demoer> ssd1306_demo

WS2812B RGB LED

I Arduino IDE, bruk biblioteksjefen til å installere FastLED

Koble WS2812s toppnål til Nanos pin 5.

Last: Eksempler> FastLED> ColorPalette

Endre NUM_LEDS til 1 og LED_TYPE til WS2812B

Kompiler og kjør

SKRIV NOEN KODE FOR Å TRENE KNAPPENE OG BRYTEREN

Husk å bruke pinMode (INPUT_PULLUP) for å lese en knapp uten å legge til en motstand.

KOMBINER NOEN AV DENNE EKSEMPLENE SAMMEN

For eksempel, syklus utganger på en interessant måte og vis tilstander eller inndataverdier på OLED eller seriell skjerm.

Trinn 6: WEMOS ESP32 Lite

WEMOS ESP32 Lite
WEMOS ESP32 Lite

ESP32 mikrokontroller (MCU) er et billig system med lav effekt på en chip (SOC) med integrert Wi-Fi og dual-mode Bluetooth. ESP32 bruker en Tensilica Xtensa LX6-kjerne og inkluderer innebygde antennebrytere, RF-balun, effektforsterker, støyfri mottaksforsterker, filtre og strømstyringsmoduler. (wikipedia)

WEMOS ESP32 Lite -modulen er mer kompakt enn den forrige versjonen, noe som gjør den enklere å bruke på et loddfritt brødbrett.

Gjør din første test av WEMOS ESP32 -modulen før du lodder toppnålene på modulen.

Sett opp ESP32 -støttepakken i Arduino IDE.

Under verktøy> tavle må du velge "WeMos LOLIN32"

Last inn eksempelkoden på Filer> Eksempler> Grunnleggende> Blink og programmer den til WeMos LOLIN32

Eksempelprogrammet bør få LED -lampen på modulen til å blinke. Eksperimenter med å endre forsinkelsesparametrene for å få LED -en til å blinke med forskjellige mønstre. Dette er alltid en god øvelse for å bygge tillit til programmering av en ny mikrokontrollermodul.

Når du er komfortabel med modulens drift og hvordan du programmerer den, loddes forsiktig de to radene med toppnålene på plass og tester lasteprogrammene igjen.

Trinn 7: ESP32 -videogenerering

Image
Image

Denne videoen demonstrerer ESP32 VGA -biblioteket og en veldig fin, enkel opplæring fra bitluni's lab.

Den demonstrerte 3-bits implementeringen (8 farger) bruker direkte wirehoppere mellom ESP32-modulen og VGA-kontakten. Det er ganske enkelt å lage disse tilkoblingene på MCU Labs VGA -topptekst siden ingen ekstra komponenter er involvert.

Avhengig av hvilken MCU som er i bruk, spenningsnivået, pikseloppløsningene og de ønskede fargedybdene, er det forskjellige kombinasjoner av inline motstander og motstandsnettverk som kan plasseres mellom MCU og VGA-overskriften. Hvis du bestemmer deg for å bruke inline motstander permanent, kan de loddes på MCU Lab PCB. Hvis du ønsker å opprettholde fleksibiliteten, og spesielt hvis du vil bruke mer komplekse løsninger, anbefales det å ikke lodde noen motstander på plass og bare bruke de loddefrie brettene og VGA -hodet for å koble til de nødvendige motstandene.

For eksempel, for å implementere bitunis 14-biters fargemodus som vises på slutten av videoen, kan ESP32-modulen plasseres på et av de mini-loddfrie brettene, og det andre loddeløse kortet kan brukes til å koble opp motstandsstiger.

Her er noen andre eksempler:

I HackerBox 0047 driver en Arduino Nano en enkel VGA -utgang med 4 motstander.

En VIC20 -emulator er implementert på ESP32 ved bruk av FabGL og 6 motstander.

Implementere en BASIC PC ved hjelp av ESP32 og 3 motstander.

Spill Space Invaders på ESP32 ved hjelp av FabGL og 6 motstander.

Generer VGA -utgang på STM32 med 6 motstander.

Samtidig lag med tekst og grafikk på STM32 med videodemonstrasjon.

Trinn 8: STM32F103C8T6 svart pille MCU -modul

TXS0108E 8-bits logisk nivåskifter
TXS0108E 8-bits logisk nivåskifter

Black Pill er en STM32-basert MCU-modul. Det er en forbedret variant på den vanlige blå pillen og den mindre vanlige røde pillen.

Den svarte pillen har STM32F103C8T6 32-biters ARM M3-mikrokontroller (datablad), en firepinners ST-Link-topptekst, en MicroUSB-port og en bruker-LED på PB12. Den riktige opptrekksmotstanden på PA12 kommer installert for riktig bruk av USB-porten. Denne opptrekningen krevde vanligvis en modifikasjon av brettet på andre pillebrett.

Selv om den ligner på Arduino Nano, er den svarte pillen langt kraftigere. 32 -biters STM32F103C8T6 ARM -mikrokontroller kan kjøre på 72 MHz. Den kan utføre enkeltsyklusmultiplikasjon og maskinvareinndeling. Den har 64 Kbyte Flash -minne og 20 Kbyte SRAM.

Programmering av STM32 fra Arduino IDE.

Trinn 9: TXS0108E 8-bits logisk nivåskifter

TXS0108E (datablad) er en 8-bits toveis logisk nivåskifter. Modulen er satt opp til nivåskiftesignaler mellom 3,3V og 5V.

Siden signalnivåkanalene er toveis, kan flytende innganger føre til at de tilsvarende utgangene blir utilsiktet drevet. En utgangsaktivering (OE) -kontroll er gitt for å beskytte i slike scenarier. Det må utvises forsiktighet avhengig av hvordan giret er koblet til for å sikre at en utgang fra giret (enten "forsettlig" eller på grunn av en flytende inngang på den andre siden) aldri får kryss-kjøre en utgang fra en annen enhet.

OE -pinnen blir frakoblet i PCB -sporene. En to-pinners overskrift er gitt under modulen for tilkobling av OE og 3V3. Kortslutning av to-pinners overskrift (ved hjelp av et stykke ledning eller en jumperblokk) kobler OE til 3V3 som gjør at IC kan drive sine utganger. En nedtrekksmotstand og logikkontroll kan også kobles til OE -pinnen.

Trinn 10: HackLife

HackLife
HackLife

Vi håper du nyter denne månedens HackerBox -eventyr innen elektronikk og datateknologi. Nå ut og del suksessen din i kommentarene nedenfor eller på HackerBoxes Facebook Group. Husk også at du når som helst kan sende en e -post til [email protected] hvis du har spørsmål eller trenger hjelp.

Hva blir det neste? Bli med på revolusjonen. Lev HackLife. Få en kul boks med hackbart utstyr levert rett i postkassen din hver måned. Surf over til HackerBoxes.com og registrer deg for ditt månedlige HackerBox -abonnement.

Anbefalt: