Turinys:
- 1 žingsnis: 1 žingsnis: Surinkite savo dalis
- 2 veiksmas: 2 žingsnis: laidai ir elektronika
- 3 veiksmas: 3 veiksmas: operacinės sistemos programinės įrangos sąranka
- 4 veiksmas: 4 veiksmas: atnaujinkite JSON konfigūraciją
Video: NHL ledo ritulio šviesa ir LCD ekranas: 4 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Įvadas
„NHL Light“skirtas ledo ritulio gerbėjams, norintiems sekti savo komandą, bet negalintiems stebėti visų rungtynių. Geriausias bruožas yra tai, kad jis imituoja įvarčio įvartį ledo ritulio ragu (pagal jūsų komandą) ir šviesa.
Be ledo ritulio rago ir šviesos, „NHL Light“turi ekraną, kuriame pateikiamas dabartinis arba naujausio žaidimo rezultatas, žaidimo laikas arba kito žaidimo laikas bei dabartinė data ir laikas.
„NHL Light“veikia pagal paprastą dalių sąrašą, kurį lengva surinkti elektroniką ir kodą, kuris yra laisvai prieinamas.
funkcijos
- Tinklalapiu pagrįsta konfigūracija, skirta pasirinkti komandą ir „Wi -Fi“
- Žaidžia šviesiai ir ragu, kai komanda įmuša įvartį (net kai esate svečio komanda)
- Paleidžiamas garsas, skelbiantis žaidimo pradžią
- Paleidžia garsą, kuris praneša apie žaidimo pabaigą
- Pateikia kito žaidimo laiką ir datą, jei nevyksta žaidimas.
- Rodo dabartinį žaidimo laiką ir laikotarpį, jei žaidimas vyksta.
- Rodo dabartinę datą ir laiką.
1 žingsnis: 1 žingsnis: Surinkite savo dalis
Čia yra dalių sąrašas.
-
Raspberry Pi W*
- „Amazon“
- Aš norėčiau gauti savo iš „Microcenter“, bet kitur galima rasti pigiau internete.
- $10
- SD kortelė (mažiausiai 4 GB)*
- garsiakalbis - „Amazon“- ~ 2 USD *
- stiprintuvas - PAM8403* - „Amazon“- ~ 1 USD
- šviesa - „Amazon“- ~ 5 USD
-
Dėklas - 1 USD*
- Michaelio
- Aš rekomenduoju nedidelį medinį amatų dėklą iš Michaelo amatų parduotuvės, bet paliksiu jums!
-
„I2C 2004“LCD - 3–7 USD
- „Amazon“
- Kodas palaiko 3 tipų LCD, tačiau „I2C 2004“yra tas, kurį aš nusprendžiau kaip geriausią vertę ir dydį. (Galima ir SSD1306)
- 2 tranzistoriai - 2N2222A- „Amazon“
- Įvairūs laidai / litavimas 12V
- maitinimo šaltinis - „Amazon“
- 12V -> 5V buck konverteris - „Amazon“
*Yra lankstumas renkantis šią dalį.
PASTABA: didžiąją šio projekto dalį galite pradėti naudodami tik savo aviečių Pi, kol laukiate kitų prekių pristatymo.
2 veiksmas: 2 žingsnis: laidai ir elektronika
-
Surinkite šviesą
- Šviesos laidai turi būti nukreipti 12 + į šviesą.
- Eikite neigiamai nuo šviesos per vieną iš tranzistorių.
- Tranzistoriaus emmetras eina į žemę.
- Tranzistoriaus kolektorius eina į „Raspberry Pi“.
-
Surinkite garsą
- Paleiskite dešinįjį arba kairįjį garsą iš PI į stiprintuvą
- Paleiskite +5V prie stiprintuvo
- Paleiskite stiprintuvo žemę prie 2 -ojo tranzistoriaus.
- Paleiskite antrojo tranzistoriaus emmetrą prie žemės
- Paleiskite tranzistoriaus kolektorių prie „Raspberry Pi“
- Surinkite laidus prie PI
-
Tai yra PI nurodymo instrukcijos (kai kurias iš jų galima konfigūruoti naudojant JSON)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- „Light 10“(GPIO15)
- Garsas teisingas - GPIO 18
-
3 veiksmas: 3 veiksmas: operacinės sistemos programinės įrangos sąranka
-
Paruoškite „Raspberry Pi W“
- „Rasberry pi“turi paleisti naujausią „Raspbian“(arba kitos „Debian“) versiją.
- Rekomenduojama laikytis šių nurodymų:
- Būtinai įtraukite „wifi wpa_supplicant“failą.
- Įdėkite ssh failą į sdcard, kad leistumėte ssh prieigą.
-
Paruoškite trečiosios šalies programinę įrangą:
- Aš automatizavau šį procesą, kad gaučiau visus reikalingus trečiųjų šalių įrankius, tačiau nedvejodami paleiskite juos rankiniu būdu ir peržiūrėkite, kad įsitikintumėte, jog jokie veiksmai nepavyksta.
- Atsisiųskite ir paleiskite šį scenarijų:
Čia pateikiamas operacinės sistemos diegimo scenarijaus aprašymas. Geriausia šias eilutes vykdyti rankiniu būdu, kad galėtumėte stebėti klaidas.
Scenarijaus antraštė:
#!/bin/sh -e #galima skambinti per #curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: automatizuokite šį scenarijų naudodami kažką panašaus: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: sąranka wifi # TODO: sąrankos slaptažodis ir įgalioti raktai # pastabos:
Atnaujinkite programinę įrangą OS lygiu:
#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-essential 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
Tinklo sąranka. Dalis šio tikslo buvo leisti sukonfigūruoti sistemą per prieigos tašką, prisijungti prie savo „Wi -Fi“, tačiau tai dar nebuvo visiškai išbandyta. Šiuo metu rekomenduojama naudoti „wpa_supplicant“metodą „Wi -Fi“nustatymui.
#networking setupecho nhllight>/etc/hostname #TODO: pataisykite/etc/hosts #TODO: setup br0 mkdir/etc/hostapd/ #pastaba: kita sąranka atliekama naudojant konfigūracijos failus ir apvalkalą, ištrauktą kaip atnaujinimo dalis
Atnaujinkite mazgų ir mazgų bibliotekas
#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 LICENCIJA cp -R */usr/local/rm -R/tmp/node-v $ {nodeversion} -linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: padaryti mazgo dvejetainio simbolio nuorodą? apt -get remove -y --purge npm node nodejs
#Node setupmkdir/opt/nhl mkdir/opt/nhl/logs mkdir/opt/nhl/ragai mkdir/opt/nhl/node_modules/
#atnaujinti mazgą
#diegti mazgų priklausomybes į nhl katalogo eksportą NODE_PATH =/usr/local/lib/node_modules
#HACK - TODO - pataisykite, kad šlubas nebus įdiegtas visame pasaulyje
cd/opt/nhl npm install lame # lame, yra šlykštus, neįdiegiamas visame pasaulyje cp -R/opt/nhl/node_modules/lame $ NODE_PATH npm install garsiakalbis #wont install globally cp -R/opt/nhl/node_modules/speaker $ NODE_PATH npm įdiegti „i2c-bus“#neįdiegti visame pasaulyje cp -R/opt/nhl/node_modules/i2c-bus $ NODE_PATH npm įdiegti oled-i2c-bus #neįdiegti visame pasaulyje $ NODE_PATH npm install lcd #wont install globally cp -R/opt/nhl/node_modules/lcd $ NODE_PATH npm install lcdi2c #wont install globally cp -R/opt/nhl/node_modules/lcdi2c $ NODE_PATH
npm įdiegti oled-font-5x7 #neįdiegti visame pasaulyje
cp -R/opt/nhl/node_modules/oled-font-5x7 $ NODE_PATH
npm install onoff #nebus įdiegta visame pasaulyje
cp -R/opt/nhl/node_modules/onoff $ NODE_PATH
#npm install pm2 #nebus įdiegtas visame pasaulyje
#cp -R/opt/nhl/node_modules/pm2 $ NODE_PATH #npm install express # #nebus įdiegta visame pasaulyje #cp -R/opt/nhl/node_modules/express $ NODE_PATH
# bet kokie globalūs moduliai
npm install express body -parser child_process pm2 -g
Paimkite naujausią kodą:
#pull git codecd/opt/nhl #JSON yra vienkartinis kūrimas 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… #call automatinis scenarijus, skirtas viskam kitam įdiegti NHL curl -sL https://raw.githubusercontent.com/wga22/nodejs /ma… | sudo -E bash -
Atsisiųskite ragus!
#pull hornscd/opt/nhl/horns curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -
atnaujinti „Raspberry pi“konfigūracijos failus - gali tekti pakeisti jūsų sistemoje
#config failų atnaujinimai#add sound cp /boot/config.txt /boot/config.txt.bak printf '\ ndtoverlay = pwm-2chan, pin = 18, func = 2, pin2 = 13, func2 = 4' >> / boot/config.txt #turn on i2c printf '\ n / ndtparam = i2c1 = on / n' >> /boot/config.txt printf '\ n / ndtparam = i2c_arm = on / n' >>/boot/config. txt
#TODO: ar to reikia? Cp /etc /modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> /etc /modules
amixer cset numid = 1
#TODO: nustatyti garsumą, 60%?
Automatizuokite automatizavimą, pvz., Įkrovos ir kodo atnaujinimus:
# update rc.local# PASTABA: perkelkite failą, nes standartiniame įraše paskutinėje eilutėje yra išėjimas, todėl negalima tiesiog pridėti 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.local printf '\ n exit 0' >> /etc/rc.local
# TODO: reikia ką nors pridėti, kad kas savaitę atliktumėte reguliarius programinės įrangos atnaujinimus# Gal tiesiog nukopijuokite šį failą tiesiai į aplanką 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
Įvairūs dalykai, pvz., Laiko juostos nustatymas:
ln -sf/usr/share/zoneinfo/America/New_York/etc/localtime
# atnaujinkite aplinkos kintamąjį naudodami node_path
cp/etc/environment /etc/environment.bak printf '\ nexport NODE_PATH =/usr/local/lib/node_modules / n' >>/etc/environment #TODO: nustatykite tai mazgui self.ipaddress = process.env. NODEJS_IP; #TODO: self.port = process.env. NODEJS_PORT || 80;
Naudokite PM2 mazgų serverio sąrankai:
#TODO: bandymo sąranka PM2cd /tmp /npm install -g pm2 pm2 paleisties cd /opt /nhl pm2 start NHL_work.js --node-args = "-max_old_space_size = 100 expose-gc" pm2 start webserver.js --node -args = "-max_old_space_size 100M" pm2 išsaugoti pm2 paleisties išėjimą 0
4 veiksmas: 4 veiksmas: atnaujinkite JSON konfigūraciją
Nustatykite JSON konfigūracijos failą norimai komandai ir pan. Šis failas yra /opt /nhl GO CAPITALS! konfigūruoti JSON failą
Programinė įranga naudoja JSON failą, kad sukonfigūruotų jūsų stebimą aparatūrą ir komandą. Komandą galima nustatyti naudojant veikiančią žiniatinklio serverį, tačiau aparatūros sąranką reikia nustatyti rankiniu būdu:
Čia pateikiamas kiekvienos galimos vertės paaiškinimas:
- myteam: tai yra komandos, kurią norite sekti, trijų raidžių kodas
- derinimas: galimos reikšmės yra 1 (tiesa) arba 0 (klaidinga), ir jos valdys, kiek registruojama.
-
išvestis: tai metodas, kuriuo turi būti rodomi balai/detalės. Galimos vertės:
- LCD: tai yra 2004 m. LCD
- konsolė: tai bus rašoma tik į terminalą (komandinei eilutei paleisti)
- oled: SSD6404 OLED ekrano palaikymas
-
šviesa: palaikomi dviejų tipų žibintai
- aliarmas: tai paskatins vieną GPIO įjungti/išjungti tranzistorių
- kelių lempučių: palaiko daugiaspalvius arba kelis šviesos diodus
- nėra: nėra šviesos
- stiprintuvas: tai GPIO, kuris valdo stiprintuvo tranzistorių
Rekomenduojamas:
Ledo ritulio įvarčių ragas: 5 žingsniai
Ledo ritulio įvarčių ragas: Mes su sūnumi žaidžiame savo namuose ledo ritulį, dar vadinamą ledo rituliu, ir jis vieną dieną paklausė apie ragą NHL aikštėse, kai jie įmuša įvartį. Jis norėjo sužinoti, ar galime jį gauti. Užuot nusipirkęs juokingai garsų įvarčio ragą (to niekada nebuvo), aš
Reguliavimo dydžio ledo ritulio aikštės kūrimas „SketchUp“: 14 žingsnių
Reguliavimo dydžio ledo ritulio aikštės kūrimas „SketchUp“: tam panaudojau nemokamą internetinę „SketchUp“versiją. Pabandykite susipažinti su tokiomis sąvokomis kaip „raudona linija“arba " pusė sienos " nes aš juos naudosiu nepaaiškinęs, ką jie reiškia Visi matavimai paimti iš oficialios NHL
Saulės šviesa be akumuliatoriaus arba saulės dienos šviesa Kodėl gi ne ?: 3 žingsniai
Saulės šviesa be akumuliatoriaus arba saulės dienos šviesa … Kodėl gi ne?: Sveiki. Atsiprašau už mano dienos šviesą? Saulės? Kodėl? Dienos metu turiu šiek tiek tamsų kambarį, o naudodamas turiu įjungti šviesą. Įdiekite saulės šviesą dieną ir naktį (1 kambarys): (Čilėje)-Saulės skydas 20w: 42 USD-Baterija: 15 USD-saulės apmokestinimas
„Pasidaryk pats“pigių oro ritulio lentelė: 27 žingsniai (su nuotraukomis)
„Pasidaryk pats“pigių oro ledo ritulio stalas: profesionali oro ritulio sąranka paprastai prieinama tik pasažuose dėl sudėtingų sistemų, reikalingų jai valdyti. Mūsų tikslas buvo pastatyti „pasidaryk pats“oro ritulio stalą, suteikiant šią žaidimų patirtį namuose. Naudojant dažniausiai prieinamą
Ledo lemputė: 3 žingsniai (su nuotraukomis)
Ledo lemputė: Ledo lemputės idėją gavau iš užšalusio vandens baliono. Šiais laikais mano protas nori į viską dėti šviesos diodus :) Ledo lemputė yra labai pigi ir paprasta pagaminti, o rezultatas atrodo nuostabiai. Ši pamoka bus pagrindinė