Talaan ng mga Nilalaman:

HackerBox 0051: MCU Lab: 10 Hakbang
HackerBox 0051: MCU Lab: 10 Hakbang

Video: HackerBox 0051: MCU Lab: 10 Hakbang

Video: HackerBox 0051: MCU Lab: 10 Hakbang
Video: MCU LAB Demo with Potentiometer and OLED Display 2024, Hulyo
Anonim
HackerBox 0051: MCU Lab
HackerBox 0051: MCU Lab

Pagbati sa mga HackerBox Hacker sa buong mundo! Ipinapakita ng HackerBox 0051 ang HackerBox MCU Lab. Ang MCU Lab ay isang platform ng pag-unlad upang subukan, paunlarin, at prototype gamit ang mga microcontroller at microcontroller module. Ang isang Arduino Nano, ESP32 Module, at SMT32 Black Pill ay ginagamit upang tuklasin ang mga bloke ng tampok ng MCU Lab. Ang mga bloke ng tampok na MCU Lab ay may kasamang mga switch, button, LEDs, isang OLED display, buzzer, potentiometer, RGB pixel, logic level shifter, VGA output, PS / 2 keyboard input, USB serial interface, at dual solderless prototyping area.

Naglalaman ang gabay na ito ng impormasyon para sa pagsisimula sa HackerBox 0051, 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 0051

  • MCU Modyul 1: Arduino Nano 5V, 16MHz
  • MCU Modyul 2: WEMOS ESP32 Lite
  • MCU Modyul 3: STM32F103C8T6 Black Pill
  • Eksklusibong MCU Lab Printed Circuit Board
  • FT232RL USB Serial Adapter
  • OLED 128x64 Display I2C 0.96 Inci
  • Bidirectional 8-Bit Logic Level Shifter
  • WS2812B RGB SMD LED
  • Apat na Mga Mataas na Button ng Mount Tactile
  • Apat na Pulang Diffusong 5mm LEDs
  • Piezo Buzzer
  • HD15 VGA Connector
  • Mini-DIN PS / 2 Keyboard Connector
  • 100K Ohm Potentiometer
  • 8 Posisyon DIP Lumipat
  • AMS1117 3.3V Linear Regulator SOT223
  • Dalawang 22uF Tantalum Capacitors 1206 SMD
  • Sampung 680 Ohm Resistors
  • Apat na Adhesive Rubber PCB Feet
  • Dalawang 170 point na Mini Solderless Breadboard
  • Labing isang 8 pin na Mga Header Socket ng Babae
  • 40 pin Breakaway Header
  • Bundle ng 65 Mga Lalaki na Jumper Wires
  • Itinaas na sticker ng Fist Circuit Board
  • Hack Ang Planet Smiley Pirate Sticker
  • Eksklusibong HackerBox na "Alisin Bago Lumipad" Keychain

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: HackerBoxes MCU Lab

HackerBoxes MCU Lab
HackerBoxes MCU Lab

Ang MCU Lab ay isang compact, pinakintab na bersyon ng isang platform ng pag-unlad na ginagamit namin upang mag-prototype at subukan ang iba't ibang mga disenyo ng batay sa microcontroller (MCU). Napaka kapaki-pakinabang para sa pagtatrabaho sa mga module ng MCU (tulad ng isang Arduino Nano, ESP32 DevKit, atbp) o mga indibidwal na pakete ng aparato ng MCU (tulad ng ATMEGA328s, ATtiny85s, PICs, atbp). Ang isang target na MCU ay maaaring mailagay sa alinman sa mga mini na solderless breadboard. Ang dalawang MCU ay maaaring ma-interfaced nang magkasama gamit ang parehong mga breadboard o ang isa sa mga puwang ng breadboard ay maaaring magamit para sa iba pang circuitry.

Ang mga "tampok na bloke" ng MCU Lab ay pinaghiwalay sa mga babaeng header na katulad ng matatagpuan sa isang Arduino UNO. Ang mga babaeng header ay katugma sa mga male jumper pin.

Hakbang 3: Magtipon ng HackerBoxes MCU Lab

Ipunin ang HackerBoxes MCU Lab
Ipunin ang HackerBoxes MCU Lab

SMD COMPONENTS SA BALIK NG BOARD

Magsimula sa pamamagitan ng pag-mount ng AMS1117 (SOT 233 Package) Linear Regulator at ang dalawang 22uF filter capacitor sa reverse ng PCB. Tandaan na ang isang bahagi ng bawat capacitor silkscreen ay parihaba at ang iba pang panig ay octagonal. Ang mga capacitor ay dapat na nakatuon sa gayon ang madilim na stipe sa pakete ay umaayon sa bahagi ng octagonal silkscreen.

MAGPATULOY SA MGA KOMPONENTO SA HARAP NG BOARD

Solder ang WS2812B RGB LED. I-orient ang puting minarkahang sulok ng bawat LED upang tumutugma sa naka-tab na sulok tulad ng ipinakita sa PCB silkscreen.

Apat na SMD Tactile Buttons

Apat na pulang LEDs na may Apat na Resistors

Level Shifter na may VA pin na pinakamalapit na marka ng 3V3 at VB pin na pinakamalapit na marka ng 5V. Ang module ng Level Shifter ay maaaring mai-mount flush sa PCB sa pamamagitan ng paghihinang ng mga header sa module at pagkatapos ay i-slide ang itim na plastic spacers mula sa mga header bago i-mount ang module sa MCU Lab PCB. Ang pag-iwan sa spacers ay mabuti rin.

Ang dalawang mga piraso ng header ay maaaring masira upang ikonekta ang module na FT232. Ang isang mas maliit na seksyon ng 4-pin ng header ay maaari ding magamit para sa 5V / GND header sa tabi lamang ng module na FT232.

Sa ngayon, punan ang babaeng header ng VGA na pinakamalapit sa konektor ng HD15 VGA at Keyboard Socket. Gayunpaman, HUWAG MAG-POPULATE ang karagdagang header na katabi ng isa o limang resistors sa pagitan ng dalawang header na iyon. Tukoy na mga pagpipilian para sa pag-interface ng signal ng video ay tatalakayin sa paglaon.

Populate ang iba pang siyam na mga header ng babae.

Alisin ang malagkit mula sa likuran ng parehong solderless breadboard upang ilakip ang mga ito sa MCU Lab PCB.

Posisyon ng malagkit na mga paa ng goma sa ilalim ng MCU Lab PCB upang maprotektahan ang iyong workbench mula sa mga gasgas.

HANDLING POWER INPUTS

Mayroong hindi bababa sa dalawa, at mas malamang na marami sa apat, mga lugar kung saan maaaring dumating ang lakas sa MCU Lab. Maaari itong maging sanhi ng kaguluhan, kaya palaging maingat na isaalang-alang ang mga sumusunod na tagubilin:

Ang mga puntos ng header na may label na 5V ay konektado lahat. Nag-uugnay din ang 5V rail sa socket ng keyboard, ang shifter sa antas, at ang WS2812B RGB LED. Ang kapangyarihan ay maaaring ibigay sa 5V rail sa pamamagitan ng pag-plug ng FT232 sa USB, pagkonekta sa apat na pin na header ng kuryente sa isang panlabas na supply, o sa pamamagitan ng pagkonekta ng isang lumulukso mula sa isa sa isang 5V pin sa PCB sa isang pinalakas na 5V module (karaniwang pinalakas ng USB).

Katulad nito, ang mga pin ng GND ay konektado lahat. Kumonekta sila sa USB GND sa FT232 (ipagpalagay na ang USB ay konektado sa FT232). Maaari din silang maiugnay sa ground gamit ang isang jumper sa pagitan ng isa sa kanila at isang pinalakas na module na tinalakay para sa 5V net.

Ang 3V3 rail ay hinihimok ng regulator sa likod ng PCB. Ito ay isang mapagkukunan lamang at (hindi katulad ng 5V rail) hindi ito dapat hinihimok ng anumang mga module o iba pang mga circuit dahil direkta itong hinihimok mula sa regulator sa 5V rail.

Hakbang 4: Arduino Nano MCU Module

Arduino Nano MCU Module
Arduino Nano MCU Module

Ang isa sa mga pinaka-karaniwang module ng MCU ngayon ay ang Arduino Nano. Ang kasamang Arduino Nano board ay may mga header pin, ngunit hindi sila dumating na solder sa module. Iwanan ang mga pin para sa ngayon. Gawin ang mga paunang pagsusulit na ito sa module ng Arduino Nano bago ang paghihinang sa mga header pin. Ang kailangan lang ay isang microUSB cable at ang Arduino Nano board tulad ng paglabas sa bag.

Ang Arduino Nano ay isang pang-ibabaw, mounting breadboard, miniaturized na Arduino board na may isinamang USB. Ito ay kamangha-manghang buong tampok at madaling i-hack.

Mga Tampok:

  • Microcontroller: Atmel ATmega328P
  • Boltahe: 5V
  • Mga Digital I / O Pins: 14 (6 PWM)
  • Mga Pins ng Input ng Analog: 8
  • Kasalukuyang DC bawat I / O Pin: 40 mA
  • Memory ng Flash: 32 KB (2KB para sa bootloader)
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • Bilis ng Orasan: 16 MHz
  • Mga Dimensyon: 17mm x 43mm

Ang partikular na pagkakaiba-iba ng Arduino Nano na ito ay ang itim na Robotdyn Nano. Kasama ang isang on-board MicroUSB port na konektado sa isang CH340G USB / Serial bridge chip. Ang detalyadong impormasyon sa CH340 (at mga driver, kung kinakailangan) ay matatagpuan dito.

Kapag na-plug mo ang Arduino Nano sa isang USB port ng iyong computer, ang berdeng ilaw ng kuryente ay dapat na bukas at ilang sandali matapos ang asul na LED ay dapat magsimulang mag-blink nang dahan-dahan. Nangyayari ito dahil ang Nano ay paunang na-load sa programa ng BLINK, na tumatakbo sa bagong tatak ng Arduino Nano.

SOFTWARE: Kung wala ka pang naka-install na Arduino IDE, maaari mo itong i-download mula sa Arduino.cc

I-plug ang Nano sa MicroUSB cable at ang kabilang dulo ng cable sa isang USB port sa computer. Ilunsad ang Arduino IDE software. Piliin ang "Arduino Nano" sa IDE sa ilalim ng mga tool> board at "ATmega328P (old bootloader)" sa ilalim ng mga tool> processor. Piliin ang naaangkop na USB port sa ilalim ng mga tool> port (malamang na isang pangalan na may "wchusb" dito).

Panghuli, i-load ang isang piraso ng halimbawa ng code: File-> Mga halimbawa-> Mga Pangunahing Kaalaman-> Blink

Ang blink talaga ang code na na-preload papunta sa Nano at dapat na tumatakbo ngayon upang dahan-dahang kumurap ng asul na LED. Alinsunod dito, kung na-load namin ang halimbawang code na ito, walang magbabago. Sa halip, baguhin natin nang kaunti ang code.

Sa pagtingin nang mabuti, maaari mong makita na ang programa ay nakabukas ang LED, naghihintay ng 1000 milliseconds (isang segundo), pinapatay ang LED, naghihintay ng isa pang segundo, at pagkatapos ay muling ginagawa ang lahat - magpakailanman.

Baguhin ang code sa pamamagitan ng pagbabago ng parehong mga pahayag na "antala (1000)" sa "pagkaantala (100)". Ang pagbabago na ito ay magiging sanhi ng LED upang kumurap ng sampung beses nang mas mabilis, tama ba?

I-load natin ang binagong code sa Nano sa pamamagitan ng pag-click sa pindutang UPLOAD (ang arrow icon) sa itaas lamang ng iyong binagong code. Panoorin sa ibaba ang code para sa impormasyon sa katayuan: "pag-iipon" at pagkatapos ay "pag-upload". Sa paglaon, dapat ipahiwatig ng IDE ang "Kumpletong Pag-upload" at ang iyong LED ay dapat na kumikislap nang mas mabilis.

Kung gayon, binabati kita! Na-hack mo lang ang iyong unang piraso ng naka-embed na code.

Kapag na-load at tumatakbo na ang iyong bersyon ng mabilis na blink, bakit hindi mo makita kung maaari mong baguhin muli ang code upang maging sanhi ng mabilis na pagkurap ng dalawang beses ang LED at pagkatapos maghintay ng ilang segundo bago ulitin? Subukan! Paano ang tungkol sa ilang iba pang mga pattern? Kapag nagtagumpay ka sa pag-visualize ng isang nais na kinalabasan, pag-coding ito, at pagmamasid upang gumana tulad ng nakaplano, gumawa ka ng isang napakalaking hakbang patungo sa pagiging isang karampatang hacker ng hardware.

Ngayon na nakumpirma mo na ang pagpapatakbo ng module ng Nano, magpatuloy at solder ang mga pin ng header dito. Kapag nakakonekta ang mga header, ang module ay maaaring madaling gamitin sa isa sa mga solderless breadboard ng MCU Lab. Ang prosesong ito ng pagsubok sa isang module ng MCU sa pamamagitan ng pag-download ng ilang simpleng test code, pagbabago, at pag-download muli ay isang pinakamahusay na kasanayan tuwing gumagamit ng bago, o magkakaibang uri, module ng MCU.

Kung nais mo ng karagdagang impormasyon sa pagpapakilala para sa pagtatrabaho sa Arduino ecosystem, iminumungkahi namin na suriin ang Gabay para sa HackerBoxes Starter Workshop, na nagsasama ng maraming mga halimbawa at isang link sa isang PDF Arduino Textbook.

Hakbang 5: Galugarin ang MCU Lab Sa Arduino Nano

Galugarin ang MCU Lab Gamit si Arduino Nano
Galugarin ang MCU Lab Gamit si Arduino Nano

POTENTIOMETER

Ikonekta ang gitnang pin ng potentiometer sa Nano Pin A0.

I-load at Patakbuhin: Mga Halimbawa> Analog> AnalogInput

Ang halimbawa ay nagde-default sa onboard LED ng Nano. I-on ang potensyomiter upang mabago ang bilis ng blink.

Baguhin:

Sa code, baguhin ang LedPin = 13 hanggang 4

Ang lumulukso mula sa Nano Pin 4 (at GND) hanggang sa isa sa mga pulang LED ng MCU Lab.

BUZZER

Ang lumulukso mula sa Buzzer hanggang sa Nano Pin 8. Siguraduhin na ang board GND ay konektado sa GND ng pinalakas na Nano dahil ang buzzer ground ay mahirap na naka-wire sa board GND net.

I-load at Patakbuhin: Mga Halimbawa> Digital> toneMelody

OLED DISPLAY

Sa Arduino IDE, gamitin ang library manager upang mai-install ang "ssd1306" mula kay Alexey Dyna.

Ikonekta ang OLED: GND sa GND, VCC sa 5V, SCL sa Nano's A5, SDA sa Nano's A4

I-load at Patakbuhin: Mga halimbawa> ssd1306> mga demo> ssd1306_demo

WS2812B RGB LED

Sa Arduino IDE, gamitin ang library manager upang mai-install ang FastLED

Ikonekta ang pin ng header ng WS2812 sa pin 5 ng Nano.

Mag-load: Mga Halimbawa> FastLED> ColorPalette

Baguhin ang NUM_LEDS sa 1 at LED_TYPE sa WS2812B

Compile and Run

MAGSULAT NG ILANG CODE UPANG MAGSASANAY NG MGA BUTTON AT SWITCHES

Tandaan na gumamit ng pinMode (INPUT_PULLUP) upang basahin ang isang pindutan nang hindi nagdaragdag ng isang risistor.

SUMABI NG IBA SA EHEMPLONG ITO

Halimbawa, ang mga output ng ikot sa ilang mga kagiliw-giliw na paraan at ipakita ang mga estado o halaga ng pag-input sa OLED o serial monitor.

Hakbang 6: WEMOS ESP32 Lite

WEMOS ESP32 Lite
WEMOS ESP32 Lite

Ang ESP32 microcontroller (MCU) ay isang mababang-gastos, mababang-power system sa isang chip (SOC) na may integrated Wi-Fi at dual-mode Bluetooth. Gumagamit ang ESP32 ng isang core ng Tensilica Xtensa LX6 at may kasamang built-in na mga switch ng antena, RF balun, power amplifier, mababang ingay na tumatanggap ng amplifier, mga filter, at mga module ng pamamahala ng kapangyarihan. (wikipedia)

Ang module na WEMOS ESP32 Lite ay mas compact kaysa sa nakaraang bersyon na ginagawang mas madaling gamitin sa isang solderless breadboard.

Gawin ang iyong paunang pagsubok ng module na WEMOS ESP32 bago maghinang ng mga pin ng header papunta sa module.

I-set up ang suportang ESP32 sa Arduino IDE.

Sa ilalim ng mga tool> board, tiyaking piliin ang "WeMos LOLIN32"

I-load ang halimbawa ng code sa Mga File> Mga Halimbawa> Mga Pangunahing Kaalaman> Blink at i-program ito sa WeMos LOLIN32

Ang halimbawang programa ay dapat maging sanhi ng blink ng LED sa module. Eksperimento sa pagbabago ng mga parameter ng pagkaantala upang gawin ang LED blink na may iba't ibang mga pattern. Ito ay palaging isang mahusay na ehersisyo upang mabuo ang kumpiyansa sa pag-program ng isang bagong module ng microcontroller.

Sa sandaling komportable ka sa pagpapatakbo ng module at kung paano ito i-program, maingat na ihihinang ang dalawang hilera ng mga header pin sa lugar at subukang muli ang mga program sa paglo-load.

Hakbang 7: Pagbuo ng Video ng ESP32

Image
Image

Ipinapakita ng video na ito ang ESP32 VGA Library at isang napakagandang, simpleng tutorial mula sa lab ng bitluni.

Ang ipinakitang 3-bit na pagpapatupad (8 mga kulay) ay gumagamit ng direktang mga wire jumpers sa pagitan ng module na ESP32 at ng konektor ng VGA. Ang paggawa ng mga koneksyon na ito sa header ng VGA ng MCU Lab ay medyo madali dahil walang mga karagdagang sangkap na kasangkot.

Nakasalalay sa kung aling MCU ang ginagamit, antas ng boltahe nito, mga resolusyon ng pixel, at nais na lalim ng kulay, may iba't ibang mga kumbinasyon ng mga inline resistor at resistor network na maaaring mailagay sa pagitan ng MCU at ng VGA header. Kung magpasya kang permanenteng gumamit ng mga inline resistor, maaari silang solder sa MCU Lab PCB. Kung nais mong mapanatili ang kakayahang umangkop at lalo na kung nais mong gumamit ng mas kumplikadong mga solusyon, inirerekumenda na huwag maghinang ng anumang resistors sa lugar at gamitin lamang ang paggamit ng mga solderless board at VGA header upang ikonekta ang kinakailangang resistors.

Halimbawa, upang maipatupad ang 14-bit na mode ng kulay ng bituni na ipinakita sa pagtatapos ng video, ang module na ESP32 ay maaaring nakaposisyon sa isa sa mga mini solderless board at ang iba pang solderless board ay maaaring magamit upang ikonekta ang mga hagdan ng resistors.

Narito ang ilang iba pang mga halimbawa:

Sa HackerBox 0047 isang Arduino Nano ang nagdadala ng isang simpleng output ng VGA na may 4 na resistors.

Ang isang VIC20 Emulator ay ipinatupad sa ESP32 gamit ang FabGL at 6 resistors.

Ipatupad ang isang BASIC PC gamit ang ESP32 at 3 resistors.

Maglaro ng Space Invaders sa ESP32 gamit ang FabGL at 6 resistors.

Bumuo ng output ng VGA sa STM32 na may 6 na resistors.

Kasabay ang mga layer ng Teksto at Grapika sa STM32 na may pagpapakita ng Video.

Hakbang 8: STM32F103C8T6 Black Pill MCU Module

TXS0108E 8-Bit Logic Level Shifter
TXS0108E 8-Bit Logic Level Shifter

Ang Black Pill ay isang MCM Module na nakabatay sa STM32. Ito ay isang pinabuting variant sa karaniwang Blue Pill at sa hindi gaanong karaniwang Red Pill.

Nagtatampok ang Black Pill ng STM32F103C8T6 32bit ARM M3 microcontroller (datasheet), isang apat na pin na header ng ST-Link, isang MicroUSB port, at isang LED na gumagamit sa PB12. Ang tamang pull-up risistor sa PA12 ay na-install para sa tamang operasyon ng USB port. Karaniwang kinakailangan ng pull-up na ito ng isang pagbabago sa board sa iba pang mga Pill Board.

Habang katulad sa hitsura ng Arduino Nano, ang Black Pill ay mas malakas. Ang 32bit STM32F103C8T6 ARM microcontroller ay maaaring tumakbo sa 72 MHz. Maaari itong magsagawa ng single-cycle na pagpaparami at dibisyon ng hardware. Mayroon itong 64 Kbytes ng memorya ng Flash at 20 Kbytes ng SRAM.

Programming ang STM32 mula sa Arduino IDE.

Hakbang 9: TXS0108E 8-Bit Logic Level Shifter

Ang TXS0108E (datasheet) ay isang 8-Bit Bidirectional Logic Level Shifter. Ang module ay naka-set up sa antas-shift signal sa pagitan ng 3.3V at 5V.

Dahil ang mga channel sa antas ng signal ay bidirectional, ang mga lumulutang na input ay maaaring maging sanhi ng mga katumbas na output na hindi sinasadyang hinimok. Ang isang kontrol na nagbibigay-daan sa output (OE) ay ibinigay upang maprotektahan ang mga nasabing senaryo. Dapat mag-ingat depende sa kung paano nakakonekta ang shifter upang matiyak na ang isang output mula sa shifter (alinman sa "sinasadya" o dahil sa isang lumulutang na input sa kabilang panig) ay hindi kailanman pinapayagan na mag-cross-drive ng isang output mula sa ibang aparato.

Ang OE pin ay naiwang naka-disconnect sa mga bakas ng PCB. Ang isang dalawang-pin na header ay ibinibigay sa ibaba ng module para sa pagkonekta ng OE at 3V3. Ang pagpapaikli ng two-pin header (gamit ang isang piraso ng wire o isang jumper block) ay kumokonekta sa OE sa 3V3 na nagbibigay-daan sa IC na himukin ang mga output nito. Ang isang pulldown risistor at pagkontrol sa lohika ay maaari ring maiugnay sa OE pin.

Hakbang 10: HackLife

HackLife
HackLife

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: