Spisu treści:

HackerBox 0050: 8 kroków
HackerBox 0050: 8 kroków

Wideo: HackerBox 0050: 8 kroków

Wideo: HackerBox 0050: 8 kroków
Wideo: Projects - July 2016 2024, Lipiec
Anonim
HackerBox 0050
HackerBox 0050

Pozdrowienia dla hakerów HackerBox na całym świecie! W przypadku HackerBox 0050 montujemy i programujemy płytkę procesora wbudowanego HB50. HB50 obsługuje eksperymenty z mikrokontrolerami ESP32, wbudowanym Wi-Fi IoT, dźwiękiem bit bang, diodami LED RGB, kolorowymi wyświetlaczami TFT LCD, wejściami ekranu dotykowego, Bluetooth i innymi. HackerBox 0050 bada również małe rozwiązanie klawiatury dla dowolnego wbudowanego projektu, interfejsów I2C, budżetowania mocy i automatów komórkowych.

Ten przewodnik zawiera informacje, jak zacząć korzystać z HackerBox 0050, który można kupić tutaj do wyczerpania zapasów. Jeśli chcesz otrzymywać co miesiąc taki HackerBox bezpośrednio do swojej skrzynki pocztowej, zasubskrybuj na HackerBoxes.com i dołącz do rewolucji!

HackerBoxes to miesięczny abonament dla hakerów sprzętowych oraz entuzjastów elektroniki i technologii komputerowych. Dołącz do nas w życiu HACK LIFE.

Krok 1: Lista zawartości dla HackerBox 0050

  • Ekskluzywna płytka drukowana HB50
  • Dwurdzeniowy moduł WiFi ESP-WROOM-32
  • Kolorowy wyświetlacz TFT LCD QVGA o przekątnej 2,4 cala
  • Zintegrowany ekran dotykowy z rysikiem
  • Sześć diod LED RGB WS2812B
  • Sześć dotykowych przycisków do montażu powierzchniowego
  • Brzęczyk piezoelektryczny 12mm SMD
  • Regulator liniowy AMS1117 3.3V SOT223
  • Kątowy 40-pinowy nagłówek odrywający
  • Dwa kondensatory tantalowe 22uF 1206 SMD
  • Dwa rezystory 10K Ohm 0805 SMD
  • Mini klawiatura CardKB
  • Kabel Grove do żeńskiego DuPont Breakout
  • Moduł szeregowy USB CP2102
  • DuPont bluzy damskie-damskie 10cm
  • Naklejka na płytkę drukowaną Hokusai Great Wave
  • Ekskluzywna naklejka HackerBox WireHead
  • Ekskluzywna moneta wyzwania HackerBox 50

Kilka innych rzeczy, które będą pomocne:

  • Lutownica, lut i podstawowe narzędzia lutownicze
  • Komputer do uruchamiania narzędzi programowych

Co najważniejsze, będziesz potrzebować poczucia przygody, ducha hakera, cierpliwości i ciekawości. Budowanie i eksperymentowanie z elektroniką, choć bardzo satysfakcjonujące, może być trudne, trudne, a czasem nawet frustrujące. Celem jest postęp, a nie doskonałość. Kiedy wytrwasz i cieszysz się przygodą, to hobby może przynieść wiele satysfakcji. Zrób każdy krok powoli, pamiętaj o szczegółach i nie bój się prosić o pomoc.

W FAQ HackerBoxes znajduje się mnóstwo informacji dla obecnych i przyszłych członków. Odpowiedzi na prawie wszystkie nietechniczne e-maile, które otrzymujemy, są już tam udzielane, więc naprawdę dziękujemy za poświęcenie kilku minut na przeczytanie FAQ.

Krok 2: Płytka drukowana HB50

Płytka drukowana HB50
Płytka drukowana HB50

Aby upamiętnić numer HackerBox 0050, stworzyliśmy zaktualizowaną wersję najpopularniejszej płytki drukowanej HackerBox zgodnie z popularnym zapotrzebowaniem. Zestaw odznak HackerBox 0020 Summer Camp wyprzedał się na DEF CON 25 w mniej niż dwie godziny. Pliki PCB są od tego czasu często wymagane. Plansza była co najmniej kilkakrotnie przedrukowywana przez osoby trzecie. Projekt zainspirował kilka innych odznak i osadzonych projektów IoT, o których wiemy, i miejmy nadzieję, że kilka innych, o których nie wiemy.

Aktualizacje znalezione w nowym zestawie PCB HB50 obejmują zamianę ESP-32 DEVkitC na bardziej kompaktowy moduł ESP-WROOM-32. Pięć pojemnościowych przycisków dotykowych zostało zastąpionych mechanicznymi przyciskami dotykowymi. Pięć diod LED RGB WS2812, które były w białych opakowaniach, zostało zwiększonych do sześciu i są teraz w czarnych opakowaniach. Brzęczyk piezoelektryczny został zastąpiony bardziej kompaktową wersją do montażu powierzchniowego. Zasilacz został uproszczony. Kolorowy wyświetlacz TFT został zwiększony z 2,2 cala do 2,4 cala. Płytka drukowana jest bardziej kompaktowa i ma nawet kilka wyprowadzonych pinów IO dla przyjemności hakowania. Od czasów HackerBox 20 dostępnych jest o wiele więcej projektów, przykładów i kodu dla ESP32, więc przygotujmy się na awanturę…

Cechy:

  • Dwurdzeniowy procesor ESP32 160 MHz
  • Kolorowy wyświetlacz TFT LCD o przekątnej 2,4 cala QVGA
  • Wi-Fi 802.11 b/g/n/d/e/i/k/r
  • Bluetooth LE 5.0
  • Pięć przycisków dotykowych (+ jeden do resetowania)
  • Sześć diod LED RGB WS2812
  • Brzęczyk piezoelektryczny
  • Regulator liniowy 3.3V
  • Nagłówek rozszerzenia

Podobnie jak jego poprzednik, HB50 może być noszony na smyczy, używany jako podręczny, montowany na ścianie lub rozmieszczony praktycznie w dowolnym miejscu w niezliczonych bezprzewodowych i kolorowych zastosowaniach.

Krok 3: Uruchom płytę HB50

Pokaż płytę HB50
Pokaż płytę HB50

Aby zminimalizować lub przynajmniej wyizolować błędy, sugerujemy rozpoczęcie montażu od wypełnienia płytki PCB HB50 tylko minimum elementów, które są wymagane do zaprogramowania ESP32. To minimalne opłacalne podejście jest opisane w następujących krokach:

  1. Obejrzyj ten film na temat lutowania modułów kasetonowych.
  2. Przylutuj moduł ESP-WROOM-32 do płytki drukowanej. Nie spiesz się. Nie martw się o centralną podkładkę uziemiającą pod modułem. Może być lutowany tylko przez rozpływ i służy tylko do dodatkowego sprzężenia termicznego.
  3. Użyj multimetru, aby upewnić się, że nie ma zwarcia między 3V3 a GND. Jeśli jest zwarcie, musi zostać zidentyfikowane i usunięte przed podłączeniem zasilania do planszy, w przeciwnym razie dymny potwór może wyjść.
  4. Przylutuj dwa rezystory 10K tuż nad przyciskami EN i IO0.
  5. Przylutuj przyciski EN i IO0. Pozostałe cztery przyciski można na razie pominąć.
  6. Oderwij 16-stykowy pasek nagłówka. Włóż go od strony procesora PCB tak, aby styki były skierowane do najbliższej krawędzi PCB. Następnie przylutuj główkę na miejsce od strony przycisku do PCB.
  7. Sprawdź ponownie, czy nie ma zwarć między 3V3 a GND.
  8. Użyj czterech przewodów połączeniowych DuPont, aby podłączyć moduł CP2102, jak pokazano. Zauważ, że tymczasowo używamy źródła zasilania 3V3, ponieważ regulator liniowy nie jest jeszcze umieszczony na płytce drukowanej.
  9. Jeśli Twój komputer nie ma jeszcze zainstalowanego Arduino IDE, pobierz je tutaj.
  10. Skonfiguruj obsługę ESP32 w środowisku Arduino IDE, korzystając z tego przewodnika.
  11. W IDE ustaw narzędzia > płyta na "ESP32 Wrover Module".
  12. Podłącz moduł CP2102 do portu USB w komputerze.
  13. W środowisku IDE ustaw narzędzia > port na odpowiedni port USB dla CP2102.
  14. Jeśli nowy port nie pojawia się po włożeniu modułu CP2102, zainstaluj wymagany sterownik USB z Silicon Labs.
  15. Chwyć szkic button_demo.
  16. Skompiluj i prześlij szkic.
  17. Po rozpoczęciu przesyłania przytrzymaj wciśnięte przyciski EN i IO0. EN to w zasadzie przycisk resetowania, a IO0 to szpilka do wymuszania przeprogramowania lampy błyskowej.
  18. Gdy kropki i kreski pojawią się w IDE, zwolnij przycisk EN (zwolnij reset), ale nadal przytrzymuj przycisk IO0, aż programowanie flasha zacznie się mieć pewność, że szpilka została rozpoznana po uruchomieniu.
  19. Po zakończeniu programowania naciśnij ponownie przycisk EN, aby zresetować i uruchomić nowo migający kod.
  20. Otwórz monitor szeregowy Arduino IDE i ustaw go na 115200 bodów.
  21. Naciśnięcie przycisku IO0 powinno wygenerować komunikat na monitorze szeregowym.

Krok 4: Przyciski, brzęczyki i diody LED, OH MY

Przyciski, brzęczyki i diody LED, OH MY!
Przyciski, brzęczyki i diody LED, OH MY!

WIĘCEJ PRZYCISKÓW

Po pomyślnym zakończeniu wstępnego etapu programowania wyłącz płytę HB50 i przylutuj pozostałe cztery przyciski. Ten sam szkic button_demo powinien teraz zgłaszać wszystkie pięć przycisków (IO0, A, B, C i D) do monitora szeregowego po ich naciśnięciu.

BRZĘCZYK

Wyłącz płytkę HB50 i przylutuj brzęczyk do jej padów. Ustaw kropkę na sygnalizatorze tak, aby była jak najbliżej pola „+” na płycie HB50. Zaprogramuj szkic buzzer_demo i zresetuj (EN) płytkę, aby mogła działać. Brzmi dobrze?

Diody LED RGB WS2812B

Wyłącz płytkę HB50 i przylutuj sześć diod LED do ich padów. Ustaw biały zaznaczony róg każdej diody LED, aby odpowiadał narożnikowi z zakładkami, jak pokazano na sitodruku PCB.

Z narzędzi Arduino IDE > Zarządzaj bibliotekami zainstaluj bibliotekę FastLED.

Otwórz szkic: Plik > Przykłady > FastLED > ColorPalette.

W kodzie szkicu zmień LED_PIN na 13, NUM_LEDS na 6 i LED_TYPE na WS2812B.

Prześlij szkic i zresetuj (EN) płytkę, aby mogła działać. Ciesz się migającymi światłami w każdym kolorze.

LINIOWY REGULATOR MOCY

Przy włączonych diodach LED (a zwłaszcza po włączeniu nadajnika WiFi) HB50 pobiera dużo prądu z zasilania 3V3. Poprawmy moc zasilania 3,3 V przez przylutowanie regulatora liniowego AMS1117 (pakiet SOT 233) na miejsce. Wypełnij również dwa kondensatory filtrujące 22uF obok regulatora. Zauważ, że jedna strona każdego kondensatora jest prostokątna, a druga ośmiokątna. Kondensatory powinny być zorientowane tak, aby ciemny pasek na opakowaniu był wyrównany z ośmiokątną stroną sitodruku. Regulator zmieni teraz część zasilania 5 V na 3,3 V i może dostarczyć znacznie więcej prądu niż sam moduł CP2102. Aby teraz zasilać HB50 przez zasilanie 5V, przesuń OBA KOŃCE zworki 3V3 DuPont na 5V. Oznacza to, że źródło 5 V z modułu CP2102 do jednego z pinów wejściowych 5 V na złączu HB50. Zauważ, że pin 5 V może być zasilany dowolnym napięciem od 3,5 V do 5 V.

Krok 5: Kolorowy wyświetlacz TFT LCD ILI9341 QVGA

ILI9341 Kolorowy wyświetlacz TFT LCD QVGA
ILI9341 Kolorowy wyświetlacz TFT LCD QVGA

Wyświetlacz MSP2402 (strona lcdwiki) to moduł magistrali SPI oparty na układzie ILI9341. Układ napędza kolorowy ekran o przekątnej 2,4 cala, obsługujący 65 000 kolorów i rozdzielczość 320x240 pikseli (QVGA).

Moduł posiada również wejście ekranu dotykowego oraz gniazdo kart SD.

WSTĘPNE TESTOWE STYKI WE/WY WYŚWIETLACZA

Jeśli do tego momentu masz problemy z lutowaniem pinów ESP-WROOM-32, dobrym pomysłem może być wstępne przetestowanie pinów I/O modułu wyświetlacza przed wlutowaniem modułu wyświetlacza na miejsce. Jak pokazano poniżej i na schematycznym schemacie PCB, IO ESP32 w grze to 19, 23, 18, 5, 22, 21 i 15. Zauważ, że są to numery IO, a nie numery pinów. Piny można przetestować, pisząc mały program, który ustawia wszystkie te IO jako wyjścia, a następnie pętle przechodzą przez IO, włączając i wyłączając każdy z nich po kolei z drugim lub dwoma opóźnieniami między nimi. Prosta dioda LED z dołączonym rezystorem ograniczającym prąd może być użyta jako sonda, aby upewnić się, że każdy pin IO zmapowany do nagłówków wyświetlacza (patrz schemat) jest prawidłowo włączany i wyłączany oraz że żaden z nich nie jest ze sobą sprzężony.

Po sprawdzeniu wszystkich pinów wyświetlacz TFT można przylutować na miejscu za pomocą zarówno długich, jak i krótkich nagłówków.

ZAINSTALUJ I KONFIGURUJ BIBLIOTEKĘ TFT

Z Arduino IDE: narzędzia > Zarządzaj bibliotekami, zainstaluj bibliotekę TFT_eSPI

Przejdź do folderu Biblioteki Arduino. Otwórz folder TFT_eSPI i edytuj plik User_Setup.h, aby skonfigurować układ sterownika modułu, rozdzielczość w pikselach i piny IO. Zrób to, upewniając się, że definicje są (nie)komentowane, jak pokazano poniżej, i ustawione na wartości, jak pokazano. Możesz sprawdzić, czy odpowiadają one połączeniom na schemacie PCB.

// Sekcja 1.

#define ILI9341_DRIVER #define TFT_WIDTH 240 #define TFT_HEIGHT 320 // Sekcja 2. // Dla płyty rozwojowej ESP32 #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

Otwórz i prześlij szkic:

Plik > Przykłady > TFT_eSPI > 320 x 240 > Automaty_komórkowe

Ten szkic jest fajną wizualną demonstracją gry w życie Conwaya.

Szybowiec hakerski może wyewoluować do istnienia… miej oko na siebie!

WYŚWIETL LOGO HACKERBOX NA TFT LCD

Wypróbuj szkic BitHeadDemo.

Krok 6: Wejście użytkownika na ekranie dotykowym

Wejście użytkownika na ekranie dotykowym
Wejście użytkownika na ekranie dotykowym

Poniższy szkic może być użyty do skonfigurowania i przetestowania funkcjonalności ekranu dotykowego:

Plik > Przykłady > TFT_eSPI > 320 x 240 > Klawiatura_240x320

Przycisk „wyślij” przesyła wprowadzony numer do monitora szeregowego z prędkością 9600 bodów.

Krok 7: Klawiatura CardKB I2C

Klawiatura CardKB I2C
Klawiatura CardKB I2C

Ta niewielka płytka zawiera w pełni funkcjonalną klawiaturę QWERTY, która może być używana z prawie każdym projektem mikrokontrolera. Klawiatura komunikuje się za pomocą portu GROVE A (interfejs I2C) na adresie 0x5F. Kombinacje przycisków (Sym+Klawisz, Shift+Klawisz, Fn+Klawisz) są obsługiwane w celu wyprowadzania bogatych wartości klawiszy.

Zacznij od prostego przykładu szkicu CardKB_Serial, który komunikuje się z klawiaturą przez GROVE I2C i powtarza naciśnięcia klawiszy do monitora szeregowego. Szkic można uruchomić na ESP32 (np. HB50), Arduino UNO, Arduino Nano lub dowolnej platformie obsługującej I2C.

Zauważ, że istnieją dwa różne wywołania Wire.begin dla ESP32 i UNO/Nano. Odkomentuj odpowiednią jedną z tych linii dla używanego hosta. Podłącz żółty i biały przewód GROVE breakout do pinów określonych w tym wierszu kodu. Podłącz czerwony przewód GROVE breakout do 5 V, a czarny przewód GROVE do GND.

Strona dokumentacji producenta. Zwróć uwagę, że chociaż wbudowany mikrokontroler CardKB jest wstępnie zaprogramowany, źródło oprogramowania układowego jest dostępne, jeśli chcesz zhakować klawiaturę.

Krok 8:

Obraz
Obraz

Mamy nadzieję, że spodobała Ci się przygoda HackerBox w tym miesiącu w elektronikę i technologię komputerową. Sięgnij i podziel się swoim sukcesem w komentarzach poniżej lub na grupie Facebook HackerBoxes. Pamiętaj też, że możesz w każdej chwili wysłać e-mail na adres [email protected], jeśli masz pytanie lub potrzebujesz pomocy.

Co dalej? Dołącz do rewolucji. Żyj HackLife. Zdobądź fajne pudełko hakowalnego sprzętu dostarczanego co miesiąc prosto do Twojej skrzynki pocztowej. Przejdź do HackerBoxes.com i zarejestruj się, aby otrzymać miesięczną subskrypcję HackerBox.

Zalecana: