Inhaltsverzeichnis:

HackerBox 0050 - Gunook
HackerBox 0050 - Gunook

Video: HackerBox 0050 - Gunook

Video: HackerBox 0050 - Gunook
Video: 0040 2024, November
Anonim
HackerBox 0050
HackerBox 0050

Grüße an HackerBox-Hacker auf der ganzen Welt! Für HackerBox 0050 bestücken und programmieren wir das Embedded-Prozessorboard HB50. Der HB50 unterstützt das Experimentieren mit ESP32-Mikrocontrollern, eingebettetem IoT-WLAN, Bit-Bang-Sound, RGB-LEDs, vollfarbigen TFT-LCD-Displays, Touchscreen-Eingängen, Bluetooth und mehr. HackerBox 0050 erforscht auch eine winzige Tastaturlösung für jedes eingebettete Projekt, I2C-Schnittstellen, Energiebudgetierung und Mobilfunkautomaten.

Diese Anleitung enthält Informationen zum Einstieg in die HackerBox 0050, die Sie hier erwerben können, solange der Vorrat reicht. Wenn Sie jeden Monat eine solche HackerBox direkt in Ihre Mailbox erhalten möchten, abonnieren Sie bitte HackerBoxes.com und machen Sie mit bei der Revolution!

HackerBoxes ist der monatliche Abonnement-Box-Service für Hardware-Hacker und Enthusiasten von Elektronik und Computertechnologie. Erleben Sie mit uns das HACK LIFE.

Schritt 1: Inhaltsliste für HackerBox 0050

  • Exklusive HB50-Leiterplatte
  • ESP-WROOM-32 Dual-Core-WLAN-Modul
  • QVGA-Farb-TFT-LCD 2,4-Zoll-Display
  • Integrierter Touchscreen mit Eingabestift
  • Sechs WS2812B RGB-LEDs
  • Sechs oberflächenmontierbare Tacile-Tasten
  • Piezo Summer 12mm SMD
  • AMS1117 3.3V Linearregler SOT223
  • Rechtwinkliger 40-Pin-Breakaway-Header
  • Zwei 22uF Tantalkondensatoren 1206 SMD
  • Zwei 10K Ohm Widerstände 0805 SMD
  • CardKB Mini-Tastatur
  • Grove-auf-Buchse DuPont Breakout-Kabel
  • CP2102 USB-Seriell-Modul
  • DuPont Pullover Damen-Weiblich 10cm
  • Hokusai Great Wave PCB-Aufkleber
  • Exklusiver HackerBox WireHead Aufkleber
  • Exklusive HackerBox 50 Challenge Coin

Einige andere Dinge, die hilfreich sein werden:

  • Lötkolben, Lötzinn und grundlegende Lötwerkzeuge
  • Computer zum Ausführen von Softwaretools

Am wichtigsten sind Abenteuerlust, Hackergeist, Geduld und Neugier. Das Bauen und Experimentieren mit Elektronik ist zwar sehr lohnend, kann jedoch knifflig, herausfordernd und manchmal sogar frustrierend sein. Das Ziel ist Fortschritt, nicht Perfektion. Wenn man hartnäckig bleibt und das Abenteuer genießt, kann man viel Befriedigung aus diesem Hobby ziehen. Machen Sie jeden Schritt langsam, achten Sie auf die Details und haben Sie keine Angst, um Hilfe zu bitten.

In den HackerBoxes FAQ gibt es eine Fülle von Informationen für aktuelle und zukünftige Mitglieder. Fast alle nicht-technischen Support-E-Mails, die wir erhalten, werden dort bereits beantwortet. Wir freuen uns daher sehr, dass Sie sich ein paar Minuten Zeit nehmen, um die FAQ zu lesen.

Schritt 2: HB50-Leiterplatte

HB50-Leiterplatte
HB50-Leiterplatte

Um der HackerBox Nummer 0050 zu gedenken, haben wir auf vielfachen Wunsch eine aktualisierte Version der beliebtesten HackerBox-Platine entwickelt. Das HackerBox 0020 Summer Camp Badge Kit war auf der DEF CON 25 in weniger als zwei Stunden ausverkauft. Die PCB-Dateien wurden seitdem häufig angefordert. Die Tafel wurde mindestens ein paar Mal von Dritten nachgedruckt. Das Design hat eine Handvoll anderer Abzeichen und eingebetteter IoT-Projekte inspiriert, die uns bekannt sind, und hoffentlich einige weitere, die wir nicht kennen.

Zu den Updates des neuen HB50 PCB-Kits gehört der Austausch des ESP-32 DEVkitC gegen das kompaktere ESP-WROOM-32-Modul. Die fünf kapazitiven Touch-Tasten wurden durch mechanische taktile Tasten ersetzt. Die fünf RGB-WS2812-LEDs, die sich in weißen Gehäusen befanden, wurden auf sechs erhöht und befinden sich jetzt in schwarzen Gehäusen. Der Piezo-Summer wurde durch eine kompaktere SMD-Version ersetzt. Die Stromversorgung wurde vereinfacht. Das Farb-TFT-Display wurde von 2,2 Zoll auf 2,4 Zoll vergrößert. Die Platine ist kompakter und hat sogar ein paar IO-Pins für Ihr Hacking-Vergnügen herausgebrochen. Seit HackerBox 20 gibt es viel mehr Projekte, Beispiele und Code für den ESP32, also machen wir uns bereit zu rumpeln…

Merkmale:

  • ESP32 Dual-Core-Prozessor mit 160 MHz
  • 2,4-Zoll-QVGA-Farb-TFT-LCD-Display
  • WLAN 802.11 b/g/n/d/e/i/k/r
  • Bluetooth LE 5.0
  • Fünf taktile Drucktasten (+ einer für Reset)
  • Sechs RGB WS2812 LEDs
  • Piezo-Summer
  • 3.3V Linearregler
  • Erweiterungs-Header

Wie sein Vorgänger kann der HB50 an einem Schlüsselband getragen, als Handheld verwendet, an einer Wand montiert oder praktisch überall in unzähligen drahtlosen und farbenfrohen Anwendungen eingesetzt werden.

Schritt 3: Rufen Sie das HB50-Board auf

Rufen Sie das HB50-Board auf
Rufen Sie das HB50-Board auf

Um Fehler zu minimieren oder zumindest zu isolieren, empfehlen wir, mit der Montage zu beginnen, indem Sie nur die minimalen Komponenten auf der HB50-Platine bestücken, die zum Programmieren des ESP32 erforderlich sind. Dieser minimal tragfähige Ansatz wird in diesen Schritten beschrieben:

  1. Sehen Sie sich dieses Video zum Löten von kastellierten Modulen an.
  2. Löten Sie das ESP-WROOM-32-Modul auf die Platine. Lass dir Zeit. Machen Sie sich keine Sorgen um das zentrale Massepad unter dem Modul. Es kann nur per Reflow gelötet werden und dient nur der zusätzlichen thermischen Kopplung.
  3. Verwenden Sie ein Multimeter, um sicherzustellen, dass zwischen 3V3 und GND kein Kurzschluss besteht. Wenn es einen Kurzschluss gibt, muss dieser erkannt und entfernt werden, bevor das Board mit Strom versorgt wird, da sonst das Rauchmonster herauskommt.
  4. Löten Sie die beiden 10K-Widerstände direkt über den Tasten EN und IO0.
  5. Löten Sie die Tasten EN und IO0. Die anderen vier Tasten können vorerst weggelassen werden.
  6. Brechen Sie eine 16-polige Leiste des Headers ab. Setzen Sie es von der CPU-Seite der Platine so ein, dass die Pins zur nächsten Kante der Platine zeigen. Löten Sie dann den Header von der Knopfseite der Platine an.
  7. Stellen Sie erneut sicher, dass zwischen 3V3 und GND keine Kurzschlüsse vorliegen.
  8. Verwenden Sie vier DuPont-Überbrückungsdrähte, um das CP2102-Modul wie abgebildet anzuschließen. Beachten Sie, dass wir vorübergehend die 3V3-Stromquelle verwenden, da der Linearregler noch nicht auf der Platine bestückt ist.
  9. Wenn auf Ihrem Computer noch nicht die Arduino IDE installiert ist, erhalten Sie sie hier.
  10. Konfigurieren Sie die ESP32-Unterstützung innerhalb der Arduino-IDE mithilfe dieser Anleitung.
  11. Stellen Sie in der IDE Tools > Board auf "ESP32 Wrover Module" ein.
  12. Stecken Sie das CP2102-Modul in einen USB-Port des Computers.
  13. Stellen Sie in der IDE tools > port auf den richtigen USB-Port für den CP2102 ein.
  14. Wenn beim Einsetzen des CP2102-Moduls kein neuer Port angezeigt wird, installieren Sie den erforderlichen USB-Treiber von Silicon Labs.
  15. Schnappen Sie sich die button_demo-Skizze.
  16. Kompilieren Sie die Skizze und laden Sie sie hoch.
  17. Wenn das Hochladen beginnt, halten Sie die Tasten EN und IO0 gedrückt. EN ist im Grunde eine Reset-Taste und IO0 ist der Umreifungsstift, um eine Neuprogrammierung des Blitzes zu erzwingen.
  18. Sobald die Punkte und Striche in der IDE erscheinen, lassen Sie die EN-Taste los (Reset loslassen), aber halten Sie die IO0-Taste weiterhin gedrückt, bis die Flash-Programmierung beginnt, um sicherzustellen, dass der Umreifungsstift beim Booten erkannt wird.
  19. Wenn die Programmierung abgeschlossen ist, drücken Sie erneut die EN-Taste, um den neu blinkenden Code zurückzusetzen und zu starten.
  20. Öffnen Sie den Arduino IDE Serial Monitor und stellen Sie ihn auf 115200 Baud ein.
  21. Das Drücken der IO0-Taste sollte eine Meldung im seriellen Monitor erzeugen.

Schritt 4: Tasten, Summer und LEDs, OH MY

Tasten, Summer und LEDs, OH MY!
Tasten, Summer und LEDs, OH MY!

WEITERE TASTEN

Sobald der erste Programmierschritt erfolgreich ist, schalten Sie die HB50-Platine aus und löten Sie die verbleibenden vier Tasten an. Die gleiche button_demo-Skizze sollte jetzt alle fünf Tasten (IO0, A, B, C und D) an den seriellen Monitor melden, wenn sie gedrückt werden.

SUMMER

Schalten Sie die HB50-Platine aus und löten Sie den Summer auf die Pads. Richten Sie den Punkt auf dem Summer so aus, dass er dem "+"-Pad auf der HB50-Platine am nächsten ist. Programmieren Sie die Summer_demo-Skizze und setzen Sie das Board zurück (EN), um es laufen zu lassen. Hört sich gut an?

WS2812B RGB-LEDs

Schalten Sie die HB50-Platine aus und löten Sie die sechs LEDs auf ihre Pads. Richten Sie die weiß markierte Ecke jeder LED so aus, dass sie der mit Laschen versehenen Ecke entspricht, wie auf dem PCB-Siebdruck gezeigt.

Installieren Sie über die Arduino IDE-Tools > Bibliotheken verwalten die FastLED-Bibliothek.

Öffnen Sie die Skizze: Datei > Beispiele > FastLED > ColorPalette.

Ändern Sie im Skizzencode LED_PIN in 13, NUM_LEDS in 6 und LED_TYPE in WS2812B.

Laden Sie die Skizze hoch und setzen Sie das Board zurück (DE), um es laufen zu lassen. Genießen Sie blinkende Lichter in jeder Farbe.

LINEARLEISTUNGSREGLER

Mit den LEDs im Spiel (und besonders wenn der WiFi-Sender aktiviert ist) zieht der HB50 viel Strom aus der 3V3-Versorgung. Lassen Sie uns die 3,3-V-Leistungskapazität verbessern, indem wir den Linearregler AMS1117 (SOT 233-Package) einlöten. Bestücken Sie auch die beiden 22uF-Filterkondensatoren neben dem Regler. Beachten Sie, dass eine Seite jedes Kondensator-Siebdrucks rechteckig und die andere Seite achteckig ist. Die Kondensatoren sollten so ausgerichtet sein, dass der dunkle Streifen auf dem Gehäuse mit der achteckigen Siebdruckseite ausgerichtet ist. Der Regler wandelt nun einen Teil der 5V-Versorgung in 3,3V um und kann viel mehr Strom liefern als das CP2102-Modul allein. Um nun den HB50 über die 5V-Versorgung mit Strom zu versorgen, schieben Sie BEIDE ENDEN des 3V3-DuPont-Jumpers auf 5V. Das heißt, 5V vom CP2102-Modul in einen der 5V-Eingangspins am HB50-Header einspeisen. Beachten Sie, dass der 5V-Pin tatsächlich mit jeder Spannung zwischen 3,5V und 5V versorgt werden kann.

Schritt 5: ILI9341 QVGA-Farb-TFT-LCD-Display

ILI9341 QVGA-Farb-TFT-LCD-Display
ILI9341 QVGA-Farb-TFT-LCD-Display

Das MSP2402 Display (lcdwiki-Seite) ist ein SPI-Busmodul basierend auf dem ILI9341-Chip. Der Chip steuert einen 2,4-Zoll-Farbbildschirm mit 65.000 Farben und einer Auflösung von 320 x 240 Pixeln (QVGA) an.

Das Modul verfügt außerdem über eine Touchscreen-Eingabe und einen SD-Kartensteckplatz.

VORTEST DISPLAY I/O PINS

Wenn Sie bis zu diesem Zeitpunkt Probleme mit dem Löten der ESP-WROOM-32-Pins hatten, ist es möglicherweise eine gute Idee, die I/O-Pins des Anzeigemoduls vorab zu testen, bevor Sie das Anzeigemodul anlöten. Wie unten und auf dem Schaltplan der Platine gezeigt, sind die ESP32-IOs 19, 23, 18, 5, 22, 21 und 15. Beachten Sie, dass dies die IO-Nummern und nicht die Pin-Nummern sind. Die Pins können getestet werden, indem ein kleines Programm geschrieben wird, das alle diese IOs als Ausgänge festlegt und dann die IOs durchläuft und jeden einzelnen nacheinander mit einer oder zwei Sekunden Verzögerung dazwischen ein- und ausschaltet. Eine einfache LED mit einem angeschlossenen Strombegrenzungswiderstand kann als Sonde verwendet werden, um sicherzustellen, dass jeder IO-Pin, der den Display-Headern zugeordnet ist (siehe Schema), richtig ein- und ausgeschaltet wird und keiner von ihnen miteinander verbunden ist.

Sobald alle Pins verifiziert sind, kann das TFT-Display sowohl mit den langen als auch mit den kurzen Stiftleisten verlötet werden.

TFT-BIBLIOTHEK INSTALLIEREN UND KONFIGURIEREN

Von der Arduino IDE: Tools > Manage Libraries, installiere die TFT_eSPI Library

Gehen Sie zum Ordner Arduino-Bibliotheken. Öffnen Sie den Ordner TFT_eSPI und bearbeiten Sie die Datei User_Setup.h, um den Modultreiberchip, die Pixelauflösung und die IO-Pins zu konfigurieren. Stellen Sie dazu sicher, dass die Definitionen wie unten gezeigt (un)kommentiert und auf die angezeigten Werte eingestellt sind. Sie können überprüfen, ob diese den Anschlüssen im Leiterplattenschema entsprechen.

// Abschnitt 1.

#define ILI9341_DRIVER #define TFT_WIDTH 240 #define TFT_HEIGHT 320 // Abschnitt 2. // Für ESP32-Entwicklungsplatine #define TFT_MISO 19 #define TFT_MOSI 23 #define TFT_SCLK 18 #define TFT_CS 5 #define TFT_DC 22 #define TFT_RST 21 //#define TFT_RST -1 //#define TFT_BL 32 #define TOUCH_CS 15

Öffnen Sie die Skizze und laden Sie sie hoch:

Datei > Beispiele > TFT_eSPI > 320 x 240 > Cellular_Automata

Diese Skizze ist eine coole visuelle Demonstration von Conways Game of Life.

Ein Hacker-Segelflugzeug könnte sich entwickeln … Passen Sie auf!

HACKERBOX-LOGO AUF TFT-LCD ANZEIGEN

Probieren Sie die BitHeadDemo-Skizze aus.

Schritt 6: Touchscreen-Benutzereingabe

Touchscreen-Benutzereingabe
Touchscreen-Benutzereingabe

Mit der folgenden Skizze können Sie die Touchscreen-Funktionalität konfigurieren und testen:

Datei > Beispiele > TFT_eSPI > 320 x 240 > Tastatur_240x320

Die Schaltfläche "Senden" überträgt die eingegebene Nummer mit 9600 Baud an den seriellen Monitor.

Schritt 7: CardKB I2C-Tastatur

CardKB I2C-Tastatur
CardKB I2C-Tastatur

Dieses winzige Board implementiert eine voll funktionsfähige QWERTZ-Tastatur, die mit so ziemlich jedem Ihrer Mikrocontroller-Projekte verwendet werden kann. Die Tastatur kommuniziert über einen GROVE A-Port (I2C-Schnittstelle) an Adresse 0x5F. Tastenkombinationen (Sym+Key, Shift+Key, Fn+Key) werden unterstützt, um Rich-Key-Werte auszugeben.

Beginnen Sie mit der einfachen Beispielskizze CardKB_Serial, die über GROVE I2C mit der Tastatur kommuniziert und Tastendrücke an den Serial Monitor sendet. Der Sketch kann auf ESP32 (wie dem HB50), Arduino UNO, Arduino Nano oder jeder Plattform ausgeführt werden, die I2C unterstützt.

Beachten Sie, dass es zwei verschiedene Wire.begin-Aufrufe für ESP32 und für UNO/Nano gibt. Entkommentieren Sie die entsprechende Zeile für den von Ihnen verwendeten Host. Verdrahten Sie die gelben und weißen GROVE-Breakout-Drähte mit den in dieser Codezeile angegebenen Pins. Verdrahten Sie das rote GROVE-Breakout-Kabel mit 5 V und das schwarze GROVE-Kabel mit GND.

Dokumentationsseite des Herstellers. Beachten Sie, dass die Firmware-Quelle verfügbar ist, obwohl der CardKB-Onboard-Mikrocontroller vorprogrammiert ist, wenn Sie die Tastatur hacken möchten.

Schritt 8:

Bild
Bild

Wir hoffen, dass Ihnen das HackerBox-Abenteuer in diesem Monat in Elektronik und Computertechnologie gefällt. Melde dich und teile deinen Erfolg in den Kommentaren unten oder in der HackerBoxes Facebook-Gruppe. Denken Sie auch daran, dass Sie jederzeit eine E-Mail an [email protected] senden können, wenn Sie eine Frage haben oder Hilfe benötigen.

Was kommt als nächstes? Schließen Sie sich der Revolution an. Lebe das HackLife. Erhalten Sie jeden Monat eine Kühlbox mit hackbarer Ausrüstung direkt in Ihre Mailbox. Surfen Sie zu HackerBoxes.com und melden Sie sich für Ihr monatliches HackerBox-Abonnement an.

Empfohlen: