Indholdsfortegnelse:

HackerBox 0051: MCU Lab: 10 trin
HackerBox 0051: MCU Lab: 10 trin

Video: HackerBox 0051: MCU Lab: 10 trin

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

Hilsen til HackerBox Hackere rundt om i verden! HackerBox 0051 præsenterer HackerBox MCU Lab. MCU Lab er en udviklingsplatform til test, udvikling og prototype med mikrokontrollere og mikrokontroller moduler. Et Arduino Nano, ESP32 -modul og SMT32 sort pille bruges til at udforske funktionsblokkene i MCU Lab. MCU Lab -funktionsblokke omfatter switches, knapper, LED'er, et OLED -display, summer, potentiometer, RGB -pixel, logisk niveauskift, VGA -udgang, PS/2 -tastaturindgang, serielt USB -interface og to loddefri prototyper.

Denne vejledning indeholder oplysninger om, hvordan du kommer i gang med HackerBox 0051, som kan købes her, så længe lager haves. Hvis du gerne vil modtage en HackerBox som denne direkte i din postkasse hver måned, skal du abonnere på HackerBoxes.com og deltage i revolutionen!

HackerBoxes er den månedlige abonnementskassetjeneste for hardware -hackere og entusiaster inden for elektronik og computerteknologi. Deltag i os i at leve HACK LIFE.

Trin 1: Indholdsliste til HackerBox 0051

  • MCU -modul 1: Arduino Nano 5V, 16MHz
  • MCU -modul 2: WEMOS ESP32 Lite
  • MCU -modul 3: STM32F103C8T6 sort pille
  • Eksklusivt printkort til MCU -lab
  • FT232RL USB seriel adapter
  • OLED 128x64 Display I2C 0,96 tommer
  • Tovejs 8-bit logisk niveauskifter
  • WS2812B RGB SMD LED
  • Fire tastaturer til overflademontering
  • Fire røde spredte 5 mm lysdioder
  • Piezo summer
  • HD15 VGA -stik
  • Mini-DIN PS/2 tastaturstik
  • 100K Ohm potentiometer
  • 8 Position DIP -switch
  • AMS1117 3.3V Lineær regulator SOT223
  • To 22uF Tantal kondensatorer 1206 SMD
  • Ti 680 Ohm modstande
  • Fire klæbende gummi PCB fødder
  • To 170 -punkts mini loddefri brødbræt
  • Elleve 8 -polede hunstikstik
  • 40 pin Breakaway Header
  • Bundt med 65 hantrøjer
  • Klistermærke til Raised Fist Circuit Board
  • Hack The Planet Smiley Pirate Sticker
  • Eksklusiv HackerBox "Fjern før flyvning" nøglering

Nogle andre ting, der vil være nyttige:

  • Loddejern, lodde og grundlæggende loddeværktøjer
  • Computer til at køre softwareværktøjer

Vigtigst af alt har du brug for en følelse af eventyr, hackerånd, tålmodighed og nysgerrighed. At bygge og eksperimentere med elektronik, selvom det er meget givende, kan til tider være svært, udfordrende og endda frustrerende. Målet er fremskridt, ikke perfektion. Når du vedvarer og nyder eventyret, kan der opnås stor tilfredshed fra denne hobby. Tag hvert trin langsomt, vær opmærksom på detaljerne, og vær ikke bange for at bede om hjælp.

Der er et væld af oplysninger til nuværende og potentielle medlemmer i HackerBoxes ofte stillede spørgsmål. Næsten alle de ikke-tekniske support-e-mails, vi modtager, besvares allerede der, så vi sætter stor pris på, at du tager et par minutter på at læse FAQ.

Trin 2: HackerBoxes MCU Lab

HackerBoxes MCU Lab
HackerBoxes MCU Lab

MCU Lab er en kompakt, poleret version af en udviklingsplatform, vi bruger til at prototype og teste forskellige mikrokontroller (MCU) baserede designs. Det er super nyttigt til at arbejde med MCU -moduler (f.eks. En Arduino Nano, ESP32 DevKit osv.) Eller individuelle MCU -enhedspakker (såsom ATMEGA328s, ATtiny85s, PICs osv.). En mål -MCU kan placeres i et af de mini loddefrie brødbrætter. To MCU'er kan forbindes sammen ved hjælp af begge brødbrætter, eller et af brødbrædderummet kan bruges til andre kredsløb.

"Funktionsblokke" i MCU Lab brydes ud til kvindelige overskrifter svarende til dem, der findes på en Arduino UNO. Kvindehovederne er kompatible med hanstifter.

Trin 3: Saml HackerBoxes MCU Lab

Saml HackerBoxes MCU Lab
Saml HackerBoxes MCU Lab

SMD -KOMPONENTER PÅ BAGGRUNDET

Start med at montere AMS1117 (SOT 233 -pakken) Lineær regulator og de to 22uF filterkondensatorer på bagsiden af printkortet. Bemærk, at den ene side af hver kondensator silketryk er rektangulær, og den anden side er ottekantet. Kondensatorerne skal orienteres, så den mørke støtte på pakken flugter med den ottekantede silketryk.

FORTSÆT MED KOMPONENTER PÅ FORKORTET

Lodd WS2812B RGB LED. Orienter det hvide markerede hjørne af hver LED for at svare til det faneblade, som vist på printkortets silketryk.

Fire SMD -tastbare knapper

Fire røde lysdioder med fire modstande

Level Shifter med VA -pin nærmeste 3V3 -markering og VB -pin -nærmeste 5V -markering. Niveauskiftemodulet kan monteres i skål til printkortet ved at lodde overskrifterne til modulet og derefter skubbe de sorte plastafstandsstykker fra hovederne, før modulet monteres på MCU Lab PCB. Det er også fint at efterlade afstandsstykkerne.

To strimler af overskriften kan afbrydes for at forbinde FT232 -modulet. En mindre 4-bens sektion af header kan også bruges til 5V/GND header lige ved siden af FT232 modulet.

For nu skal du udfylde det kvindelige VGA -header tættest på HD15 VGA -stikket og tastaturstikket. POPULER imidlertid IKKE det ekstra header, der støder op til den ene eller de fem modstande mellem disse to overskrifter. Specifikke muligheder for videosignalinterface diskuteres senere.

Befolk de andre ni kvindelige overskrifter.

Fjern klæbemiddel fra bagsiden af begge loddefri brødbrætter for at fastgøre dem til MCU Lab PCB.

Placer klæbende gummifødder i bunden af MCU Lab PCB for at beskytte dit arbejdsbord mod ridser.

HÅNDTERING AF STRØMINPUTTER

Der er mindst to og mere sandsynligt så mange som fire steder, hvor strøm kan komme ind i MCU Lab. Dette kan forårsage problemer, så overvej altid nøje følgende tip:

Overskriftspunkterne mærket 5V er alle forbundet. 5V -skinnen tilsluttes også tastaturstikket, niveauskifteren og WS2812B RGB LED. Strøm kan forsynes med 5V -skinnen ved at tilslutte FT232 til USB, tilslutte fire -pins strømforsyningen til en ekstern forsyning eller ved at tilslutte en jumper fra en af en 5V -pin på printkortet til et 5V -modul (normalt drevet af USB).

På samme måde er GND -benene alle forbundet. De forbinder til USB GND på FT232 (forudsat at USB er tilsluttet FT232). De kan også tilsluttes jord ved hjælp af en jumper mellem en af dem og et drevet modul som diskuteret for 5V -nettet.

3V3 -skinnen drives af regulatoren på bagsiden af printkortet. Det er kun en kilde, og (i modsætning til 5V -skinnen) bør den ikke drives af moduler eller andre kredsløb, da den drives direkte fra regulatoren på 5V -skinnen.

Trin 4: Arduino Nano MCU -modul

Arduino Nano MCU -modul
Arduino Nano MCU -modul

Et af de mest almindelige MCU -moduler i disse dage er Arduino Nano. Det medfølgende Arduino Nano -bord leveres med headerstifter, men de kommer ikke loddet til modulet. Lad stifterne være af nu. Udfør disse indledende test på Arduino Nano -modulet før lodning på hovedstifterne. Alt, hvad der kræves, er et microUSB -kabel og Arduino Nano -kortet, ligesom det kommer ud af posen.

Arduino Nano er et overflademonteret, brødbræt-venligt, miniaturiseret Arduino-bord med integreret USB. Det er fantastisk fuldt udstyret og let at hacke.

Funktioner:

  • Mikrocontroller: Atmel ATmega328P
  • Spænding: 5V
  • Digitale I/O -pins: 14 (6 PWM)
  • Analoge indgangsstifter: 8
  • DC -strøm pr. I/O -pin: 40 mA
  • Flashhukommelse: 32 KB (2KB til bootloader)
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • Urhastighed: 16 MHz
  • Dimensioner: 17 mm x 43 mm

Denne særlige variant af Arduino Nano er den sorte Robotdyn Nano. Indeholder en indbygget MicroUSB-port tilsluttet en CH340G USB/seriel brochip. Detaljerede oplysninger om CH340 (og drivere, hvis det er nødvendigt) findes her.

Når du først tilslutter Arduino Nano til en USB -port på din computer, skal den grønne strømindikator lyse og kort tid efter begynder den blå LED at blinke langsomt. Dette sker, fordi Nano er forudindlæst med BLINK-programmet, der kører på den helt nye Arduino Nano.

SOFTWARE: Hvis du endnu ikke har Arduino IDE installeret, kan du downloade den fra Arduino.cc

Sæt Nano'en i MicroUSB -kablet og den anden ende af kablet i en USB -port på computeren. Start Arduino IDE -softwaren. Vælg "Arduino Nano" i IDE under værktøjer> bord og "ATmega328P (gammel bootloader)" under værktøjer> processor. Vælg den passende USB -port under værktøjer> port (det er sandsynligvis et navn med "wchusb" i den).

Endelig skal du indlæse et stykke eksempelkode: Fil-> Eksempler-> Grundlæggende-> Blink

Blink er faktisk koden, der var forudindlæst på Nano og skulle køre lige nu for langsomt at blinke den blå LED. Derfor, hvis vi indlæser denne eksempelkode, ændres intet. Lad os i stedet ændre koden en lille smule.

Når du ser nærmere på, kan du se, at programmet tænder LED'en, venter 1000 millisekunder (et sekund), slukker LED'en, venter endnu et sekund og derefter gør det hele igen - for evigt.

Rediger koden ved at ændre begge "forsinkelser (1000)" udsagn til "forsinkelse (100)". Denne ændring får LED'en til at blinke ti gange hurtigere, ikke?

Lad os indlæse den ændrede kode i Nano ved at klikke på knappen UPLOAD (pilikonet) lige over din ændrede kode. Se nedenfor koden for statusoplysninger: "kompilering" og derefter "upload". Til sidst skal IDE angive "Upload fuldført", og din LED blinker hurtigere.

Hvis ja, tillykke! Du har lige hacket dit første stykke indlejret kode.

Når din hurtigblink-version er indlæst og kører, hvorfor så ikke se, om du kan ændre koden igen for at få LED'en til at blinke hurtigt to gange og derefter vente et par sekunder, før du gentager? Prøv det! Hvad med nogle andre mønstre? Når det lykkes dig at visualisere et ønsket resultat, kode det og observere det til at fungere som planlagt, har du taget et enormt skridt mod at blive en kompetent hardwarehacker.

Nu hvor du har bekræftet, at Nano -modulet fungerer, skal du fortsætte og lodde headerstifterne på det. Når overskrifterne er tilsluttet, kan modulet let bruges i et af de loddefrie brødbrætter i MCU Lab. Denne proces med at teste et MCU -modul ved at downloade en enkel testkode, ændre og downloade igen er en god praksis, når du bruger et nyt eller en anden type MCU -modul.

Hvis du vil have yderligere introduktionsoplysninger til arbejde i Arduino -økosystemet, foreslår vi, at du kigger på vejledningen til HackerBoxes Starter Workshop, der indeholder flere eksempler og et link til en PDF Arduino -lærebog.

Trin 5: Udforsk MCU Lab med Arduino Nano

Udforsk MCU Lab med Arduino Nano
Udforsk MCU Lab med Arduino Nano

POTENTIOMETER

Tilslut potentiometerets midterstift til Nano Pin A0.

Indlæs og kør: Eksempler> Analog> AnalogInput

Eksemplet er som standard Nano's indbyggede LED. Drej på potentiometeret for at ændre blinkhastigheden.

Modificere:

Skift LedPin = 13 til 4 i koden

Jumper fra Nano Pin 4 (og GND) til en af de røde lysdioder i MCU Lab.

SUMMER

Jumper fra summer til Nano Pin 8. Sørg for, at GND -kortet er tilsluttet GND'en på den drevne Nano, da summerens jord er hårdt forbundet til boardet GND -net.

Indlæs og kør: Eksempler> Digital> toneMelody

OLED DISPLAY

I Arduino IDE skal du bruge bibliotekschefen til at installere "ssd1306" fra Alexey Dyna.

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

Indlæs og kør: Eksempler> ssd1306> demoer> ssd1306_demo

WS2812B RGB LED

I Arduino IDE skal du bruge biblioteksadministratoren til at installere FastLED

Tilslut WS2812's header pin til Nano's pin 5.

Indlæs: Eksempler> FastLED> ColorPalette

Skift NUM_LEDS til 1 og LED_TYPE til WS2812B

Kompilér og kør

SKRIV NOGET KODE TIL AT TRENE KNAPPERNE OG KNAPPERNE

Husk at bruge pinMode (INPUT_PULLUP) til at læse en knap uden at tilføje en modstand.

Kombiner nogle af disse eksempler SAMMEN

F.eks. Cyklér output på en interessant måde og vis tilstande eller inputværdier på OLED eller seriel skærm.

Trin 6: WEMOS ESP32 Lite

WEMOS ESP32 Lite
WEMOS ESP32 Lite

ESP32-mikrokontrolleren (MCU) er et billig system med lav effekt på en chip (SOC) med integreret Wi-Fi og dual-mode Bluetooth. ESP32 anvender en Tensilica Xtensa LX6-kerne og indeholder indbyggede antennekontakter, RF-balun, effektforstærker, støjsvag modtagerforstærker, filtre og strømstyringsmoduler. (wikipedia)

WEMOS ESP32 Lite -modulet er mere kompakt end den tidligere version, hvilket gør det lettere at bruge på et loddefrit brødbræt.

Lav din første test af WEMOS ESP32 -modulet, før du lodder hovedstifterne på modulet.

Konfigurer ESP32 -supportpakken i Arduino IDE.

Under værktøjer> bord skal du vælge "WeMos LOLIN32"

Indlæs eksempelkoden i Filer> Eksempler> Grundlæggende> Blink, og programmer den til WeMos LOLIN32

Eksempelprogrammet bør få LED'en på modulet til at blinke. Eksperimenter med at ændre forsinkelsesparametrene for at få LED'en til at blinke med forskellige mønstre. Dette er altid en god øvelse for at opbygge tillid til programmering af et nyt mikrokontroller modul.

Når du er fortrolig med modulets betjening og hvordan du programmerer det, skal du forsigtigt lodde de to rækker af headerstifter på plads og teste indlæsningsprogrammer igen.

Trin 7: ESP32 -videogenerering

Image
Image

Denne video demonstrerer ESP32 VGA -biblioteket og en meget flot, enkel tutorial fra bitlunis laboratorium.

Den demonstrerede 3-bit implementering (8 farver) bruger direkte wire-jumpere mellem ESP32-modulet og VGA-stikket. Det er ret let at lave disse forbindelser på MCU Labs VGA -header, da der ikke er flere komponenter involveret.

Afhængigt af hvilken MCU der er i brug, dens spændingsniveau, pixelopløsningerne og de ønskede farvedybder, er der forskellige kombinationer af inline modstande og modstandsnetværk, der kan placeres mellem MCU og VGA header. Hvis du beslutter dig for permanent at bruge inline modstande, kan de loddes på MCU Lab PCB. Hvis du gerne vil bevare fleksibiliteten, og især hvis du vil bruge mere komplekse løsninger, anbefales det ikke at lodde nogen modstande på plads og blot bruge de loddefri plader og VGA -header til at forbinde de nødvendige modstande.

For eksempel, for at implementere bitunis 14-bit farvetilstand vist i slutningen af videoen, kan ESP32-modulet placeres på et af mini-loddefrie brædder, og det andet loddeløse kort kan bruges til at forbinde modstandsstiger.

Her er nogle andre eksempler:

I HackerBox 0047 driver en Arduino Nano en simpel VGA -udgang med 4 modstande.

En VIC20 -emulator er implementeret på ESP32 ved hjælp af FabGL og 6 modstande.

Implementere en BASIC PC ved hjælp af ESP32 og 3 modstande.

Spil Space Invaders på ESP32 ved hjælp af FabGL og 6 modstande.

Generer VGA -output på STM32 med 6 modstande.

Samtidig lag af tekst og grafik på STM32 med videodemonstration.

Trin 8: STM32F103C8T6 sort pille MCU -modul

TXS0108E 8-bit logisk niveauskifter
TXS0108E 8-bit logisk niveauskifter

Black Pill er et STM32-baseret MCU-modul. Det er en forbedret variant på den almindelige blå pille og den mindre almindelige røde pille.

Den sorte pille har STM32F103C8T6 32bit ARM M3 mikrokontroller (datablad), en firpins ST-Link header, en MicroUSB-port og en bruger-LED på PB12. Den korrekte pull-up-modstand på PA12 leveres installeret til korrekt betjening af USB-porten. Denne pull-up krævede typisk en boardmodifikation på andre pillestavler.

Selvom den ligner Arduino Nano, er den sorte pille langt mere kraftfuld. 32bit STM32F103C8T6 ARM mikrokontroller kan køre ved 72 MHz. Det kan udføre single-cycle multiplikation og hardware division. Det har 64 Kbytes Flash -hukommelse og 20 Kbytes SRAM.

Programmering af STM32 fra Arduino IDE.

Trin 9: TXS0108E 8-bit logisk niveauskifter

TXS0108E (datablad) er en 8-bit tovejs logisk niveauskifter. Modulet er indstillet til niveauforskydningssignaler mellem 3,3V og 5V.

Da signalniveau -kanalerne er tovejs, kan flydende input forårsage, at de tilsvarende output bliver utilsigtet drevet. En output -aktivering (OE) -styring leveres til beskyttelse i sådanne scenarier. Der bør udvises forsigtighed afhængigt af, hvordan shifteren er tilsluttet, for at sikre, at et output fra shifteren (enten "forsætligt" eller på grund af en flydende input på den anden side) aldrig må krydskøre et output fra en anden enhed.

OE -stiften efterlades frakoblet i PCB -sporene. En to-benet header findes under modulet til tilslutning af OE og 3V3. Kortslutning af to-benet header (ved hjælp af et stykke ledning eller en jumperblok) forbinder OE med 3V3, som gør det muligt for IC at drive sine output. En nedtrapningsmodstand og logisk kontrol kan også tilsluttes OE -stiften.

Trin 10: HackLife

HackLife
HackLife

Vi håber, at du nyder denne måneds HackerBox -eventyr inden for elektronik og computerteknologi. Nå ud og del din succes i kommentarerne herunder eller på HackerBoxes Facebook Group. Husk også, at du når som helst kan e -maile [email protected], hvis du har et spørgsmål eller har brug for hjælp.

Hvad er det næste? Deltag i revolutionen. Live HackLife. Få en kølig æske med hackbart udstyr leveret direkte til din postkasse hver måned. Surf over til HackerBoxes.com og tilmeld dig dit månedlige HackerBox -abonnement.

Anbefalede: