Sisällysluettelo:
- Vaihe 1: Vaihe 1: Kokoa osat
- Vaihe 2: Vaihe 2: Johdotus ja elektroniikka
- Vaihe 3: Vaihe 3: Käyttöjärjestelmän ohjelmiston asennus
- Vaihe 4: Vaihe 4: Päivitä JSON -kokoonpano
Video: NHL -yövalo ja LCD -näyttö: 4 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Johdanto
"NHL Light" on tarkoitettu jääkiekko -faneille, jotka haluavat seurata joukkuettaan, mutta eivät voi katsoa jokaista peliä. Sen paras ominaisuus on, että se simuloi maalintekopalloa jääkiekkotorvella (tiimillesi mukautettuna) ja valolla.
Jääkiekon torven ja valon lisäksi "NHL Light" -näytössä on näyttö, joka näyttää nykyisen tai viimeisimmän pelin pisteet, peliajan tai seuraavan pelin ajan ja nykyisen päivämäärän ja kellonajan.
"NHL Light" toimii yksinkertaisella osaluettelolla, joka on helppo koota elektroniikkaa ja koodi on vapaasti saatavilla.
ominaisuudet
- Verkkosivupohjainen kokoonpano tiimisi ja wifi: n valitsemiseksi
- Pelaa valoa ja sarvea, kun joukkue tekee maalin (vaikka olisit vierasjoukkue)
- Toistaa äänen ilmoittaakseen pelin alun
- Toistaa äänen ilmoittaakseen pelin päättymisestä
- Näyttää seuraavan pelin ajan ja päivämäärän, jos peli ei ole käynnissä.
- Näyttää nykyisen peliajan ja jakson, jos peli on käynnissä.
- Näyttää nykyisen päivämäärän ja kellonajan.
Vaihe 1: Vaihe 1: Kokoa osat
Tässä on osaluettelo.
-
Vadelma Pi W*
- Amazon
- Haluan mieluummin hankkia omani Microcenteristä, mutta muualta löytyy halvemmalla.
- $10
- SD -kortti (vähintään 4 Gt)*
- kaiutin - Amazon - ~ $ 2 *
- vahvistin - PAM8403* - Amazon - ~ $ 1 kpl
- valo - Amazon - ~ 5 dollaria
-
Kotelo - $ 1*
- Mikaelin
- Suosittelen pieniä puisia käsityölaukkuja Michaelin käsityöliikkeestä, mutta ne jätetään sinulle!
- I2C 2004 LCD - 3-7 dollaria
- Amazon
- Koodi tukee kolmea LCD -näyttöä, mutta I2C 2004 on se, jonka olen määrittänyt parhaaksi arvoksi ja kokoon. (SSD1306 on myös mahdollista)
- 2 transistoria - 2N2222A- Amazon
- Muut johdot / juote 12V
- virtalähde - Amazon
- 12V -> 5V buck -muunnin - Amazon
*Tämän osan valitsemisessa on joustavuutta.
HUOMAUTUS: Voit aloittaa suurimman osan tästä projektista vain vadelma Pi: lläsi odottaessasi muiden tuotteiden lähettämistä.
Vaihe 2: Vaihe 2: Johdotus ja elektroniikka
-
Kokoa valo
- Valon johdotus on kulkea 12 + valolle.
- Aja negatiivisesti valosta yhden transistorin läpi.
- Transistorin emmetri menee maahan.
- Transistorin kerääjä menee Raspberry Pi: hen.
-
Kokoa ääni
- Suorita oikea tai vasen ääni PI: stä vahvistimeen
- Kytke +5V vahvistimeen
- Suorita vahvistimen maa toiseen transistoriin.
- Aja toisen transistorin emmetri maahan
- Suorita transistorin kerääjä Raspberry Pi: lle
- Kokoa johdot PI: hen
-
Nämä ovat PI: n pinout -ohjeet (jotkut näistä ovat konfiguroitavissa JSONin kautta)
-
LCD -näyttö
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- Light 10 (GPIO15)
- Ääni oikein - GPIO 18
-
Vaihe 3: Vaihe 3: Käyttöjärjestelmän ohjelmiston asennus
-
Valmista Raspberry Pi W
- Rasberry pi: ssä on oltava Raspbianin (tai muun Debianin) uusin versio.
- Suosittelemme noudattamaan näitä ohjeita:
- Muista sisällyttää wifi wpa_supplicant -tiedosto.
- Laita ssh -tiedosto sdcardille salliaksesi ssh -käyttöoikeuden.
-
Valmistele kolmannen osapuolen ohjelmisto:
- Olen automatisoinut tämän prosessin vetämään kaikki tarvittavat kolmannen osapuolen työkalut, mutta voit suorittaa ne manuaalisesti ja tarkistaa, ettei mikään vaihe epäonnistu.
- Lataa ja suorita seuraava komentosarja:
Tässä on erittely siitä, mitä käyttöjärjestelmän asennusohjelma tekee. On parasta suorittaa nämä rivit manuaalisesti, jotta voit tarkkailla virheitä.
Skriptin otsikko:
#!/bin/sh -e #voidaan soittaa #curl -sL: n kautta https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: automatisoi tämä komentosarja jollakin seuraavalla tavalla: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: aseta wifi # TODO: määritä salasana ja valtuutetut avaimet # huomautukset:
Päivitä ohjelmisto käyttöjärjestelmän tasolla:
#apt-get stuff (apt-get update && apt-get -y upgrade)> /dev /null apt-get dist-upgrade -y #Yleinen 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
Verkkoasetukset. Osa tavoitteesta oli sallia järjestelmän konfigurointi tukiaseman kautta, muodostaa yhteys omaan wifi -verkkoon, mutta tätä ei ole vielä testattu täysin. Tällä hetkellä suositellaan wpa_supplicant -menetelmän käyttöä wifi -yhteyden määrittämiseen.
#networking setupecho nhllight>/etc/hostname #TODO: korjaa/etc/hosts #TODO: setup br0 mkdir/etc/hostapd/ #Huomautus: muut asetukset tehdään määritystiedostojen ja kuoren avulla, jotka on vedetty osana päivitystä
Päivitä solmu- ja solmukirjastoja
#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 LISENSSI cp -R */usr/local/rm -R/tmp/node-v $ {nodeversion} -linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: tehdä sym linkin binaarille? apt -get remove -y --purge npm node nodejs
#Node setupmkdir/opt/nhl mkdir/opt/nhl/lokit mkdir/opt/nhl/sarvet mkdir/opt/nhl/node_modules/
#päivitä solmu
#asenna solmukohtaiset riippuvuudet nhl -hakemiston vientiin NODE_PATH =/usr/local/lib/node_modules
#HACK - TODO - korjaa, että ontto ei asennu maailmanlaajuisesti
cd/opt/nhl npm asenna lame # lame, on ontu, ei asenna maailmanlaajuisesti cp -R/opt/nhl/node_modules/lame $ NODE_PATH npm install speaker #wont install globally cp -R/opt/nhl/node_modules/kaiutin $ NODE_PATH npm install i2c-bus #ei asenna maailmanlaajuisesti cp -R/opt/nhl/node_modules/i2c-bus $ NODE_PATH npm install oled-i2c-bus #wont install globally cp -R/opt/nhl/node_modules/oled-i2c-bus $ 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 install oled-font-5x7 #wont install global
cp -R/opt/nhl/node_modules/oled-font-5x7 $ NODE_PATH
npm install onoff #ei asenneta maailmanlaajuisesti
cp -R/opt/nhl/node_modules/onoff $ NODE_PATH
#npm install pm2 #ei asenneta maailmanlaajuisesti
#cp -R/opt/nhl/node_modules/pm2 $ NODE_PATH #npm install express #ei asenneta maailmanlaajuisesti #cp -R/opt/nhl/node_modules/express $ NODE_PATH
# kaikki globaalit moduulit
npm install express body -parser child_process pm2 -g
Vedä uusin koodi:
#pull git codecd/opt/nhl #JSON on kertaluonteinen luominen 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 automatized script to install all other for NHL curl -sL https://raw.githubusercontent.com/wga22/nodejs /ma… | sudo -E bash -
Lataa sarvet!
#pull hornscd/opt/nhl/horns curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -
päivitä Raspberry pi -määritystiedostot - - joudut ehkä muuttamaan järjestelmääsi
#config tiedostopäivitykset#lisää ääni 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 = päällä / n' >> /boot/config.txt printf '\ n / ndtparam = i2c_arm = päällä / n' >>/boot/config. txt
#TODO: tarvitaanko tätä? Cp /etc /modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> /etc /modules
amixer cset numid = 1
#TODO: aseta äänenvoimakkuus, 60%?
Automatisoi automaatio, kuten käynnistys ja koodipäivitykset:
# update rc.local# HUOMAUTUS: tiedoston siirtäminen, koska vakio sisältää viimeisen rivin "exit", joten sitä ei voi yksinkertaisesti liittää 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: täytyy lisätä jotain säännöllisten ohjelmistopäivitysten tekemiseksi viikoittain näin# Ehkä vain kopioi tämä tiedosto suoraan rc.weekly -kansioon? 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
Muut asiat, kuten aikavyöhykkeen asettaminen:
ln -sf/usr/share/zoneinfo/America/New_York/etc/localtime
# päivitä ympäristömuuttuja solmupolulla
cp/etc/environment /etc/environment.bak printf '\ nexport NODE_PATH =/usr/local/lib/node_modules / n' >>/etc/environment #TODO: määritä tämä solmulle self.ipaddress = process.env. NODEJS_IP; #TODO: self.port = process.env. NODEJS_PORT || 80;
Hyödynnä PM2 solmupalvelimen asennuksessa:
#TODO: testiasetukset 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 -args = "-max_old_space_size 100M" pm2 tallenna pm2 käynnistyksen lopetus 0
Vaihe 4: Vaihe 4: Päivitä JSON -kokoonpano
Määritä JSON -määritystiedosto haluamallesi tiimille jne. Tämä tiedosto sijaitsee kohteessa /opt /nhl GO CAPITALS! config JSON -tiedosto
Ohjelmisto käyttää JSON -tiedostoa määrittääksesi seuraamasi laitteiston ja tiimin. Tiimi voidaan asettaa käynnissä olevan verkkopalvelimen kautta, mutta laitteiston asennus on määritettävä manuaalisesti:
Tässä on selitys jokaisesta mahdollisesta arvosta:
- myteam: tämä on sen joukkueen 3 -kirjaiminen koodi, jota haluat seurata
- debug: Mahdolliset arvot ovat 1 (tosi) tai 0 (epätosi), ja ne määräävät kuinka paljon kirjausta kirjoitetaan.
-
output: tämä on menetelmä, jolla tulokset/yksityiskohdat näytetään. Mahdollisia arvoja ovat:
- lcd: tämä on vuoden 2004 lcd
- konsoli: tämä kirjoittaa vain päätelaitteelle (komentoriville)
- oled: SSD6404 -näytön tuki
- valo: tuettuja valoja on kahdenlaisia
- hälytys: tämä ajaa yhden GPIO: n transistorin kytkemiseksi päälle/pois
- monivalo: tukee monivärisiä tai useita ledejä
- ei mitään: ei valaisinta
- amp: tämä on GPIO, joka ohjaa vahvistimen transistoria
Suositeltava:
Paina nappia); // Arduinon LCD -peli: 5 vaihetta (kuvilla)
Paina nappia); // Arduinon LCD -peli: Äskettäin partiolaisissa työskentelin Game Design -merkin parissa. Yhtenä vaatimuksista rakensin tämän pelin Arduinolla, joka perustuu LED Rocker Game -peliin. Pelin tarkoitus on kerätä mahdollisimman paljon pisteitä. Alussa t
Samsungin LCD -TV pois päältä Ongelma DIY -korjaus: 5 vaihetta (kuvilla)
Samsungin LCD -televisio päällä Ei ongelma DIY -korjauskorjaus: Meillä oli Samsung 32 " LCD -televisio meneillään hiljattain. Televisio kytkeytyy päälle, sammuu heti ja sammuu sitten uudelleen … loputtomassa jaksossa. Pienen tutkimuksen jälkeen huomasimme, että
Arduinon LCD -pääkello: 10 vaihetta (kuvilla)
Arduino -LCD -pääkello: Tämä kello on suunniteltu itsenäiseksi kelloksi tai pääkelloksi orjakellojen ajamiseen, ja se on kannettava akun varmuuskopioinnin avulla. Katso lisätietoja kellon verkkosivustolta LCD-pääkellon kotisivuUpdate- Automatic Summer előre ja Winter Retard bu
LCD -kouluttajasarja: 6 vaihetta (kuvilla)
LCD -kouluttajasarja: Muutama vuosi sitten minut esiteltiin Arduinon maailmaan. Olin kiinnostunut siitä, että voit saada asiat toimimaan vain kirjoittamalla joitain koodirivejä. Etkö pidä siitä, miten se toimii? Vaihda muutama koodirivi ja siinä se on. Heti kun saan
Arduino LCD -peli: 3 vaihetta (kuvilla)
Arduinon LCD -peli: Monien asioiden tekeminen on erittäin helppoa Arduinon mikro -ohjaimilla. Tämä ohjekirja kertoo, kuinka voit luoda yksinkertaisen yhden painikkeen videopelin, joka koostuu kourallisista osista ja Tinkercad-piireistä. Se on sivuttain vierittävä hyppypeli. Tämä toimii