Cuprins:
- Pasul 1: Pasul 1: Asamblați-vă piesele
- Pasul 2: Pasul 2: Cablare și electronică
- Pasul 3: Pasul 3: Configurarea software-ului sistemului de operare
- Pasul 4: Pasul 4: Actualizați configurația JSON
Video: NHL Noptieră Hochei și LCD: 4 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Introducere
„NHL Light” este pentru fanii hochei care doresc să-și urmeze echipa, dar nu pot urmări fiecare meci. Cea mai bună caracteristică este că simulează un scor cu un corn de hochei (personalizat pentru echipa dvs.) și ușor.
În plus față de claxonul și lumina de hochei, „NHL Light” are un afișaj care oferă scorul actual sau cel mai recent al jocului, ora jocului sau ora următorului joc și data și ora curente.
"NHL Light" rulează pe o listă simplă de piese, care este ușor de asamblat electronice, și cod care este disponibil gratuit.
Caracteristici
- Configurare bazată pe pagină web pentru selectarea echipei și a conexiunii wifi
- Joacă ușor și claxon când echipa ta marchează (chiar și atunci când ești echipa în deplasare)
- Joacă sunet pentru a anunța începutul jocului
- Redă un sunet pentru a anunța încheierea jocului
- Oferă ora și data următorului joc, dacă nu există un joc în desfășurare.
- Afișează timpul și perioada de joc curente, dacă jocul este în desfășurare.
- Afișează data și ora curentă.
Pasul 1: Pasul 1: Asamblați-vă piesele
Iată o listă de piese.
-
Raspberry Pi W *
- Amazon
- Prefer să-l iau pe al meu de la Microcenter, dar pot fi găsit online pentru mai puțin în alte locuri.
- $10
- Card SD (minim 4 GB) *
- difuzor - Amazon - ~ 2 $ *
- amp - PAM8403 * - Amazon - ~ 1 $ fiecare
- light - Amazon - ~ 5 $
-
Carcasă - 1 $ *
- A lui Michael
- Vă recomandăm o cutie mică pentru ambarcațiuni din lemn de la magazinul de artizanat Michael, dar vă voi lăsa!
-
I2C 2004 LCD - 3-7 USD
- Amazon
- Codul acceptă 3 tipuri de LCD-uri, dar I2C 2004 este cel pe care m-am stabilit ca fiind cea mai bună valoare și dimensiune. (SSD1306 este, de asemenea, posibil)
- 2 tranzistori - 2N2222A- Amazon
- Diverse fire / lipire 12V
- sursa de alimentare - Amazon
- 12V -> 5V convertor buck - Amazon
* Există flexibilitate atunci când vine vorba de selectarea acestei părți.
NOTĂ: Puteți începe cea mai mare parte a acestui proiect doar cu raspberry Pi, în timp ce așteptați livrarea altor articole.
Pasul 2: Pasul 2: Cablare și electronică
- Asamblați Lumina
- Cablajul luminii trebuie să ruleze 12 + către lumină.
- Rulați negativ de la lumină printr-unul dintre tranzistoare.
- Emmetrul tranzistorului ajunge la sol.
- Colectorul tranzistorului merge la Raspberry Pi.
-
Asamblați sunetul
- Rulați sunetul din dreapta sau din stânga de la PI la amplificator
- Rulați + 5V la amplificator
- Rulați amplificatorul la al 2-lea tranzistor.
- Rulați emmetrul celui de-al doilea tranzitor la masă
- Rulați colectorul tranzistorului către Raspberry Pi
- Asamblați cablajul la PI
-
Aceasta este instrucțiunile de identificare pentru PI (unele dintre acestea sunt configurabile prin intermediul JSON)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- Lumina 10 (GPIO15)
- Sunet dreapta - GPIO 18
-
Pasul 3: Pasul 3: Configurarea software-ului sistemului de operare
-
Pregătiți Raspberry Pi W
- Raspberry pi trebuie să ruleze o versiune recentă a Raspbian (sau a altui Debian).
- Recomandat să urmați aceste instrucțiuni:
- Asigurați-vă că includeți fișierul wifi wpa_supplicant.
- Puneți fișierul ssh pe sdcard pentru a permite accesul ssh.
-
Pregătiți software-ul terță parte:
- Am automatizat acest proces pentru a trage toate instrumentele necesare de la terțe părți, dar nu ezitați să le rulați manual și să le examinați pentru a vă asigura că nu eșuează pașii.
- Descărcați și rulați următorul script:
Iată o defalcare a ceea ce face scriptul de instalare pentru configurarea sistemului de operare. Cel mai bine este să rulați aceste linii manual, astfel încât să puteți urmări erorile.
Antet script:
#! / bin / sh -e # poate fi apelat prin #curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: automatizează acest script cu ceva de genul: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: setup wifi # TODO: setup passwd și chei autorizate # note:
Actualizați software-ul la nivel de sistem de operare:
# 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
Configurare rețea. O parte din obiectivul de aici a fost de a permite configurarea sistemului printr-un punct de acces, pentru a vă conecta la propriul Wi-Fi, dar acest lucru nu a fost încă testat până acum. În prezent, se recomandă utilizarea metodei wpa_supplicant pentru configurarea wifi.
#networking setupecho nhllight> / etc / hostname #TODO: reparați / etc / hosts #TODO: setup br0 mkdir / etc / hostapd / # notă: altă configurare se face prin fișierele de configurare și shell-ul este tras ca parte a actualizării
Actualizați bibliotecile de noduri și noduri
#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 LICENȚĂ cp -R * / usr / local / rm -R / tmp / node-v $ {nodeversion} -linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: face link sym pentru nodul binar? 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 /
# actualizare Nod
#instalați dependențele nodului în exportul directorului NHL NODE_PATH = / usr / local / lib / node_modules
#HACK - TODO - remediați faptul că șchiopul nu va instala la nivel global
cd / opt / nhl npm install lame # lame, este lame, nu va instala global cp -R / opt / nhl / node_modules / lame $ NODE_PATH npm install speaker #wont install global cp -R / opt / nhl / node_modules / speaker $ NODE_PATH npm install i2c-bus #wont install global cp -R / opt / nhl / node_modules / i2c-bus $ NODE_PATH npm install oled-i2c-bus #wont install global cp -R / opt / nhl / node_modules / oled-i2c-bus $ NODE_PATH npm install lcd #wont install global cp -R / opt / nhl / node_modules / lcd $ NODE_PATH npm install lcdi2c #wont install global 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 #wont install global
cp -R / opt / nhl / node_modules / onoff $ NODE_PATH
#npm install pm2 #wont install global
#cp -R / opt / nhl / node_modules / pm2 $ NODE_PATH #npm install express #wont install global #cp -R / opt / nhl / node_modules / express $ NODE_PATH
# orice module globale
npm instala expres body-parser copil_proces pm2 -g
Trageți cel mai recent cod:
#pull git codecd / opt / nhl #JSON este o singură creație 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 script automatizat pentru a instala orice altceva pentru NHL curl -sL https://raw.githubusercontent.com/wga22/nodejs / ma … | sudo -E bash -
Descarcă coarnele!
#pull hornscd / opt / nhl / horns curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -
actualizați fișierele de configurare Raspberry pi - - ar putea fi necesar să vă schimbați sistemul
#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: este necesar? Cp / etc / modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> / etc / modules
amixer cset numid = 1
#TODO: setează volumul, 60%?
Automatizați automatizarea, cum ar fi pornirea și actualizările de cod:
# actualizare rc.local # NOTĂ: mutarea fișierului, deoarece standardul include o „ieșire” în ultima linie, deci nu se poate adăuga pur și simplu 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: trebuie să adăugați ceva pentru a face actualizările periodice ale software-ului săptămânal ca acesta # Poate doar să copiați acest fișier direct în folderul 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
Lucruri diverse, cum ar fi setarea fusului orar:
ln -sf / usr / share / zoneinfo / America / New_York / etc / localtime
# actualizați variabila de mediu cu node_path
cp / etc / environment /etc/environment.bak printf '\ nexport NODE_PATH = / usr / local / lib / node_modules / n' >> / etc / environment #TODO: definiți acest lucru pentru nodul self.ipaddress = process.env. NODEJS_IP; #TODO: self.port = process.env. NODEJS_PORT || 80;
Utilizați PM2 pentru configurarea serverului nodului:
#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 salvați pm2 startup exit 0
Pasul 4: Pasul 4: Actualizați configurația JSON
Configurați fișierul de configurare JSON pentru echipa pe care o preferați etc. Acest fișier se află în / opt / nhl GO CAPITALS! config fișier JSON
Software-ul folosește un fișier JSON pentru a configura hardware-ul și echipa pe care o urmăriți. Echipa poate fi setată prin intermediul serverului web care va rula, dar configurarea hardware trebuie setată manual:
Iată o explicație a fiecărei valori posibile:
- myteam: acesta este codul cu 3 litere al echipei pe care doriți să o urmăriți
- depanare: valorile posibile sunt 1 (adevărat) sau 0 (fals) și vor controla cât de mult este înregistrat jurnalul.
-
ieșire: aceasta este metoda prin care trebuie afișate scorurile / detaliile. Valorile posibile sunt:
- lcd: acesta este lcd 2004
- consolă: aceasta va scrie doar la terminal (pentru rularea liniei de comandă)
- oled: suport pentru afișarea SSD6404 oled
-
lumină: există două tipuri de lumini acceptate
- alarmă: aceasta va conduce un singur GPIO pentru pornirea / oprirea unui tranzistor
- multi-led: acceptă un led multicolor sau mai multe
- niciunul: nici o lumină atașată
- amp: acesta este GPIO care conduce tranzistorul pentru amplificator
Recomandat:
Noptieră MP3 Ceas cu alarmă: 6 pași (cu imagini)
Noptieră MP3 Alarm Letter Clock: Pentru acest proiect am vrut să fac un ceas cu alarmă comodă și complet funcțional. Cerințele mele personale pentru un ceas cu alarmă de pe noptieră sunt: Citibil la orice lumină, fără a orbi noaptea Melodiile de alarmă MP3 Atrage
Construirea unui patinoar de hochei de dimensiuni regulamentare în SketchUp: 14 pași
Construirea unui patinoar de hochei de dimensiuni regulamentare în SketchUp: am folosit versiunea gratuită, bazată pe web, a SketchUp pentru a finaliza acest lucru. Încercați să vă familiarizați cu termeni precum „linia roșie”. sau „jumătate de perete” pentru că le voi folosi fără să explic ce înseamnă Toate măsurătorile sunt luate de la NHL oficial
Masă DIY pentru hochei cu cost redus: 27 de pași (cu imagini)
Masă DIY pentru hochei cu aer scăzut: o configurație profesională pentru hochei cu aer este disponibilă de obicei numai în arcade datorită sistemelor sofisticate care sunt necesare pentru ao opera. Scopul nostru a fost să construim o masă DIY de hochei cu aer, aducând această experiență de joc acasă. Prin utilizarea în mod obișnuit disponibilă
Hochei de masă magnetic DIY cu carton, lumini RGB și senzori: 11 pași (cu imagini)
Hochei de masă magnetic DIY cu carton, lumini RGB și senzori: trebuie să fi jucat Air Hockey! Plătește câțiva $ $ dolari $$ în zona de jocuri și începe doar să înscrii goluri pentru a-ți învinge prietenii. Nu este foarte captivant? Probabil că v-ați gândit să păstrați o masă acasă, dar hei! v-ați gândit vreodată să vă faceți singur? Vom
Ceas de noptieră conectat pentru copii: 12 pași
Ceas de nopți conectat pentru copii: urmând aceste instrucțiuni, veți putea construi un ceas care este activat prin mișcare și va afișa data, ora și evenimentul relevant al zilei. Va afișa un mod de noapte când este timpul să doarmă și când copiii se trezesc, își pot aminti rapid ce