Բովանդակություն:

NHL մահճակալի հոկեյի լույս և LCD. 4 քայլ (նկարներով)
NHL մահճակալի հոկեյի լույս և LCD. 4 քայլ (նկարներով)

Video: NHL մահճակալի հոկեյի լույս և LCD. 4 քայլ (նկարներով)

Video: NHL մահճակալի հոկեյի լույս և LCD. 4 քայլ (նկարներով)
Video: Дочкина свадьба_Рассказ_Слушать 2024, Դեկտեմբեր
Anonim
Image
Image
NHL մահճակալի հոկեյի լույս և LCD
NHL մահճակալի հոկեյի լույս և LCD

Ներածություն

«NHL Light» - ը հոկեյի երկրպագուների համար է, ովքեր ցանկանում են հետևել իրենց թիմին, բայց չեն կարող դիտել յուրաքանչյուր խաղ: Ամենալավ առանձնահատկությունն այն է, որ նմանեցնում է գոլի հաշիվը հոկեյի եղջյուրով (ձեր թիմին հատուկ) և թեթև:

Բացի հոկեյի եղջյուրից և լույսից, «NHL Light» - ն ունի ցուցադրում, որն ապահովում է ընթացիկ կամ ամենավերջին խաղի հաշիվը, հաջորդ խաղի ժամանակը կամ ժամը և ընթացիկ ամսաթիվը և ժամը:

«NHL Light» - ն աշխատում է մասերի պարզ ցուցակով, որը հեշտ է հավաքել էլեկտրոնիկա և անվճար հասանելի կոդ:

Հատկություններ

  1. Վեբ կայքի վրա հիմնված կազմաձև ՝ ձեր թիմը և WiFi ընտրելու համար
  2. Խաղում է թեթև և բեղուն, երբ ձեր թիմը գոլ է խփում (նույնիսկ երբ դուք արտագնա թիմ եք)
  3. Խաղում է ձայն ՝ խաղի սկիզբը հայտարարելու համար
  4. Հնչում է խաղի ավարտը հայտարարելու համար
  5. Ապահովում է հաջորդ խաղի ժամանակը և ամսաթիվը, եթե ոչ մի խաղ ընթացքի մեջ չէ:
  6. Gameուցադրում է ընթացիկ խաղի ժամանակն ու ժամանակահատվածը, եթե խաղը ընթացքի մեջ է:
  7. Ուցադրում է ընթացիկ ամսաթիվը և ժամը:

Քայլ 1: Քայլ 1. Հավաքեք ձեր մասերը

Քայլ 1: Հավաքեք ձեր մասերը
Քայլ 1: Հավաքեք ձեր մասերը

Ահա մասերի ցուցակ.

  1. Ազնվամորի Pi W*

    1. Amazon
    2. Ես նախընտրում եմ իմը ձեռք բերել Microcenter- ից, բայց ավելի քիչ գներով կարելի է առցանց գտնել այլ վայրերում:
    3. $10
  2. SD քարտ (նվազագույնը 4 գբ)*
  3. բարձրախոս - Amazon - ~ 2 $ *
  4. amp - PAM8403* - Amazon - ~ 1 $ յուրաքանչյուրը
  5. թեթեւ - Amazon - ~ 5 դոլար
  6. Պատյան - $ 1*

    1. Մայքլի
    2. Ես խորհուրդ եմ տալիս փոքրիկ փայտե արհեստի պատյան Մայքլի արհեստագործական խանութից, բայց կթողնի ձեզ:
  7. I2C 2004 LCD - $ 3-7

    1. Amazon
    2. Կոդն ապահովում է LCD- ների 3 տեսակ, բայց I2C 2004 -ը այն է, որի վրա ես հաստատվել եմ որպես լավագույն արժեք և չափ: (Հնարավոր է նաև SSD1306)
  8. 2 տրանզիստոր - 2N2222A- Ամազոն
  9. Տարբեր լարեր / զոդ 12 Վ
  10. էլեկտրամատակարարում - Amazon
  11. 12V -> 5V buck փոխարկիչ - Amazon

*Այս մասի ընտրության հարցում կա ճկունություն:

Ո NOTՇԱԴՐՈԹՅՈՆ. Դուք կարող եք սկսել այս նախագծի մեծ մասը միայն ձեր ազնվամորու Pi- ով, մինչ դուք սպասում եք, որ այլ իրեր առաքվեն:

Քայլ 2: Քայլ 2: Էլեկտրամոնտաժ և էլեկտրոնիկա

Քայլ 2: Էլեկտրամոնտաժ և էլեկտրոնիկա
Քայլ 2: Էլեկտրամոնտաժ և էլեկտրոնիկա
Քայլ 2: Էլեկտրամոնտաժ և էլեկտրոնիկա
Քայլ 2: Էլեկտրամոնտաժ և էլեկտրոնիկա
  1. Լույս հավաքել

    1. Լույսի լարերը պետք է անցնեն 12 + լույսի ներքո:
    2. Լույսից բացասական անցեք տրանզիստորներից մեկի միջով:
    3. Տրանզիստորի էմմետրը գետնին է ընկնում:
    4. Տրանզիստորի կոլեկցիոները գնում է Raspberry Pi- ի մոտ:
  2. Հավաքեք ձայնը

    1. Գործարկեք աջ կամ ձախ ձայնը PI- ից մինչև ուժեղացուցիչ
    2. Գործարկեք +5V դեպի ուժեղացուցիչ
    3. Միացրեք ուժեղացուցիչը դեպի 2 -րդ տրանզիստորը:
    4. Գործարկեք 2 -րդ տարանցիչի էմմետրը գետնին
    5. Գործարկեք տրանզիստորի կոլեկցիոները դեպի Raspberry Pi
  3. Հավաքեք էլեկտրագծեր PI- ին
  4. Սա PI- ի pinout հրահանգներն են (դրանցից մի քանիսը կարգավորելի են JSON- ի միջոցով)

    1. LCD

      1. 3 - SDA
      2. 5 - SCL
      3. 5 - VCC (+5)
    2. AMP 8 (GPIO 14)
    3. Լույս 10 (GPIO15)
    4. Ձայնի աջ - GPIO 18

Քայլ 3: Քայլ 3: Օպերացիոն համակարգի ծրագրակազմի տեղադրում

  1. Պատրաստեք Raspberry Pi W- ը

    1. The rasberry pi- ն պետք է գործածի Raspbian- ի (կամ այլ Debian- ի) վերջին տարբերակը:
    2. Խորհուրդ է տրվում հետևել այս հրահանգներին ՝
    3. Համոզվեք, որ ներառեք wifi wpa_supplicant ֆայլ:
    4. Տեղադրեք ssh ֆայլը sdcard- ի վրա `ssh- ին մուտք գործելու համար:
  2. Պատրաստեք երրորդ կողմի ծրագրակազմ.

    1. Ես ավտոմատացրել եմ այս գործընթացը ՝ երրորդ կողմի բոլոր անհրաժեշտ գործիքները քաշելու համար, բայց ազատ զգացեք դրանք ձեռքով գործարկել և վերանայել ՝ համոզվելու համար, որ ոչ մի քայլ ձախողված չէ:
    2. Ներբեռնեք և գործարկեք հետևյալ սցենարը ՝

Ահա մի վերլուծություն, թե ինչ է անում օպերացիոն համակարգը կարգավորելու համար տեղադրման սցենարը: Լավագույնն այն է, որ այս տողերը ձեռքով գործարկվեն, այնպես որ կարող եք հետևել սխալներին:

Սցենարի վերնագիր.

#!/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- ն է, որը տրանզիստորը տանում է ուժեղացուցիչի համար

Խորհուրդ ենք տալիս: