Inhoudsopgave:

HackerBox 0050: 8 stappen
HackerBox 0050: 8 stappen

Video: HackerBox 0050: 8 stappen

Video: HackerBox 0050: 8 stappen
Video: Projects - July 2016 2024, Juli-
Anonim
HackerBox 0050
HackerBox 0050

Groeten HackerBox Hackers over de hele wereld! Voor HackerBox 0050 assembleren en programmeren we het HB50 embedded processorbord. De HB50 ondersteunt experimenten met ESP32-microcontrollers, ingebouwde IoT-wifi, bit-bang-geluid, RGB-leds, full-color TFT LCD-schermen, touchscreen-ingangen, Bluetooth en meer. HackerBox 0050 verkent ook een kleine toetsenbordoplossing voor elk ingebed project, I2C-interfaces, energiebudgettering en mobiele automaten.

Deze handleiding bevat informatie om aan de slag te gaan met HackerBox 0050, die hier kan worden gekocht zolang de voorraad strekt. Als je elke maand zo'n HackerBox in je mailbox wilt ontvangen, schrijf je dan in op HackerBoxes.com en doe mee aan de revolutie!

HackerBoxes is de maandelijkse abonnementsservice voor hardwarehackers en liefhebbers van elektronica en computertechnologie. Doe met ons mee in het leven van het HACK LIFE.

Stap 1: Inhoudslijst voor HackerBox 0050

  • Exclusieve HB50 printplaat
  • ESP-WROOM-32 Dual Core WiFi-module
  • QVGA kleuren TFT LCD 2,4 inch scherm
  • Geïntegreerd touchscreen met stylus
  • Zes WS2812B RGB-leds
  • Zes tactiele knoppen voor opbouwmontage
  • Piëzo-zoemer 12 mm SMD
  • AMS1117 3.3V lineaire regelaar SOT223
  • Haakse 40-pins Breakaway Header
  • Twee 22uF tantaalcondensatoren 1206 SMD
  • Twee 10K Ohm Weerstanden 0805 SMD
  • CardKB Mini-toetsenbord
  • Grove naar vrouwelijke DuPont Breakout-kabel
  • CP2102 USB seriële module
  • DuPont Truien Vrouw-Vrouw 10cm
  • Hokusai Great Wave PCB-sticker
  • Exclusieve HackerBox WireHead-sticker
  • Exclusieve HackerBox 50 Challenge Coin

Enkele andere dingen die nuttig zullen zijn:

  • Soldeerbout, soldeer en standaard soldeergereedschappen
  • Computer voor het uitvoeren van softwaretools

Het belangrijkste is dat je gevoel voor avontuur, hackergeest, geduld en nieuwsgierigheid nodig hebt. Het bouwen van en experimenteren met elektronica, hoewel zeer de moeite waard, kan soms lastig, uitdagend en zelfs frustrerend zijn. Het doel is vooruitgang, niet perfectie. Als je volhoudt en geniet van het avontuur, kan er veel voldoening uit deze hobby worden gehaald. Neem elke stap langzaam, let op de details en wees niet bang om hulp te vragen.

Er is een schat aan informatie voor huidige en toekomstige leden in de HackerBoxes FAQ. Bijna alle niet-technische ondersteunings-e-mails die we ontvangen, worden daar al beantwoord, dus we stellen het zeer op prijs dat u een paar minuten de tijd neemt om de veelgestelde vragen te lezen.

Stap 2: HB50 printplaat

HB50 printplaat
HB50 printplaat

Om HackerBox-nummer 0050 te herdenken, hebben we op veler verzoek een bijgewerkte versie van de meest populaire HackerBox-printplaat gemaakt. De HackerBox 0020 Summer Camp-badgekit was in minder dan twee uur uitverkocht bij DEF CON 25. De PCB-bestanden zijn sindsdien veelvuldig opgevraagd. Het bord is in ieder geval een paar keer herdrukt door derden. Het ontwerp heeft een handvol andere badges en embedded IoT-projecten geïnspireerd waarvan we ons bewust zijn en hopelijk nog een aantal waarvan we ons niet bewust zijn.

De updates in de nieuwe HB50 PCB Kit omvatten het verwisselen van de ESP-32 DEVkitC voor de compactere ESP-WROOM-32-module. De vijf capacitieve aanraakknoppen zijn vervangen door mechanische tactiele knoppen. De vijf RGB WS2812 LED's die in witte verpakkingen zaten, zijn verhoogd naar zes en zitten nu in zwarte verpakkingen. De piëzo-zoemer is vervangen door een compactere versie voor opbouwmontage. De voeding is vereenvoudigd. Het kleuren TFT-scherm is vergroot van 2,2 inch naar 2,4 inch. De PCB is compacter en heeft zelfs een paar IO-pinnen uitgebroken voor jouw hackplezier. Sinds de tijd van HackerBox 20 zijn er veel meer projecten, voorbeelden en code beschikbaar voor de ESP32, dus laten we ons klaarmaken om te rommelen …

Functies:

  • ESP32 Dual Core 160MHz-processor
  • 2,4 inch QVGA kleuren TFT LCD-scherm
  • WiFi 802.11 b/g/n/d/e/i/k/r
  • Bluetooth LE 5.0
  • Vijf tactiele drukknoppen (+ één voor reset)
  • Zes RGB WS2812 LED's
  • Piëzo-zoemer
  • 3.3V lineaire regelaar
  • Uitbreidingskop

Net als zijn voorganger kan de HB50 aan een draagkoord worden gedragen, als handheld worden gebruikt, aan een muur worden bevestigd of vrijwel overal worden ingezet in talloze draadloze en kleurrijke toepassingen.

Stap 3: Breng het HB50-bord naar voren

Breng het HB50-bord naar voren
Breng het HB50-bord naar voren

Om fouten te minimaliseren of op zijn minst te isoleren, raden we aan te beginnen met de montage door alleen het absolute minimum aan componenten op de HB50-printplaat te plaatsen die nodig zijn om de ESP32 te programmeren. Deze minimaal haalbare aanpak wordt beschreven in deze stappen:

  1. Bekijk deze video over het solderen van gekartelde modules.
  2. Soldeer de ESP-WROOM-32 module op de printplaat. Neem je tijd. Maak je geen zorgen over het centrale aardingspad onder de module. Het kan alleen worden gesoldeerd door reflow en is er alleen voor extra thermische koppeling.
  3. Gebruik een multimeter om te controleren of er geen kortsluiting is tussen 3V3 en GND. Als er een kortsluiting is, moet deze worden geïdentificeerd en verwijderd voordat de stroom op het bord wordt gezet, anders kan het rookmonster naar buiten komen.
  4. Soldeer de twee 10K-weerstanden net boven de EN- en IO0-knoppen.
  5. Soldeer de EN- en IO0-knoppen. De andere vier knoppen kunnen voorlopig worden weggelaten.
  6. Breek een 16-pins strip van de header af. Steek het vanaf de CPU-zijde van de printplaat zodanig in dat de pinnen naar de dichtstbijzijnde rand van de printplaat wijzen. Soldeer vervolgens de header op zijn plaats vanaf de knopzijde van de printplaat.
  7. Controleer nogmaals of er geen kortsluiting is tussen 3V3 en GND.
  8. Gebruik vier DuPont jumperdraden om de CP2102-module aan te sluiten zoals afgebeeld. Merk op dat we tijdelijk de 3V3-stroombron gebruiken, omdat de lineaire regelaar nog niet op de PCB is geplaatst.
  9. Als de Arduino IDE nog niet op uw computer is geïnstalleerd, kunt u deze hier downloaden.
  10. Configureer ESP32-ondersteuning binnen de Arduino IDE met behulp van deze handleiding.
  11. Stel in de IDE tools > board in op "ESP32 Wrover Module".
  12. Sluit de CP2102-module aan op een USB-poort op de computer.
  13. Stel in de IDE tools > port in op de juiste USB-poort voor de CP2102.
  14. Als er geen nieuwe poort verschijnt wanneer de CP2102-module wordt geplaatst, installeer dan de vereiste USB-driver van Silicon Labs.
  15. Pak de button_demo schets.
  16. Compileer en upload de schets.
  17. Wanneer het uploaden begint, houdt u zowel de EN- als de IO0-knop ingedrukt. NL is in feite een resetknop en IO0 is de omsnoeringspin om het herprogrammeren van de flitser te forceren.
  18. Zodra de punten en streepjes in de IDE verschijnen, laat u de EN-knop los (laat reset los), maar blijft u de IO0-knop ingedrukt houden totdat het flash-programmeren begint om er zeker van te zijn dat de strapping-pin herkend wordt bij het opstarten.
  19. Wanneer het programmeren is voltooid, drukt u nogmaals op de EN-knop om te resetten en de nieuw geflitste code te starten.
  20. Open de Arduino IDE Serial Monitor en stel deze in op 115200 baud.
  21. Als u op de IO0-knop drukt, moet er een bericht worden gegenereerd in de seriële monitor.

Stap 4: Knoppen, zoemers en LED's, OH MY

Knoppen, zoemers en LED's, OH MY!
Knoppen, zoemers en LED's, OH MY!

MEER KNOPPEN

Zodra de eerste programmeerstap succesvol is, schakelt u de HB50-kaart uit en soldeert u de resterende vier knoppen vast. Dezelfde button_demo-schets zou nu alle vijf de knoppen (IO0, A, B, C en D) aan de seriële monitor moeten rapporteren wanneer ze worden ingedrukt.

ZOEMER

Schakel het HB50-bord uit en soldeer de zoemer op de pads. Richt de stip op de zoemer zo dat deze zich het dichtst bij het "+"-veld op het HB50-bord bevindt. Programmeer de buzzer_demo-schets en reset (EN) het bord om het te laten werken. Klinkt goed?

WS2812B RGB-leds

Schakel het HB50-bord uit en soldeer de zes LED's op hun pads. Oriënteer de wit gemarkeerde hoek van elke LED om overeen te komen met de hoek met tabbladen zoals weergegeven op de PCB-zeefdruk.

Installeer de FastLED-bibliotheek vanuit de Arduino IDE-tools > Bibliotheken beheren.

Open de schets: Bestand > Voorbeelden > FastLED > ColorPalette.

Wijzig in de schetscode LED_PIN in 13, NUM_LEDS in 6 en LED_TYPE in WS2812B.

Upload de schets en reset (EN) het bord om het te laten werken. Geniet van knipperende lichten in elke kleur.

LINEAIRE VERMOGENSREGELAAR

Met de LED's in het spel (en vooral als de WiFi-zender is ingeschakeld) trekt de HB50 veel stroom uit de 3V3-voeding. Laten we de stroomcapaciteit van 3,3 V verbeteren door de lineaire regelaar AMS1117 (SOT 233-pakket) op zijn plaats te solderen. Vul ook de twee 22uF filtercondensatoren naast de regelaar. Merk op dat één zijde van elke zeefdruk met condensator rechthoekig is en de andere zijde achthoekig. De condensatoren moeten zo worden geplaatst dat de donkere streep op de verpakking is uitgelijnd met de achthoekige zijde van de zeefdruk. De regelaar zal nu een deel van de 5V-voeding omzetten in 3,3V en kan veel meer stroom leveren dan de CP2102-module zelf. Om de HB50 nu via de 5V-voeding van stroom te voorzien, verplaatst u BEIDE EINDEN van de 3V3 DuPont-jumper naar 5V. Dat wil zeggen, bron 5V van de CP2102-module naar een van de 5V-ingangspinnen op de HB50-header. Merk op dat de 5V-pin eigenlijk kan worden geleverd met elke spanning tussen 3,5V en 5V.

Stap 5: ILI9341 QVGA kleuren TFT LCD-scherm

ILI9341 QVGA kleuren TFT LCD-scherm
ILI9341 QVGA kleuren TFT LCD-scherm

De MSP2402 Display (lcdwiki-pagina) is een SPI-busmodule op basis van de ILI9341-chip. De chip stuurt een 2,4-inch kleurenscherm aan dat 65.000 kleuren ondersteunt en een resolutie van 320X240 pixels (QVGA).

De module beschikt ook over touchscreen-invoer en een SD-kaartsleuf.

PRE-TEST DISPLAY I/O PINS

Als u tot nu toe problemen heeft gehad met het solderen van de ESP-WROOM-32-pins, is het misschien een goed idee om de I/O-pinnen van de displaymodule vooraf te testen voordat u de displaymodule op zijn plaats soldeert. Zoals hieronder en op het schematische diagram van de PCB te zien is, zijn de ESP32 IO's in het spel 19, 23, 18, 5, 22, 21 en 15. Merk op dat dit de IO-nummers zijn en niet de pinnummers. De pinnen kunnen worden getest door een klein programma te schrijven dat al die IO's als uitgangen instelt en vervolgens door de IO's heen en weer fietst, waarbij elke IO om de beurt wordt in- en uitgeschakeld met een vertraging van een seconde of twee. Een eenvoudige LED met een stroombegrenzende weerstand aangesloten kan worden gebruikt als een sonde om ervoor te zorgen dat elke IO-pin die is toegewezen aan de display-headers (zie het schema) correct wordt in- en uitgeschakeld en dat geen van hen aan elkaar is gekoppeld.

Zodra alle pinnen zijn geverifieerd, kan het TFT-scherm op zijn plaats worden gesoldeerd met zowel de lange als de korte headers.

INSTALLEER EN CONFIGUREER TFT LIBRARY

Vanuit de Arduino IDE: tools > Bibliotheken beheren, installeer de TFT_eSPI-bibliotheek

Ga naar de map Arduino-bibliotheken. Open de map TFT_eSPI en bewerk het bestand User_Setup.h om de modulestuurprogrammachip, pixelresolutie en IO-pinnen te configureren. Doe dit door ervoor te zorgen dat de definities (un)commentaar zijn zoals hieronder weergegeven en ingesteld op de waarden zoals weergegeven. U kunt controleren of deze overeenkomen met de aansluitingen in het PCB-schema.

// Sectie 1.

#define ILI9341_DRIVER #define TFT_WIDTH 240 #define TFT_HEIGHT 320 // Sectie 2. // Voor ESP32 Dev board #define TFT_MISO 19 #define TFT_MOSI 23 #define TFT_SCLK 18 #define TFT_CS 5 #define TFT_DC 22 #define TFT_RST 21 // TFT_RST -1 //#define TFT_BL 32 #define TOUCH_CS 15

Open en upload de schets:

Bestand > Voorbeelden > TFT_eSPI > 320 x 240 > Cellular_Automata

Deze schets is een coole visuele demonstratie van Conway's Game of Life.

Een hacker-zweefvliegtuig kan uitgroeien tot een bestaan … houd een oogje in het zeil!

DISPLAY HACKERBOX-LOGO OP TFT LCD

Probeer de BitHeadDemo-schets uit.

Stap 6: Gebruikersinvoer via touchscreen

Gebruikersinvoer via touchscreen
Gebruikersinvoer via touchscreen

De volgende schets kan worden gebruikt om de functionaliteit van het aanraakscherm te configureren en te testen:

Bestand > Voorbeelden > TFT_eSPI > 320 x 240 > Toetsenbord_240x320

De knop "verzenden" verzendt het ingevoerde nummer naar de seriële monitor op 9600 baud.

Stap 7: CardKB I2C-toetsenbord

CardKB I2C-toetsenbord
CardKB I2C-toetsenbord

Dit kleine bord implementeert een volledig uitgerust QWERTY-toetsenbord dat met vrijwel al uw microcontrollerprojecten kan worden gebruikt. Het toetsenbord communiceert via een GROVE A-poort (I2C-interface) op adres 0x5F. Knopcombinaties (Sym+Key, Shift+Key, Fn+Key) worden ondersteund om rijke toetswaarden uit te voeren.

Begin met het eenvoudige voorbeeld CardKB_Serial-schets, die via GROVE I2C met het toetsenbord communiceert en toetsaanslagen weergalmt naar de seriële monitor. De schets kan worden uitgevoerd op ESP32 (zoals de HB50), Arduino UNO, Arduino Nano of elk platform dat I2C ondersteunt.

Merk op dat er twee verschillende Wire.begin-aanroepen zijn voor ESP32 en voor UNO/Nano. Uncommenteer de juiste van die regels voor de host die u gebruikt. Sluit de gele en witte GROVE-doorbraakdraden aan op de pinnen die op die coderegel zijn aangegeven. Sluit de rode GROVE-doorbraakdraad aan op 5V en de zwarte GROVE-draad op GND.

Fabrikant documentatie pagina. Merk op dat hoewel de CardKB-microcontroller aan boord voorgeprogrammeerd is, de firmwarebron beschikbaar is als je het toetsenbord wilt hacken.

Stap 8:

Afbeelding
Afbeelding

We hopen dat je geniet van het HackerBox-avontuur van deze maand op het gebied van elektronica en computertechnologie. Reik uit en deel uw succes in de reacties hieronder of op de HackerBoxes Facebook Group. Onthoud ook dat je [email protected] op elk moment kunt e-mailen als je een vraag hebt of hulp nodig hebt.

Wat is het volgende? Doe mee met de revolutie. Leef het HackLife. Ontvang elke maand een koelbox met hackbare uitrusting rechtstreeks in je mailbox. Surf naar HackerBoxes.com en meld u aan voor uw maandelijkse HackerBox-abonnement.

Aanbevolen: