INHOUDSOPGAWE:
- Stap 1: Stap 1: Monteer u onderdele
- Stap 2: Stap 2: Bedrading en elektronika
- Stap 3: Stap 3: sagteware -opstelling van die bedryfstelsel
- Stap 4: Stap 4: Werk die JSON -konfigurasie op
Video: NHL beddens hokkie lig en LCD: 4 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Inleiding
Die "NHL Light" is vir hokkie -aanhangers wat hul span wil volg, maar nie elke wedstryd kan kyk nie. Die beste kenmerk is dat dit 'n doelpunt simuleer met 'n hokkiehoring (aangepas by u span) en lig.
Benewens die hokkiehoring en lig, het die "NHL Light" ook 'n skerm wat die huidige of mees onlangse wedstryd se telling, speeltyd of tyd van die volgende wedstryd en huidige datum en tyd bied.
Die "NHL Light" bevat 'n eenvoudige lys onderdele, wat maklik is om elektronika te monteer, en kode wat vrylik beskikbaar is.
Kenmerke
- Webbladgebaseerde konfigurasie om u span en wifi te kies
- Speel lig en horing as jou span punte maak (selfs as jy die wegspan is)
- Speel klank om die begin van die spel aan te kondig
- Speel 'n geluid om die einde van die spel aan te kondig
- Verskaf tyd en datum van die volgende wedstryd, indien daar geen spel aan die gang is nie.
- Gee die huidige tyd en tydperk van die spel, as die spel aan die gang is.
- Gee huidige datum en tyd.
Stap 1: Stap 1: Monteer u onderdele
Hier is 'n onderdele lys.
-
Framboos Pi W*
- Amazon
- Ek verkies om myne by Microcenter te kry, maar kan op ander plekke minder aanlyn gevind word.
- $10
- SD -kaart (minimum 4 GB)*
- luidspreker - Amazon - ~ $ 2 *
- versterker - PAM8403* - Amazon - ~ $ 1 elk
- lig - Amazon - ~ $ 5
-
Saak - $ 1*
- Van Michael
- Ek beveel 'n klein houtkissie uit die handwerkwinkel van Michael aan, maar ek sal dit aan u oorlaat!
-
I2C 2004 LCD - $ 3-7
- Amazon
- Die kode ondersteun 3 soorte LCD's, maar I2C 2004 is die een waarop ek die beste waarde en grootte besluit het. (SSD1306 is ook moontlik)
- 2 transistors - 2N2222A- Amazon
- Diverse drade / soldeersel 12V
- kragtoevoer - Amazon
- 12V -> 5V boksomskakelaar - Amazon
*Daar is buigsaamheid by die keuse van hierdie onderdeel.
OPMERKING: u kan die grootste deel van hierdie projek net met u framboos Pi begin, terwyl u wag totdat ander items gestuur word.
Stap 2: Stap 2: Bedrading en elektronika
-
Monteer lig
- Die bedrading vir die lig moet 12 + na die lig loop.
- Gaan negatief uit die lig deur een van die transistors.
- Die emetter van die transistor gaan grond toe.
- Die versamelaar van die transistor gaan na die Raspberry Pi.
-
Monteer klank
- Draai die regter- of linkerklank van PI na die versterker
- Draai +5V na die versterker
- Draai amp grond na die 2de transistor.
- Laat die emitter van die 2de transitor op die grond loop
- Begin versamelaar van die transistor na die Raspberry Pi
- Monteer bedrading aan die PI
-
Dit is die pinout -instruksies vir die PI (sommige hiervan is instelbaar via die JSON)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- Lig 10 (GPIO15)
- Klink reg - GPIO 18
-
Stap 3: Stap 3: sagteware -opstelling van die bedryfstelsel
-
Berei die Raspberry Pi W voor
- Die framboos -pi moet 'n onlangse weergawe van Raspbian (of ander Debian) gebruik.
- Dit word aanbeveel om hierdie instruksies te volg:
- Sluit seker die wifi wpa_supplicant -lêer in.
- Plaas ssh -lêer op die sdcard om toegang tot ssh te verkry.
-
Berei die derdeparty -sagteware voor:
- Ek het hierdie proses geoutomatiseer om al die nodige hulpmiddels van derde partye te gebruik, maar ek kan dit handmatig uitvoer en kyk of daar geen stappe is nie.
- Laai die volgende script af en voer dit uit:
Hier is 'n uiteensetting van wat die installasie -script vir die opstel van die bedryfstelsel doen. Dit is die beste om hierdie reëls handmatig uit te voer, sodat u kan let op foute.
Skrifkop:
#!/bin/sh -e #kan gebel word via #curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: outomatiseer hierdie script met iets soos: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: instel wifi # TODO: instel wagwoord en gemagtigde sleutels # notas:
Dateer sagteware op OS -vlak op:
#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 #netwerk apt-get install -y bridge-utils hostapd dnsmasq apt-get clean -y
Netwerkopstelling. 'N Deel van die doel hier was om toe te laat dat die stelsel via 'n toegangspunt gekonfigureer word, om aan te sluit op u eie wifi, maar dit is nog nie volledig getoets nie. Tans word dit aanbeveel om die wpa_supplicant -metode te gebruik vir die opstel van wifi.
#netwerkopstellingecho nhllight>/etc/gasheernaam #TODO: herstel die/etc/hosts #TODO: opstelling br0 mkdir/etc/hostapd/ #let op: die ander opstelling word uitgevoer via die konfigurasielêers en die dop word as deel van die opdatering afgetrek
Dateer node- en nodebiblioteke op
#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 LISENSIE cp -R */usr/local/rm -R/tmp/node-v $ {nodeversion} -linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: maak sym skakel vir node binêre? apt -get remove -y -purge npm node nodejs
#Node setupmkdir/opt/nhl mkdir/opt/nhl/logs mkdir/opt/nhl/horings mkdir/opt/nhl/node_modules/
#opdatering Node
#installeer nodusse in die nhl -gids uitvoer NODE_PATH =/usr/local/lib/node_modules
#HACK - TODO - herstel die kreupel wat nie wêreldwyd geïnstalleer word nie
cd/opt/nhl npm installeer lame # lam, is lam, sal nie wêreldwyd installeer nie cp -R/opt/nhl/node_modules/lame $ NODE_PATH npm installeer luidspreker #wont wêreldwyd installeer cp -R/opt/nhl/node_modules/luidspreker $ NODE_PATH npm installeer i2c-bus #sal nie wêreldwyd installeer nie cp -R/opt/nhl/node_modules/i2c-bus $ NODE_PATH npm installeer oled-i2c-bus #sal nie wêreldwyd installeer nie 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 installeer oled-font-5x7 #nie wêreldwyd installeer nie
cp -R/opt/nhl/node_modules/oled-font-5x7 $ NODE_PATH
npm installeer onoff #wêreldwyd nie geïnstalleer nie
cp -R/opt/nhl/node_modules/onoff $ NODE_PATH
#npm installeer pm2 #sal nie wêreldwyd installeer nie
#cp -R/opt/nhl/node_modules/pm2 $ NODE_PATH #npm install express #nie wêreldwyd geïnstalleer nie #cp -R/opt/nhl/node_modules/express $ NODE_PATH
# enige wêreldwye modules
npm installeer express body -parser child_process pm2 -g
Trek die nuutste kode:
#pull git codecd/opt/nhl #JSON is 'n eenmalige skeppingswget -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 outomatiese script om al die ander te installeer vir NHL curl -sL https://raw.githubusercontent.com/wga22/nodejs /ma… | sudo -E bash -
Laai die horings af!
#pull hornscd/opt/nhl/horn curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -
werk die Raspberry pi -konfigurasielêers op - - sal moontlik vir u stelsel moet verander
#config-lêeropdaterings#voeg klank by 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 = aan / n' >>/boot/config. txt
#TODO: is dit nodig? Cp /etc /modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> /etc /modules
amixer cset numid = 1
#TODO: stel volume, 60%?
Outomatiseer die outomatisering, soos opstart en kode -opdaterings:
# werk rc.local op# LET WEL: die lêer verskuif, want standaard een bevat 'n "exit" in die laaste reël, dus kan u nie net mv /etc/rc.local /etc/rc.local.bak aanraak nie /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 afrit 0' >> /etc/rc.local
#TODO: moet u weekliks so iets byvoeg om die gereelde sagteware -opdaterings te doen# Miskien moet u hierdie lêer direk na die rc.weekly -gids kopieer? 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
Ander dinge, soos om tydsone in te stel:
ln -sf/usr/share/zoneinfo/America/New_York/etc/localtime
# omgewingsveranderlike opdateer met node_path
cp/etc/environment /etc/environment.bak printf '\ nexport NODE_PATH =/usr/local/lib/node_modules / n' >>/etc/environment #TODO: definieer dit vir node self.ipaddress = process.env. NODEJS_IP; #TODO: self.port = process.env. NODEJS_PORT || 80;
Gebruik PM2 vir die opstel van nodusbedieners:
#TODO: toetsopstelling PM2cd /tmp /npm installeer -g pm2 pm2 opstart-cd /opt /nhl pm2 begin NHL_work.js --node-args = "-max_old_space_size = 100 expose-gc" pm2 start webserver.js --node -args = "-max_old_space_size 100M" pm2 stoor pm2 opstart afrit 0
Stap 4: Stap 4: Werk die JSON -konfigurasie op
Stel u JSON -konfigurasielêer op vir die span wat u verkies, ens. Hierdie lêer is geleë in /opt /nhl GO CAPITALS! config JSON lêer
Die sagteware gebruik 'n JSON -lêer om die hardeware en span wat u volg op te stel. Die span kan ingestel word via die webbediener wat werk, maar hardeware -opstelling moet handmatig ingestel word:
Hier is 'n verduideliking van elke moontlike waarde:
- myteam: dit is die kode van 3 letters van die span wat u wil volg
- ontfouting: moontlike waardes is 1 (waar) of 0 (onwaar), en sal beheer hoeveel uitteken word.
-
uitset: dit is die metode waarmee tellings/besonderhede getoon moet word. Moontlike waardes is:
- lcd: dit is die 2004 lcd
- konsole: dit sal slegs na die terminale skryf (vir die opdragreël)
- oled: ondersteuning vir SSD6404 oled -skerm
-
lig: daar word twee soorte ligte ondersteun
- alarm: dit sal 'n enkele GPIO bestuur om 'n transistor aan/uit te skakel
- multi-led: ondersteun 'n veelkleurige of meer LED's
- geen: geen lig aangeheg nie
- amp: dit is die GPIO wat die transistor vir die versterker dryf
Aanbeveel:
Slim lessenaar LED -lig - Slim beligting met Arduino - Neopixels -werkruimte: 10 stappe (met foto's)
Slim lessenaar LED -lig | Slim beligting met Arduino | Neopixels Workspace: Ons spandeer deesdae baie tyd tuis, studeer en werk virtueel, so waarom nie ons werkruimte groter maak met 'n pasgemaakte en slim beligtingstelsel Arduino en Ws2812b LED's nie. Hier wys ek u hoe u u Smart bou LED -lessenaar op die tafel wat
LED -lig (te) op batterye met sonoplaai: 11 stappe (met foto's)
LED -lig (te) met batterye Met sonoplaai: my vrou leer mense hoe om seep te maak, die meeste van haar klasse was in die aand en hier in die winter word dit donker omstreeks 16:30, sommige van haar studente het probleme ondervind om ons huis. Ons het 'n bord voor, maar selfs met 'n straatlig
Comm 101 Hoe om aan te trek vir hokkie !: 9 stappe
Comm 101 Hoe om vir hokkie aan te trek !: Ek gaan jou leer hoe om hokkies aan te trek. Glo dit of nie, daar is 'n metode vir hierdie waansin. Ek sal stap vir stap deur elke stap gaan
Hokkie -model met werkende wit bord: 6 stappe
Cubicle Model With Working White Board: 'n Geskenk van my jong dogter het ek lank gelede gekry. 'N Klein model van die hokkie waarin ek beland het-miskien geïnspireer deur u kind werk toe te bring. Met aftrede en my dogter nou in 'n eie boks, het ek gegaan
Musiekreaktiewe lig -- Hoe om 'n super -eenvoudige musiekreaktiewe lig te maak vir die maak van 'n tafelblad: 5 stappe (met foto's)
Musiekreaktiewe lig || Hoe om 'n super -eenvoudige musiekreaktiewe lig te maak om lessenaars te maak: Hallo ouens, vandag bou ons 'n baie interessante projek. Vandag gaan ons musiek reaktiewe lig bou. Die LED sal sy helderheid verander volgens die bas wat eintlik 'n lae-frekwensie klanksein is. Dit is baie eenvoudig om te bou. Ons sal