Բովանդակություն:
- Քայլ 1: Լազերային կտրում
- Քայլ 2: Տեղադրեք LED- ները
- Քայլ 3: Հավաքում
- Քայլ 4: Sոդում
- Քայլ 5: Տեղադրեք SPI էկրան
- Քայլ 6: Տեղադրեք Pi- ը
- Քայլ 7: Էլեկտրամոնտաժ և էլեկտրամատակարարում
- Քայլ 8: Տեղադրեք Pi- ն
- Քայլ 9. Python Code, Test and Simulator
- Քայլ 10. Վերջնական փորձարկում և երեսպատում
- Քայլ 11: Արդյունքը
Video: Փայտե LED խաղային ցուցադրում Powered by Raspberry Pi Zero: 11 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Այս նախագիծը իրականացնում է 20x10 պիքսել WS2812 հիմքով LED էկրան ՝ 78x35 սմ չափսերով, որը կարելի է հեշտությամբ տեղադրել հյուրասենյակում ՝ ռետրո խաղեր խաղալու համար: Այս մատրիցայի առաջին տարբերակը կառուցվել է 2016 թվականին և վերակառուցվել շատ այլ մարդկանց կողմից: Այս փորձառությունն օգտագործվել է բոլոր բարելավումներն ամփոփելու համար ՝ մատրիցայի նոր տարբերակ կառուցելու համար և այժմ բերելու այն instructible.com- ին: Հիմնական նոր գործառույթներն են ՝ փոխարենը Raspberry Pi Zero- ի և Pi A- ի և Arduino- ի թարմացումը և նախորդ խոշոր հսկիչի փոխարինումը Bluetooth gamepad- ով: Նաև ծրագրակազմը բարելավվել է, ներառյալ սիմուլյատորը, որը թույլ է տալիս համակարգչում մշակել ծածկագիրը, նույնիսկ եթե դուք չունեք մուտք դեպի մատրիցային սարքավորում:
Այս LED մատրիցի հատուկ առանձնահատկությունը փայտի հատուկ երեսպատումն է, որն օգտագործվում է լուսադիոդային ծածկույթը ծածկելու և դրանք թաքցնելու համար, երբ LED- ները անջատված են: Սա բարձրացնում է ոչ տեխնոլոգիական մարդկանց ընդունման գործոնը;-) Իհարկե, եթե այս հատուկ երեսպատումը հասանելի չէ ձեր երկրում, ապա LED- ները թաքցնելու համար կարող եք նաև օգտագործել այլ ցրված նյութեր, ինչպիսիք են ակրիլը: Նախատեսվում է նաև ապագայում տրամադրել որոշ առանցքային մասեր `նախագծի վերակառուցումն ավելի դյուրին դարձնելու համար:
Պարագաներ:
- Raspberry Pi Zero W (որոշ հարմարվողականությամբ, մյուս բոլոր մոդելները նույնպես կաշխատեն)
- 200 LED/ներ (WS2812B LED շերտեր 30 LED/մ)
- 4x SPI LED մատրիցային էկրան ՝ MAX7219- ով
- Մալուխներ
- Bluetooth խաղային տախտակ (օրինակ ՝ սա Pimoroni- ից)
- Էլեկտրաէներգիայի մատակարարում 5V առնվազն 5A- ով
- MDF փայտ լազերային կտրման համար
- Փայտե երեսպատում կամ դիֆուզիոն ակրիլային ափսե
- Կոնդենսատոր, դիմադրություն
- Որոշ պտուտակներ
Քայլ 1: Լազերային կտրում
Մատրիցի հիմքի կառուցվածքը պատրաստված է MDF փայտից ՝ 3 մմ հաստությամբ և կտրված լազերային դանակով: Եթե դուք լազերային դանակ չունեք, կարող եք օգտագործել առցանց ծառայություն, ինչպիսին է ponoko.com- ը կամ formulor.de- ն կամ կապվել ձեր միջավայրի հաջորդ fablab/makerspace- ի հետ: Հնարավոր է նաև օգտագործել ստվարաթուղթ կամ այլ ավելի թեթև նյութեր, սակայն կցված ֆայլերը նախատեսված են 3 մմ հաստության համար, ուստի ավելի բարակ կամ հաստ նյութերին անհրաժեշտ է ֆայլերի վերափոխում: Դիզայնը կատարվել է Fusion 360 -ում: Մասերի մեծ մասը կպչում են միմյանց սահելով միայն տեղում, միայն արտաքին մասերի նման որոշ մասեր պետք է սոսնձված լինեն փայտի սոսինձով: Սոսինձ կիրառելուց առաջ համոզվեք, որ ձեր մատրիցան լիովին աշխատում է: Նաև փայտե երեսպատումը պետք է սոսնձել, բայց սա ամենավերջին քայլն է այն բանից հետո, երբ ամեն ինչ աշխատում է:
Հետին հարթության աջ (ստորին) կողմում կա կտրված հատված `էլեկտրոնային բաղադրիչները մատրիցին ամրացնելու համար և դեռ հասանելի է այս բաղադրիչներին, երբ երեսպատումը սոսնձված է:
Քայլ 2: Տեղադրեք LED- ները
LED շերտերն ստանդարտ 30 LED/m WS2812 շերտեր են, որոնք հասանելի են Amazon- ում, eBay- ում կամ ամբողջ աշխարհի այլ առցանց խանութներում: Սովորաբար սա նաև ամենաէժան հասցեագրվող LED շերտն է: Եթե ցանկանում եք օգտագործել այլ LED- ներ, ապա պետք է ապահովեք 30 LED/մ հեռավորությունը `մատրիցային օրինաչափությանը համապատասխանելու համար: Լազերային կտրված հատվածներն ունեն փոքր կտրված հատվածներ, որոնք տեղավորվում են LED- ի 10 սմ լայնության վրա: Այս LED շերտերն իրենց մեջքին ունեն երկկողմանի ժապավեն, այնպես որ կարող եք դրանք ուղղակիորեն սոսնձել MDF- ին ՝ ճշգրիտ դիրքավորումից հետո: Նախքան ժապավենն օգտագործելը (DIN-DOUT ուղղություն), ստուգեք յուրաքանչյուր շերտի ճիշտ կողմնորոշումը:
Հաղորդալարերի ձևը զիգ-զագ է, ուստի վերջում մատրիցի մեջ կա միայն մեկ մուտքագրում, և մալուխի երկարությունները հնարավորինս կարճ են: Էլեկտրաէներգիան ճիշտ բաշխելու և մատրիցի վերևում մալուխը նվազեցնելու համար յուրաքանչյուր LED շերտ կապվում է մատրիցի ներքևի մասում 5V և GND- ի հետ: 5V և GND գծերը բաշխելու համար կարող եք օգտագործել կամ առանձին լարեր, կամ PCB- ների նախատիպեր:
Քայլ 3: Հավաքում
Պայթյունի տեսքը օգնում է որոշել հավաքման ճիշտ կտորները: Պարզապես հետևեք քայլ առ քայլ տեղադրման նկարներին: Հետին հարթությունն ունի խաչաձև կառույցներ ՝ երկար կողային պատերը և որոշ կարճ պատերը պահելու համար: Եթե կտորների տեղադրման հետ կապված խնդիրներ ունեք, այն ամրացնելու համար օգտագործեք ավազի թուղթ:
Քայլ 4: Sոդում
Տարբեր գծերի միասին հոսանքի լարերը միացնելու տարբեր եղանակներ կան: Կամ դուք կարող եք օգտագործել միայնակ մետաղալարեր կամ պղնձից մի տեսակ ընդհանուր երկաթուղի ՝ տարբեր լարերը միացնելու համար: Այս դեպքում էլեկտրահաղորդման գծերը դեպի շերտեր ուղղորդելու համար օգտագործվել են PCB- ի նախատիպի կտորներ: WS2812B շերտերն արդեն ունեն առանձին հոսանքի մալուխներ, որոնք կարող եք օգտագործել էլեկտրահաղորդիչը միացնելու առաջին գծի մուտքին (նկարի ձախ կողմը):
Քայլ 5: Տեղադրեք SPI էկրան
Խաղի արդյունքները և տեքստը ցուցադրելու համար օգտագործվում է LED մատրիցային էկրան, որը հիմնված է LED վարորդի MAX7219 վրա: Այն SPI- ի (Սերիական ծայրամասային ինտերֆեյս) միջոցով միացված է Raspberry Pi- ին: Չորս 8x8 էկրան միավորվում է 32x8 պիքսելանոց կետային մատրիցով ցուցադրման հետ: Դուք կարող եք գնել այս 8x8 պիքսելանոց էկրանները, օրինակ. eBay- ում կան նաև 32x8 պիքսելանոց էկրաններ: Բացի այդ, դուք ունեք տարբեր գույնի տարբերակներ; այս դեպքում օգտագործվել են կարմիր ցուցադրիչներ: Քանի որ SPI- ն աշխատում է որպես հերթափոխի գրանցամատյան, ցուցադրումները իրար միացված են սերիալում ՝ առաջին մատրիցից դուրս մնացած տվյալները միացնելով երկրորդին և այլն ՝ սկսած էկրանի աջ կողմից:
Այս ցուցադրումը միայն դրսից է ընթերցվում, եթե այն տեղադրված է երեսպատման շերտի անմիջապես հետևում: Եթե ոչ, ապա տեսանելի է միայն կարմիր պղտորումը: Այսպիսով, դուք պետք է այն տեղադրեք հետին պլանի կտրված հատվածի վերևում ՝ 30 մմ հեռավորությամբ հետին պլանի մակերեսի և մատրիցի մակերևույթի միջև: Փայտե կտորների և պտուտակների մնացորդներ եմ օգտագործել ՝ հետին պլանի և PCB- ների միջև բացակայող 19 մմ -ը հարմարեցնելու համար, բայց կարող եք նաև ցանկացած արտաքին տիպի անջատիչներ:
Էկրանի միացումը ցուցադրվում է 7 -րդ քայլում:
Քայլ 6: Տեղադրեք Pi- ը
Այս տեղադրման մեջ օգտագործվում է Raspberry Pi Zero: Կարող եք նաև օգտագործել Raspberry Pi- ի ցանկացած այլ մոդել, բայց ավելի նորերը `ինտեգրված WiFi- ով և Bluetooth- ով, թույլ են տալիս հեշտությամբ միանալ անլար խաղային տախտակներին և պարզեցնել ծրագրավորումը: Դուք կարող եք ապահովել Pi- ն ՝ օգտագործելով առնվազն երկու պտուտակ և փոքր անջատիչներ ՝ այն հետին պլանին պտուտակելու համար:
Raspberry Pi Zero W- ի համար օգտագործվում են հետևյալ կապում.
- PIN 2: 5V
- PIN 6: GND
- GPIO18 -> LED շերտեր
- GPIO11: SPI CLK -> MAX7219 մատրիցա CLK
- GPIO10: SPI MOSI -> MAX7219 մատրիցա DIN
- GPIO8: SPI CS -> MAX7219 մատրիցա CS
Որոշ մարդիկ զեկուցեցին LED- ների համար GPIO18- ի օգտագործման հետ կապված խնդիրների մասին: Խնդրում ենք օգտագործել GPIO21 այս դեպքում: Եթե այո, ապա դուք պետք է 21 -րդ տողում փոխեք կոդը pixel_pin = board. D21:
WS2812B ժապավենը այստեղ օգտագործվում է իր բնութագրից դուրս: Սովորաբար այն պահանջում է 5V տրամաբանական մակարդակ DIN- ի վրա, բայց Pi- ն ապահովում է միայն 3, 3V: Նույնիսկ եթե դա աշխատում է շատ դեպքերում, դուք պետք է փորձեք դա ձեր շերտով: Եթե այն չի աշխատում, կարող եք ավելացնել մակարդակի փոխարկիչ, ինչպիսին է 74HCT245- ը կամ որևէ այլ 3V3- ից 5V փոխարկիչ Pi- ի և ժապավենի միջև:
Քայլ 7: Էլեկտրամոնտաժ և էլեկտրամատակարարում
Հաղորդալարումը կատարվում է էլեկտրագծերի սխեմայի համաձայն: Էլեկտրաէներգիայի մատակարարումը 5V DC սնուցման աղբյուր է:
Մատրիցի հեշտ միացման/անջատման համար անջատիչ է ավելացվում հոսանքի խրոցակի և մատրիցային սխեմաների միջև: Այնուամենայնիվ, քանի որ Raspberry Pi- ն չի սիրում կոշտ անջատում, ծրագրակազմում կա անջատման տարբերակ ՝ ապահով կերպով անջատելու Pi- ն Gamepad- ի միջոցով ՝ նախքան մատրիցը փոխելը:
LED շերտի DIN քորոցը Resistor- ի միջոցով միացված է Pi- ին, ինչպես նաև մեծ կոնդենսատոր (4700uF) ավելացվում է էներգիայի մատակարարումը բուֆերացնելու համար: Լրացուցիչ մանրամասների համար խնդրում ենք ծանոթանալ Adafruit Überguide- ին Neopixels- ի համար:
LED- ները սպառում են առավելագույն հոսանքը 60 մԱ մեկ LED- ի համար, ուստի հնարավոր է առավելագույն հոսանք 200x60mA = 12A !!! Կրճատելով պայծառությունը և չօգտագործելով բոլոր LED- ները լրիվ սպիտակ գույնով, սա ավելի շատ տեսական արժեք է, բայց դա կախված է այն կոդից, որի առավելագույն հոսանքը հասնում է: Այսպիսով, բավականաչափ մեծ էներգիայի աղբյուր ընտրելը շատ կարևոր է: Theրագրերի մեծ մասի համար 5V/5A (25W) սնուցման աղբյուրը պետք է բավարար լինի:
Pi- ի և Matrix- ի էկրանով հետին պլանը ամրացնելու համար կարելի է օգտագործել փայտի մի քանի փոքր կտորներ ՝ դրանք եզրերում սղոցելու համար, ինչպես նաև պտուտակներ օգտագործել ՝ հետնաթիռը տեղում պահելու համար:
Քայլ 8: Տեղադրեք Pi- ն
1. Ներբեռնեք Raspbian lite- ի վերջին պատկերը raspberrypi.org- ից
2. Պատճենեք այն և SD քարտ, 8 ԳԲ -ն բավական է: Դուք կարող եք օգտագործել, օրինակ. ինչ -որ բան անել դա:
3. Նախքան Pi- ն SD քարտով բեռնելը, պատրաստեք WIFI և ssh հասանելիություն
4. Տեղադրեք SD քարտը ցանկացած համակարգչի մեջ, բեռնման թղթապանակը պետք է հասանելի լինի
5. Պատճենեք հետևյալ տողերը wpa_supplicant.conf ֆայլում (ստեղծեք, եթե այն չկա) և փոխեք պարամետրերը ՝ կախված ձեր Wifi- ից և տարածաշրջանից
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev
երկիր = ԱՄՆ update_config = 1 ցանց = {ssid = "Home Wifi" psk = "mypassword" key_mgmt = WPA-PSK}
6. Ներբեռնեք ssh կոչվող դատարկ ֆայլ (առանց որևէ ընդլայնման) `ssh հասանելիությունը միացնելու համար
7. Այժմ տեղադրեք SD քարտը Raspberry Pi- ում և տեղադրեք այն: Ստուգեք ձեր wifi երթուղիչը ՝ Pi- ի IP հասցեն ստանալու համար
8. սկսեք SSH կապ Pi- ի հետ ՝ օգտագործելով տերմինալ (Linux, Mac) կամ օրինակ. Putեփամածիկ և Windows: Տեղադրեք Pi- ի IP- ն 192.168.x.y- ի փոխարեն
9. Թարմացրեք Pi- ն (որոշ ժամանակ է պահանջվում)
sudo apt-get թարմացում
sudo apt-get բարելավում
10. Տեղադրեք pip և setup գործիք
sudo apt-get տեղադրել python3-pip
sudo pip3 install -թարմացնել setuptools- ը
11. Տեղադրեք Neopixel վարորդը, ws281x lib, pygame և libsdl
sudo pip3 տեղադրել rpi_ws281x adafruit-circuitpython-neopixel
sudo pip3 տեղադրել pygame sudo apt-get install libsdl1.2-dev sudo pip3 տեղադրել-բարելավել luma.led_matrix
12. Միացնել SPI- ն ՝ զանգահարելով raps-config, անցնել 5 Interfacing Options / P4 SPI / Enable
sudo raspi-config
13. Ավելացրեք Bluetooth Gamepad
sudo bluetoothctl
[bluetooth]# գործակալ [bluetooth]# զույգ [bluetooth]# սկան [bluetooth]# զույգ aa: bb: cc: dd: ee: ff [bluetooth]# trust aa: bb: cc: dd: ee: ff [bluetooth]# միացնել aa: bb: cc: dd: ee: ff [bluetooth]# դուրս գալ
որտեղ aa: bb: cc: dd: ee: ff ձեր bluetooth խաղատախտակի MAC զգեստն է: Այս հասցեն պետք է ցուցադրվի «սկան միացնելու» հրամանը կանչելուց հետո: Համոզվեք, որ ձեր Bluetooth կարգավորիչը պատրաստ է զուգակցման: Խնդրում ենք ստուգել վերահսկիչի ձեռնարկը, թե ինչպես դա անել:
14. Այժմ կարող եք կապվել ձեզ Pi- ի միջոցով, լռելյայն գաղտնաբառը ազնվամորին է (Windows- ի օգտվողները կարող են օգտագործել Putty).
Քայլ 9. Python Code, Test and Simulator
Կոդը հասանելի է Github- ում: games_pi_only.py և անհրաժեշտ են բոլոր bmp ֆայլերը:
git clone href = https://github.com/makeTVee/ledmatrix/tree/master/python/pi_only
Կոդն ունի տարբերակ ՝ Pi- ից դուրս սիմուլյացիոն ռեժիմում գործարկելու համար ՝ օգտագործելով pygame ՝ մատրիցը նմանակելու համար: Սա շատ օգտակար է նոր հնարավորություններ մշակելու համար ՝ առանց մատրիցային սարքավորումներին անմիջական մուտք ունենալու: Նաև կարգաբերումը շատ ավելի հեշտ է: Սիմուլյացիայի ռեժիմը ակտիվացնելու համար դուք պետք է սահմանեք PI հաստատուն (տող 15).
PI = Սխալ
Այս սիմուլյացիոն ռեժիմում այլևս ստեղնաշարը օգտագործվում է Bluetooth խաղացանկի փոխարեն: 1, 2, 3, 4 կոճակները քարտեզագրված են խաղատախտակի A, B, X, Y- ին, ուղղությունների սլաքների բանալիներ, մեկնարկի համար «s» և ընտրվածի համար ՝ «x»: Դուք կարող եք օգտագործել ստանդարտ խմբագիր `գումարած վահանակը կամ որոշ ինտեգրված IDE- ներ, ինչպիսիք են Micosoft Visual Studio Code- ը կամ Jetbrain PyCharm- ը` ձեր համակարգչի վրա զարգացում կատարելու համար:
Եթե դուք օգտագործում եք մատրիցան և Raspberry Pi- ն, ապա պետք է սահմանեք.
PI = շմարիտ
Կոդը Raspberry Pi- ին պատճենելու համար կարող եք օգտագործել scp հրամանը (Windows WinSCP): Բացեք վահանակի պատուհանը, անցեք Github ֆայլերը պարունակող թղթապանակին և զանգահարեք
scp games_pi_only [email protected]:/տուն/պի
scp *.bmp [email protected]:/տուն/պի
ապա միացեք Pi- ին ssh- ի միջոցով (Windows- ի օգտվողները կարող են օգտագործել Putty).
հաջող մուտք գործելուց հետո կարող եք սկսել Python կոդը ՝ զանգահարելով.
sudo python3 games_pi_only.py
Եթե ծածկագիրը ճիշտ է աշխատում, կարող եք միացնել ավտոմատ մեկնարկը ՝ զանգահարելով.
sudo nano /etc/rc.local
և 0 -ից դուրս գալուց առաջ ավելացրեք հետևյալ տողը.
/usr/bin/nice -n -20 python3 /home/pi/games_pi_only.py &
Պահել (Ctrl+O) և Ելք (Ctrl+X)
Քայլ 10. Վերջնական փորձարկում և երեսպատում
Մինչև երեսպատումը սոսնձում է առջևի մասում, մատրիցը պետք է փորձարկվի `ապահովելու համար, որ բոլոր LED- ները աշխատում են: Շատ ավելի հեշտ է ինչ -որ բան ամրագրել, նախքան երեսպատումը սոսնձված է:
Օգտագործված փայտե երեսպատումը հատուկ թխկի երեսպատման թուղթ է, որը կոչվում է Microwood, որը միակողմանի ծածկված է թուղթով և ունի 0,1 մմ հաստություն: Թղթի կողմը կարելի է ուղղակիորեն սոսնձել mdf- ի վրա `օգտագործելով ստանդարտ թղթի սոսինձ` առանց ջրի:
Քայլ 11: Արդյունքը
Haveվարճացեք և վայելեք խաղը:
Մեծ մրցանակ Raspberry Pi մրցույթում 2020 թ
Խորհուրդ ենք տալիս:
YouTube բաժանորդների հաշվիչ ՝ օգտագործելով էլեկտրոնային թղթի ցուցադրում և Raspberry Pi Zero W: 5 քայլ (նկարներով)
YouTube- ի բաժանորդների հաշվիչ ՝ օգտագործելով էլեկտրոնային թղթի ցուցադրում և Raspberry Pi Zero W. Այս հրահանգում ես ձեզ ցույց կտամ, թե ինչպես ստեղծել ձեր սեփական Youtube- ի բաժանորդների հաշվիչը ՝ օգտագործելով էլեկտրոնային թղթի ցուցադրում, և Raspberry Pi Zero W ՝ YouTube API- ին հարցնելու համար: և թարմացրեք էկրանը: Էլեկտրոնային թղթի ցուցադրումները հիանալի են այս տեսակի նախագծերի համար, քանի որ դրանք ունեն
LED լուսավորված փայտե հարսանեկան ժամացույց ՝ 8 քայլ (նկարներով)
LED լուսավորված փայտե հարսանյաց ժամացույց. Ես սկսեցի այս նախագիծը `քրոջ և խնամիիս համար յուրօրինակ, եզակի հարսանեկան ժամացույց պատրաստելու համար: Wantանկանում էին ինչ -որ բան սարքել, որը նրանք կարող էին լուսավորել և երկար ժամանակ ցույց տալ իրենց հարսանիքի օրվա որոշ ասպեկտներ: Անցավ բազմաթիվ դիզայնով
Երկակի 7 հատվածից բաղկացած ցուցադրում, որը վերահսկվում է շրջանագծի պոտենցիոմետրով Python - Տեսողության համառության ցուցադրում. 9 քայլ (նկարներով)
Երկակի 7 հատվածից բաղկացած ցուցադրումներ, որոնք վերահսկվում են շրջանագծի պոտենցիոմետրով: Python-Տեսողության համառության դրսևորում. Այս նախագիծը օգտագործում է պոտենցիոմետր `7 սեգմենտանոց LED էկրանների (F5161AH) ցուցադրումը վերահսկելու համար: Պոտենցիոմետրի բռնիչը պտտելիս ցուցադրվող թիվը փոխվում է 0 -ից 99 -ի սահմաններում: momentանկացած պահի վառվում է միայն մեկ LED, շատ կարճ, բայց
Տախտակի պատի ցուցադրում Pi Zero W- ով `6 քայլ (նկարներով)
Dakboard Wall Display With Pi Zero W: Ես աշխատում եմ ՏՏ ոլորտում: Հաճախ մենք ստանում ենք հաճախորդներ, ովքեր կցանկանային, որ մենք հանեինք իրենց հին հավաքածուն: Սովորաբար դա մեզ թողնում է ջարդոնի կույտ, և մոնիտորները այն բաներից են, որոնք մենք գտնում ենք վատնված: Տանը ես արդիականացրել էի իմ սեփական մոնիտորները, և դա թողեց իմ ավագ
Արկադային խաղային մեքենա Raspberry Pi- ով. 7 քայլ (նկարներով)
Արկադային խաղային մեքենա ազնվամորու Pi- ով. Պատմություն պատրաստելը. Արկադային խաղային մեքենա ռետրո պիով (ազնվամորի pi3)