INHOUDSOPGAWE:

HackerBox 0051: MCU Lab: 10 stappe
HackerBox 0051: MCU Lab: 10 stappe

Video: HackerBox 0051: MCU Lab: 10 stappe

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

Groete aan HackerBox Hackers regoor die wêreld! HackerBox 0051 bied die HackerBox MCU Lab aan. Die MCU Lab is 'n ontwikkelingsplatform om te toets, te ontwikkel en prototipe te maak met mikrobeheerders en mikrobeheermodules. 'N Arduino Nano, ESP32 -module en SMT32 -swart pil word gebruik om die funksieblokke van die MCU Lab te ondersoek. Die MCU Lab -funksieblokke bevat skakelaars, knoppies, LED's, 'n OLED -skerm, zoemer, potensiometer, RGB -pixel, logiese vlakverskuiwers, VGA -uitset, PS/2 -sleutelbordinvoer, seriële USB -koppelvlak en dubbele soldeerlose prototiperingsgebiede.

Hierdie gids bevat inligting om aan die gang te kom met HackerBox 0051, wat hier gekoop kan word solank voorraad hou. As u elke maand 'n HackerBox soos hierdie in u posbus wil ontvang, teken dan in op HackerBoxes.com en sluit aan by die revolusie!

HackerBoxes is die maandelikse intekenboksdiens vir hardeware -hackers en liefhebbers van elektronika en rekenaartegnologie. Sluit by ons aan om die HACK LIFE te leef.

Stap 1: Inhoudslys vir HackerBox 0051

  • MCU -module 1: Arduino Nano 5V, 16MHz
  • MCU Module 2: WEMOS ESP32 Lite
  • MCU -module 3: STM32F103C8T6 swart pil
  • Eksklusiewe printplaat met MCU -laboratorium
  • FT232RL USB -reeksadapter
  • OLED 128x64 skerm I2C 0.96 duim
  • Tweerigting 8-bis logiese vlakverskuiwers
  • WS2812B RGB SMD LED
  • Vier tasbare knoppies op die oppervlak
  • Vier rooi verspreide 5 mm LED's
  • Piezo -gonser
  • HD15 VGA -aansluiting
  • Mini-DIN PS/2-sleutelbordaansluiting
  • 100K Ohm potensiometer
  • 8 Posisie DIP -skakelaar
  • AMS1117 3.3V Lineêre Reguleerder SOT223
  • Twee 22uF tantaalkondensators 1206 SMD
  • Tien weerstande van 680 Ohm
  • Vier kleef rubber PCB voete
  • Twee 170 punt mini soldeerlose broodborde
  • Elf 8 -pen vroulike kopstukke
  • 40 -pen wegbreekkop
  • Bundel van 65 manlike draaddrade
  • Plak met 'n vuisbord opgehef
  • Hack The Planet Smiley Pirate Sticker
  • Eksklusiewe HackerBox "Verwyder voor vlug" sleutelhanger

'N Paar ander dinge wat nuttig sal wees:

  • Soldeerbout, soldeersel en basiese soldeergereedskap
  • 'N Rekenaar om sagteware te gebruik

Die belangrikste is dat jy 'n gevoel van avontuur, hackergees, geduld en nuuskierigheid nodig het. Bou en eksperimenteer met elektronika, hoewel dit baie lonend is, kan soms lastig, uitdagend en selfs frustrerend wees. Die doel is vooruitgang, nie volmaaktheid nie. As u volhard en die avontuur geniet, kan u baie tevredenheid put uit hierdie stokperdjie. Neem elke stap stadig, let op die besonderhede, en moenie bang wees om hulp te vra nie.

Daar is 'n magdom inligting vir huidige en voornemende lede in die HackerBoxes FAQ. Byna al die nie-tegniese ondersteunings-e-posse wat ons ontvang, word reeds daar beantwoord, so ons waardeer dit baie as u 'n paar minute neem om die FAQ te lees.

Stap 2: HackerBoxes MCU Lab

HackerBoxes MCU Lab
HackerBoxes MCU Lab

Die MCU Lab is 'n kompakte, gepoleerde weergawe van 'n ontwikkelingsplatform wat ons gebruik om verskillende ontwerpe wat gebaseer is op mikro -kontroleerders (MCU) te prototipe en te toets. Dit is baie handig om te werk met MCU -modules (soos 'n Arduino Nano, ESP32 DevKit, ens) of individuele MCU -apparaatpakkette (soos ATMEGA328's, ATtiny85s, PIC's, ens. 'N Doel MCU kan in een van die mini soldeerlose broodborde geplaas word. Twee MCU's kan aan mekaar gekoppel word met beide broodborde, of een van die broodbordruimtes kan vir ander stroombane gebruik word.

Die "funksieblokke" van die MCU Lab word uitgebrei na vroulike opskrifte soortgelyk aan dié wat op 'n Arduino UNO gevind word. Die vroulike kopstukke is versoenbaar met manlike penne.

Stap 3: Monteer die HackerBoxes MCU Lab

Monteer die HackerBoxes MCU Lab
Monteer die HackerBoxes MCU Lab

SMD -KOMPONENTE OP DIE AGTERBORD

Monteer die AMS1117 (SOT 233 -pakket) Lineêre Reguleerder en die twee 22uF -filterkapasitors op die agterkant van die PCB. Let daarop dat die een kant van elke kapasitor seeskerm reghoekig is en die ander kant agtkantig is. Die kapasitors moet so gerig wees dat die donker rand van die verpakking in lyn is met die agtkantige sykant.

GAAN VOORT MET KOMPONENTE VOOR AAN DIE RAAD

Soldeer die WS2812B RGB LED. Rig die wit gemerkte hoek van elke LED sodat dit ooreenstem met die hoek met die oortjies, soos op die PCB -syskerm getoon.

Vier tasbare knoppies van SMD

Vier rooi LED's met vier weerstande

Level Shifter met VA -pen naaste 3V3 -merk en VB -pen naaste 5V -merk. Die Level Shifter -module kan gelyk aan die printplaat gemonteer word deur die koppe aan die module te soldeer en dan die swart plastiekafstandhouers van die koppe af te skuif voordat die module aan die MCU Lab PCB gemonteer word. Dit is ook goed om die afstandhouers aan te laat.

Twee stroke van die kop kan afgebreek word om die FT232 -module aan te sluit. 'N Kleiner 4-pins gedeelte van die kop kan ook gebruik word vir die 5V/GND-kop net langs die FT232-module.

Vul tans die vroulike VGA -kopstuk naaste aan die HD15 VGA -aansluiting en die sleutelbordaansluiting. MOENIE die bykomende opskrif langs die een of die vyf weerstande tussen die twee opskrifte NIE bevolk nie. Spesifieke opsies vir video -sein -koppelvlak word later bespreek.

Bevolk die ander nege vroulike opskrifte.

Verwyder kleefmiddel aan die agterkant van albei soldeerlose broodborde om dit aan die MCU Lab PCB vas te maak.

Plaas gom rubbervoete aan die onderkant van die MCU Lab PCB om u werkbank teen skrape te beskerm.

HANTERING VAN KRAGINSETTE

Daar is ten minste twee, en waarskynlik meer as vier, plekke waar krag in die MCU Lab kan kom. Dit kan probleme veroorsaak, dus oorweeg altyd die volgende wenke noukeurig:

Die koppunte gemerk 5V is almal verbind. Die 5V -spoor kan ook gekoppel word aan die sleutelbordaansluiting, die vlakverskuiwers en die WS2812B RGB LED. Krag kan aan die 5V -spoor verskaf word deur die FT232 aan te sluit op 'n USB, die vierpen -kragkop aan 'n eksterne toevoer te koppel, of deur 'n springer van een van 'n 5V -pen op die printplaat aan te sluit op 'n 5V -module (gewoonlik aangedryf deur USB).

Net so is die GND -penne almal verbind. Hulle maak verbinding met die USB GND op die FT232 (as USB gekoppel is aan die FT232). Hulle kan ook met die grond verbind word met behulp van 'n jumper tussen een van hulle en 'n aangedrewe module soos bespreek vir die 5V -net.

Die 3V3 -spoor word aangedryf deur die reguleerder agter op die printplaat. Dit is slegs 'n bron en moet (anders as die 5V -spoor) nie deur modules of ander stroombane aangedryf word nie, aangesien dit direk van die reguleerder op die 5V -spoor aangedryf word.

Stap 4: Arduino Nano MCU -module

Arduino Nano MCU -module
Arduino Nano MCU -module

Een van die mees algemene MCU -modules deesdae is die Arduino Nano. Die meegeleverde Arduino Nano -bord het kopstukke, maar dit word nie aan die module gesoldeer nie. Los die penne vir eers. Doen hierdie aanvanklike toetse op die Arduino Nano -module voordat u aan die koppenne soldeer. Al wat nodig is, is 'n microUSB -kabel en die Arduino Nano -bord, net soos dit uit die sak kom.

Die Arduino Nano is 'n oppervlakkige, broodbordvriendelike, geminiaturiseerde Arduino-bord met geïntegreerde USB. Dit is ongelooflik volledig en maklik om te hack.

Kenmerke:

  • Mikrokontroleur: Atmel ATmega328P
  • Spanning: 5V
  • Digitale I/O -penne: 14 (6 PWM)
  • Analoge invoerpenne: 8
  • Gelykstroom per I/O -pen: 40 mA
  • Flitsgeheue: 32 KB (2 KB vir selflaaiprogram)
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • Kloksnelheid: 16 MHz
  • Afmetings: 17 x 43 mm

Hierdie spesifieke variant van die Arduino Nano is die swart Robotdyn Nano. In bevat 'n ingeboude MicroUSB-poort wat gekoppel is aan 'n CH340G USB/Serial bridge chip. Gedetailleerde inligting oor die CH340 (en bestuurders, indien nodig) kan hier gevind word.

As u die Arduino Nano vir die eerste keer in 'n USB -poort van u rekenaar aansluit, moet die groen kraglig brand en kort daarna moet die blou LED stadig begin flikker. Dit gebeur omdat die Nano vooraf gelaai is met die BLINK-program, wat op die splinternuwe Arduino Nano werk.

SOFTWARE: As u nog nie die Arduino IDE geïnstalleer het nie, kan u dit aflaai van Arduino.cc

Koppel die Nano aan die MicroUSB -kabel en die ander kant van die kabel in 'n USB -poort op die rekenaar. Begin die Arduino IDE sagteware. Kies "Arduino Nano" in die IDE onder gereedskap> bord en "ATmega328P (ou selflaaiprogram)" onder gereedskap> verwerker. Kies die toepaslike USB -poort onder gereedskap> poort (dit is waarskynlik 'n naam met 'wchusb' daarin).

Laai laastens 'n stuk voorbeeldkode: File-> Voorbeelde-> Basics-> Knip

Knipper is eintlik die kode wat vooraf op die Nano gelaai is en behoort nou te werk om die blou LED stadig te knip. Gevolglik sal niks verander as ons hierdie voorbeeldkode laai nie. Laat ons eerder die kode 'n bietjie verander.

As u mooi kyk, kan u sien dat die program die LED aanskakel, 1000 millisekondes (een sekonde) wag, die LED afskakel, nog 'n sekonde wag en dan alles weer doen - vir ewig.

Verander die kode deur beide die "vertraging (1000)" stellings te verander na "vertraging (100)". Hierdie verandering sal daartoe lei dat die LED tien keer vinniger knip, nie waar nie?

Laai die gewysigde kode in die Nano deur op die UPLOAD -knoppie (die pyltjie -ikoon) net bokant u gewysigde kode te klik. Kyk onder die kode vir die statusinligting: "saamstel" en dan "oplaai". Uiteindelik moet die IDE 'Oplaai voltooi' aandui en u LED moet vinniger flikker.

Indien wel, baie geluk! U het pas u eerste stuk ingebedde kode gekap.

As u vinnige flitsweergawe gelaai en aan die gang is, kyk dan of u die kode weer kan verander om die LED twee keer vinnig te laat knip en dan 'n paar sekondes te wag voordat u dit herhaal? Probeer dit! Hoe gaan dit met ander patrone? As u eers daarin geslaag het om die gewenste uitkoms te visualiseer, te kodeer en te sien hoe dit volgens plan werk, het u 'n enorme stap geneem om 'n bekwame hardeware -hacker te word.

Noudat u die werking van die Nano -module bevestig het, soldeer u die koppenne daarop. Sodra die koppe verbind is, kan die module maklik in een van die soldeerlose broodborde van die MCU Lab gebruik word. Hierdie proses om 'n MCU -module uit te toets deur 'n eenvoudige toetskode af te laai, te verander en weer af te laai, is 'n goeie praktyk wanneer u 'n nuwe of ander tipe MCU -module gebruik.

As u meer inleidende inligting wil hê vir werk in die Arduino -ekosisteem, stel ons voor dat u die gids vir die HackerBoxes Starter Workshop besoek, wat verskeie voorbeelde bevat en 'n skakel na 'n PDF Arduino -handboek.

Stap 5: Verken MCU Lab met Arduino Nano

Verken MCU Lab met Arduino Nano
Verken MCU Lab met Arduino Nano

POTENTIOMETER

Koppel die middelste pen van die potensiometer aan die Nano -pen A0.

Laai en voer: Voorbeelde> Analoog> Analoog invoer

Die voorbeeld is standaard die ingeboude LED van die Nano. Draai die potensiometer om die knipperspoed te verander.

Verander:

Verander LedPin = 13 in 4 in die kode

Trui van Nano Pin 4 (en GND) na een van die rooi LED's van die MCU Lab.

BUZZER

Jumper van buzzer na Nano Pin 8. Maak seker dat die GND -bord aan die GND van die aangedrewe Nano gekoppel is, aangesien die zoemergrond hard aan die board GND -netwerk gekoppel is.

Laai en hardloop: voorbeelde> digitaal> toneMelody

OLED DISPLAY

Gebruik die biblioteekbestuurder in die Arduino IDE om 'ssd1306' van Alexey Dyna te installeer.

Koppel OLED: GND aan GND, VCC aan 5V, SCL aan Nano's A5, SDA aan Nano's A4

Laai en hardloop: voorbeelde> ssd1306> demo's> ssd1306_demo

WS2812B RGB LED

Gebruik die biblioteekbestuurder in die Arduino IDE om FastLED te installeer

Koppel die koppen van die WS2812 aan die pen 5 van die Nano.

Laai: Voorbeelde> FastLED> ColorPalette

Verander NUM_LEDS na 1 en LED_TYPE na WS2812B

Stel op en voer uit

SKRYF 'N PAAR KODE OM DIE KNOPPE EN SKAKELAARS TE OEFEN

Onthou om pinMode (INPUT_PULLUP) te gebruik om 'n knoppie te lees sonder om 'n weerstand by te voeg.

KOMBINEER EEN VAN HIERDIE VOORBEELDE SAAM

Skakel byvoorbeeld uitsette op 'n interessante manier en toon toestande of invoerwaardes op die OLED of seriële monitor.

Stap 6: WEMOS ESP32 Lite

WEMOS ESP32 Lite
WEMOS ESP32 Lite

Die ESP32-mikrobeheerder (MCU) is 'n goedkoop stelsel met lae krag op 'n skyfie (SOC) met geïntegreerde Wi-Fi en tweemodus-Bluetooth. Die ESP32 het 'n Tensilica Xtensa LX6-kern en bevat ingeboude antennaskakelaars, RF-balun, kragversterker, ontvangsversterker met lae geraas, filters en kragbestuurmodules. (wikipedia)

Die WEMOS ESP32 Lite -module is meer kompak as die vorige weergawe, wat dit makliker maak om op 'n soldeerlose broodbord te gebruik.

Doen u eerste toets van die WEMOS ESP32 -module voordat u die koppenne aan die module soldeer.

Stel die ESP32 -ondersteuningspakket op in die Arduino IDE.

Kies onder "gereedskap> bord" die "WeMos LOLIN32"

Laai die voorbeeldkode by Files> Voorbeelde> Basics> Blink en programmeer dit na die WeMos LOLIN32

Die voorbeeldprogram moet veroorsaak dat die LED op die module knipper. Eksperimenteer met die wysiging van die vertragingsparameters om die LED met verskillende patrone te laat knip. Dit is altyd 'n goeie oefening om vertroue te bou in die programmering van 'n nuwe mikrobeheermodule.

Sodra u gemaklik is met die werking van die module en hoe u dit kan programmeer, soldeer u die twee rye koppenne noukeurig en toets die laaiprogramme weer.

Stap 7: ESP32 -videogenerasie

Image
Image

Hierdie video demonstreer die ESP32 VGA -biblioteek en 'n baie eenvoudige, eenvoudige handleiding van die laboratorium van bitluni.

Die aangetoonde 3-bis implementering (8 kleure) gebruik direkte draadspringers tussen die ESP32-module en die VGA-aansluiting. Dit is redelik maklik om hierdie verbindings op die MCU Lab se VGA -kop te maak, aangesien geen bykomende komponente betrokke is nie.

Afhangende van watter MCU gebruik word, die spanningsvlak, die pixelresolusies en die gewenste kleurdieptes, is daar verskillende kombinasies van inline-weerstande en weerstandnetwerke wat tussen die MCU en die VGA-kop geplaas kan word. As u besluit om inline weerstande permanent te gebruik, kan dit op die MCU Lab PCB gesoldeer word. As u buigsaamheid wil behou en veral as u meer ingewikkelde oplossings wil gebruik, word dit aanbeveel om geen weerstande op hul plek te soldeer nie, maar gebruik die soldeerlose borde en VGA -kopstuk om die nodige weerstande aan te sluit.

Byvoorbeeld, om die 14-bis-kleurmodus van bituni aan die einde van die video te implementeer, kan die ESP32-module op een van die mini soldeerlose borde geplaas word, en die ander soldeerlose bord kan gebruik word om die weerstandslere aan te sluit.

Hier is 'n paar ander voorbeelde:

In HackerBox 0047 dryf 'n Arduino Nano 'n eenvoudige VGA -uitset met 4 weerstande.

'N VIC20 -emulator word geïmplementeer op ESP32 met behulp van FabGL en 6 weerstande.

Implementeer 'n BASIC PC met behulp van ESP32 en 3 weerstande.

Speel Space Invaders op ESP32 met FabGL en 6 weerstande.

Genereer VGA -uitset op STM32 met 6 weerstande.

Gelyktydige teks- en grafiese lae op STM32 met videodemonstrasie.

Stap 8: STM32F103C8T6 MCU -module met swart pil

TXS0108E 8-bis logiese vlakverskakelaar
TXS0108E 8-bis logiese vlakverskakelaar

The Black Pill is 'n STM32-gebaseerde MCU-module. Dit is 'n verbeterde variant op die gewone Blue Pill en die minder algemene Red Pill.

Die Black Pill beskik oor die STM32F103C8T6 32bit ARM M3 mikrokontroller (datablad), 'n vier-pen ST-Link-kop, 'n MicroUSB-poort en 'n gebruikers-LED op PB12. Die korrekte optrekweerstand op PA12 word geïnstalleer vir die korrekte werking van die USB-poort. Hierdie optrek vereis gewoonlik 'n aanpassing van die bord op ander pilborde.

Alhoewel dit soortgelyk is aan die Arduino Nano, is die swart pil baie kragtiger. Die 32bit STM32F103C8T6 ARM mikrobeheerder kan op 72 MHz werk. Dit kan vermenigvuldiging en hardeware-indeling met een siklus uitvoer. Dit het 64 kbyte flitsgeheue en 20 kbyte SRAM.

Die programmering van die STM32 van Arduino IDE.

Stap 9: TXS0108E 8-bis logiese vlakverskuiwers

Die TXS0108E (datablad) is 'n 8-bis tweerigting-logiese vlakverskakelaar. Die module is ingestel op seine tussen vlakverskuiwing tussen 3.3V en 5V.

Aangesien die seinvlak -kanale tweerigting is, kan drywende insette die ooreenstemmende uitsette onbedoeld aandryf. 'N UIT -beheer (OE) -beheer word voorsien om in sulke scenario's te beskerm. Daar moet sorg gedra word na gelang van hoe die skakelaar gekoppel is om seker te maak dat 'n uitset van die versneller ("opsetlik" of as gevolg van 'n drywende inset aan die ander kant) nooit 'n uitset van 'n ander toestel kan kruis aandryf nie.

Die OE -pen word ontkoppel in die PCB -spore. 'N Twee-pen kop word onder die module verskaf vir die aansluiting van OE en 3V3. Deur die twee-pen-kopstuk (met 'n stuk draad of 'n springblok) te kort, verbind OE met 3V3, wat die IC in staat stel om sy uitsette te dryf. 'N Oprolweerstand en logiese beheer kan ook aan die OE -pen gekoppel word.

Stap 10: HackLife

HackLife
HackLife

Ons hoop dat u hierdie maand se HackerBox -avontuur in elektronika en rekenaartegnologie geniet. Bereik jou sukses en deel dit in die kommentaar hieronder of op die HackerBoxes Facebook -groep. Onthou ook dat u altyd 'n e -pos aan [email protected] kan stuur as u 'n vraag het of hulp nodig het.

Wat is volgende? Sluit aan by die rewolusie. Leef die HackLife. Kry elke maand 'n koel boks met hackbare toerusting by u posbus afgelewer. Gaan na HackerBoxes.com en teken aan vir u maandelikse HackerBox -intekening.

Aanbeveel: