Innehållsförteckning:
- Steg 1: Steg 1: Montera dina delar
- Steg 2: Steg 2: Kabeldragning och elektronik
- Steg 3: Steg 3: Installation av operativsystemprogramvara
- Steg 4: Steg 4: Uppdatera JSON -konfigurationen
Video: NHL sänghockeyljus och LCD: 4 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Introduktion
"NHL Light" är för hockeyfans som vill följa sitt lag, men inte kan titta på varje match. Den bästa egenskapen är att den simulerar en målpoäng med ett hockeyhorn (anpassat till ditt lag) och lätt.
Förutom hockeyhornet och ljuset har "NHL Light" en display som ger aktuellt eller senaste spelets poäng, speltid eller tid för nästa spel och aktuellt datum och tid.
"NHL Light" körs på en enkel lista över delar, som är lätt att montera elektronik och kod som är fritt tillgänglig.
Funktioner
- Webbsidebaserad konfiguration för att välja ditt team och wifi
- Spelar ljus och horn när ditt lag gör mål (även när du är bortalag)
- Spelar ljud för att tillkännage början av spelet
- Spelar ett ljud för att meddela avslutningen av spelet
- Ger tid och datum för nästa spel, om inget spel pågår.
- Visar den aktuella speltiden och perioden om spelet pågår.
- Visar aktuellt datum och tid.
Steg 1: Steg 1: Montera dina delar
Här är en dellista.
-
Raspberry Pi W*
- Amazon
- Jag föredrar att få min från Microcenter, men kan hittas på nätet för mindre på andra ställen.
- $10
- SD -kort (minst 4 GB)*
- högtalare - Amazon - ~ $ 2 *
- förstärkare - PAM8403* - Amazon - ~ $ 1 styck
- ljus - Amazon - ~ $ 5
-
Fodral - $ 1*
- Michaels
- Jag rekommenderar ett litet träfodral från Michaels hantverksbutik, men lämnar det till dig!
-
I2C 2004 LCD - $ 3-7
- Amazon
- Koden stöder 3 typer av LCD -skärmar, men I2C 2004 är den jag har bestämt mig för som bästa värde och storlek. (SSD1306 är också möjlig)
- 2 transistorer - 2N2222A- Amazon
- Övriga ledningar / lödare12V
- strömförsörjning - Amazon
- 12V -> 5V buck converter - Amazon
*Det finns flexibilitet när det gäller att välja denna del.
OBS: Du kan börja på det mesta av detta projekt med bara din hallon Pi, medan du väntar på att andra artiklar ska skickas.
Steg 2: Steg 2: Kabeldragning och elektronik
-
Montera ljus
- Ledningarna för ljuset är att köra 12 + till ljuset.
- Kör negativt från ljuset genom en av transistorerna.
- Transistorns emmetter går till marken.
- Transistorns kollektor går till Raspberry Pi.
-
Montera ljud
- Kör höger eller vänster ljud från PI till förstärkaren
- Kör +5V till förstärkaren
- Kör förstärkaren till den andra transistorn.
- Kör emitteraren för den andra transistorn till marken
- Kör transistorns kollektor till Raspberry Pi
- Montera ledningar till PI
-
Detta är pinout -instruktionerna för PI (några av dessa kan konfigureras via JSON)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- Ljus 10 (GPIO15)
- Ljud rätt - GPIO 18
-
Steg 3: Steg 3: Installation av operativsystemprogramvara
-
Förbered Raspberry Pi W
- Raspberry pi måste ha en ny version av Raspbian (eller annan Debian).
- Rekommenderas att följa dessa instruktioner:
- Var noga med att inkludera wifi wpa_supplicant -filen.
- Lägg ssh -filen på sdcard för att tillåta ssh -åtkomst.
-
Förbered tredjepartsprogramvaran:
- Jag har automatiserat den här processen för att dra alla nödvändiga tredjepartsverktyg, men kör dem manuellt och granska för att säkerställa att inga steg misslyckas.
- Ladda ner och kör följande skript:
Här är en sammanfattning av vad installationsskriptet för att konfigurera operativsystemet gör. Det är bäst att köra dessa rader manuellt, så att du kan se efter fel.
Skriptrubrik:
#!/bin/sh -e #kan kallas via #curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: automatisera detta skript med något liknande: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: setup wifi # TODO: setup passwd och auktoriserade nycklar # anteckningar:
Uppdatera programvara på OS -nivå:
#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
Nätverksinställning. En del av målet här var att låta systemet konfigureras via en åtkomstpunkt, för att ansluta till din egen wifi, men detta har inte testats helt än. Rekommenderas för närvarande att använda wpa_supplicant -metoden för att konfigurera wifi.
#networking setupecho nhllight>/etc/hostname #TODO: fixa/etc/hosts #TODO: setup br0 mkdir/etc/hostapd/ #note: annan installation görs via konfigurationsfilerna och skalet dras ner som en del av uppdateringen
Uppdatera nod- och nodbibliotek
#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 LICENS cp -R */usr/local/rm -R/tmp/node-v $ {nodeversion} -linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: gör sym-länk för nod binär? apt -get remove -y --purge npm node nodejs
#Node setupmkdir/opt/nhl mkdir/opt/nhl/loggar mkdir/opt/nhl/horn mkdir/opt/nhl/node_modules/
#uppdateringsnod
#installera nodberoenden i nhl -katalogexporten NODE_PATH =/usr/local/lib/node_modules
#HACK - TODO - fixa att den lamme inte kommer att installeras globalt
cd/opt/nhl npm installera lame # lame, är halt, kommer inte att installera globalt cp -R/opt/nhl/node_modules/lame $ NODE_PATH npm installera högtalare #wont installera globalt cp -R/opt/nhl/node_modules/högtalare $ NODE_PATH npm installera i2c-buss #kommer inte att installera globalt cp -R/opt/nhl/node_modules/i2c-bus $ NODE_PATH npm installera oled-i2c-buss #kommer inte att installera 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 globally cp -R/opt/nhl/node_modules/lcdi2c $ NODE_PATH
npm installera 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 installera pm2 #kommer inte att installeras globalt
#cp -R/opt/nhl/node_modules/pm2 $ NODE_PATH #npm install express #kommer inte att installeras globalt #cp -R/opt/nhl/node_modules/express $ NODE_PATH
# några globala moduler
npm installera express body -parser child_process pm2 -g
Dra senaste koden:
#pull git codecd/opt/nhl #JSON är en enda gång -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 automatiserat skript för att installera allt annat för NHL curl -sL https://raw.githubusercontent.com/wga22/nodejs /ma… | sudo -E bash -
Ladda ner hornen!
#pull hornscd/opt/nhl/horn curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -
uppdatera Raspberry pi -konfigurationsfilerna - - kan behöva ändras för ditt system
#config-filuppdateringar#lägg till ljud 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. Text
#TODO: behövs detta? Cp /etc /modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> /etc /modules
amixer cset numid = 1
#TODO: ställ in volym, 60%?
Automatisera automatiseringen, t.ex. uppstart och koduppdateringar:
# uppdatera rc.local# OBS: flytta filen, eftersom standard ett innehåller en "exit" på sista raden, så kan inte helt enkelt lägga till 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åste du lägga till något för att göra de vanliga programuppdateringarna varje vecka så här# Kanske bara kopiera den här filen direkt till 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 saker, som att ställa in tidszon:
ln -sf/usr/share/zoneinfo/America/New_York/etc/localtime
# uppdatera miljövariabel med node_path
cp/etc/environment /etc/environment.bak printf '\ nexport NODE_PATH =/usr/local/lib/node_modules / n' >>/etc/environment #TODO: definiera detta för nod self.ipaddress = process.env. NODEJS_IP; #TODO: self.port = process.env. NODEJS_PORT || 80;
Använd PM2 för nodserverinställning:
#TODO: testinstallation PM2cd /tmp /npm installera -g pm2 pm2 starta cd /opt /nhl pm2 starta NHL_work.js --node-args = "-max_old_space_size = 100 expose-gc" pm2 start webserver.js --node -args = "-max_old_space_size 100M" pm2 spara pm2 start avsluta 0
Steg 4: Steg 4: Uppdatera JSON -konfigurationen
Ställ in din JSON -konfigurationsfil för det team du föredrar, etc. Denna fil finns i /opt /nhl GO CAPITALS! config JSON -fil
Programvaran använder en JSON -fil för att konfigurera hårdvaran och teamet du följer. Teamet kan ställas in via den webbserver som kommer att köras, men hårdvaruinstallationen måste ställas in manuellt:
Här är en förklaring av varje möjligt värde:
- myteam: detta är koden på tre bokstäver för laget du vill följa
- felsökning: Möjliga värden är 1 (true) eller 0 (false) och styr hur mycket loggning som skrivs ut.
-
output: detta är metoden för att poäng/detaljer ska visas. Möjliga värden är:
- lcd: detta är 2004 lcd
- konsol: detta kommer bara att skriva till terminalen (för att köra kommandoraden)
- oled: stöd för SSD6404 oled -skärm
-
ljus: det finns två typer av lampor som stöds
- larm: detta kommer att driva en enda GPIO för att slå på/av en transistor
- multi-led: stöder en flerfärgad eller flera lysdioder
- ingen: inget ljus bifogat
- amp: detta är GPIO som driver transistorn för förstärkaren
Rekommenderad:
Persienner med ESP8266, Google Home och Openhab -integration och webbkontroll: 5 steg (med bilder)
Kontroll av persienner med ESP8266, Google Home och Openhab -integration och webbkontroll: I den här instruktionsboken visar jag dig hur jag lade automatisering till mina persienner. Jag ville kunna lägga till och ta bort automatiseringen, så all installation är klämd på. Huvuddelarna är: Stegmotor Stegdrivrutinstyrd vid ESP-01 Växel och montering
Övervaka och registrera temperatur med Bluetooth LE och RaspberryPi: 9 steg (med bilder)
Övervaka och registrera temperatur med Bluetooth LE och RaspberryPi: Den här instruerbara handlingen handlar om hur man sätter ihop ett temperaturövervakningssystem med flera noder med Bluetooth LE-sensorbugg från Blue Radios (BLEHome) och RaspberryPi 3B Tack vare utvecklingen av standarden Bluetooth LE finns det nu tillgängligt
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: 5 steg (med bilder)
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: Styrning av 8 reläväxlar med nodemcu och IR -mottagare via wifi och IR -fjärrkontroll och Android -app. Fjärrkontrollen fungerar oberoende av wifi -anslutning. HÄR ÄR EN UPPDATERAD VERSIONKLICK HÄR
Temperatur och fuktighet Display och datainsamling med Arduino och bearbetning: 13 steg (med bilder)
Temperatur- och luftfuktighetsvisning och datainsamling med Arduino och bearbetning: Intro: Detta är ett projekt som använder ett Arduino -kort, en sensor (DHT11), en Windows -dator och ett bearbetningsprogram (ett gratis nedladdningsbart) för att visa temperatur, luftfuktighetsdata i digital och stapeldiagramform, visa tid och datum och kör en räkningstid
SENSOR SUHU DENGAN LCD DAN LED (gör temperatursensor med LCD och LED): 6 steg (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