Cov txheej txheem:

PixelWall: 7 Kauj Ruam (nrog Duab)
PixelWall: 7 Kauj Ruam (nrog Duab)

Video: PixelWall: 7 Kauj Ruam (nrog Duab)

Video: PixelWall: 7 Kauj Ruam (nrog Duab)
Video: Rau Siab Kawm Ntawd Maiv Twm & Me Nyuam Kub (Tub Hmoov) New Song 2023-2024 2024, Hlis ntuj nqeg
Anonim
PixelWall
PixelWall

Koj puas paub Pixel-Table project? Kuv muaj lub tswv yim kom paub qhov zoo tshaj plaws pixel, tab sis tsis yog lub rooj, hloov los tso rau ntawm phab ntsa.

Yog li kuv tuaj yeem dag ntawm lub rooj zaum thiab ua qee qhov kev ua si ntawm nws thaum so.:)

Kev ua si ua si yog:

  • Tetris
  • Chaw Invaders
  • Nab
  • Pixel Kos

cov haujlwm ntxiv yog:

  • Qhia lub sijhawm tam sim no
  • Qhia cov xim xim

PixelWall muaj ESP8266 yog li nws tuaj yeem txuas rau kuv lub tsev-WLAN. Tab sis nws kuj tseem tuaj yeem siv PixelWall ua qhov chaw nkag thiab txuas ncaj qha rau nws.

Txhawm rau ua kom yooj yim siv kuv PixelWall, phab ntsa muab Lub Vev Xaib rau kev tswj hwm tom qab txuas. Txhua Apps tuaj yeem tswj tau/ua si tau ntawm lub vev xaib. Yog li nws tsis yog qhov yuav tsum tau teeb tsa ib qho software rau siv.

Tsis tas li ntawd muaj NES tus tswj hwm uas ua rau nws yooj yim dua los ua si.

Qhib qhov chaw

Txhua qhov software thiab cov duab kos kuv muab tso rau ntawm github: https://github.com/C3MA/PixelWallFeel pub dawb siv nws rau koj tus kheej txoj haujlwm.

Kauj Ruam 1: Pib Nrog Electronic

Pib Nrog Electronic
Pib Nrog Electronic
Pib Nrog Electronic
Pib Nrog Electronic
Pib Nrog Electronic
Pib Nrog Electronic

Los ntawm lwm qhov haujlwm muaj PCB tam sim no nrog WS2812 LEDs. PCB muaj 3 kab nrog 12 LEDs txhua kab.

Kuv txiav txim siab siv PCB no 6 zaug. Yog li kuv tau txais 12x18 LED matrix.

Thawj kauj ruam yog nws txhawm rau txhuam 216 LEDs, ib puag ncig 100 lub peev txheej thiab ESP8266.

Kev siv tus kheej yuav tsum tau kwv yees li 10 teev.

Tom qab thawj qhov kev sim nrawm nws xam tawm: txhua yam ua haujlwm.

Yog li peb tuaj yeem mus rau ntu kws kho tsheb.

Kauj Ruam 2: Tsim Tus Kws Kho Mob

Tsim Neeg Kho Tshuab
Tsim Neeg Kho Tshuab
Tsim Neeg Kho Tshuab
Tsim Neeg Kho Tshuab
Tsim Neeg Kho Tshuab
Tsim Neeg Kho Tshuab
Tsim Neeg Kho Tshuab
Tsim Neeg Kho Tshuab

Ua ntej tshaj plaws peb xav tau seperater rau txhua lub pixel. Lub tswv yim yog tso kab rov tav thiab ntsug ntawm V-txiav ua ke.

Txhua pawg muaj qhov tuab ntawm 3mm thiab qhov siab ntawm 17mm. Lawv raug txiav los ntawm HDF phaj los ntawm lasercutter.

Txhua qhov kos rau lub lasercutter tau kos rau hauv FreeCad (lub npe "Leiste" hauv phau ntawv kho tshuab ntawm github project)

Cov kab sib chaws tau muab los ntawm Cov Txheej Txheem ntawm PCB. Nws muaj 28mm kab dav thiab 31mm kab qhov siab.

Cov lus nug tom ntej yog: Yuav kho lub bands ntawm PCB li cas? Gluing tsis yog lub tswv yim zoo, vim tias nws yuav tsum muaj peev xwm tshem tawm tau yog tias muaj qee yam tsis xws luag. Yog li kuv txiav txim siab ntswj nws. Tab sis cov ntsia hlau yuav faib 3mm nyias txoj kab. Yog li kuv tau luam tawm nrog 3D tshuab luam ntawv lub hnab tshos rau pab pawg (qhov no yog ntu hu ua "Halter" hauv github project). Qhov no ua haujlwm tau zoo los kho lawv ntawm PCB.

Cov kauj ruam tom ntej yog kom tau ib lub thav duab rau nws. Muaj qee lub khw hauv online uas muab txiav cov duab ib tus zuj zus. Yog li kuv xaj ib tus ncej nrog qhov loj 343mm x 565mm.

Lub thav duab tau txais ib qhov ntxiv rau sab hauv qab rau lub zog siv.

Plexiglas pem hauv ntej phaj kuv kuj tau xaj online. Nws yog WN770 opal Milchglasoptik LD45% loj: 567x344x2mm

Nws muaj qhov ua kom pom tseeb ntawm 45%.

Muab txhua feem ua ke rau hauv tus ncej.

Thaum kawg yuav muaj cov hlua khi rau sab nraub qaum, kom txhua yam raug tsau thiab tsis tuaj yeem tawm.

Txhawm rau kom muaj kev xaiv rau kev ua haujlwm ntawm pixelWall yam tsis muaj WLAN kev sib txuas lus, Kuv tau tsim lub vaj huam sib luag tswj tau uas tuaj yeem tso rau ntawm sab xis ntawm tus ncej (hu ua "Bedieneinheit" hauv github project).

Kauj ruam 3: Software - Pib

Software - Pib
Software - Pib

Ib qho ntawm cov ntaub ntawv siv yog ua si game ntawm PixelWall.

Tab sis sau cov pixel game ib txwm xav tau ib puag ncig muaj txiaj ntsig debugging. Kuv tsis paub ib txoj hauv kev debug ESP8266 tus tswj kom haum. Yog li kuv txiav txim siab sim ua tus lej tag nrho ntawm kuv lub PC. Tus lej ESP tau sau hauv Arduino C ++, yog li kuv siv Visual Studio C ++/CLI lus rau kev sim ntawm lub PC. Muaj qee qhov sib txawv ntawm tus qauv C ++ thiab C ++/CLI lus. Piv txwv li hauv C ++/CLI koj tsis tuaj yeem tsim cov khoom ntawm String type, vim khaws cov khib nyiab nws tsis raug tso cai los tsim cov khoom lossis siv/taw qhia rau yam khoom ntawd. Hauv C ++/CLI koj yuav tsum siv cov leeg: Txoj hlua^. Tab sis cov haujlwm zoo li no tsis muaj nyob hauv C ++ tus qauv. Yog li kuv yuav tsum muaj tswv yim coj ob lub ntiaj teb no ua ke. Kuv daws qhov no los ntawm kev tsim tus kheej cov ntaub ntawv Arduino.h rau kev simulation. Cov ntaub ntawv no tsuas yog overrides hauv qhov simulation txhua txoj hlua los ntawm kev txhais "#define String String^". Qhov no tsis yog ib txoj hauv kev, tab sis nws ua haujlwm:) Tsuas yog qee qhov hloov pauv me me hloov tag nrho ESP cov cai yog qhov ua tau zoo dua hauv Visual Studio C ++/CLI.

LED Matrix Cov

Thawj chav kawm kuv tau sau yog chav kawm LED-Matrix. Chav kawm no ua haujlwm tswj hwm thiab teeb duab ntawm WS2812 LEDs.

Cov chav kawm no tau sau ob zaug: ib zaug rau ESP8266 tus tswj (LEDMatrixArduino.cpp) thiab lwm qhov uas yuav tswj cov duab ntawm Daim Ntawv GUI hauv kev sim (LEDMatrixGUI.cpp).

Chav kawm no muab qee txoj hauv kev yooj yim rau teeb tsa thiab tshem tawm ib tus neeg LED los ntawm nws cov kab thiab kab.

Tsis tas li ntawd nws muab kev teeb tsa teeb tsa. Tus nqi no yuav raug txiav txim siab yog tias yuav teeb tsa LED. Yog li txhua qhov teeb tsa LED teeb tsa tuaj yeem ua tiav nrog qhov ci ci. Piv txwv: Yog tias qhov ci ci tau teeb tsa rau 50% thiab teeb tsa setLed () ua haujlwm tau hu nrog RGBColor (255, 255, 255, 255) nws yuav teeb tsa LED rau 127, 127, 127.

LED Vaj Huam Sib Luag

Nyob rau sab saum toj ntawm Chav Kawm Matrix Kuv tau tso chav kawm LED Vaj Huam Sib Luag. Chav kawm no muab qee qhov muaj txiaj ntsig zoo rau txhua daim ntawv thov. Nws muab ob txheej tsis sib xws. Qhov no tuaj yeem pab tau rau daim ntawv thov. Piv txwv ntawm tetris game: txheej 0 yog rau pob zeb tsau rau hauv qab thiab txheej 1 yog los tso saib pob zeb poob. Yog li txhua lub voj voos pob zeb ntog ib lub pixel mus rau hauv qab, daim ntawv thov tsuas tuaj yeem tshem tawm txheej 1 thiab kos lub pob zeb ntawm nws txoj haujlwm tshiab. Nws tsis yog qhov yuav tsum tau rov ua dua txhua lub pob zeb tsau hauv qab.

Ntxiv rau qhov vaj huam sib luag muab

printImage - los luam qee lub cim xws li luag nyav lossis WLAN lub cim tus cimDigit - los luam ib tus lej ntawm ib qho chaw tshwj xeeb Sau tseg Tus lej - los luam tus lej nrog tus lej ua ntej zerosprintNumber - luam tus lej naj npawb numberLineH - kab kab nrog kab ntawv ntev lengthLineV - kab rov tav nrog qhov ntev tshwj xeeb

Kauj Ruam 4: Software - Lub Tswv Yim Ntsiab Lus

Software - Daim Ntawv Thov Tswv Yim
Software - Daim Ntawv Thov Tswv Yim

Lub tswv yim dav dav rau pixel phab ntsa yog:

  • Txhua daim ntawv thov nws muaj nws lub npe
  • Ib daim ntawv thov pib los ntawm kev hu rau pixelWall URL suav nrog daim ntawv thov npe (piv txwv: 192.168.4.1/tetris)
  • Qhov URL tseem tuaj yeem muaj GET tsis uas yuav xa mus rau daim ntawv thov
  • Txhua daim ntawv thov yuav tsum xa lub vev xaib uas tau tshwm sim hauv qhov browser.
  • Lub vev xaib no tuaj yeem xaiv qhov qhib qhov websocket txuas rau daim ntawv thov kom sib cuam tshuam sai
  • Daim ntawv thov tuaj yeem siv qhov kev sib txuas websocket no los sib txuas lus rov qab mus rau lub vev xaib.
  • Ib sab ntawm lub vev xaib sib tham daim ntawv thov tau txais kev txhawb nqa ntxiv cov xwm txheej khawm los ntawm cov tswj vaj huam sib luag thiab NES maub los.

Daim Ntawv Thov Kev Sib Tham

Txhawm rau ua kom yooj yim los tsim daim ntawv thov tshiab rau PixelWall, Kuv tsim qhov kev sib txuas rau cov ntawv thov hu ua "IPixelApp.h". Lub interface no muaj 8 cov ntsiab lus:

  • virtual void pib () = 0;
  • qhov tsis muaj qhov kawg virtual () = 0;
  • lub voj void virtual () = 0;
  • virtual void newWebsocketData (uint8_t * payload, size_t ntev) = 0;
  • Lub vev xaib virtualResponse_t getWebsiteResponse (Txoj hlua ntsuas) = 0;
  • virtual khoob khoob khawmEvent () = 0;
  • virtual void timerTick () = 0;
  • txoj hlua virtual getName () = 0;

pib / xaus - txoj haujlwm no hu ua yog tias daim ntawv thov pib / xaus vim tias lwm daim ntawv thov pib

loop - txoj haujlwm no yog hu los ntawm lub voj loj ntawm txoj haujlwm tseem ceeb. Qhov kev hu no tsis xwm yeem thiab sab nraud ntawm kev cuam tshuam.

newWebsocketData - qhov haujlwm no hu ua yog tias lub vev xaib tau xa cov ntaub ntawv.

getWebsiteResponse - qhov no tau siv los ntawm cov haujlwm tseem ceeb kom tau txais lub vev xaib uas yuav tsum tau teb rau qhov kev thov.

buttonEvent - qhov no hu ua yog tias muaj khawm nyob ntawm lub vaj huam sib luag tswj tau raug nias lossis tso tawm.

timerTick - txoj haujlwm no hu ua txhua 10ms, ua los ntawm lub sijhawm cuam tshuam. Nws tuaj yeem siv rau lub sijhawm pib tab sis yuav tsum tsis txhob muaj lub sijhawm siv sijhawm hnyav, vim tias nws cuam tshuam cov ntsiab lus.

getName - qhov no yuav tsum xa lub npe ntawm daim ntawv thov rau URL

Kauj ruam 5: Software - Cov ntawv thov

Software - Cov ntawv thov
Software - Cov ntawv thov
Software - Cov ntawv thov
Software - Cov ntawv thov
Software - Cov ntawv thov
Software - Cov ntawv thov
Software - Cov ntawv thov
Software - Cov ntawv thov

Cov ntawv thov 7 hauv qab no tau ua tiav hauv qhov hloov tshiab tam sim no:

Default App

Nov yog qhov app tshwj xeeb uas qhia txog WLAN lub xeev tam sim no ntawm PixelWall. Yog tias phab ntsa tuaj yeem txuas rau WLAN tam sim no, nws yuav tso tus IP chaw nyob uas nws tau txais los ntawm Network.

Yog tias nws ua tsis tau (tsis tau teeb tsa ssid lossis WLAN tsis nyob lossis tus password tsis raug) nws yuav qhib Accesspoint. Hauv qhov no koj tuaj yeem txuas rau PixelWall los ntawm lub neej ntawd Accesspoint IP los ntawm ESP8266: 192.168.4.1

Hauv Webinterface qhov App no nthuav qhia 6 Khawm. Los ntawm nias lub pob koj tuaj yeem pib ua Daim Ntawv Thov uas tsim nyog.

Chaw App

Daim Ntawv Thov no teeb tsa WLAN SSID thiab tus password. Tsuas yog ntxig daim ntawv pov thawj ntawm koj WLAN thiab ntawm qhov pib tom ntej ntawm PixelWill nws yuav sim txuas rau WLAN no.

Kev ua si

Muaj peb qhov kev ua si qub uas tau npaj tseg hauv PixelWall:

  • Tetris
  • Nab
  • Chaw Invaders

Txhua qhov kev ua si tuaj yeem ua si ntawm lub vev xaib lossis nrog NES tus tswj.

Duab App

Nov yog App uas qhia xim ntawm PixelWall. Koj tuaj yeem xaiv yog tias nws yuav tsum yog zaj sawv txav mus, ploj xim sib txawv, qhia xim zoo li qub lossis tsuas yog tso saib cov xim tsis raug.

Pixel Nws

Nrog rau App no koj tuaj yeem teeb tsa txhua lub pixel sib cais los ntawm kev tuav nrog koj tus ntiv tes ntawm Webinterface. Yog li koj tuaj yeem kos qee cov duab cracy:)

Kauj Ruam 6: Tswj Via Twitch Extension

Tswj ntawm Twitch Extension
Tswj ntawm Twitch Extension

Muaj qhov txuas ntxiv ntawm Twitch npe GetInTouch. Qhov Kev Txuas Ntxiv no tso cai rau ua ke Arduino cov phiaj xwm rau hauv koj cov kev tshaj tawm, yog li cov neeg saib tuaj yeem tswj hwm koj cov arduino thaum tso tawm.

Lub tsev qiv ntawv Arduino rau qhov no yog sau rau Arduinos. Tab sis nws tau muab tawm tias nws tseem ua haujlwm ntawm ESP8266 qhov xav tau.

Txhawm rau siv nws hauv kwj dej cov kauj ruam hauv qab no yog qhov yuav tsum tau ua:

  • Sib koom lub tsev qiv ntawv GetInTouch rau hauv txoj cai (saib nyeem)
  • Txuas lub pixelWall nrog koj lub PC ntawm USB/RS232 hloov pauv (uas tseem siv tau rau lub teeb nyem ESP)
  • Nruab GetInTouch Daim Ntawv Thov los ntawm Lub Vev Xaib
  • Nruab GetInTouch Extension ntawm koj Twitch channel (saib qhia)

Kauj Ruam 7: Tswj los ntawm Nintendo NES Tus Tswj

Tswj los ntawm Nintendo NES Controller
Tswj los ntawm Nintendo NES Controller

Tom qab siv nws ib pliag, nws hloov tawm, uas ua si ntawm kov lub xov tooj ntawm tes tsis yooj yim li. Qee lub sij hawm koj plam cov nyees khawm vim tias koj tsis muaj lus tawm tswv yim ntawm koj tus ntiv tes txawm tias koj hla lub pob lossis tsis yog.

Yog li kuv txiav txim siab yuav lub qub Nintendo NES maub los. Tus maub los no muaj qhov yooj yim heev interface. Nws tsuas yog 4021 hloov npe uas sau nrog 3, 3V. Yog li nws tuaj yeem txuas ncaj qha rau ESP8266.

Txhua qhov xwm txheej khawm ntawm tus maub los uas xa mus rau daim ntawv thov khiav los ntawm khawmEvent () muaj nuj nqi.

Pom zoo: