Innehållsförteckning:

HackerBox 0051: MCU Lab: 10 steg
HackerBox 0051: MCU Lab: 10 steg

Video: HackerBox 0051: MCU Lab: 10 steg

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

Hälsningar till HackerBox Hackare runt om i världen! HackerBox 0051 presenterar HackerBox MCU Lab. MCU Lab är en utvecklingsplattform för att testa, utveckla och prototypa med mikrokontroller och mikrokontroller moduler. En Arduino Nano, ESP32 -modul och SMT32 Black Pill används för att utforska funktionsblocken i MCU Lab. MCU Lab -funktionsblocken inkluderar omkopplare, knappar, lysdioder, en OLED -skärm, summer, potentiometer, RGB -pixel, logisk nivåskiftare, VGA -utgång, PS/2 -tangentbordsingång, seriellt USB -gränssnitt och dubbla lödfria prototyper.

Den här guiden innehåller information om hur du kommer igång med HackerBox 0051, som kan köpas här så länge lagret räcker. Om du vill få en sån här HackerBox i din brevlåda varje månad, prenumerera på HackerBoxes.com och gå med i revolutionen!

HackerBoxes är den månatliga prenumerationstjänsten för hårdvaruhackare och entusiaster inom elektronik och datorteknik. Följ med oss och lev HACK LIFE.

Steg 1: Innehållslista för HackerBox 0051

  • MCU -modul 1: Arduino Nano 5V, 16MHz
  • MCU -modul 2: WEMOS ESP32 Lite
  • MCU -modul 3: STM32F103C8T6 svart piller
  • Exklusivt kretskort i MCU -lab
  • FT232RL USB -seriell adapter
  • OLED 128x64 Display I2C 0,96 tum
  • Dubbelriktad 8-bitars logisk nivåväxel
  • WS2812B RGB SMD LED
  • Fyra ytmonterade taktila knappar
  • Fyra röda spridda 5 mm lysdioder
  • Piezo summer
  • HD15 VGA -kontakt
  • Mini-DIN PS/2 tangentbordskontakt
  • 100K Ohm potentiometer
  • 8 Position DIP -omkopplare
  • AMS1117 3.3V Linjär regulator SOT223
  • Två 22uF Tantal -kondensatorer 1206 SMD
  • Tio 680 Ohm -resistorer
  • Fyra självhäftande gummi PCB -fötter
  • Två 170 -punkts mini -lödfria brödbrädor
  • Elva 8 -stifts hona -uttag för kvinnor
  • 40 -polig Breakaway Header
  • Paket med 65 hantrådar
  • Klistermärke med upphöjd knytnäve
  • Hack the Planet Smiley Pirate Sticker
  • Exklusiv HackerBox "Ta bort före flygning" nyckelring

Några andra saker som kommer att vara till hjälp:

  • Lödkolv, löd och grundläggande lödverktyg
  • Dator för att köra mjukvaruverktyg

Viktigast av allt, du behöver en känsla av äventyr, hackeranda, tålamod och nyfikenhet. Att bygga och experimentera med elektronik, samtidigt som det är mycket givande, kan vara svårt, utmanande och till och med frustrerande ibland. Målet är framsteg, inte perfektion. När du fortsätter och njuter av äventyret kan du få stor tillfredsställelse från denna hobby. Ta varje steg långsamt, tänk på detaljerna och var inte rädd för att be om hjälp.

Det finns en mängd information för nuvarande och potentiella medlemmar i HackerBoxes FAQ. Nästan alla icke-tekniska support-e-postmeddelanden som vi får besvaras redan där, så vi uppskattar verkligen att du tar några minuter att läsa vanliga frågor.

Steg 2: HackerBoxes MCU Lab

HackerBoxes MCU Lab
HackerBoxes MCU Lab

MCU Lab är en kompakt, polerad version av en utvecklingsplattform som vi använder för att prototypa och testa olika mikrokontroller (MCU) baserade konstruktioner. Det är super användbart för att arbeta med MCU -moduler (som en Arduino Nano, ESP32 DevKit, etc) eller individuella MCU -enhetspaket (t.ex. ATMEGA328, ATtiny85, PIC, etc). En mål -MCU kan placeras i någon av de mini lödlösa brödbrädorna. Två MCU: er kan kopplas ihop med båda brödbrädorna eller så kan en av brödbrädans utrymmen användas för andra kretsar.

"Funktionsblocken" i MCU Lab bryts ut till kvinnliga rubriker som liknar dem som finns på en Arduino UNO. De kvinnliga rubrikerna är kompatibla med manliga stift.

Steg 3: Montera HackerBoxes MCU Lab

Montera HackerBoxes MCU Lab
Montera HackerBoxes MCU Lab

SMD -KOMPONENTER PÅ BAKGRUNDEN

Börja med att montera AMS1117 (SOT 233 -paketet) Linear Regulator och de två 22uF -filterkondensatorerna på baksidan av kretskortet. Observera att ena sidan av varje kondensator silkscreen är rektangulär och den andra sidan är åttkantig. Kondensatorerna bör orienteras så att den mörka skaftet på förpackningen är i linje med den åttkantiga silkscreen -sidan.

FORTSÄTT MED KOMPONENTER PÅ FRAMKORTET

Löd WS2812B RGB LED. Rikta det vitmarkerade hörnet på varje lysdiod så att det motsvarar det flikade hörnet som visas på PCB -silkscreen.

Fyra SMD -knappar

Fyra röda lysdioder med fyra motstånd

Nivåreglage med VA -stift närmast 3V3 -märkning och VB -stift närmast 5V -märkning. Level Shifter -modulen kan monteras i linje med kretskortet genom att löda rubrikerna till modulen och sedan skjuta de svarta plastdistanserna från huvudet innan modulen monteras på MCU Lab -kretskortet. Att lämna distanserna är också bra.

Två remsor av rubriken kan brytas av för att ansluta FT232 -modulen. En mindre 4-stifts sektion av rubrik kan också användas för 5V/GND-rubriken bredvid FT232-modulen.

För tillfället fyller du i det kvinnliga VGA -huvudet närmast HD15 VGA -kontakten och tangentbordet. BEFOLKA dock INTE den extra rubriken intill det ena eller de fem motstånden mellan dessa två rubriker. Specifika alternativ för videosignalsgränssnitt diskuteras senare.

Befolkning de andra nio kvinnliga rubrikerna.

Ta bort lim från baksidan av båda lödfria brödbrädorna för att fästa dem på MCU Lab PCB.

Placera självhäftande gummifötter på undersidan av MCU Lab -kretskortet för att skydda din arbetsbänk från repor.

HANTERING AV STRÖMINGÅNGAR

Det finns minst två, och mer sannolikt så många som fyra, platser där ström kan komma in i MCU Lab. Detta kan orsaka problem, så överväg alltid noggrant följande tips:

Rubrikpunkterna märkta 5V är alla anslutna. 5V -skenan ansluts också till tangentbordets uttag, nivåskiftaren och WS2812B RGB LED. Ström kan levereras till 5V -skenan genom att ansluta FT232 till USB, ansluta fyrstiftets huvuddel till en extern strömförsörjning eller genom att ansluta en bygel från en av en 5V -stift på kretskortet till en 5V -modul (vanligtvis drivs av USB).

På samma sätt är alla GND -stiften anslutna. De ansluter till USB GND på FT232 (förutsatt att USB är anslutet till FT232). De kan också anslutas till jord med hjälp av en bygel mellan en av dem och en driven modul som diskuteras för 5V -nätet.

3V3 -skenan drivs av regulatorn på baksidan av kretskortet. Det är endast en källa och (till skillnad från 5V -skenan) bör den inte drivas av några moduler eller andra kretsar eftersom den drivs direkt från regulatorn på 5V -skenan.

Steg 4: Arduino Nano MCU -modul

Arduino Nano MCU -modul
Arduino Nano MCU -modul

En av de vanligaste MCU -modulerna nuförtiden är Arduino Nano. Det medföljande Arduino Nano -kortet levereras med huvudstift, men de kommer inte lödda till modulen. Lämna stiften av för tillfället. Utför dessa första tester på Arduino Nano -modulen före lödning på huvudstiften. Allt som behövs är en microUSB -kabel och Arduino Nano -kortet precis som det kommer ur väskan.

Arduino Nano är ett ytmonterat, brödbrädvänligt, miniatyriserat Arduino-kort med integrerat USB. Det är fantastiskt komplett och lätt att hacka.

Funktioner:

  • Mikrokontroller: Atmel ATmega328P
  • Spänning: 5V
  • Digitala I/O -stift: 14 (6 PWM)
  • Analoga ingångsstift: 8
  • Likström per I/O -stift: 40 mA
  • Flashminne: 32 KB (2KB för bootloader)
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • Klockhastighet: 16 MHz
  • Mått: 17 mm x 43 mm

Denna speciella variant av Arduino Nano är den svarta Robotdyn Nano. Innehåller en inbyggd MicroUSB-port ansluten till ett CH340G USB/Serial bridge-chip. Detaljerad information om CH340 (och drivrutiner, om det behövs) hittar du här.

När du först ansluter Arduino Nano till en USB -port på din dator ska den gröna strömlampan tändas och kort efter ska den blå lysdioden börja blinka långsamt. Detta händer eftersom Nano är förinstallerad med BLINK-programmet, som körs på den helt nya Arduino Nano.

PROGRAMVARA: Om du ännu inte har Arduino IDE installerat kan du ladda ner det från Arduino.cc

Anslut Nano till MicroUSB -kabeln och andra änden av kabeln till en USB -port på datorn. Starta Arduino IDE -programvaran. Välj "Arduino Nano" i IDE under verktyg> kort och "ATmega328P (gammal bootloader)" under verktyg> processor. Välj lämplig USB -port under verktyg> port (det är troligtvis ett namn med "wchusb" i den).

Slutligen ladda upp en del exempelkod: Fil-> Exempel-> Grunder-> Blink

Blink är faktiskt koden som förinstallerades på Nano och borde köras just nu för att långsamt blinka den blå lysdioden. Följaktligen, om vi laddar den här exempelkoden, kommer ingenting att förändras. Låt oss istället ändra koden lite.

När du tittar noga kan du se att programmet tänder lysdioden, väntar 1000 millisekunder (en sekund), släcker lysdioden, väntar ytterligare en sekund och gör sedan allt igen - för alltid.

Ändra koden genom att ändra båda "fördröjning (1000)" -uttalandena till "fördröjning (100)". Denna ändring kommer att leda till att lysdioden blinkar tio gånger snabbare, eller hur?

Låt oss ladda den modifierade koden till Nano genom att klicka på UPLOAD -knappen (pilikonen) strax ovanför den modifierade koden. Titta nedanför koden för statusinformation: "kompilering" och sedan "uppladdning". Så småningom ska IDE indikera "Uppladdning klar" och din lysdiod ska blinka snabbare.

Grattis i så fall! Du har just hackat din första inbäddade kod.

När din snabbblinkade version har laddats och körs, varför inte se om du kan ändra koden igen så att lysdioden blinkar snabbt två gånger och sedan vänta ett par sekunder innan du upprepar? Ge det ett försök! Vad sägs om några andra mönster? När du väl lyckats visualisera ett önskat resultat, koda det och observera att det fungerar som planerat, har du tagit ett enormt steg mot att bli en kompetent hårdvaruhacker.

Nu när du har bekräftat att Nano -modulen fungerar, fortsätt och löd huvudstiften på den. När rubrikerna är anslutna kan modulen enkelt användas i en av de lödfria brödbrädorna i MCU Lab. Denna process för att testa en MCU -modul genom att ladda ner några enkla testkoder, ändra och ladda ner igen är en bra metod när du använder en ny eller annan typ av MCU -modul.

Om du vill ha ytterligare introduktionsinformation för arbete i Arduino -ekosystemet föreslår vi att du läser guiden för HackerBoxes Starter Workshop, som innehåller flera exempel och en länk till en PDF -Arduino -lärobok.

Steg 5: Utforska MCU Lab med Arduino Nano

Utforska MCU Lab med Arduino Nano
Utforska MCU Lab med Arduino Nano

POTENTIOMETER

Anslut potentiometerns mittstift till Nano Pin A0.

Ladda och kör: Exempel> Analog> AnalogInput

Exemplet är som standard Nano: s inbyggda LED. Vrid på potentiometern för att ändra blinkningshastigheten.

Ändra:

Ändra LedPin = 13 till 4 i koden

Bygel från Nano Pin 4 (och GND) till en av de röda lysdioderna i MCU Lab.

SUMMER

Bygel från summer till Nano Pin 8. Se till att GND -kortet är anslutet till GND på den drivna Nano eftersom summern är markbunden till GND -nätets kort.

Ladda och kör: Exempel> Digital> toneMelody

OLED -DISPLAY

I Arduino IDE, använd bibliotekshanteraren för att installera "ssd1306" från Alexey Dyna.

Anslut OLED: GND till GND, VCC till 5V, SCL till Nanos A5, SDA till Nanos A4

Ladda och kör: Exempel> ssd1306> demos> ssd1306_demo

WS2812B RGB LED

I Arduino IDE, använd bibliotekshanteraren för att installera FastLED

Anslut WS2812: s huvudstift till Nanos stift 5.

Ladda: Exempel> FastLED> ColorPalette

Ändra NUM_LEDS till 1 och LED_TYPE till WS2812B

Kompilera och kör

SKRIV EN KOD FÖR ATT TRÄNA KNAPPARNA OCH KOPPLARNA

Kom ihåg att använda pinMode (INPUT_PULLUP) för att läsa en knapp utan att lägga till ett motstånd.

KOMBINERA VISA AV DESSA EXEMPEL SAMMAN

Till exempel, cykla utgångar på ett intressant sätt och visa tillstånd eller ingångsvärden på OLED eller seriell bildskärm.

Steg 6: WEMOS ESP32 Lite

WEMOS ESP32 Lite
WEMOS ESP32 Lite

ESP32-mikrokontrollern (MCU) är ett billigt, lågeffektsystem på ett chip (SOC) med integrerat Wi-Fi och dual-mode Bluetooth. ESP32 använder en Tensilica Xtensa LX6-kärna och innehåller inbyggda antennomkopplare, RF-balun, effektförstärkare, lågbrusmottagningsförstärkare, filter och strömhanteringsmoduler. (wikipedia)

WEMOS ESP32 Lite -modulen är mer kompakt än den tidigare versionen, vilket gör det enklare att använda på en lödlös brödbräda.

Gör ditt första test av WEMOS ESP32 -modulen innan du lödar huvudstiften på modulen.

Ställ in ESP32 -supportpaketet i Arduino IDE.

Under verktyg> kort, var noga med att välja "WeMos LOLIN32"

Ladda exempelkoden på Filer> Exempel> Grunder> Blink och programmera den till WeMos LOLIN32

Exempelprogrammet bör få LED -lampan på modulen att blinka. Experimentera med att ändra fördröjningsparametrarna så att lysdioden blinkar med olika mönster. Detta är alltid en bra övning för att bygga upp förtroende för att programmera en ny mikrokontrollmodul.

När du är bekväm med modulens drift och hur du programmerar den, löd försiktigt de två raderna med rubrikstift och testa laddningsprogrammen igen.

Steg 7: ESP32 Video Generation

Image
Image

Den här videon visar ESP32 VGA -biblioteket och en mycket trevlig, enkel handledning från bitluni's lab.

Den demonstrerade 3-bitars implementeringen (8 färger) använder direkta trådhoppare mellan ESP32-modulen och VGA-kontakten. Att göra dessa anslutningar på MCU Labs VGA -header är ganska enkelt eftersom inga ytterligare komponenter är inblandade.

Beroende på vilken MCU som används, dess spänningsnivå, pixelupplösningarna och de önskade färgdjupen finns det olika kombinationer av inline-motstånd och motståndsnätverk som kan placeras mellan MCU och VGA-rubriken. Om du bestämmer dig för att permanent använda inline -motstånd kan de lödas på MCU Lab -kretskortet. Om du vill behålla flexibiliteten och särskilt om du vill använda mer komplexa lösningar, rekommenderas det att du inte lödar några motstånd på plats och helt enkelt använder de lödlösa korten och VGA -huvudet för att ansluta de nödvändiga motstånden.

Till exempel, för att implementera bitunis 14-bitars färgläge som visas i slutet av videon, kan ESP32-modulen placeras på en av de mini-lödfria korten och den andra lödlösa kortet kan användas för att ansluta motståndsstegen.

Här är några andra exempel:

I HackerBox 0047 driver en Arduino Nano en enkel VGA -utgång med 4 motstånd.

En VIC20 -emulator implementeras på ESP32 med FabGL och 6 motstånd.

Implementera en BASIC PC med ESP32 och 3 motstånd.

Spela Space Invaders på ESP32 med FabGL och 6 motstånd.

Generera VGA -utgång på STM32 med 6 motstånd.

Samtidiga text- och grafiklager på STM32 med videodemonstration.

Steg 8: STM32F103C8T6 svart piller MCU -modul

TXS0108E 8-bitars logisk nivåväxel
TXS0108E 8-bitars logisk nivåväxel

Black Pill är en STM32-baserad MCU-modul. Det är en förbättrad variant på den vanliga blå pillren och den mindre vanliga röda pillren.

Black Pill har STM32F103C8T6 32bit ARM M3 mikrokontroller (datablad), en fyrpolig ST-Link-rubrik, en MicroUSB-port och en användarlampa på PB12. Det rätta uppdragningsmotståndet på PA12 kommer installerat för korrekt användning av USB-porten. Denna pull-up krävde vanligtvis en modifiering av brädet på andra piller.

Medan den liknar Arduino Nano, är den svarta pillren mycket kraftfullare. 32 -bitars STM32F103C8T6 ARM -mikrokontroller kan köras vid 72 MHz. Det kan utföra enkelcykelmultiplikation och hårdvaruindelning. Den har 64 kbyte flashminne och 20 kbyte SRAM.

Programmering av STM32 från Arduino IDE.

Steg 9: TXS0108E 8-bitars logisk nivåväxel

TXS0108E (datablad) är en 8-bitars dubbelriktad logisk nivåväxel. Modulen är inställd för nivåskiftningssignaler mellan 3,3V och 5V.

Eftersom signalnivåkanalerna är dubbelriktade kan flytande ingångar orsaka att motsvarande utgångar oavsiktligt drivs. En utgångsaktivering (OE) -kontroll tillhandahålls för att skydda i sådana scenarier. Var försiktig beroende på hur växelkopplaren är ansluten för att säkerställa att en utgång från växeln (antingen "avsiktlig" eller på grund av en flytande ingång på andra sidan) aldrig får korsa en utgång från en annan enhet.

OE -stiftet lämnas frånkopplat i PCB -spåren. En två-stifts rubrik finns under modulen för anslutning av OE och 3V3. Kortslutning av tvåstiftshuvudet (med hjälp av en tråd eller ett bygelblock) ansluter OE till 3V3 vilket gör att IC kan driva sina utgångar. Ett nedrullningsmotstånd och logikkontroll kan också anslutas till OE -stiftet.

Steg 10: HackLife

HackLife
HackLife

Vi hoppas att du njuter av månadens HackerBox -äventyr inom elektronik och datorteknik. Nå ut och dela din framgång i kommentarerna nedan eller på HackerBoxes Facebook Group. Kom också ihåg att du kan skicka e -post till [email protected] när som helst om du har en fråga eller behöver hjälp.

Vad kommer härnäst? Gå med i revolutionen. Lev HackLife. Få en cool låda med hackbar utrustning levererad direkt till din brevlåda varje månad. Surfa över till HackerBoxes.com och registrera dig för ditt månatliga HackerBox -abonnemang.

Rekommenderad: