Mündəricat:
- Addım 1: Adım 1: Parçalarınızı yığın
- Addım 2: Adım 2: Kablolama və Elektronika
- Adım 3: Adım 3: Əməliyyat Sistemi Proqramının Qurulması
- Adım 4: Adım 4: JSON Konfiqurasiyasını yeniləyin
Video: NHL Başucu Xokkey İşığı və LCD: 4 Addım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
Giriş
"NHL Light" komandasını izləmək istəyən, lakin hər oyunu izləyə bilməyən xokkeysevərlər üçündür. Ən yaxşı xüsusiyyəti, bir xokkey buynuzu (komandanıza xas olan) və işıqla bir qol hesabını simulyasiya etməsidir.
Xokkey buynuzu və işığına əlavə olaraq "NHL Light", cari və ya ən son oyunun hesabını, növbəti oyunun oyun vaxtını və ya vaxtını və cari tarix və saatı təmin edən bir ekrana malikdir.
"NHL Light", elektronikanı yığmaq asan olan hissələrin sadə siyahısı və sərbəst şəkildə mövcud olan kod üzərində işləyir.
Xüsusiyyətləri
- Komandanı və wifi seçmək üçün veb səhifəyə əsaslanan konfiqurasiya
- Komandanız qol vuranda yüngül və buynuz oynayır (hətta qonaq komanda olsanız da)
- Oyunun başlandığını bildirmək üçün səslənir
- Oyunun sonunu elan etmək üçün bir səs çalır
- Növbəti oyunun vaxtı və tarixi, əgər oyun davam etmirsə.
- Oyun davam edirsə, cari oyun vaxtını və müddətini göstərir.
- Cari tarixi və saatı göstərir.
Addım 1: Adım 1: Parçalarınızı yığın
İşdə hissələrin siyahısı.
-
Moruq Pi W*
- Amazon
- Microcenter -dən mina almağı üstün tuturam, amma digər yerlərdə daha ucuz qiymətə internetdə tapa bilərsiniz.
- $10
- SD Kart (minimum 4 gb)*
- dinamik - Amazon - ~ 2 dollar *
- amp - PAM8403* - Amazon - hər biri ~ 1 dollar
- işıq - Amazon - ~ 5 dollar
-
Çanta - 1 dollar*
- Michaelın
- Michael'ın sənətkarlıq mağazasından kiçik taxta sənətkarlıq çantasını məsləhət görürəm, ancaq sizə buraxacaq!
-
I2C 2004 LCD - 3-7 dollar
- Amazon
- Kod, 3 növ LCD -ni dəstəkləyir, lakin I2C 2004 ən yaxşı dəyər və ölçü olaraq qərar verdiyim biridir. (SSD1306 da mümkündür)
- 2 tranzistor - 2N2222A- Amazon
- Müxtəlif tellər / lehim 12V
- enerji təchizatı - Amazon
- 12V -> 5V dollar çevirici - Amazon
*Bu hissənin seçilməsinə gəldikdə rahatlıq var.
DİQQƏT: Digər layihələrin göndərilməsini gözləyərkən bu layihənin çox hissəsinə yalnız moruq Pi ilə başlaya bilərsiniz.
Addım 2: Adım 2: Kablolama və Elektronika
-
İşıq yığın
- İşığın telləri işığa 12 + -dan keçməlidir.
- Transistorlardan birindən işıqdan mənfi keçin.
- Transistorun emmetri yerə düşür.
- Transistorun kollektoru Raspberry Pi -yə gedir.
-
Səs yığmaq
- PI -dən amp -ə sağa və ya sola səs işlədin
- Amperə +5V işləyin
- 2 -ci tranzistora qədər gücləndirici zəmini işə salın.
- 2 -ci transizitorun emmetrini yerə aparın
- Tranzistor kollektorunu Raspberry Pi -yə aparın
- PI -yə naqilləri yığın
-
Bu, PI üçün pinout təlimatlarıdır (bunlardan bəziləri JSON vasitəsilə konfiqurasiya edilə bilər)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- İşıq 10 (GPIO15)
- Sağ səs - GPIO 18
-
Adım 3: Adım 3: Əməliyyat Sistemi Proqramının Qurulması
-
Raspberry Pi W hazırlayın
- Rasberry pi, Raspbian (və ya digər Debian) son versiyasını işlədən olmalıdır.
- Bu təlimatları izləmək tövsiyə olunur:
- Wifi wpa_supplicant faylını daxil etdiyinizə əmin olun.
- Ssh -ə daxil olmaq üçün ssh faylını sdcard -a qoyun.
-
Üçüncü tərəf proqramını hazırlayın:
- Bütün lazım olan 3 -cü tərəf vasitələrini çəkmək üçün bu prosesi avtomatlaşdırdım, ancaq əl ilə işlədin və heç bir addımın uğursuz olduğundan əmin olmaq üçün nəzərdən keçirin.
- Aşağıdakı skripti yükləyin və işə salın:
Əməliyyat sistemini qurmaq üçün quraşdırma skriptinin nə etdiyini sizə təqdim edirik. Bu xətləri əl ilə idarə etmək ən yaxşısıdır, buna görə səhvləri izləyə bilərsiniz.
Skript Başlığı:
#!/bin/sh -e ##curl -sL vasitəsilə zəng etmək olar https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: bu skript kimi bir şeylə avtomatlaşdırın: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: wifi qurmaq # TODO: passwd və səlahiyyətli düymələri qurmaq # qeydlər:
Proqram təminatını OS səviyyəsində yeniləyin:
#apt-get şeylər (apt-get yeniləmə && apt-get -y yükseltme)> /dev /null apt-get dist-upgrade -y #Ümumi Dev apt-get yüklə -y git qur-əsas python-dev python-pip python-smbus libasound2-dev nodejs # GPIO apt-get install -y raspi-gpio python-views python-smbus libasound2-dev #networking apt-get install -y bridge-utils hostapd dnsmasq apt-get clean -y
Şəbəkə qurulması. Buradakı məqsədin bir hissəsi, sistemin bir giriş nöqtəsi ilə konfiqurasiya edilməsinə, öz wifi -yə qoşulmasına icazə vermək idi, lakin bu hələ tam olaraq yoxlanılmamışdır. Hal -hazırda wifi qurmaq üçün wpa_supplicant metodundan istifadə etmək tövsiyə olunur.
#networking setupecho nhllight>/etc/hostname #TODO:/etc/hosts -ı düzəlt #TODO: setup br0 mkdir/etc/hostapd/ #note: digər konfiqurasiya konfiqurasiya faylları və qabığın yeniləmənin bir hissəsi olaraq aşağı salınması ilə aparılır
Node və node kitabxanalarını yeniləyin
#nodecd/tmp ixrac 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: ikili qovşaq üçün sim bağlantısı yaradılsın? apt -get remove -y -npm node nodejs təmizləyin
#Node setupmkdir/opt/nhl mkdir/opt/nhl/logs mkdir/opt/nhl/horns mkdir/opt/nhl/node_modules/
#düyünü yeniləyin
#qovşaq asılılıqlarını nhl qovluğuna ixrac edin NODE_PATH =/usr/local/lib/node_modules
#HACK - TODO - topalın bütün dünyada quraşdırılmayacağını düzəldin
cd/opt/nhl npm lame # lame yükləyin, topaldır, qlobal olaraq qurulmayacaq c -R/opt/nhl/node_modules/lame $ NODE_PATH npm natiq quraşdırın # qlobal olaraq quraşdırmayın cp -R/opt/nhl/node_modules/spiker $ NODE_PATH npm i2c-bus qur #qlobal olaraq qurma cp -R/opt/nhl/node_modules/i2c-bus $ NODE_PATH npm oled-i2c-bus qur #qlobal olaraq qurma cp -R/opt/nhl/node_modules/oled-i2c-bus $ NODE_PATH npm install lcd #qlobal olaraq qurulmayacaq cp -R/opt/nhl/node_modules/lcd $ NODE_PATH npm yüklə lcdi2c #qlobal olaraq quraşdırma cp -R/opt/nhl/node_modules/lcdi2c $ NODE_PATH
npm install oled-font-5x7 #bütün dünyada quraşdırılmayacaq
cp -R/opt/nhl/node_modules/oled-font-5x7 $ NODE_PATH
npm install onoff #bütün dünyada quraşdırılmayacaq
cp -R/opt/nhl/node_modules/off $ NODE_PATH
#npm install pm2 #bütün dünyada quraşdırılmayacaq
#cp -R/opt/nhl/node_modules/pm2 $ NODE_PATH #npm install express #qlobal olaraq qurulmayacaq #cp -R/opt/nhl/node_modules/express $ NODE_PATH
# hər hansı bir qlobal modul
npm express body -parser child_process pm2 -g qurun
Ən son kodu çəkin:
#çek git codecd/opt/nhl #JSON birdəfəlik yaradılma 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 üçün hər şeyi quraşdırmaq üçün avtomatik zəng skriptini https://raw.githubusercontent.com/wga22/nodejs /ana… | sudo -E bash -
Buynuzları yükləyin!
#çəkin hornscd/opt/nhl/horns curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -
Raspberry pi konfiqurasiya fayllarını yeniləyin - - sisteminiz üçün dəyişdirilməli ola bilər
#config fayl yeniləmələri#səs əlavə edin cp /boot/config.txt /boot/config.txt.bak printf '\ ndtoverlay = pwm-2chan, pin = 18, func = 2, pin2 = 13, func2 = 4' >> / boot/config.txt #turn in i2c printf '\ n / ndtparam = i2c1 = on / n' >> /boot/config.txt printf '\ n / ndtparam = i2c_arm = on / n' >>/boot/config. mətn
#TODO: buna ehtiyac varmı? Cp /etc /modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> /etc /modules
amixer cset sayı = 1
#TODO: səs səviyyəsini təyin edin, 60%?
Yükləmə və kod yeniləmələri kimi avtomatlaşdırmanı avtomatlaşdırın:
# yeniləmə rc.local# DİQQƏT: faylın köçürülməsi, çünki standart bir son sətirdə "çıxış" olduğundan, sadəcə mv /etc/rc.local /etc/rc.local.bak touch /etc/rc.local əlavə edə bilməz chmod u+x /etc/rc.local printf '#!/bin/sh'> /etc/rc.local printf '\ n /etc/bootup_nhl.sh> /tmp/rclocal.log' >>/etc/rc.local printf '\ n 0'dan çıxın >> /etc/rc.local
# TODO: müntəzəm proqram yeniləmələrini hər həftə belə etmək üçün bir şey əlavə etməlisiniz# Bəlkə bu faylı birbaşa rc.weekly qovluğuna kopyalayın? 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
Saat qurşağı qurmaq kimi başqa şeylər:
ln -sf/usr/share/zoneinfo/America/New_York/etc/localtime
node_path ilə # ətraf mühit dəyişənini yeniləyin
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 node üçün bunu təyin edin; #TODO: self.port = proses.env. NODEJS_PORT || 80;
Node server qurulması üçün PM2 -dən istifadə edin:
#TODO: test quraşdırma PM2cd /tmp /npm quraşdırma -g pm2 pm2 start cd /opt /nhl pm2 start NHL_work.js --node-args = "-max_old_space_size = 100 ifşa-gc" pm2 start webserver.js-düyün -args = "-max_old_space_size 100M" pm2 saxlamaq pm2 başlanğıcdan 0 çıxmaq
Adım 4: Adım 4: JSON Konfiqurasiyasını yeniləyin
İstədiyiniz komanda üçün JSON konfiqurasiya faylınızı qurun və s. Bu fayl /opt /nhl GO CAPITALS -da yerləşir! JSON faylını konfiqurasiya edin
Proqram, izlədiyiniz cihazı və komandanı konfiqurasiya etmək üçün JSON faylından istifadə edir. Komanda işləyəcək veb server vasitəsilə təyin edilə bilər, ancaq hardware qurğusunun əl ilə qurulması lazımdır:
Burada hər bir mümkün dəyərin izahı verilmişdir:
- myteam: təqib etmək istədiyiniz komandanın 3 hərf kodudur
- ayıklama: Mümkün dəyərlər 1 (doğru) və ya 0 (yanlış) olur və qeydlərin nə qədər yazılacağını nəzarət edəcək.
-
çıxış: bu skorların/detalların göstərilməli olduğu üsuldur. Mümkün dəyərlər bunlardır:
- lcd: bu 2004 lcd
- konsol: bu yalnız terminala yazacaq (əmr satırını işlətmək üçün)
- oled: SSD6404 oled ekran üçün dəstək
-
işıq: dəstəklənən iki növ işıq var
- həyəcan siqnalı: bu bir tranzistoru açmaq/söndürmək üçün tək bir GPIO idarə edəcək
- çox ledli: çox rəngli və ya çoxlu ledləri dəstəkləyir
- heç biri: işığı yoxdur
- amp: bu, tranzistoru gücləndirən sürücü olan GPIO -dur
Tövsiyə:
Xokkey Qol Buynuzu: 5 addım
Xokkey Qol Buynuzu: Oğlumla evimizdə xokkey oynayırıq, bu da diz xokkeyidir və bir gün NHL meydançalarında qol vuranda buynuz haqqında soruşdu. Birini ala biləcəyimizi bilmək istəyirdi. Gülməli bir səs buynuzu almaq əvəzinə (heç vaxt olmayacaqdı) mən
DIY Aşağı Qiymətli Hava Xokkey Masası: 27 Addım (Şəkillərlə)
DIY Aşağı Qiymətli Hava Xokkey Cədvəli: Peşəkar bir hava xokkey qurğusu, ümumiyyətlə işləməsi üçün lazım olan inkişaf etmiş sistemlər səbəbiylə yalnız oyun salonlarında mövcuddur. Məqsədimiz, bu oyun təcrübəsini evdə gətirərək, DIY hava xokkey masası qurmaq idi. Ümumi olaraq istifadə olunan
Səmimi Video İşığı/ Əl Fotoşəkili İşığı: 7 Addım (Şəkillərlə)
Səmimi Video İşığı/ Əl Fotoşəkili İşığı: Nə düşündüyünü bilirəm. By " intim " Çətin işıq vəziyyətlərində yaxınlaşan işıqlandırmanı nəzərdə tuturdum-mütləq " intim vəziyyətlər " üçün deyil. (Bununla birlikdə, bunun üçün də istifadə edilə bilər …) New York City videoqrafı olaraq-və ya
Mini LED Başucu Gecə İşığı / Lampası: 5 addım
Mini LED Başucu Gecə İşığı / Lampası: İlk növbədə deyim ki, bu, Sunbanks -ın Mini pulsuz dayanan LED lampasından ilhamlandı. İşığı bazadan uzaqlaşdırmaq üçün biro istifadə etmək əvəzinə bazadan işığı çıxarmaq üçün aydın bir perspektiv istifadə etdim. Bu kiçik layihə bir prototipdir
A (çox) Sadə bir LCD Arxa Işığı Düzəltmə: 4 Addım (Şəkillərlə birlikdə)
A (çox) Sadə bir LCD Arka İşığı Düzəltmə: Qırılan LCD arxa işığı adi bir ampul və ölü bir CRT monitoru ilə düzəldin. Qırılan LCD monitorlar əsasən üç kateqoriyaya bölünür: 1) Qırılan LCD panel, cihazı tamamilə dəyərsiz hala gətirir 2) Arxa işıq problemi 3) Güc təchizat problemi varsa