Indholdsfortegnelse:
- Trin 1: Trin 1: Saml dine dele
- Trin 2: Trin 2: Ledninger og elektronik
- Trin 3: Trin 3: Opsætning af operativsystemsoftware
- Trin 4: Trin 4: Opdater JSON -konfigurationen
Video: NHL Nightside Hockey Light og LCD: 4 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Introduktion
"NHL Light" er for hockey -fans, der ønsker at følge deres hold, men ikke kan se hver kamp. Den bedste funktion er, at den simulerer en målscore med et hockeyhorn (tilpasset dit hold) og let.
Ud over hockeyhornet og lyset har "NHL Light" et display, der giver nuværende eller seneste spilles score, spilletid eller tidspunkt for næste kamp og aktuel dato og klokkeslæt.
"NHL Light" kører på en simpel liste over dele, der er let at samle elektronik og kode, der er frit tilgængelig.
Funktioner
- Websidebaseret konfiguration til valg af dit team og wifi
- Spiller lys og horn når dit hold scorer (selv når du er udeholdet)
- Afspiller lyd for at annoncere begyndelsen af spillet
- Afspiller en lyd for at annoncere afslutningen på spillet
- Giver tid og dato for næste spil, hvis der ikke er noget spil i gang.
- Viser den aktuelle spilletid og -periode, hvis spillet er i gang.
- Viser den aktuelle dato og klokkeslæt.
Trin 1: Trin 1: Saml dine dele
Her er en deleliste.
-
Raspberry Pi W*
- Amazon
- Jeg foretrækker at få mit fra Microcenter, men kan findes online billigere andre steder.
- $10
- SD -kort (minimum 4 GB)*
- højttaler - Amazon - ~ $ 2 *
- forstærker - PAM8403* - Amazon - ~ $ 1 hver
- lys - Amazon - ~ $ 5
-
Etui - $ 1*
- Michaels
- Jeg anbefaler en lille håndværksetui i træ fra Michaels håndværksbutik, men vil overlade til dig!
-
I2C 2004 LCD - $ 3-7
- Amazon
- Koden understøtter 3 typer LCD'er, men I2C 2004 er den, jeg har afgjort som den bedste værdi og størrelse. (SSD1306 er også mulig)
- 2 transistorer - 2N2222A- Amazon
- Diverse ledninger / lodde 12V
- strømforsyning - Amazon
- 12V -> 5V buck converter - Amazon
*Der er fleksibilitet, når det kommer til at vælge denne del.
BEMÆRK: Du kan starte på det meste af dette projekt med bare din hindbær Pi, mens du venter på, at andre varer sendes.
Trin 2: Trin 2: Ledninger og elektronik
-
Saml lys
- Ledningerne til lyset skal køre 12 + til lyset.
- Kør negativt fra lyset gennem en af transistorerne.
- Transistorens emmetter går til jorden.
- Transistorens samler går til Raspberry Pi.
-
Saml lyd
- Kør højre eller venstre lyd fra PI til forstærkeren
- Kør +5V til forstærkeren
- Kør forstærkerjord til den 2. transistor.
- Kør emitteren af den 2. transitor til jorden
- Kør transistorens samler til Raspberry Pi
- Saml ledninger til PI
-
Dette er pinout -instruktionerne for PI'en (nogle af disse kan konfigureres via JSON)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- Lys 10 (GPIO15)
- Lyd rigtigt - GPIO 18
-
Trin 3: Trin 3: Opsætning af operativsystemsoftware
-
Forbered Raspberry Pi W
- Raspberry pi skal køre en nylig version af Raspbian (eller anden Debian).
- Anbefales at følge disse instruktioner:
- Sørg for at inkludere wifi wpa_supplicant -fil.
- Sæt ssh -fil på sdcard for at tillade ssh -adgang.
-
Forbered tredjepartssoftwaren:
- Jeg har automatiseret denne proces til at trække alle nødvendige tredjepartsværktøjer, men du er velkommen til at køre disse manuelt og gennemgå for at sikre, at ingen trin mislykkes.
- Download og kør følgende script:
Her er en oversigt over, hvad installations scriptet til opsætning af operativsystemet gør. Det er bedst at køre disse linjer manuelt, så du kan se efter fejl.
Scriptoverskrift:
#!/bin/sh -e #kan kaldes via #curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: automatiser dette script med noget i stil med: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: setup wifi # TODO: setup passwd og autoriserede nøgler # noter:
Opdater software på OS -niveau:
#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
Opsætning af netværk. En del af målet her var at tillade system at blive konfigureret via et adgangspunkt, at oprette forbindelse til din egen wifi, men dette er ikke blevet testet fuldstændigt endnu. I øjeblikket anbefales det at bruge wpa_supplicant -metoden til opsætning af wifi.
#networking setupecho nhllight>/etc/hostname #TODO: fix/etc/hosts #TODO: setup br0 mkdir/etc/hostapd/ #note: anden opsætning udføres via konfigurationsfilerne og skal trækkes ned som en del af opdateringen
Opdater Node- og nodebiblioteker
#update nodecd/tmp eksport 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 LICENS cp -R */usr/local/rm -R/tmp/node-v $ {nodeversion} -linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: lav sym link til node binær? apt -get remove -y -purge npm node nodejs
#Node setupmkdir/opt/nhl mkdir/opt/nhl/logs mkdir/opt/nhl/horn mkdir/opt/nhl/node_modules/
#opdater knude
#install node -afhængigheder i nhl -bibliotekseksport NODE_PATH =/usr/local/lib/node_modules
#HACK - TODO - fix den halte vil ikke installeres globalt
cd/opt/nhl npm installer lame # halt, er halt, vil ikke installere globalt cp -R/opt/nhl/node_modules/lame $ NODE_PATH npm installere højttaler # vil ikke installere globalt cp -R/opt/nhl/node_modules/højttaler $ NODE_PATH npm installere i2c-bus #vil ikke installere globalt cp -R/opt/nhl/node_modules/i2c-bus $ NODE_PATH npm installere oled-i2c-bus #vil ikke installere globalt 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 globalt cp -R/opt/nhl/node_modules/lcdi2c $ NODE_PATH
npm installer oled-font-5x7 #vil ikke installere globalt
cp -R/opt/nhl/node_modules/oled-font-5x7 $ NODE_PATH
npm install onoff #wont install globalt
cp -R/opt/nhl/node_modules/onoff $ NODE_PATH
#npm installer pm2 #vil ikke installere globalt
#cp -R/opt/nhl/node_modules/pm2 $ NODE_PATH #npm install express #vil ikke installere globalt #cp -R/opt/nhl/node_modules/express $ NODE_PATH
# eventuelle globale moduler
npm installer express body -parser child_process pm2 -g
Træk seneste kode:
#pull git codecd/opt/nhl #JSON er én gang oprettelses 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 automatiseret script for at installere alt andet til NHL curl -sL https://raw.githubusercontent.com/wga22/nodejs /ma… | sudo -E bash -
Download hornene!
#pull hornscd/opt/nhl/horn curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -
opdater Raspberry pi -konfigurationsfilerne - - skal muligvis ændres for dit system
#config-filopdateringer#tilføj lyd cp /boot/config.txt /boot/config.txt.bak printf '\ ndtoverlay = pwm-2chan, pin = 18, func = 2, pin2 = 13, func2 = 4' >> / boot/config.txt #turn i2c printf '\ n / ndtparam = i2c1 = on / n' >> /boot/config.txt printf '\ n / ndtparam = i2c_arm = on / n' >>/boot/config. txt
#TODO: er dette nødvendigt? Cp /etc /modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> /etc /modules
amixer cset numid = 1
#TODO: indstillet volumen, 60%?
Automatiser automatiseringen, f.eks. Opstart og kodeopdateringer:
# opdater rc.local# BEMÆRK: flytning af filen, fordi standard en indeholder en "exit" i sidste linje, så kan ikke bare tilføje mv /etc/rc.local /etc/rc.local.bak tryk på /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: nødt til at tilføje noget for at lave de regelmæssige softwareopdateringer ugentligt som dette# Måske bare kopiere denne fil direkte ned til rc.weekly -mappen? 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
Diverse ting, f.eks. Indstilling af tidszone:
ln -sf/usr/share/zoneinfo/America/New_York/etc/localtime
# opdater miljøvariabel med node_path
cp/etc/environment /etc/environment.bak printf '\ nexport NODE_PATH =/usr/local/lib/node_modules / n' >>/etc/environment #TODO: definer dette for node self.ipaddress = process.env. NODEJS_IP; #TODO: self.port = process.env. NODEJS_PORT || 80;
Brug PM2 til node -serveropsætning:
#TODO: testopsætning PM2cd /tmp /npm installation -g pm2 pm2 opstart 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 gem pm2 opstart exit 0
Trin 4: Trin 4: Opdater JSON -konfigurationen
Opsæt din JSON -konfigurationsfil for det team, du foretrækker osv. Denne fil er placeret i /opt /nhl GO CAPITALS! config JSON -fil
Softwaren bruger en JSON -fil til at konfigurere den hardware og det team, du følger. Teamet kan indstilles via den webserver, der kører, men hardwareopsætning skal indstilles manuelt:
Her er en forklaring på hver mulig værdi:
- myteam: dette er koden på 3 bogstaver for det team, du ønsker at følge
- fejlfinding: Mulige værdier er 1 (sand) eller 0 (falsk) og styrer, hvor meget logning der skrives ud.
-
output: dette er den metode, hvormed scores/detaljer skal vises. Mulige værdier er:
- lcd: dette er 2004 lcd
- konsol: dette vil kun skrive til terminalen (til at køre kommandolinje)
- oled: understøttelse af SSD6404 oled -skærm
-
lys: der understøttes to typer lys
- alarm: dette driver en enkelt GPIO til at tænde/slukke en transistor
- multi-led: understøtter en flerfarvet eller flere lysdioder
- ingen: intet lys påsat
- amp: dette er GPIO, der driver transistoren til forstærkeren
Anbefalede:
Hockey målhorn: 5 trin
Hockey Goal Horn: Min søn og jeg spiller hockey i vores hus, også kendt som knæhockey, og han spurgte en dag om hornet på NHL -baner, da de scorede. Han ville vide, om vi kunne få en. I stedet for at købe et latterligt højt målhorn (ville aldrig ske)
Shadow Light Box - Styring med IR -fjernbetjening med Arduino: 8 trin (med billeder)
Shadow Light Box - Styring med IR -fjernbetjening med Arduino: Denne instruktion vil guide dig til, hvordan du laver skygge -lysboks til næste jul. Du kan lave det selv til at dekorere dit værelse eller gøre det til din ven som en gave. Denne skyggeæske kan lave forskellige slags farver ved at blande farve med rød, blå, grøn farve
Sådan adskilles en computer med nemme trin og billeder: 13 trin (med billeder)
Sådan adskilles en computer med nemme trin og billeder: Dette er en instruktion om, hvordan du adskiller en pc. De fleste af de grundlæggende komponenter er modulopbyggede og nemme at fjerne. Det er dog vigtigt, at du er organiseret omkring det. Dette hjælper med at forhindre dig i at miste dele og også ved at lave genmonteringen til
SENSOR SUHU DENGAN LCD DAN LED (Fremstilling af temperatursensor med LCD og LED): 6 trin (med billeder)
SENSOR SUHU DENGAN LCD DAN LED (Making Temperature Sensor With LCD and LED): hai, saya Devi Rivaldi mahasiswa UNIVERSITAS NUSA PUTRA fra Indonesien, der kan også sige, at der kan bruges en sensor, der kan bruges til en Arduino -udgang på LCD og LED. Ini adalah pembaca suhu dengan desain saya sendiri, dengan sensor ini anda
LED Light Drawing Pens: Værktøjer til at tegne Light Doodles: 6 trin (med billeder)
LED Light Drawing Pens: Værktøjer til at tegne Light Doodles: Min kone Lori er en uafbrudt doodler, og jeg har spillet med lang eksponering fotografering i årevis. Inspireret af PikaPika light artistry -gruppen og lethed med digitale kameraer tog vi lysformet kunstform for at se, hvad vi kunne gøre.Vi har en stor