Talaan ng mga Nilalaman:

HackerBox 0050: 8 Mga Hakbang
HackerBox 0050: 8 Mga Hakbang

Video: HackerBox 0050: 8 Mga Hakbang

Video: HackerBox 0050: 8 Mga Hakbang
Video: Projects - July 2016 2024, Hulyo
Anonim
HackerBox 0050
HackerBox 0050

Pagbati sa mga HackerBox Hacker sa buong mundo! Para sa HackerBox 0050, pinagsasama-sama namin at pinaprograma ang HB50 na naka-embed na board ng processor. Sinusuportahan ng HB50 ang pag-eksperimento sa mga ESP32 microcontroller, naka-embed na IoT WiFi, tunog ng bit bang, RGB LEDs, ipinapakita ang buong kulay na TFT LCD, mga pag-input ng touch screen, Bluetooth, at marami pa. Sinisiyasat din ng HackerBox 0050 ang isang maliit na solusyon sa keyboard para sa anumang naka-embed na proyekto, mga interface ng I2C, pagbabadyet ng kuryente, at cellular automata.

Naglalaman ang gabay na ito ng impormasyon para sa pagsisimula sa HackerBox 0050, na mabibili dito habang tumatagal ang mga supply. Kung nais mong makatanggap ng isang HackerBox tulad ng karapatang ito sa iyong mailbox bawat buwan, mangyaring mag-subscribe sa HackerBoxes.com at sumali sa rebolusyon!

Ang HackerBoxes ay ang buwanang serbisyo sa kahon ng subscription para sa mga hacker ng hardware at mahilig sa electronics at teknolohiya ng computer. Sumali sa amin sa buhay na HACK HACK.

Hakbang 1: Listahan ng Nilalaman para sa HackerBox 0050

  • Eksklusibo na HB50 Printed Circuit Board
  • ESP-WROOM-32 Dual Core WiFi Module
  • QVGA Kulay TFT LCD 2.4inch Display
  • Pinagsamang Display Touchscreen na may Stylus
  • Anim na WS2812B RGB LEDs
  • Anim na Surface Mount Tacile Buttons
  • Piezo Buzzer 12mm SMD
  • AMS1117 3.3V Linear Regulator SOT223
  • Tamang Angle 40pin Breakaway Header
  • Dalawang 22uF Tantalum Capacitors 1206 SMD
  • Dalawang 10K Ohm Resistors 0805 SMD
  • CardKB Mini Keyboard
  • Grove sa Babae DuPont Breakout Cable
  • CP2102 USB Serial Module
  • DuPont Jumpers Babae-Babae 10cm
  • Hokusai Great Wave PCB Decal
  • Eksklusibong HackerBox WireHead Decal
  • Eksklusibong HackerBox 50 Hamon na Barya

Ilang iba pang mga bagay na makakatulong:

  • Panghinang, bakal, at pangunahing mga tool sa paghihinang
  • Computer para sa pagpapatakbo ng mga tool ng software

Pinakamahalaga, kakailanganin mo ang isang pakiramdam ng pakikipagsapalaran, espiritu ng hacker, pasensya, at pag-usisa. Ang pagbuo at pag-eksperimento sa electronics, habang napaka-rewarding, ay maaaring maging nakakalito, mapaghamong, at kahit nakakainis minsan. Ang layunin ay pag-unlad, hindi pagiging perpekto. Kapag nagpumilit ka at nasisiyahan sa pakikipagsapalaran, maraming kasiyahan ang maaaring makuha mula sa libangan na ito. Dahan-dahang gawin ang bawat hakbang, isipin ang mga detalye, at huwag matakot na humingi ng tulong.

Mayroong isang kayamanan ng impormasyon para sa kasalukuyan at mga prospective na kasapi sa HackerBoxes FAQ. Halos lahat ng mga email na hindi pang-teknikal na suporta na natanggap namin ay sinasagot na doon, kaya talagang pinahahalagahan namin ang iyong paglalaan ng ilang minuto upang basahin ang FAQ.

Hakbang 2: HB50 Printed Circuit Board

HB50 Printed Circuit Board
HB50 Printed Circuit Board

Upang gunitain ang Numero ng HackerBox 0050, nag-ikot kami ng isang na-update na bersyon ng pinakatanyag na HackerBox circuit board sa pamamagitan ng tanyag na pangangailangan. Ang HackerBox 0020 Summer Camp badge kit ay nabili na sa DEF CON 25 nang mas mababa sa dalawang oras. Ang mga file ng PCB mula noon ay madalas na hiniling. Ang board ay muling nai-print kahit papaano maraming beses ng mga third party. Ang disenyo ay nagbigay inspirasyon sa isang maliit na iba pang mga badge at naka-embed na mga proyekto ng IoT na alam natin at sana marami pang hindi namin namalayan.

Ang mga update na natagpuan sa bagong HB50 PCB Kit ay nagsasama ng pagpapalit ng ESP-32 DEVkitC para sa mas siksik na module ng ESP-WROOM-32. Ang limang capacitive touch button ay napalitan ng mga mechanical tactile button. Ang limang RGB WS2812 LED na nasa puting pakete ay nadagdagan sa anim at ngayon ay nasa itim na mga pakete. Ang piezo buzzer ay napalitan ng isang mas compact na bersyon ng mount mount. Pinasimple ang supply ng kuryente. Ang display ng kulay na TFT ay nadagdagan mula 2.2 pulgada hanggang 2.4 pulgada. Ang PCB ay mas compact at kahit na may ilang mga pin ng IO na nasira para sa iyong kasiyahan sa pag-hack. Dahil sa oras ng HackerBox 20, maraming mga proyekto, halimbawa, at code na magagamit para sa ESP32, kaya't maghanda tayong gumulong …

Mga Tampok:

  • ESP32 Dual Core 160MHz Processor
  • 2.4 pulgada QVGA Kulay TFT LCD Display
  • WiFi 802.11 b / g / n / d / e / i / k / r
  • Bluetooth LE 5.0
  • Limang Tactile Pushbuttons (+ isa para sa I-reset)
  • Anim na RGB WS2812 LEDs
  • Piezo Buzzer
  • 3.3V Linear Regulator
  • Header ng Pagpapalawak

Tulad ng hinalinhan nito, ang HB50 ay maaaring magsuot ng isang lanyard, ginagamit bilang isang handhand, naka-mount sa isang pader, o naka-deploy halos kahit saan saan sa hindi mabilang na mga wireless at makulay na mga application.

Hakbang 3: Dalhin ang Lupon ng HB50

Dalhin ang Lupon ng HB50
Dalhin ang Lupon ng HB50

Upang i-minimize, o hindi bababa sa ihiwalay ang mga error, iminumungkahi namin na simulan ang pagpupulong sa pamamagitan ng pag-populate lamang ng hubad na minimum na mga bahagi sa HB50 PCB na kinakailangan upang mai-program ang ESP32. Ang minimum na mabubuhay na diskarte na ito ay nakabalangkas sa mga hakbang na ito:

  1. Panoorin ang video na ito sa mga soldering castellated module.
  2. I-solder ang module na ESP-WROOM-32 papunta sa PCB. Huwag kang mag-madali. Huwag mag-alala tungkol sa gitnang ground pad sa ilalim ng modyul. Maaari lamang itong solder ng reflow at naroroon lamang para sa idinagdag na pagkabit ng thermal.
  3. Gumamit ng isang multimeter upang matiyak na walang maikling pagitan ng 3V3 at GND. Kung mayroong isang maikli, dapat itong makilala at alisin bago mag-apply ng lakas sa board o maaaring lumabas ang usok na halimaw.
  4. Paghinang ng dalawang mga resistor ng 10K sa itaas lamang ng mga pindutan ng EN at IO0.
  5. Solder ang mga EN at IO0 na pindutan. Ang iba pang apat na mga pindutan ay maaaring iwanang sa ngayon.
  6. Masira ang isang 16 pin strip ng header. Ipasok ito mula sa gilid ng CPU ng PCB tulad na ang mga pin ay tumuturo sa pinakamalapit na gilid ng PCB. Pagkatapos ay ihihinang ang header sa lugar mula sa gilid ng pindutan ng ng PCB.
  7. I-verify muli na walang mga shorts sa pagitan ng 3V3 at GND.
  8. Gumamit ng apat na DuPont jumper wires upang ikonekta ang module na CP2102 tulad ng ipinakita. Tandaan na pansamantalang ginagamit namin ang mapagkukunang 3V3 power dahil ang linear regulator ay hindi pa naipupunan sa PCB.
  9. Kung ang iyong computer ay wala pang naka-install na Arduino IDE, kunin ito rito.
  10. I-configure ang suporta ng ESP32 sa loob ng Arduino IDE gamit ang gabay na ito.
  11. Sa IDE, itakda ang mga tool> board sa "ESP32 Wrover Module".
  12. I-plug ang module ng CP2102 sa isang USB port sa computer.
  13. Sa IDE, itakda ang mga tool> port sa tamang USB port para sa CP2102.
  14. Kung ang isang bagong port ay hindi lilitaw kapag ang module ng CP2102 ay naipasok, i-install ang isang kinakailangang USB driver mula sa Silicon Labs.
  15. Grab ang button_demo sketch.
  16. Compile at i-upload ang sketch.
  17. Kapag nagsimula ang pag-upload, pindutin nang matagal ang parehong mga EN at IO0 na pindutan. Ang EN ay karaniwang isang pindutan ng pag-reset at ang IO0 ay ang strapping pin upang pilitin ang muling pagprogram ng flash.
  18. Sa sandaling lumitaw ang mga tuldok at gitling sa IDE, pabayaan ang EN button (bitawan ang pag-reset) ngunit patuloy na pindutin nang matagal ang pindutan ng IO0 hanggang sa magsimula ang flash program upang matiyak na ang strapping pin ay kinikilala sa boot.
  19. Kapag nakumpleto ang programa, pindutin muli ang EN button upang i-reset at simulan ang bagong flashing code.
  20. Buksan ang Arduino IDE Serial Monitor at itakda ito sa 115200 baud.
  21. Ang pagpindot sa pindutan ng IO0 ay dapat makabuo ng isang mensahe sa serial monitor.

Hakbang 4: Mga Pindutan, Buzzer, at LEDs, OH MY

Mga Pindutan, Buzzer, at LEDs, OH MY!
Mga Pindutan, Buzzer, at LEDs, OH MY!

KARAGDAGANG BUTTONS

Kapag matagumpay ang paunang hakbang sa pagprograma, patayin ang board na HB50 at maghinang sa natitirang apat na mga pindutan. Ang parehong button_demo sketch ay dapat na iulat ngayon ang lahat ng limang mga pindutan (IO0, A, B, C, at D) sa serial monitor kapag pinindot ang mga ito.

BUZZER

Patayin ang board na HB50 at solder ang buzzer papunta sa mga pad. I-orient ang tuldok sa buzzer upang malapit sa "+" pad sa HB50 board. I-program ang buzzer_demo sketch at i-reset (EN) ang board upang hayaan itong tumakbo. Mabuti ang tunog?

WS2812B RGB LEDs

Patayin ang board na HB50 at solder ang anim na LEDs sa kanilang mga pad. I-orient ang puting minarkahang sulok ng bawat LED upang tumutugma sa naka-tab na sulok tulad ng ipinakita sa PCB silkscreen.

Mula sa mga tool ng Arduino IDE> Pamahalaan ang Mga Aklatan, i-install ang FastLED library.

Buksan ang sketch: File> Mga halimbawa> FastLED> ColorPalette.

Sa sketch code, baguhin ang LED_PIN sa 13, NUM_LEDS hanggang 6, at LED_TYPE sa WS2812B.

I-upload ang sketch at i-reset (EN) ang board upang mapatakbo ito. Masiyahan sa mga blinky na ilaw ng bawat kulay.

LINEAR POWER REGUALTOR

Gamit ang mga LED na nilalaro (at lalo na kapag pinagana ang WiFi transmitter) ang HB50 ay gumuhit ng maraming kasalukuyang mula sa 3V3 supply. Pagbutihin natin ang kapasidad ng kuryente na 3.3V sa pamamagitan ng paghihinang sa AMS1117 (SOT 233 Package) Linear Regulator sa lugar. Puno din ang dalawang 22uF filter capacitors sa tabi ng regulator. Tandaan na ang isang gilid ng bawat capacitor silkscreen ay parihaba at ang iba pang panig kung octagonal. Ang mga capacitor ay dapat na nakatuon sa gayon ang madilim na stipe sa pakete ay umaayon sa bahagi ng octagonal silkscreen. Ang regulator ay magpapasara sa ilan sa 5V supply sa 3.3V at maaaring magbigay ng mas maraming kasalukuyang kaysa sa module na CP2102 sa pamamagitan ng kanyang sarili. Upang mag-supply ngayon ng lakas sa HB50 sa pamamagitan ng supply ng 5V, ilipat ang DALAWANG WAKAS ng 3V3 DuPont jumper hanggang sa 5V. Iyon ay, pinagmulan ng 5V mula sa module na CP2102 sa isa sa mga 5V input pin sa HB50 header. Tandaan na ang 5V pin ay talagang maaaring maibigay sa anumang boltahe na nasa pagitan ng 3.5V at 5V.

Hakbang 5: Ipakita ang ILI9341 QVGA Kulay TFT LCD

Ipakita ang ILI9341 QVGA Kulay TFT LCD
Ipakita ang ILI9341 QVGA Kulay TFT LCD

Ang MSP2402 Display (pahina ng lcdwiki) ay isang module ng SPI bus batay sa ILI9341 chip. Nag-mamaneho ang chip ng isang 2.4inch na screen ng kulay na sumusuporta sa 65, 000 na mga kulay at isang resolusyon na 320X240 pixel (QVGA).

Nagtatampok din ang module ng pag-input ng touch screen at isang puwang ng SD card.

PRE-TEST DISPLAY I / O PINS

Kung nagkakaproblema ka sa pag-solder ng ESP-WROOM-32 hanggang sa puntong ito, maaaring magandang ideya na paunang subukin ang mga pin na module ng I / O bago ipakita ang lugar ng display. Tulad ng ipinakita sa ibaba at sa diagram ng eskematiko ng PCB, ang mga ESP32 IO na nilalaro ay 19, 23, 18, 5, 22, 21, at 15. Tandaan na ito ang mga numero ng IO at hindi ang mga numero ng pin. Ang mga pin ay maaaring masubukan sa pamamagitan ng pagsulat ng isang maliit na programa na nagtatakda ng lahat ng mga IO na iyon bilang mga output at pagkatapos ay ang mga loop ng pagbibisikleta sa pamamagitan ng mga IO na binubuksan at i-turn ang isa sa isang segundo o dalawang pagkaantala sa pagitan. Ang isang simpleng LED na may kasalukuyang nililimitahan na risistor ay nakakabit ay maaaring magamit bilang isang pagsisiyasat upang matiyak na ang bawat IO pin na naka-map sa mga header ng display (tingnan ang eskematiko) ay maayos na nakabukas at naka-off at wala sa kanila ang magkakasama.

Kapag ang lahat ng mga pin ay napatunayan, ang display na TFT ay maaaring solder sa lugar gamit ang parehong mahaba at maikling mga header.

I-INSTALL AT CONFIGURE TFT LIBRARY

Mula sa Arduino IDE: mga tool> Pamahalaan ang Mga Aklatan, i-install ang TFT_eSPI Library

Pumunta sa folder ng Arduino Library. Buksan ang folder na TFT_eSPI at i-edit ang file na User_Setup.h upang mai-configure ang module chip ng driver, resolusyon ng pixel, at mga pin ng IO. Gawin ito sa pamamagitan ng pagtiyak na ang mga tumutukoy ay (un) nagkomento tulad ng ipinakita sa ibaba at itinakda sa mga halagang ipinakita. Maaari mong i-verify na tumutugma ito sa mga koneksyon sa eskematiko ng PCB.

// Seksyon 1.

#define ILI9341_DRIVER #define TFT_WIDTH 240 #define TFT_HEIGHT 320 // Seksyon 2. // Para sa 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_CS 5 #define TFT_DC 22 #define TFT_CS 5 #define TFT_DC 22 #define TFT_CS 5 #define TFT_DC 22 # TFT_RST -1 // # tukuyin ang TFT_BL 32 # tukuyin ang TOUCH_CS 15

Buksan at i-upload ang sketch:

File> Mga Halimbawa> TFT_eSPI> 320 x 240> Cellular_Automata

Ang sketch na ito ay isang cool na visual demonstration ng Conway's Game of Life.

Ang isang hacker glider ay maaaring magbago sa pagkakaroon … pagmasdan!

IPAKITA ANG HACKERBOX LOGO SA TFT LCD

Subukan ang sketch ng BitHeadDemo.

Hakbang 6: Touch Screen User Input

Pindutin ang Input ng Gumagamit ng Screen
Pindutin ang Input ng Gumagamit ng Screen

Ang sumusunod na sketch ay maaaring magamit upang i-configure at subukan ang pagpapaandar ng touch screen:

File> Mga Halimbawa> TFT_eSPI> 320 x 240> Keypad_240x320

Ang pindutang "ipadala" ay nagpapadala ng ipinasok na numero sa serial monitor sa 9600 baud.

Hakbang 7: CardKB I2C Keyboard

CardKB I2C Keyboard
CardKB I2C Keyboard

Ang maliliit na board na ito ay nagpapatupad ng isang buong tampok na keyboard ng QWERTY na maaaring magamit ng halos anuman sa iyong mga proyekto ng microcontroller. Nakikipag-usap ang keyboard gamit ang isang GROVE A port (I2C interface) sa Address 0x5F. Ang mga kumbinasyon ng mga pindutan (Sym + Key, Shift + Key, Fn + Key) ay suportado upang ma-output ang mga rich key na halaga.

Magsimula sa simpleng halimbawang CardKB_Serial sketch, na nakikipag-usap sa keyboard sa paglipas ng GROVE I2C at nagpapalabas ng mga keypress sa Serial Monitor. Ang sketch ay maaaring patakbuhin sa ESP32 (tulad ng HB50), Arduino UNO, Arduino Nano, o anumang platform na sumusuporta sa I2C.

Tandaan na mayroong dalawang magkakaibang Wire.begin na tawag para sa ESP32 at para sa UNO / Nano. I-uncomment ang naaangkop na isa sa mga linya para sa host na iyong ginagamit. I-wire ang dilaw at puti na GROVE breakout wires sa mga pin na tinukoy sa linya ng code. Wire ang pulang GROVE breakout wire sa 5V at ang Black GROVE Wire sa GND.

Pahina ng Dokumentasyon ng Tagagawa. Tandaan na kahit na ang CardKB onboard microcontroller ay paunang na-program, ang mapagkukunan ng firmware ay magagamit kung nais mong i-hack ang keyboard.

Hakbang 8:

Larawan
Larawan

Inaasahan namin na nasisiyahan ka sa pakikipagsapalaran sa HackerBox ng buwang ito sa electronics at computer na teknolohiya. Abutin at ibahagi ang iyong tagumpay sa mga komento sa ibaba o sa HackerBoxes Facebook Group. Gayundin, tandaan na maaari kang mag-email sa [email protected] anumang oras kung mayroon kang isang katanungan o kailangan mo ng tulong.

Anong susunod? Sumali sa rebolusyon. Live ang HackLife. Kumuha ng isang cool na kahon ng na-hack na gear na naihatid mismo sa iyong mailbox bawat buwan. Mag-surf sa HackerBoxes.com at mag-sign up para sa iyong buwanang subscription sa HackerBox.

Inirerekumendang: