Բովանդակություն:
- Քայլ 1: Քայլ 1. Հավաքեք ձեր մասերը
- Քայլ 2: Քայլ 2: Էլեկտրամոնտաժ և էլեկտրոնիկա
- Քայլ 3: Քայլ 3: Օպերացիոն համակարգի ծրագրակազմի տեղադրում
- Քայլ 4: Քայլ 4. Թարմացրեք JSON կազմաձևը
Video: NHL մահճակալի հոկեյի լույս և LCD. 4 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Ներածություն
«NHL Light» - ը հոկեյի երկրպագուների համար է, ովքեր ցանկանում են հետևել իրենց թիմին, բայց չեն կարող դիտել յուրաքանչյուր խաղ: Ամենալավ առանձնահատկությունն այն է, որ նմանեցնում է գոլի հաշիվը հոկեյի եղջյուրով (ձեր թիմին հատուկ) և թեթև:
Բացի հոկեյի եղջյուրից և լույսից, «NHL Light» - ն ունի ցուցադրում, որն ապահովում է ընթացիկ կամ ամենավերջին խաղի հաշիվը, հաջորդ խաղի ժամանակը կամ ժամը և ընթացիկ ամսաթիվը և ժամը:
«NHL Light» - ն աշխատում է մասերի պարզ ցուցակով, որը հեշտ է հավաքել էլեկտրոնիկա և անվճար հասանելի կոդ:
Հատկություններ
- Վեբ կայքի վրա հիմնված կազմաձև ՝ ձեր թիմը և WiFi ընտրելու համար
- Խաղում է թեթև և բեղուն, երբ ձեր թիմը գոլ է խփում (նույնիսկ երբ դուք արտագնա թիմ եք)
- Խաղում է ձայն ՝ խաղի սկիզբը հայտարարելու համար
- Հնչում է խաղի ավարտը հայտարարելու համար
- Ապահովում է հաջորդ խաղի ժամանակը և ամսաթիվը, եթե ոչ մի խաղ ընթացքի մեջ չէ:
- Gameուցադրում է ընթացիկ խաղի ժամանակն ու ժամանակահատվածը, եթե խաղը ընթացքի մեջ է:
- Ուցադրում է ընթացիկ ամսաթիվը և ժամը:
Քայլ 1: Քայլ 1. Հավաքեք ձեր մասերը
Ահա մասերի ցուցակ.
-
Ազնվամորի Pi W*
- Amazon
- Ես նախընտրում եմ իմը ձեռք բերել Microcenter- ից, բայց ավելի քիչ գներով կարելի է առցանց գտնել այլ վայրերում:
- $10
- SD քարտ (նվազագույնը 4 գբ)*
- բարձրախոս - Amazon - ~ 2 $ *
- amp - PAM8403* - Amazon - ~ 1 $ յուրաքանչյուրը
- թեթեւ - Amazon - ~ 5 դոլար
-
Պատյան - $ 1*
- Մայքլի
- Ես խորհուրդ եմ տալիս փոքրիկ փայտե արհեստի պատյան Մայքլի արհեստագործական խանութից, բայց կթողնի ձեզ:
-
I2C 2004 LCD - $ 3-7
- Amazon
- Կոդն ապահովում է LCD- ների 3 տեսակ, բայց I2C 2004 -ը այն է, որի վրա ես հաստատվել եմ որպես լավագույն արժեք և չափ: (Հնարավոր է նաև SSD1306)
- 2 տրանզիստոր - 2N2222A- Ամազոն
- Տարբեր լարեր / զոդ 12 Վ
- էլեկտրամատակարարում - Amazon
- 12V -> 5V buck փոխարկիչ - Amazon
*Այս մասի ընտրության հարցում կա ճկունություն:
Ո NOTՇԱԴՐՈԹՅՈՆ. Դուք կարող եք սկսել այս նախագծի մեծ մասը միայն ձեր ազնվամորու Pi- ով, մինչ դուք սպասում եք, որ այլ իրեր առաքվեն:
Քայլ 2: Քայլ 2: Էլեկտրամոնտաժ և էլեկտրոնիկա
-
Լույս հավաքել
- Լույսի լարերը պետք է անցնեն 12 + լույսի ներքո:
- Լույսից բացասական անցեք տրանզիստորներից մեկի միջով:
- Տրանզիստորի էմմետրը գետնին է ընկնում:
- Տրանզիստորի կոլեկցիոները գնում է Raspberry Pi- ի մոտ:
-
Հավաքեք ձայնը
- Գործարկեք աջ կամ ձախ ձայնը PI- ից մինչև ուժեղացուցիչ
- Գործարկեք +5V դեպի ուժեղացուցիչ
- Միացրեք ուժեղացուցիչը դեպի 2 -րդ տրանզիստորը:
- Գործարկեք 2 -րդ տարանցիչի էմմետրը գետնին
- Գործարկեք տրանզիստորի կոլեկցիոները դեպի Raspberry Pi
- Հավաքեք էլեկտրագծեր PI- ին
-
Սա PI- ի pinout հրահանգներն են (դրանցից մի քանիսը կարգավորելի են JSON- ի միջոցով)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- Լույս 10 (GPIO15)
- Ձայնի աջ - GPIO 18
-
Քայլ 3: Քայլ 3: Օպերացիոն համակարգի ծրագրակազմի տեղադրում
-
Պատրաստեք Raspberry Pi W- ը
- The rasberry pi- ն պետք է գործածի Raspbian- ի (կամ այլ Debian- ի) վերջին տարբերակը:
- Խորհուրդ է տրվում հետևել այս հրահանգներին ՝
- Համոզվեք, որ ներառեք wifi wpa_supplicant ֆայլ:
- Տեղադրեք ssh ֆայլը sdcard- ի վրա `ssh- ին մուտք գործելու համար:
-
Պատրաստեք երրորդ կողմի ծրագրակազմ.
- Ես ավտոմատացրել եմ այս գործընթացը ՝ երրորդ կողմի բոլոր անհրաժեշտ գործիքները քաշելու համար, բայց ազատ զգացեք դրանք ձեռքով գործարկել և վերանայել ՝ համոզվելու համար, որ ոչ մի քայլ ձախողված չէ:
- Ներբեռնեք և գործարկեք հետևյալ սցենարը ՝
Ահա մի վերլուծություն, թե ինչ է անում օպերացիոն համակարգը կարգավորելու համար տեղադրման սցենարը: Լավագույնն այն է, որ այս տողերը ձեռքով գործարկվեն, այնպես որ կարող եք հետևել սխալներին:
Սցենարի վերնագիր.
#!/bin/sh -e #կարելի է զանգահարել #curl -sL- ի միջոցով https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO. ավտոմատացրեք այս սցենարը հետևյալով ՝ curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: setup wifi # TODO: setup passwd և լիազորված բանալիներ # նշումներ ՝
Թարմացրեք ծրագրակազմը OS մակարդակով.
#apt-get stuff (apt-get update && apt-get -y upgrade)> /dev /null apt-get dist-upgrade -y #General Dev apt-get install -y git build-important python-dev python-pip python-smbus libasound2-dev nodejs # GPIO apt-get install -y raspi-gpio python-imaging python-smbus libasound2-dev #networking apt-get install -y bridge-utils hostapd dnsmasq apt-get clean -y
Networkանցի կարգավորում: Նպատակների մի մասն այն էր, որ թույլ տային համակարգը կարգավորել մուտքի կետի միջոցով, միացնել ձեր սեփական WiFi- ին, բայց դա դեռ լիովին փորձարկված չէ: Ներկայումս խորհուրդ է տրվում օգտագործել wpa_supplicant մեթոդը wifi կարգավորելու համար:
#networking setupecho nhllight>/etc/hostname #TODO: fix the/etc/hosts #TODO: setup br0 mkdir/etc/hostapd/ #note. other setup is done by the config files and shell pull up down as a update of update
Թարմացրեք հանգույցի և հանգույցի գրադարանները
#Update nodecd/tmp export nodeversion = 8.9.0 #wget https://nodejs.org/dist/v7.4.0/node-v7.4.0-linux-… #wget https://nodejs.org/dist/v7. 4.0/node-v7.4.0-linux-… wget https://nodejs.org/dist/v7.4.0/node-v7.4.0-linux-… tar -xvf node-v $ {nodeversion} -linux-armv6l. tar.xz cd node-v $ {nodeversion} -linux-armv6l rm -f *.md rm -f LICENSE cp -R */usr/local/rm -R/tmp/node-v $ {nodeversion} -linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO. կատարել sym հղում երկու հանգույցի համար? apt -get remove -y --purge npm հանգույցի nodejs
#Հանգույցի տեղադրում
#թարմացման հանգույց
#տեղադրեք հանգույցի կախվածությունը nhl գրացուցակում արտահանման NODE_PATH =/usr/local/lib/node_modules
#HACK - TODO - շտկեք, որ կաղը գլոբալ կերպով չի տեղադրվի
cd/opt/nhl npm տեղադրել կաղ # կաղ, կաղ է, գլոբալ չի տեղադրի cp -R/opt/nhl/node_modules/կաղ $ NODE_PATH npm տեղադրել բարձրախոս # չի տեղադրվի գլոբալ cp -R/opt/nhl/node_modules/բարձրախոս $ NODE_PATH npm տեղադրել i2c-bus #չի տեղադրի գլոբալ cp -R/opt/nhl/node_modules/i2c-bus $ NODE_PATH npm տեղադրել oled-i2c-bus #չի տեղադրվի գլոբալ cp -R/opt/nhl/node_modules/oled-i2c-bus $ NODE_PATH npm տեղադրել lcd #գլոբալ տեղադրում cp -R/opt/nhl/node_modules/lcd $ NODE_PATH npm տեղադրել lcdi2c #չեմ տեղադրել գլոբալ cp -R/opt/nhl/node_modules/lcdi2c $ NODE_PATH
npm տեղադրել oled-font-5x7 #գլոբալ տեղադրում չի լինի
cp -R/opt/nhl/node_modules/oled-font-5x7 $ NODE_PATH
npm տեղադրում onoff #չեմ տեղադրի գլոբալ
cp -R/opt/nhl/node_modules/անջատված $ NODE_PATH
#npm տեղադրել pm2 #գլոբալ տեղադրում չի լինի
#cp -R/opt/nhl/node_modules/pm2 $ NODE_PATH #npm տեղադրել էքսպրես #գլոբալ տեղադրում չի լինի #cp -R/opt/nhl/node_modules/express $ NODE_PATH
# ցանկացած գլոբալ մոդուլ
npm տեղադրել express body -parser child_process pm2 -g
Քաշեք վերջին կոդը ՝
#քաշեք git codecd/opt/nhl #JSON- ը մեկանգամյա ստեղծման wget -no -cache -O /opt/nhl/nhl_config.json https://raw.githubusercontent.com/wga22/nodejs/ma… #wget -O /opt/nhl/NHL_work.js https://raw.githubusercontent.com/wga22/nodejs/ma… #զանգահարեք ավտոմատացված սցենար ՝ NHL curl -sL- ի համար մնացած ամեն ինչ տեղադրելու համար https://raw.githubusercontent.com/wga22/nodejs /մա… | sudo -E bash -
Ներբեռնեք եղջյուրները:
#քաշեք hornscd/opt/nhl/horns curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -
թարմացրեք Raspberry pi- ի կազմաձևման ֆայլերը - - գուցե անհրաժեշտ լինի փոխել ձեր համակարգի համար
#config ֆայլի թարմացումներ#ավելացնել ձայն cp /boot/config.txt /boot/config.txt.bak printf '\ ndtoverlay = pwm-2chan, pin = 18, func = 2, pin2 = 13, func2 = 4' >> / boot/config.txt #միացնել i2c printf '\ n / ndtparam = i2c1 = / n' >> /boot/config.txt printf '\ n / ndtparam = i2c_arm = միացված / n' >>/boot/config: txt
#TODO. Սա պե՞տք է: cp /etc /modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> /etc /modules
amixer cset numid = 1
#TODO. Սահմանե՞լ ծավալը, 60%:
Ավտոմատացրեք ավտոմատացումը, օրինակ ՝ բեռնման և կոդի թարմացումները.
# թարմացում rc.local# ՈEՇԱԴՐՈԹՅՈՆ. ֆայլը տեղափոխելը, քանի որ ստանդարտը ներառում է «ելք» վերջին տողում, ուստի չի կարող պարզապես կցել mv /etc/rc.local /etc/rc.local.bak touch /etc/rc.local chmod u+x /etc/rc.local printf '#!/bin/sh'> /etc/rc.local printf '\ n /etc/bootup_nhl.sh> /tmp/rclocal.log' >>/etc/rc. Տեղական printf '\ n ելք 0' >> /etc/rc.local
#TODO. Անհրաժեշտ է ինչ -որ բան ավելացնել ծրագրային ապահովման կանոնավոր թարմացումներն այսպիսի շաբաթական# Գուցե պարզապես պատճենե՞լ այս ֆայլը ուղղակիորեն rc.weekly թղթապանակին: rm /etc/cron.weekly/nhl_updater printf '#!/bin/sh / ncurl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -'> /etc/cron.weekly/nhl_updater chmod u+x /etc/cron.weekly/nhl_updater
Տարբեր իրեր, օրինակ ՝ ժամային գոտի սահմանելը.
ln -sf/usr/share/zoneinfo/America/New_York/etc/localtime
# թարմացնել միջավայրի փոփոխականը ՝ node_path- ով
cp/etc/environment /etc/environment.bak printf '\ nexport NODE_PATH =/usr/local/lib/node_modules / n' >>/etc/environment #TODO: սահմանեք սա հանգույցի համար self.ipaddress = process.env. NODEJS_IP; #TODO: self.port = process.env. NODEJS_PORT || 80;
PM2- ն օգտագործել հանգույցի սերվերի տեղադրման համար.
#TODO: test setup PM2cd /tmp /npm install -g pm2 pm2 startup cd /opt /nhl pm2 start NHL_work.js --node-args = "-max_old_space_size = 100 expose-gc" pm2 start webserver.js --node -արգելներ = "-max_old_space_size 100M" pm2 փրկել pm2 գործարկման ելքը 0
Քայլ 4: Քայլ 4. Թարմացրեք JSON կազմաձևը
Կարգավորեք ձեր JSON կազմաձևման ֆայլը ձեր նախընտրած թիմի համար և այլն: Այս ֆայլը գտնվում է /opt /nhl GO CAPITALS- ում: կարգավորել JSON ֆայլը
Theրագրակազմը օգտագործում է JSON ֆայլ ՝ ձեր հետևած սարքավորումներն ու թիմը կազմաձևելու համար: Թիմը կարող է սահմանվել գործարկվող վեբ սերվերի միջոցով, սակայն սարքավորումների կարգավորումը պետք է ձեռքով սահմանվի.
Ահա յուրաքանչյուր հնարավոր արժեքի բացատրություն.
- myteam: սա այն թիմի 3 տառի կոդն է, որին ցանկանում եք հետևել
- վրիպազերծում. հնարավոր արժեքները 1 են (ճշմարիտ) կամ 0 (կեղծ) և վերահսկելու են, թե որքան գրառում է դուրս գրվում:
-
ելք. սա այն մեթոդն է, որով պետք է ցուցադրվեն միավորները/մանրամասները: Հնարավոր արժեքներն են.
- LCD: Սա 2004 թ. LCD է
- մխիթարել. սա կգրվի միայն տերմինալին (հրամանի տողի գործարկման համար)
- oled: աջակցություն SSD6404 յուղացված էկրանին
-
լույս. կան երկու տեսակի լուսարձակներ
- ահազանգ. սա կտանի մեկ GPIO տրանզիստոր միացնելու/անջատելու համար
- multi-led: աջակցում է բազմագույն կամ բազմակի լուսարձակներ
- ոչ: Լույս միացված չէ
- AMP: սա GPIO- ն է, որը տրանզիստորը տանում է ուժեղացուցիչի համար
Խորհուրդ ենք տալիս:
Անիմացիոն տրամադրության լույս և գիշերային լույս. 6 քայլ (նկարներով)
Անիմացիոն տրամադրության լույս և գիշերային լույս. Ունենալով հրապուրանք, որը սահմանակից է լույսի մոլուցքին, ես որոշեցի ստեղծել փոքր մոդուլային PCB- ների ընտրանի, որոնք կարող են օգտագործվել ցանկացած չափի RGB լուսացույց ցուցադրելու համար: Մոդուլային PCB- ն սարքելով ՝ ես սայթաքեցի դրանք դասավորելու գաղափարով
DIY ցածր գնով օդային հոկեյի սեղան. 27 քայլ (նկարներով)
DIY ցածր գներով օդային հոկեյի սեղան. Պրոֆեսիոնալ օդային հոկեյի տեղադրումը սովորաբար հասանելի է միայն խաղասրահներում `այն բարդ համակարգերի շնորհիվ, որոնք պահանջվում են այն գործարկելու համար: Մեր նպատակն էր կառուցել DIY օդային հոկեյի սեղան `տանելով խաղային այս փորձը: Օգտագործելով սովորաբար հասանելի
Երաժշտության ռեակտիվ լույս -- Ինչպես կատարել սուպեր պարզ երաժշտություն Ռեակտիվ լույս `աշխատասեղանին հիանալի դարձնելու համար. 5 քայլ (նկարներով)
Երաժշտության ռեակտիվ լույս || Ինչպես կատարել սուպեր պարզ երաժշտություն Ռեակտիվ լույս `աշխատասեղան պատրաստելու համար: Հե what բասը, որն իրականում ցածր հաճախականության աուդիո ազդանշան է: Այն կառուցելը շատ պարզ է: Մենք
Ինտիմ վիդեո լույս/ ձեռքի լուսանկարչական լույս. 7 քայլ (նկարներով)
Ինտիմ վիդեո լույս/ Ձեռքի լուսանկարչական լույս. Ես գիտեմ, թե ինչ եք մտածում: Ըստ " մտերիմ " Ես նկատի ունեի մոտ լուսավորությունը դժվարին թեթև իրավիճակներում `պարտադիր չէ " ինտիմ իրավիճակների համար " (Այնուամենայնիվ, այն կարող է օգտագործվել նաև դրա համար …) Որպես Նյու Յորք քաղաքի տեսանկարահանող, կամ
Մինի LED մահճակալի գիշերային լույս / լամպ ՝ 5 քայլ
Mini LED Անկողնային գիշերային լույս / Լամպ. Գրասենյակից գրպանը հեռու պահելու փոխարեն ես օգտագործել եմ որոշակի հստակ խորշ ՝ հիմքից լույսը նախագծելու համար: Այս փոքրիկ նախագիծը նախատիպ է