Innholdsfortegnelse:
- Trinn 1: Trinn 1: Monter delene dine
- Trinn 2: Trinn 2: Kabling og elektronikk
- Trinn 3: Trinn 3: Programvareoppsett for operativsystem
- Trinn 4: Trinn 4: Oppdater JSON -konfigurasjonen
Video: NHL Nattbordshockeylys og LCD: 4 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Introduksjon
"NHL Light" er for hockeyfans som ønsker å følge laget sitt, men ikke kan se hver kamp. Den beste egenskapen er at den simulerer en målscore med et hockeyhorn (tilpasset laget ditt) og lett.
I tillegg til hockeyhornet og lyset, har "NHL Light" en skjerm som gir nåværende eller siste kamps poengsum, spilletid eller tidspunkt for neste kamp, og gjeldende dato og klokkeslett.
"NHL Light" kjører på en enkel liste over deler, som er lett å montere elektronikk, og kode som er fritt tilgjengelig.
Funksjoner
- Nettsidebasert konfigurasjon for valg av team og wifi
- Spiller lys og horn når laget ditt scorer (selv når du er bortelaget)
- Spiller lyd for å kunngjøre begynnelsen av spillet
- Spiller av en lyd for å kunngjøre avslutningen på spillet
- Oppgir klokkeslett og dato for neste kamp, hvis ingen kamp pågår.
- Viser gjeldende spilletid og periode hvis spillet pågår.
- Viser gjeldende dato og klokkeslett.
Trinn 1: Trinn 1: Monter delene dine
Her er en deleliste.
-
Bringebær Pi W*
- Amazon
- Jeg foretrekker å få min fra Microcenter, men kan bli funnet på nettet for mindre andre steder.
- $10
- SD -kort (minimum 4 GB)*
- høyttaler - Amazon - ~ $ 2 *
- forsterker - PAM8403* - Amazon - ~ $ 1 hver
- lys - Amazon - ~ $ 5
-
Etui - $ 1*
- Michaels
- Jeg anbefaler et lite håndverkskabinett av tre fra Michaels håndverksbutikk, men vil overlate til deg!
-
I2C 2004 LCD - $ 3-7
- Amazon
- Koden støtter 3 typer LCD -skjermer, men I2C 2004 er den jeg har bestemt meg for som beste verdi og størrelse. (SSD1306 er også mulig)
- 2 transistorer - 2N2222A- Amazon
- Diverse ledninger / loddetinn 12V
- strømforsyning - Amazon
- 12V -> 5V buck converter - Amazon
*Det er fleksibilitet når det gjelder å velge denne delen.
MERK: Du kan starte på det meste av dette prosjektet med din bringebær Pi, mens du venter på at andre varer skal sendes.
Trinn 2: Trinn 2: Kabling og elektronikk
-
Monter lys
- Ledningene for lyset skal kjøre 12 + til lyset.
- Kjør negativt fra lyset gjennom en av transistorene.
- Transistorens emmetter går til bakken.
- Transistorens kollektor går til Raspberry Pi.
-
Monter lyd
- Kjør høyre eller venstre lyd fra PI til forsterkeren
- Kjør +5V til forsterkeren
- Kjør forsterkerjord til den andre transistoren.
- Kjør emmetteren til den andre transisitoren til bakken
- Kjør samleren til transistoren til Raspberry Pi
- Monter ledninger til PI
-
Dette er pinout -instruksjonene for PI (noen av disse kan konfigureres via JSON)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- Lys 10 (GPIO15)
- Lyd riktig - GPIO 18
-
Trinn 3: Trinn 3: Programvareoppsett for operativsystem
-
Forbered Raspberry Pi W
- Raspberry pi må kjøre en nylig versjon av Raspbian (eller annen Debian).
- Anbefales å følge disse instruksjonene:
- Sørg for å inkludere wifi wpa_supplicant -fil.
- Sett ssh -filen på sdcard for å tillate ssh -tilgang.
-
Forbered tredjeparts programvare:
- Jeg har automatisert denne prosessen for å trekke alle nødvendige tredjepartsverktøy, men kjør disse manuelt, og gå gjennom for å sikre at ingen trinn mislykkes.
- Last ned og kjør følgende skript:
Her er en oversikt over hva installasjonsskriptet for å sette opp operativsystemet gjør. Det er best å kjøre disse linjene manuelt, slik at du kan se etter feil.
Skripttekst:
#!/bin/sh -e #kan kalles via #curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: automatiser dette skriptet med noe som: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: setup wifi # TODO: setup passwd og autoriserte nøkler # notater:
Oppdater programvare på operativnivå:
#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
Oppsett av nettverk. En del av målet her var å la systemet konfigureres via et tilgangspunkt, for å koble til ditt eget wifi, men dette har ikke blitt fullstendig testet ennå. For tiden anbefalt å bruke wpa_supplicant -metoden for å sette opp wifi.
#networking setupecho nhllight>/etc/hostname #TODO: fikser/etc/hosts #TODO: setup br0 mkdir/etc/hostapd/ #note: annet oppsett utføres via konfigurasjonsfilene og skallet trekkes ned som en del av oppdateringen
Oppdater node- og nodebiblioteker
#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 LISENS cp -R */usr/local/rm -R/tmp/node-v $ {nodeversion} -linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: lage sym link for node binær? apt -get remove -y --purge npm nodejs
#Node setupmkdir/opt/nhl mkdir/opt/nhl/logger mkdir/opt/nhl/horn mkdir/opt/nhl/node_modules/
#oppdateringsnode
#installer node -avhengigheter i nhl -katalogeksporten NODE_PATH =/usr/local/lib/node_modules
#HACK - TODO - fikser det lamme ikke installeres globalt
cd/opt/nhl npm install lame # lame, er halt, vil ikke installere globalt cp -R/opt/nhl/node_modules/lame $ NODE_PATH npm installer høyttaler # vil ikke installere globalt cp -R/opt/nhl/node_modules/høyttaler $ NODE_PATH npm installere i2c-buss #vil ikke installere globalt cp -R/opt/nhl/node_modules/i2c-bus $ NODE_PATH npm installere oled-i2c-buss #vil ikke installere globalt cp -R/opt/nhl/node_modules/oled-i2c-buss $ 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 globally
cp -R/opt/nhl/node_modules/oled-font-5x7 $ NODE_PATH
npm install onoff #wont install globally
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
# noen globale moduler
npm installer express body -parser child_process pm2 -g
Trekk siste kode:
#pull git codecd/opt/nhl #JSON er en gang -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 automatisert script for å installere alt annet for NHL curl -sL https://raw.githubusercontent.com/wga22/nodejs /ma… | sudo -E bash -
Last ned hornene!
#pull hornscd/opt/nhl/horn curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -
oppdater Raspberry pi -konfigurasjonsfilene - - må kanskje endres for systemet ditt
#config filoppdateringer#legg til 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 on i2c printf '\ n / ndtparam = i2c1 = on / n' >> /boot/config.txt printf '\ n / ndtparam = i2c_arm = på / n' >>/boot/config. tekst
#TODO: er dette nødvendig? Cp /etc /modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> /etc /modules
amixer cset numid = 1
#TODO: angitt volum, 60%?
Automatiser automatiseringen, for eksempel oppstart og kodeoppdateringer:
# oppdater rc.local# MERK: flytte filen, fordi standard en inneholder en "exit" på siste linje, så kan ikke bare legge til 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: må du legge til noe for å gjøre de vanlige programvareoppdateringene ukentlig som dette# Kanskje bare kopiere denne filen direkte til mappen 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
Diverse ting, som å angi tidssone:
ln -sf/usr/share/zoneinfo/America/New_York/etc/localtime
# oppdatere 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;
Bruk PM2 for node -serveroppsett:
#TODO: testoppsett PM2cd /tmp /npm installasjon -g pm2 pm2 oppstart 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 lagre pm2 oppstart exit 0
Trinn 4: Trinn 4: Oppdater JSON -konfigurasjonen
Sett opp JSON -konfigurasjonsfilen for teamet du foretrekker osv. Denne filen ligger i /opt /nhl GO CAPITALS! config JSON -fil
Programvaren bruker en JSON -fil for å konfigurere maskinvaren og teamet du følger. Teamet kan settes gjennom webserveren som skal kjøres, men maskinvareoppsett må settes manuelt:
Her er en forklaring på hver mulig verdi:
- myteam: dette er koden på 3 bokstaver til teamet du ønsker å følge
- feilsøking: Mulige verdier er 1 (true) eller 0 (false), og vil kontrollere hvor mye logging som skrives ut.
-
output: dette er metoden som poeng/detaljer skal vises på. Mulige verdier er:
- lcd: dette er 2004 lcd
- konsoll: dette vil bare skrive til terminalen (for kjøring av kommandolinje)
- oled: støtte for SSD6404 oled -skjerm
-
lys: det er to typer lys som støttes
- alarm: dette vil drive en enkelt GPIO for å slå på/av en transistor
- multi-led: støtter en flerfarget eller flere lysdioder
- ingen: ingen lys festet
- amp: dette er GPIO som driver transistoren for forsterkeren
Anbefalt:
I2C / IIC LCD -skjerm - Bruk en SPI LCD til I2C LCD -skjermen Bruke SPI til IIC -modulen med Arduino: 5 trinn
I2C / IIC LCD -skjerm | Bruk en SPI LCD til I2C LCD -skjermen Bruke SPI til IIC -modulen med Arduino: Hei folkens siden en vanlig SPI LCD 1602 har for mange ledninger å koble til, så det er veldig vanskelig å koble den til arduino, men det er en modul tilgjengelig på markedet som kan konverter SPI -skjerm til IIC -skjerm, så da trenger du bare å koble til 4 ledninger
Slik demonterer du en datamaskin med enkle trinn og bilder: 13 trinn (med bilder)
Slik demonterer du en datamaskin med enkle trinn og bilder: Dette er en instruksjon om hvordan du demonterer en PC. De fleste grunnkomponentene er modulære og fjernes lett. Det er imidlertid viktig at du er organisert om det. Dette vil bidra til å hindre deg i å miste deler, og også i å gjøre monteringen igjen
Simon sier med LCD -skjerm: 9 trinn (med bilder)
Simon Says With LCD Display: Intro Har du alltid ønsket å lage et Arduino -prosjekt som er ett, veldig morsomt å leke med, og to, enkelt å bygge. Vel, se ikke lenger. Hei og velkommen til min instruktør. Her vil jeg lære deg å lage et Simon Says -spill med en LCD
Grensesnitt 8051 mikrokontroller med LCD i 4-bits modus: 5 trinn (med bilder)
Grensesnitt 8051 mikrokontroller med LCD i 4-bits modus: I denne opplæringen skal vi fortelle deg om hvordan vi kan grensesnitt lcd med 8051 i 4-biters modus
SENSOR SUHU DENGAN LCD DAN LED (lager temperatursensor med LCD og LED): 6 trinn (med bilder)
SENSOR SUHU DENGAN LCD DAN LED (Making Temperature Sensor With LCD and LED): hai, saya Devi Rivaldi mahasiswa UNIVERSITAS NUSA PUTRA dari Indonesia, di sini saya akan berbagi cara membuat sensor suhu menggunakan Arduino den Output ke LCD dan LED. Ini adalah pembaca suhu dengan desain saya sendiri, dengan sensor ini anda