Taula de continguts:
- Pas 1: Pas 1: Munteu les peces
- Pas 2: pas 2: cablejat i electrònica
- Pas 3: Pas 3: Configuració del programari del sistema operatiu
- Pas 4: pas 4: actualitzeu la configuració JSON
Vídeo: Llum i LCD d'hoquei de nit NHL: 4 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Introducció
El "NHL Light" és per als aficionats a l'hoquei que vulguin seguir el seu equip, però que no puguin veure tots els partits. La millor característica és que simula un gol amb una trompa d’hoquei (personalitzada per al vostre equip) i lleuger.
A més de la llum i la bocina d'hoquei, la "Llum NHL" té una pantalla que proporciona la puntuació actual, o la part més recent, l'hora del joc o l'hora del proper partit i la data i l'hora actuals.
El "NHL Light" funciona amb una llista senzilla de peces, que és fàcil de muntar electrònica, i un codi que està disponible de forma gratuïta.
Característiques
- Configuració basada en pàgines web per seleccionar el vostre equip i el vostre wifi
- Toca llum i trompa quan el vostre equip marca (fins i tot quan sou l'equip visitant)
- Sona per anunciar el començament del joc
- Reprodueix un so per anunciar la conclusió del joc
- Proporciona l'hora i la data del proper partit, si no hi ha cap joc en curs.
- Mostra el temps i el període de joc actuals, si el joc està en curs.
- Mostra la data i l'hora actuals.
Pas 1: Pas 1: Munteu les peces
Aquí hi ha una llista de peces.
-
Raspberry Pi W *
- Amazon
- Prefereixo obtenir el meu de Microcenter, però es pot trobar en línia per menys en altres llocs.
- $10
- Targeta SD (mínim 4 GB) *
- altaveu - Amazon - ~ $ 2 *
- amp - PAM8403 * - Amazon - ~ $ 1 cadascun
- light - Amazon - ~ 5 $
-
Estoig: 1 $ *
- De Michael
- Us recomano una petita caixa artesanal de fusta de la botiga d'artesania de Michael, però us la deixaré.
-
LCD I2C 2004: entre 3 i 7 dòlars
- Amazon
- El codi admet tres tipus de LCD, però I2C 2004 és el que he establert com a millor valor i mida. (També és possible SSD1306)
- 2 transistors - 2N2222A- Amazon
- Diversos cables / soldadura 12V
- font d'alimentació: Amazon
- Convertidor de 12 V -> 5 V de dòlars: Amazon
* Hi ha flexibilitat a l’hora de seleccionar aquesta part.
NOTA: Podeu iniciar la major part d’aquest projecte només amb el vostre raspberry Pi mentre espereu que s’envien altres articles.
Pas 2: pas 2: cablejat i electrònica
-
Muntar la llum
- El cablejat de la llum ha de funcionar 12 + fins a la llum.
- Executar negatiu des de la llum a través d’un dels transistors.
- L'emetter del transistor va a terra.
- El col·lector del transistor va al Raspberry Pi.
-
Muntar so
- Executeu so dret o esquerre des de PI fins a l'amplificador
- Executeu + 5V fins a l'amplificador
- Executeu la massa d'amplificador al segon transistor.
- Executeu l’emetre del 2n transitor a terra
- Executeu el col·lector del transistor al Raspberry Pi
- Munteu el cablejat al PI
-
Aquestes són les instruccions per identificar el PI (algunes d'aquestes es poden configurar mitjançant el JSON)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- Llum 10 (GPIO15)
- So correcte: GPIO 18
-
Pas 3: Pas 3: Configuració del programari del sistema operatiu
-
Prepareu el Raspberry Pi W
- El rasberry pi ha d'executar una versió recent de Raspbian (o un altre Debian).
- Es recomana seguir aquestes instruccions:
- Assegureu-vos d’incloure el fitxer wifi wpa_supplicant.
- Poseu el fitxer ssh a la sdcard per permetre l'accés ssh.
-
Prepareu el programari de tercers:
- He automatitzat aquest procés per obtenir totes les eines de tercers necessàries, però no dubteu a executar-les manualment i reviseu-les per assegurar-vos que no hi hagi cap pas.
- Descarregueu i executeu el següent script:
Aquí teniu un desglossament del que fa l’escript d’instal·lació per configurar el sistema operatiu. El millor és executar aquestes línies manualment perquè pugueu detectar errors.
Capçalera de guió:
#! / bin / sh -e # es pot trucar mitjançant #curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: automatitza aquest script amb alguna cosa així: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: configuració wifi # TODO: configuració passwd i claus autoritzades # notes:
Actualitzeu el programari a nivell de SO:
# 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
Configuració de la xarxa. Part de l'objectiu aquí era permetre que el sistema es configurés mitjançant un punt d'accés per connectar-se al vostre propi wifi, però fins ara no s'ha provat completament. Actualment es recomana utilitzar el mètode wpa_supplicant per configurar el wifi.
#networking setupecho nhllight> / etc / hostname #TODO: corregiu el / etc / hosts #TODO: setup br0 mkdir / etc / hostapd / # note: l'altra configuració es realitza mitjançant els fitxers de configuració i l'intèrpret d'ordres com a part de l'actualització
Actualitzeu les biblioteques de nodes i nodes
#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 LICÈNCIA cp -R * / usr / local / rm -R / tmp / node-v $ {nodeversion} -linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: fer l'enllaç sym per al node binari? apt-get remove -y --purge npm node nodejs
#Node setupmkdir / opt / nhl mkdir / opt / nhl / logs mkdir / opt / nhl / horns mkdir / opt / nhl / node_modules /
Node #update
#install dependencies de nodes a l'exportació del directori nhl NODE_PATH = / usr / local / lib / node_modules
#HACK - TODO - soluciona que els coixos no s'instal·laran globalment
cd / opt / nhl npm install lame # lame, is lame, no s’instal·larà globalment cp -R / opt / nhl / node_modules / lame $ NODE_PATH npm install speaker #wont install globally cp -R / opt / nhl / node_modules / speaker $ NODE_PATH npm install i2c-bus #wont install globally 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 globalment
cp -R / opt / nhl / node_modules / oled-font-5x7 $ NODE_PATH
npm install onoff # no s'instal·larà globalment
cp -R / opt / nhl / node_modules / onoff $ NODE_PATH
#npm install pm2 # no s’instal·larà globalment
#cp -R / opt / nhl / node_modules / pm2 $ NODE_PATH #npm install express # no s’instal·larà globalment #cp -R / opt / nhl / node_modules / express $ NODE_PATH
# qualsevol mòdul global
npm instal·lar express body-parser process_infant pm2 -g
Traieu el codi més recent:
#pull git codecd / opt / nhl #JSON és una sola vegada wget de creació --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 script automatitzat per instal·lar tota la resta de NHL curl -sL https://raw.githubusercontent.com/wga22/nodejs / ma … | sudo -E bash -
Descarregueu-vos les banyes!
#pull hornscd / opt / nhl / horns curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -
actualitzeu els fitxers de configuració de Raspberry pi - - pot ser que hagueu de canviar el vostre sistema
#config file updates # 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: cal això? Cp / etc / modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> / etc / modules
amixer cset numid = 1
#TODO: volum definit, 60%?
Automatitzeu l'automatització, com ara arrencades i actualitzacions de codi:
# update rc.local # NOTA: es mou el fitxer, perquè l'estàndard inclou una "sortida" a l'última línia, de manera que no es pot afegir simplement 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 sortida 0' >> /etc/rc.local
#TODO: cal afegir alguna cosa per fer les actualitzacions de programari periòdiques setmanalment com aquesta # Potser només copieu aquest fitxer directament a la carpeta 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
Coses diverses, com ara establir la zona horària:
ln -sf / usr / share / zoneinfo / America / New_York / etc / localtime
# variable d'entorn d'actualització amb node_path
cp / etc / environment /etc/environment.bak printf '\ nexport NODE_PATH = / usr / local / lib / node_modules / n' >> / etc / environment #TODO: definiu-ho per al node self.ipaddress = process.env. NODEJS_IP; #TODO: self.port = process.env. NODEJS_PORT || 80;
Utilitzeu PM2 per a la configuració del servidor de nodes:
#TODO: test setup PM2cd / tmp / npm install -g pm2 pm2 start 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 save pm2 startup exit 0
Pas 4: pas 4: actualitzeu la configuració JSON
Configureu el fitxer de configuració JSON per a l'equip que preferiu, etc. Aquest fitxer es troba a / opt / nhl GO CAPITALS. config fitxer JSON
El programari utilitza un fitxer JSON per configurar el maquinari i l'equip que esteu seguint. L'equip es pot configurar a través del servidor web que s'executarà, però la configuració del maquinari s'ha de configurar manualment:
Aquí teniu una explicació de cada valor possible:
- myteam: aquest és el codi de 3 lletres de l'equip que voleu seguir
- depuració: els valors possibles són 1 (cert) o 0 (fals) i controlaran la quantitat de registre que s'ha escrit.
-
sortida: aquest és el mètode mitjançant el qual es mostren les puntuacions / detalls. Els valors possibles són:
- lcd: és el lcd del 2004
- consola: això només escriurà al terminal (per executar la línia d'ordres)
- oled: suport per a la pantalla SSD6404 oled
-
llum: hi ha dos tipus de llums suportats
- alarma: accionarà un sol GPIO per encendre / apagar un transistor
- multi-led: admet un led multicolor o múltiples
- cap: no hi ha llum lligada
- amp: aquest és el GPIO que condueix el transistor per a l'amplificador
Recomanat:
Llum del bany de la meitat de la nit: 5 passos (amb imatges)
Llum del bany a la meitat de la nit: alguns de nosaltres experimentem la necessitat d’utilitzar el bany a mitja nit. Si enceneu un llum, és possible que perdeu la visió nocturna. La llum blanca o blava fa perdre l’hormona del son, la melatonina, cosa que fa que sigui més difícil tornar a dormir. Tan
Llum de nit Dream Guardian Steampunked: 9 passos (amb imatges)
Steampunked Dream Guardian Night Light: Hola a tothom. Un amic íntim em va demanar que creava un regal de compromís (per descomptat a més de l'anell!) Per a la seva xicota fa unes setmanes. Tots dos són com jo, bombers voluntaris i els encanten els objectes Steampunk. El meu amic va pensar en una st
LLUM DE NIT AMB RESINA ARDUINO & EPOXY: 9 passos (amb imatges)
LLUM DE NIT AMB ARDUINO & EPOXY RESIN: Hola fabricants, avui us volem mostrar un nou projecte. Una llum nocturna elegant que decorarà els vostres escriptoris. L’hem anomenat " FAR SOTA EL MAR ". Ja sigui que l’utilitzeu vosaltres mateixos o que regaleu als vostres éssers estimats. Vam muntar la resina epoxi i l'ard
Llum de nit LED RGB LED per a nens: 9 passos (amb imatges)
Llum nocturna LED RGB per a nens: M'encanta fer projectes per als meus fills i també m'encanta fer projectes amb LED RGB, així que vaig tenir la idea d'una llum nocturna RGB en forma d'estrella per a les habitacions dels meus fills. La llum nocturna pot detectar si és a les fosques i encendre els LED RGB
Mini llum de nit de llum de nit / llum: 5 passos
Llum / làmpada nocturna de nit de mini LED: primer, hauria de dir que es va inspirar en la làmpada LED de peu Mini de Sunbanks. En lloc d’utilitzar un biro per mantenir el led allunyat de l’escriptori, he utilitzat un clar perspex per projectar la llum de la base. Aquest petit projecte és un prototip