INHOUDSOPGAWE:

HackerBox 0050: 8 stappe
HackerBox 0050: 8 stappe

Video: HackerBox 0050: 8 stappe

Video: HackerBox 0050: 8 stappe
Video: Projects - July 2016 2024, November
Anonim
HackerBox 0050
HackerBox 0050

Groete aan HackerBox Hackers regoor die wêreld! Vir HackerBox 0050 is ons besig om die ingeboude verwerkerbord van HB50 saam te stel en te programmeer. Die HB50 ondersteun eksperimentering met ESP32-mikrobeheerders, ingebedde IoT WiFi, bit bang-geluid, RGB-LED's, volkleur TFT LCD-skerms, raakskerminsette, Bluetooth en meer. HackerBox 0050 ondersoek ook 'n klein sleutelbordoplossing vir enige ingeboude projek, I2C -koppelvlakke, kragbegroting en mobiele outomate.

Hierdie gids bevat inligting om aan die gang te kom met HackerBox 0050, 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 0050

  • Eksklusiewe HB50 -printplaat
  • ESP-WROOM-32 Dual Core WiFi-module
  • QVGA -kleur TFT LCD -skerm van 2,4 duim
  • Geïntegreerde raakskerm met stylus
  • Ses WS2812B RGB -LED's
  • Ses opligknoppies op die oppervlak
  • Piezo -zoemer 12 mm SMD
  • AMS1117 3.3V Lineêre Reguleerder SOT223
  • Reghoekige 40 -pins wegbreekkop
  • Twee 22uF tantaalkondensators 1206 SMD
  • Twee 10K Ohm -weerstande 0805 SMD
  • CardKB mini -sleutelbord
  • Grove na vroulike DuPont -uitbreekkabel
  • CP2102 USB -reeksmodule
  • DuPont-truie, vroulik-vroulik 10 cm
  • Hokusai Great Wave PCB -etiket
  • Eksklusiewe HackerBox WireHead -sticker
  • Eksklusiewe HackerBox 50 uitdagingsmunt

'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: HB50 -printplaat

HB50 -printplaat
HB50 -printplaat

Om die HackerBox -nommer 0050 te herdenk, het ons 'n opgedateerde weergawe van die gewildste HackerBox -bord opgedraai volgens die gewilde vraag. Die HackerBox 0020 Summer Camp -kentekenset is binne minder as twee uur by DEF CON 25 uitverkoop. Die PCB -lêers is sedertdien gereeld aangevra. Die direksie is minstens 'n paar keer deur derde partye herdruk. Die ontwerp het 'n handjievol ander kentekens en ingeboude IoT -projekte geïnspireer waarvan ons bewus is en hopelik nog 'n paar waarvan ons nie bewus is nie.

Die opdaterings wat in die nuwe HB50 PCB-kit gevind word, sluit in omruil van die ESP-32 DEVkitC vir die meer kompakte ESP-WROOM-32-module. Die vyf kapasitiewe aanraakknoppies is vervang met meganiese tasbare knoppies. Die vyf RGB WS2812 LED's wat in wit verpakkings was, is verhoog tot ses en is nou in swart verpakkings. Die piëzo -zoemer is vervang met 'n meer kompakte weergawe op die oppervlak. Die kragtoevoer is vereenvoudig. Die kleur -TFT -skerm is verhoog van 2,2 duim tot 2,4 duim. Die PCB is meer kompak en het selfs 'n paar IO -penne uitgebreek vir u inbraak. Sedert die tyd van HackerBox 20 is daar baie meer projekte, voorbeelde en kode beskikbaar vir die ESP32, so laat ons gereed maak om te dreun …

Kenmerke:

  • ESP32 Dual Core 160MHz verwerker
  • 2,4 duim QVGA kleur TFT LCD -skerm
  • WiFi 802.11 b/g/n/d/e/i/k/r
  • Bluetooth LE 5.0
  • Vyf tasbare drukknoppies (+ een vir herstel)
  • Ses RGB WS2812 LED's
  • Piezo -gonser
  • 3.3V Lineêre Reguleerder
  • Uitbreidingskop

Net soos met sy voorganger, kan die HB50 op 'n koord gedra word, as 'n draagbare, op 'n muur gemonteer word, of byna oral in ontelbare draadlose en kleurvolle toepassings gebruik word.

Stap 3: Bring die HB50 -bord op

Bring die HB50 -bord op
Bring die HB50 -bord op

Om foute te verminder, of ten minste te isoleer, stel ons voor dat u begin monteer deur slegs die minimum komponente in die HB50 PCB te vul wat nodig is om die ESP32 te programmeer. Hierdie minimum lewensvatbare benadering word in hierdie stappe uiteengesit:

  1. Kyk na hierdie video oor soldeer -gegoteerde modules.
  2. Soldeer die ESP-WROOM-32-module op die PCB. Vat jou tyd. Moenie bekommerd wees oor die sentrale grondblok onder die module nie. Dit kan slegs met hervloei gesoldeer word en is slegs daar vir ekstra termiese koppeling.
  3. Gebruik 'n multimeter om seker te maak dat daar geen kort tussen 3V3 en GND is nie. As daar 'n kort is, moet dit geïdentifiseer en verwyder word voordat krag op die bord toegedien word, anders kan die rookmonster uitkom.
  4. Soldeer die twee 10K -weerstande net bokant die EN- en IO0 -knoppies.
  5. Soldeer die EN- en IO0 -knoppies. Die ander vier knoppies kan vir eers uitgelaat word.
  6. Breek 'n strook met 16 penne af. Plaas dit van die CPU -kant van die PCB sodat die penne na die naaste rand van die PCB wys. Soldeer dan die kop op sy plek aan die kant van die PCB.
  7. Verifieer weer dat daar geen kortbroek tussen 3V3 en GND is nie.
  8. Gebruik vier DuPont -draaddrade om die CP2102 -module aan te sluit soos aangedui. Let daarop dat ons die 3V3 -kragbron tydelik gebruik, aangesien die lineêre reguleerder nog nie op die PCB ingevul is nie.
  9. As u Arduino IDE nog nie op u rekenaar geïnstalleer is nie, kan u dit hier kry.
  10. Stel ESP32 -ondersteuning binne die Arduino IDE op met behulp van hierdie gids.
  11. Stel gereedskap> bord in die IDE op "ESP32 Wrover Module".
  12. Koppel die CP2102 -module aan op 'n USB -poort op die rekenaar.
  13. Stel gereedskap> poort in die IDE in op die korrekte USB -poort vir die CP2102.
  14. As 'n nuwe poort nie verskyn wanneer die CP2102 -module ingevoeg word nie, installeer die benodigde USB -bestuurder van Silicon Labs.
  15. Gryp die button_demo -skets.
  16. Stel die skets op en laai dit op.
  17. As die oplaai begin, hou die EN- en IO0 -knoppies ingedruk. EN is basies 'n reset -knoppie en IO0 is die band om die flits te herprogrammeer.
  18. Sodra die kolletjies en strepies in die IDE verskyn, laat die EN -knoppie los (stel los), maar hou die IO0 -knoppie ingedruk totdat die flitsprogrammering seker is dat die omsnippen herken word tydens die opstart.
  19. As die programmering voltooi is, druk weer op die EN -knoppie om die nuut geflitsde kode te herstel en te begin.
  20. Maak die Arduino IDE Serial Monitor oop en stel dit op 115200 baud.
  21. As u op die IO0 -knoppie druk, moet 'n boodskap in die seriële monitor gegenereer word.

Stap 4: Knoppies, gonsers en LED's, O MY

Knoppies, gonsers en LED's, O MY!
Knoppies, gonsers en LED's, O MY!

MEER KNOPPE

As die aanvanklike programmeerstap suksesvol is, skakel die HB50 -bord uit en soldeer op die oorblywende vier knoppies. Dieselfde button_demo -skets moet nou al vyf knoppies (IO0, A, B, C en D) aan die seriële monitor rapporteer as hulle ingedruk word.

BUZZER

Skakel die HB50 -bord af en soldeer die zoemer op sy pads. Rig die punt op die zoemer om die naaste aan die "+" -blok op die HB50 -bord te wees. Programmeer die buzzer_demo -skets en stel die bord terug (EN) om dit te laat loop. Klink goed?

WS2812B RGB LED's

Skakel die HB50 -bord af en soldeer die ses LED's op hul pads. Rig die wit gemerkte hoek van elke LED sodat dit ooreenstem met die hoek met die oortjies, soos op die PCB -syskerm getoon.

Installeer die FastLED -biblioteek vanuit die Arduino IDE -gereedskap> Bestuur biblioteke.

Maak die skets oop: File> Voorbeelde> FastLED> ColorPalette.

Verander LED_PIN in die sketskode na 13, NUM_LEDS na 6 en LED_TYPE na WS2812B.

Laai die skets op en herstel (EN) die bord om dit te laat loop. Geniet blink ligte van elke kleur.

LINEARRE KRAGREGELAAR

Met die LED's in spel (en veral sodra die WiFi -sender aangeskakel is) haal die HB50 baie stroom uit die 3V3 -toevoer. Kom ons verbeter die 3.3V -kragvermoë deur die AMS1117 (SOT 233 -pakket) lineêre reguleerder vas te soldeer. Vul ook die twee 22uF -filterkapasitors langs die reguleerder in. Let daarop dat die een kant van elke kapasitor seeskerm reghoekig is en die ander kant as agtkantig. Die kapasitors moet so gerig wees dat die donker rand van die verpakking in lyn is met die agtkantige sykant. Die reguleerder sal nou van die 5V -toevoer na 3.3V omskakel en kan baie meer stroom verskaf as die CP2102 -module op sigself. Beweeg nou beide EINDE van die 3V3 DuPont -trui na 5V om die HB50 deur die 5V -voeding te voorsien. Dit wil sê, bron 5V van die CP2102 -module in een van die 5V -invoerpenne op die HB50 -kop. Let daarop dat die 5V -pen eintlik voorsien kan word van enige spanning tussen 3.5V en 5V.

Stap 5: ILI9341 QVGA -kleur TFT LCD -skerm

ILI9341 QVGA kleur TFT LCD -skerm
ILI9341 QVGA kleur TFT LCD -skerm

Die MSP2402 Display (lcdwiki -bladsy) is 'n SPI -busmodule gebaseer op die ILI9341 -chip. Die chip bestuur 'n 2,4 duim kleurskerm met 65 000 kleure en 'n resolusie van 320X240 pixels (QVGA).

Die module het ook aanraakskerminvoer en 'n SD -kaartgleuf.

I/O-PINS VOOR TOETSWYS

As u tot op hierdie punt probleme ondervind het met die soldeer van die ESP-WROOM-32-pen, is dit miskien 'n goeie idee om die I/O-penne van die vertoonmodule vooraf te toets voordat u die vertoonmodule op sy plek soldeer. Soos hieronder getoon en op die skematiese diagram van die PCB, is die ESP32 IO's in die spel 19, 23, 18, 5, 22, 21 en 15. Let daarop dat dit die IO -nommers is en nie die pinnommers nie. Die penne kan getoets word deur 'n klein program te skryf wat al die IO's as uitsette stel en dan deur die IO's loop om elkeen op sy beurt aan en af te skakel met 'n tweede of twee vertragings tussen. 'N Eenvoudige LED met 'n stroombeperkende weerstand kan as 'n sonde gebruik word om seker te maak dat elke IO-pen wat aan die skermkoptekens (sien die skema) gekoppel is, behoorlik aan- en afgeskakel word en dat nie een van hulle aan mekaar gekoppel is nie.

Sodra al die penne geverifieer is, kan die TFT -skerm op sy plek gesoldeer word met beide die lang en die kort kop.

INSTalleer en konfigureer TFT -biblioteek

Installeer die TFT_eSPI -biblioteek vanuit die Arduino IDE: tools> Manage Libraries

Gaan na die gids Arduino Libraries. Maak die gids TFT_eSPI oop en wysig die lêer User_Setup.h om die module -bestuurder -chip, pixelresolusie en IO -penne op te stel. Doen dit deur seker te maak dat die definisies (on) kommentaar lewer soos hieronder getoon en ingestel word op die waardes soos getoon. U kan verifieer dat dit ooreenstem met die verbindings in die PCB -skema.

// Afdeling 1.

#define ILI9341_DRIVER #definieer TFT_WIDTH 240 #define TFT_HEIGHT 320 // Afdeling 2. // Vir ESP32 Dev -bord #definieer TFT_MISO 19 #definieer TFT_MOSI 23 #definieer TFT_SCLK 18 #definieer TFT_CS 5 #definieer TFT_DC #definieer TFT_DC TFT_RST -1 // #definieer TFT_BL 32 #definieer TOUCH_CS 15

Maak die skets oop en laai dit op:

Lêer> Voorbeelde> TFT_eSPI> 320 x 240> Cellular_Automata

Hierdie skets is 'n koel visuele demonstrasie van Conway's Game of Life.

'N Hacker -sweeftuig kan tot stand kom … hou 'n oog!

WERK HACKERBOX -LOGO OP TFT LCD

Probeer die BitHeadDemo -skets.

Stap 6: Gebruikersinvoer van die aanraakskerm

Raakskerm -gebruikersinvoer
Raakskerm -gebruikersinvoer

Die volgende skets kan gebruik word om die funksies van die aanraakskerm op te stel en te toets:

Lêer> Voorbeelde> TFT_eSPI> 320 x 240> Toetsenbord_240x320

Die "stuur" -knoppie stuur die ingevoerde nommer na die seriële monitor teen 9600 baud.

Stap 7: CardKB I2C -sleutelbord

CardKB I2C -sleutelbord
CardKB I2C -sleutelbord

Hierdie klein bord implementeer 'n volledige QWERTY-sleutelbord wat byna enige van u mikrokontroller-projekte gebruik kan word. Die sleutelbord kommunikeer met behulp van 'n GROVE A -poort (I2C -koppelvlak) op Adres 0x5F. Knoppiekombinasies (Sym+Key, Shift+Key, Fn+Key) word ondersteun om ryk sleutelwaardes af te lewer.

Begin met die eenvoudige voorbeeld CardKB_Serial -skets, wat met die sleutelbord kommunikeer oor GROVE I2C en die druk van die druk op die seriële monitor weerspieël. Die skets kan uitgevoer word op ESP32 (soos die HB50), Arduino UNO, Arduino Nano, of enige platform wat I2C ondersteun.

Let daarop dat daar twee verskillende Wire.begin -oproepe is vir ESP32 en vir UNO/Nano. Los die toepaslike een van die reëls vir die gasheer wat u gebruik, op. Draai die geel -en -wit GROVE -uitbreekdrade om die penne op die kodereël. Draai die rooi GROVE -uitbreekdraad na 5V en die Black GROVE -draad na GND.

Vervaardiger se dokumentasiebladsy. Let daarop dat die firmware-bron ook beskikbaar is, alhoewel die ingeboude mikrobeheerder aan die CardKB vooraf geprogrammeer is, as u die sleutelbord wil kap.

Stap 8:

Beeld
Beeld

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: