Cov txheej txheem:
- Kauj Ruam 1: Pib Nrog Electronic
- Kauj Ruam 2: Tsim Tus Kws Kho Mob
- Kauj ruam 3: Software - Pib
- Kauj Ruam 4: Software - Lub Tswv Yim Ntsiab Lus
- Kauj ruam 5: Software - Cov ntawv thov
- Kauj Ruam 6: Tswj Via Twitch Extension
- Kauj Ruam 7: Tswj los ntawm Nintendo NES Tus Tswj
Video: PixelWall: 7 Kauj Ruam (nrog Duab)
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:27
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
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
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
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
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
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
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
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:
YADPF (YET Lwm Tus Duab Duab Duab): 7 Kauj Ruam (nrog Duab)
YADPF (YET Lwm Tus Duab Duab Duab): Kuv paub qhov no tsis yog khoom tshiab, Kuv paub, Kuv tau pom qee qhov ntawm cov haujlwm no ntawm no, tab sis kuv ib txwm xav tsim kuv tus kheej cov duab thav duab. Txhua daim duab thav duab kuv tau pom yog qhov zoo, tab sis kuv tab tom nrhiav lwm yam, Kuv tab tom nrhiav qhov zoo nkauj tiag tiag
Kev Tsim Qauv Duab Duab/Duab Duab Duab: 4 Kauj Ruam
Kev Tsim Qauv Duab Duab/Duab Duab Duab: Nyob zoo txhua tus, Hauv qhov kev qhia no, Kuv yuav qhia koj cov txheej txheem ntawm yuav ua li cas thiaj tsim 3D qauv siv cov duab digital. Cov txheej txheem hu ua Photogrammetry, tseem hu ua Image-Based Modeling (IBM). Tshwj xeeb, hom txheej txheem no tau siv los rov ua dua
Cov Duab Duab Duab thiab Cov Duab 1: 4 Cov Kauj Ruam (nrog Duab)
Cov Duab Duab Cubes thiab Cov Duab 1: Thaum sim nrog qee cov ntoo ntoo thiab cov duab los qhia, kuv pom ob peb txoj hauv kev los ua cov voos thiab lwm yam duab los ntawm cov khoom siv yooj yim. Los ntawm kev muab cov no los ua Cov Ntawv Qhia, Kuv vam tias yuav txhawb nqa kev ua si thiab kev kawm. Kev hloov pauv ntawm qhov kev qhia no
Yuav Ua Li Cas Thiaj Li Tshem Tawm Lub Computer Nrog Cov Kauj Ruam Yooj Yim thiab Duab: 13 Kauj Ruam (nrog Duab)
Yuav Tsum Tshem Tawm Lub Khoos Phis Tawj Li Cas Nrog Cov Kauj Ruam Yooj Yim thiab Duab: Nov yog cov lus qhia txog yuav ua li cas tshem lub PC. Feem ntau ntawm cov khoom siv yooj yim yog hloov pauv thiab tshem tawm tau yooj yim. Txawm li cas los xij nws yog ib qho tseem ceeb uas koj tau koom nrog nws. Qhov no yuav pab tiv thaiv koj kom tsis txhob poob ib feem, thiab tseem ua rau kev rov ua dua tshiab
Cov Duab Duab Duab Duab, WiFi Txuas - Raspberry Pi: 4 Cov Kauj Ruam (nrog Duab)
Cov Duab Duab Duab Duab, WiFi Txuas - Raspberry Pi: Nov yog txoj hauv kev yooj yim heev thiab tus nqi qis mus rau cov duab thav duab digital - nrog qhov zoo ntawm kev ntxiv /tshem cov duab hla WiFi ntawm 'nyem thiab luag' siv (pub dawb) xa cov ntaub ntawv . Nws tuaj yeem siv tau los ntawm qhov me me £ 4.50 Pi Zero. Koj tseem tuaj yeem hloov pauv