Sisällysluettelo:
- Vaihe 1: Sisältöluettelo HackerBox 0050: lle
- Vaihe 2: HB50 -piirilevy
- Vaihe 3: Avaa HB50 -kortti
- Vaihe 4: Painikkeet, summerit ja LEDit, OH MY
- Vaihe 5: ILI9341 QVGA -värinen TFT -LCD -näyttö
- Vaihe 6: Kosketusnäytön käyttäjän syöttö
- Vaihe 7: CardKB I2C -näppäimistö
- Vaihe 8:
Video: HackerBox 0050: 8 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Tervehdys HackerBox -hakkereille ympäri maailmaa! HackerBox 0050: lle kokoamme ja ohjelmoimme sulautetun HB50 -prosessorilevyn. HB50 tukee kokeiluja ESP32-mikrokontrollereilla, sulautetulla IoT-WiFi-yhteydellä, bittisuihkulla, RGB-LED-valoilla, värillisillä TFT-LCD-näytöillä, kosketusnäytön tuloilla, Bluetoothilla ja muilla. HackerBox 0050 tutkii myös pienen näppäimistöratkaisun mihin tahansa sulautettuun projektiin, I2C -rajapintoihin, virran budjetointiin ja solukkoautomaatteihin.
Tämä opas sisältää tietoja HackerBox 0050: n käytön aloittamisesta, jonka voit ostaa täältä niin kauan kuin tavaraa riittää. Jos haluat saada tällaisen HackerBoxin suoraan postilaatikkoosi joka kuukausi, tilaa HackerBoxes.com ja liity vallankumoukseen!
HackerBoxes on kuukausittainen tilauslaatikkopalvelu laitteistohakkereille ja elektroniikan ja tietotekniikan harrastajille. Tule mukaan elämään HACK LIFEa.
Vaihe 1: Sisältöluettelo HackerBox 0050: lle
- Ainutlaatuinen HB50 -piirilevy
- ESP-WROOM-32 Dual Core WiFi -moduuli
- 2,4 tuuman QVGA -värillinen TFT LCD -näyttö
- Integroitu kosketusnäyttö ja kynä
- Kuusi WS2812B RGB -LEDiä
- Kuusi Surface Mount Tacile -painiketta
- Pietsosummeri 12 mm SMD
- AMS1117 3.3V lineaarinen säädin SOT223
- Suorakulmainen 40 -nastainen irrotettava otsikko
- Kaksi 22uF tantaalikondensaattoria 1206 SMD
- Kaksi 10K ohmin vastusta 0805 SMD
- CardKB Mini -näppäimistö
- Grove -naaras DuPont Breakout -kaapeli
- CP2102 USB -sarjamoduuli
- DuPont Puserot Naaras-Naaras 10cm
- Hokusai Great Wave PCB -tarra
- Ainutlaatuinen HackerBox WireHead -tarra
- Ainutlaatuinen HackerBox 50 Challenge -kolikko
Muutamia muita asioita, joista on apua:
- Juotosrauta, juote ja perusjuottotyökalut
- Tietokone ohjelmistotyökalujen suorittamiseen
Mikä tärkeintä, tarvitset seikkailutunnetta, hakkerihenkeä, kärsivällisyyttä ja uteliaisuutta. Elektroniikan rakentaminen ja kokeileminen, vaikkakin erittäin palkitsevaa, voi olla hankalaa, haastavaa ja jopa turhauttavaa toisinaan. Tavoitteena on edistyminen, ei täydellisyys. Kun jatkat ja nautit seikkailusta, tästä harrastuksesta voi saada paljon tyydytystä. Ota jokainen askel hitaasti, muista yksityiskohdat ja älä pelkää pyytää apua.
HackerBoxesin usein kysytyissä kysymyksissä on runsaasti tietoa nykyisille ja tuleville jäsenille. Lähes kaikkiin saamiimme ei-teknisen tuen sähköpostiviesteihin on jo vastattu siellä, joten arvostamme todella, että käytät muutaman minuutin UKK: n lukemiseen.
Vaihe 2: HB50 -piirilevy
HackerBox -numeron 0050 muistoksi olemme kehitelleet päivitetyn version suosituimmasta HackerBox -piirilevystä suuren kysynnän mukaan. HackerBox 0020 Summer Camp -merkkisarja myytiin loppuun DEF CON 25: ssä alle kahdessa tunnissa. PCB -tiedostoja on sittemmin pyydetty usein. Kolmas osapuoli on painanut levyn uudelleen vähintään pari kertaa. Suunnittelu on inspiroinut kourallisen muita tunnuksia ja sulautettuja IoT -projekteja, joista olemme tietoisia, ja toivottavasti useita muita, joista emme ole tietoisia.
Uuden HB50-piirilevysarjan päivitykset sisältävät ESP-32 DEVkitC: n vaihtamisen kompaktimpaan ESP-WROOM-32-moduuliin. Viisi kapasitiivista kosketuspainiketta on korvattu mekaanisilla kosketuspainikkeilla. Valkoisissa pakkauksissa olevat viisi RGB WS2812 -LEDiä on korotettu kuuteen ja ovat nyt mustissa pakkauksissa. Pietsosummeri on korvattu tiiviimmällä pinta -asennettavalla versiolla. Virtalähdettä on yksinkertaistettu. Värillistä TFT -näyttöä on kasvatettu 2,2 tuumasta 2,4 tuumaan. Piirilevy on pienempi ja siinä on jopa muutama IO -nasta, jotka on murtautunut hakkeroinnin iloksi. HackerBox 20: n jälkeen ESP32: lle on saatavilla paljon enemmän projekteja, esimerkkejä ja koodia, joten valmistaudumme jyrinä…
Ominaisuudet:
- ESP32 Dual Core 160MHz -suoritin
- 2,4 tuuman QVGA -värillinen TFT LCD -näyttö
- WiFi 802.11 b/g/n/d/e/i/k/r
- Bluetooth LE 5.0
- Viisi kosketuspainiketta (+ yksi nollaus)
- Kuusi RGB WS2812 -LEDiä
- Pietsosummeri
- 3.3V lineaarinen säädin
- Laajennusotsikko
Kuten edeltäjänsä, HB50: tä voidaan käyttää kaulanauhassa, käyttää kämmenlaitteena, asentaa seinälle tai käyttää melkein missä tahansa lukemattomissa langattomissa ja värikkäissä sovelluksissa.
Vaihe 3: Avaa HB50 -kortti
Virheiden minimoimiseksi tai ainakin eristämiseksi ehdotamme kokoonpanon aloittamista täyttämällä vain vähimmäismäärä komponentteja HB50 -piirilevylle, joita tarvitaan ESP32: n ohjelmointiin. Tämä vähimmäiskelpoinen lähestymistapa on kuvattu seuraavissa vaiheissa:
- Katso tämä video valettujen moduulien juottamisesta.
- Juotos ESP-WROOM-32-moduuli piirilevyyn. Ei kiirettä. Älä huolehdi moduulin alla olevasta keskimmäisestä maadoituslevystä. Se voidaan juottaa vain uudelleensyötön avulla ja se on tarkoitettu vain lämpöliitännän lisäämiseen.
- Varmista yleismittarilla, ettei 3V3: n ja GND: n välillä ole oikosulkua. Jos siinä on oikosulku, se on tunnistettava ja poistettava ennen virran kytkemistä laudalle tai savuhirviö saattaa tulla ulos.
- Juottaa kaksi 10K vastusta EN- ja IO0 -painikkeiden yläpuolelle.
- Juotos EN- ja IO0 -painikkeet. Muut neljä painiketta voidaan jättää pois.
- Katkaise 16 -nastainen otsikko. Aseta se piirilevyn CPU -puolelta siten, että nastat osoittavat piirilevyn lähimpään reunaan. Juotos sitten otsikko paikalleen piirilevyn painikkeen puolelta.
- Tarkista uudelleen, ettei 3V3: n ja GND: n välillä ole oikosulkuja.
- Käytä neljää DuPont -hyppyjohtoa CP2102 -moduulin liittämiseen kuvan mukaisesti. Huomaa, että käytämme väliaikaisesti 3V3 -virtalähdettä, koska lineaarista säädintä ei ole vielä asennettu piirilevylle.
- Jos tietokoneellesi ei ole vielä asennettu Arduino IDE, hanki se täältä.
- Määritä ESP32 -tuki Arduino IDE: ssä tämän oppaan avulla.
- Aseta IDE: ssä työkalut> kortti "ESP32 Wrover Module".
- Liitä CP2102 -moduuli tietokoneen USB -porttiin.
- Aseta työkalut> portti IDE: ssä oikeaan CP2102: n USB -porttiin.
- Jos uusi portti ei tule näkyviin, kun CP2102 -moduuli asetetaan paikalleen, asenna tarvittava USB -ohjain Silicon Labsista.
- Tartu button_demo -luonnokseen.
- Kokoa ja lähetä luonnos.
- Kun lataus alkaa, pidä painettuna sekä EN- että IO0 -painikkeita. FI on pohjimmiltaan nollauspainike ja IO0 on kiinnitystappi, joka pakottaa salaman uudelleen ohjelmoimaan.
- Kun pisteet ja viivat näkyvät IDE: ssä, päästä EN -painike ylös (vapauta nollaus), mutta jatka IO0 -painikkeen painamista, kunnes salaman ohjelmointi alkaa olla varma, että vannetappi tunnistetaan käynnistyksen yhteydessä.
- Kun ohjelmointi on valmis, paina EN -painiketta uudelleen nollataksesi ja käynnistääksesi vasta vilkkuneen koodin.
- Avaa Arduino IDE Serial Monitor ja aseta se 115200 baudiin.
- IO0 -painikkeen painaminen tuottaa viestin sarjamonitoriin.
Vaihe 4: Painikkeet, summerit ja LEDit, OH MY
LISÄÄ PAINIKKEITA
Kun ensimmäinen ohjelmointivaihe on onnistunut, sammuta HB50 -kortti ja juota loput neljä painiketta. Saman button_demo -luonnoksen pitäisi nyt raportoida kaikki viisi painiketta (IO0, A, B, C ja D) sarjamonitorille, kun niitä painetaan.
SUMMERI
Sammuta HB50 -levy ja juota summeri sen tyynyille. Suuntaa summerin piste lähimpään HB50 -kortin "+" -alustaan. Ohjelmoi buzzer_demo -luonnos ja nollaa (EN) levy, jotta se toimii. Kuulostaa hyvältä?
WS2812B RGB -LEDit
Sammuta HB50 -kortti ja juota kuusi LEDiä tyynyilleen. Suuntaa jokaisen LED -valon valkoisesti merkitty kulma vastaamaan välilehtien kulmaa, kuten PCB -silkkipaino osoittaa.
Asenna FastLED -kirjasto Arduino IDE -työkaluista> Hallitse kirjastoja.
Avaa luonnos: Tiedosto> Esimerkit> FastLED> ColorPalette.
Vaihda luonnoskoodissa LED_PIN -arvoksi 13, NUM_LEDS -arvoon 6 ja LED_TYPE -asetukseksi WS2812B.
Lataa luonnos ja nollaa (EN) levy, jotta se toimii. Nauti vilkkuvista valoista kaikissa väreissä.
LINEAARINEN VIRRANSÄÄTÖ
Kun LED -valot ovat käytössä (ja varsinkin kun WiFi -lähetin on otettu käyttöön), HB50 ottaa paljon virtaa 3V3 -virtalähteestä. Parannetaan 3,3 V: n tehoa juottamalla AMS1117 (SOT 233 -paketti) lineaarinen säädin paikalleen. Täytä myös kaksi 22uF suodatinkondensaattoria säätimen vieressä. Huomaa, että jokaisen kondensaattorin silkkipainan toinen puoli on suorakulmainen ja toinen puoli, jos se on kahdeksankulmainen. Kondensaattoreiden tulee olla suunnattu siten, että pakkauksen tumma jäykkä linja on kahdeksankulmaisen silkkipuolen puolella. Säädin muuttaa nyt osan 5 V: n jännitteestä 3,3 V: ksi ja voi tarjota paljon enemmän virtaa kuin CP2102 -moduuli yksinään. Jos haluat nyt syöttää virtaa HB50 -laitteeseen 5 V: n virtalähteen kautta, siirrä 3V3 DuPont -hyppylaitteen molemmat päät 5 V: n päälle. Toisin sanoen lähde 5V CP2102 -moduulista johonkin HB50 -otsikon 5 V: n tulonastaan. Huomaa, että 5 V: n nasta voidaan itse asiassa syöttää millä tahansa jännitteellä 3,5–5 V.
Vaihe 5: ILI9341 QVGA -värinen TFT -LCD -näyttö
MSP2402 -näyttö (lcdwiki -sivu) on SPI -väylämoduuli, joka perustuu ILI9341 -siruun. Siru käyttää 2,4 tuuman värinäyttöä, joka tukee 65 000 väriä ja resoluutio on 320 x 240 pikseliä (QVGA).
Moduulissa on myös kosketusnäyttö ja SD -korttipaikka.
ESITESITYSNÄYTÖN I/O-PINSIT
Jos sinulla on ollut ongelmia ESP-WROOM-32-nastan juottamisen kanssa tähän asti, saattaa olla hyvä idea testata näyttömoduulin I/O-nastat ennen näyttömoduulin juottamista paikalleen. Kuten alla ja piirilevyn kaaviossa on esitetty, ESP32 IO: t ovat 19, 23, 18, 5, 22, 21 ja 15. Huomaa, että nämä ovat IO -numeroita eivätkä nastanumeroita. Nastat voidaan testata kirjoittamalla pieni ohjelma, joka asettaa kaikki nämä IO: t ulostuloiksi ja sitten silmukat kiertävät IO: iden läpi kytkemällä kunkin päälle ja pois vuorotellen toisen tai kahden viiveen välillä. Yksinkertaista LED-valoa, johon on liitetty virranrajoitinvastus, voidaan käyttää anturina varmistaakseen, että jokainen näytön otsikoihin kartoitettu IO-nasta (katso kaavio) on kytketty päälle ja pois päältä ja ettei yksikään niistä ole kytketty yhteen.
Kun kaikki nastat on tarkistettu, TFT -näyttö voidaan juottaa paikalleen sekä pitkillä että lyhyillä otsikoilla.
ASENNA JA MÄÄRITÄ TFT -KIRJASTO
Asenna TFT_eSPI -kirjasto Arduino IDE: työkalut> Hallitse kirjastoja -kohdasta
Siirry Arduino Libraries -kansioon. Avaa TFT_eSPI -kansio ja muokkaa tiedostoa User_Setup.h, niin voit määrittää moduuliohjaimen sirun, pikselitarkkuuden ja IO -nastat. Tee tämä varmistamalla, että määritelmät on (ei) kommentoitu alla esitetyllä tavalla ja asetettu arvoihin kuvan mukaisesti. Voit tarkistaa, että ne vastaavat piirilevyn kaavion liitäntöjä.
// Osa 1.
#define ILI9341_DRIVER #define TFT_WIDTH 240 #define TFT_HEIGHT 320 // Osa 2. // ESP32 -kehityskortille #define TFT_MISO 19 #define TFT_MOSI 23 #define TFT_SCLK 18 #define TFT_CS 5 #define TFT_DC 22 #define TF TFT_RST -1 // #define TFT_BL 32 #define TOUCH_CS 15
Avaa ja lataa luonnos:
Tiedosto> Esimerkit> TFT_eSPI> 320 x 240> Cellular_Automata
Tämä luonnos on hieno visuaalinen esitys Conwayn Elämän pelistä.
Hakkeri -purjelentokone voi kehittyä olemassaoloksi … pidä silmällä!
NÄYTÄ HACKERBOX -LOGO TFT -LCD -NÄYTÖLLÄ
Kokeile BitHeadDemo -luonnosta.
Vaihe 6: Kosketusnäytön käyttäjän syöttö
Seuraavaa luonnosta voidaan käyttää kosketusnäytön toimivuuden määrittämiseen ja testaamiseen:
Tiedosto> Esimerkit> TFT_eSPI> 320 x 240> Näppäimistö_240x320
"Lähetä" -painike lähettää syötetyn numeron sarjamonitorille 9600 baudilla.
Vaihe 7: CardKB I2C -näppäimistö
Tämä pieni kortti toteuttaa monipuolisen QWERTY-näppäimistön, jota voidaan käyttää melkein minkä tahansa mikro-ohjainprojektisi kanssa. Näppäimistö kommunikoi käyttämällä GROVE A -porttia (I2C -liitäntä) osoitteessa 0x5F. Painikeyhdistelmiä (Sym+Näppäin, Vaihto+Näppäin, Fn+Näppäin) tuetaan Rich Key -arvojen tulostamiseen.
Aloita yksinkertaisella CardKB_Serial -luonnoksella, joka kommunikoi näppäimistön kanssa GROVE I2C: n kautta ja toistaa näppäinpainallukset sarjamonitoriin. Luonnos voidaan suorittaa ESP32: lla (kuten HB50), Arduino UNO: lla, Arduino Nanolla tai millä tahansa alustalla, joka tukee I2C: tä.
Huomaa, että on olemassa kaksi erilaista Wire.begin -kutsua ESP32: lle ja UNO/Nanoille. Poista kommentti käyttämästäsi isännästä. Kytke keltaiset ja valkoiset GROVE -katkaisukaapelit kyseisellä koodirivillä määritettyihin nastoihin. Kytke punainen GROVE -katkaisukaapeli 5 V: iin ja musta GROVE -johto GND: hen.
Valmistajan dokumentaatiosivu. Huomaa, että vaikka CardKB-sisäinen mikro-ohjain on esiohjelmoitu, laiteohjelmistolähde on käytettävissä, jos haluat hakata näppäimistöä.
Vaihe 8:
Toivomme, että nautit tämän kuukauden HackerBox -seikkailusta elektroniikan ja tietotekniikan parissa. Ota yhteyttä ja jaa menestyksesi alla olevissa kommenteissa tai HackerBoxes Facebook -ryhmässä. Muista myös, että voit lähettää sähköpostia osoitteeseen [email protected] milloin tahansa, jos sinulla on kysyttävää tai tarvitset apua.
Mitä seuraavaksi? Liity vallankumoukseen. Elää HackLife. Hanki viileä pakkauslaitteisto, joka toimitetaan suoraan postilaatikkoosi joka kuukausi. Selaa HackerBoxes.com -sivustoa ja tilaa kuukausittainen HackerBox -tilauksesi.
Suositeltava:
HackerBox 0060: Leikkikenttä: 11 vaihetta
HackerBox 0060: Leikkikenttä: Tervehdys HackerBox -hakkereille ympäri maailmaa! HackerBox 0060: n avulla voit kokeilla Adafruit Circuit Playground Bluefruitia, jossa on tehokas Nordic Semiconductor nRF52840 ARM Cortex M4 -kontrolleri. Tutustu sulautettuun ohjelmointiin
HackerBox 0041: CircuitPython: 8 vaihetta
HackerBox 0041: CircuitPython: Terveisiä HackerBox -hakkereille ympäri maailmaa. HackerBox 0041 tuo meille CircuitPythonin, MakeCode Arcaden, Atari Punk -konsolin ja paljon muuta. Tämä opas sisältää tietoja HackerBox 0041: n käytön aloittamisesta, ja sen voi ostaa
HackerBox 0058: Koodaus: 7 vaihetta
HackerBox 0058: Koodaus: Terveisiä HackerBox -hakkereille ympäri maailmaa! HackerBox 0058: n avulla tutkimme tietojen koodausta, viivakoodeja, QR -koodeja, ohjelmoimme Arduino Pro Micron, upotetut LCD -näytöt, integroimme viivakoodin generoinnin Arduino -projekteihin, ihmisten tietoja
HackerBox 0057: Vikasietotila: 9 vaihetta
HackerBox 0057: Vikasietotila: Tervehdys HackerBox -hakkereille ympäri maailmaa! HackerBox 0057 tuo IoT-, langattoman, lukitus- ja tietysti laitteistohakkeroinnin kylän suoraan kotilaboratorioosi. Tutkimme mikro-ohjaimen ohjelmointia, IoT-Wi-Fi-hyödyntämistä, Bluetoothia
HackerBox 0034: SubGHz: 15 vaihetta
HackerBox 0034: SubGHz: Tässä kuussa HackerBox -hakkerit tutkivat ohjelmistojen määrittämää radiota (SDR) ja radioviestintää alle 1 GHz: n taajuuksilla. Tämä ohjekirja sisältää tietoja HackerBox #0034: n käytön aloittamisesta, jonka voit ostaa täältä tarvikkeiden aikana