Tartalomjegyzék:
- 1. lépés: 1. lépés: Szerelje össze az alkatrészeket
- 2. lépés: 2. lépés: huzalozás és elektronika
- 3. lépés: 3. lépés: Az operációs rendszer szoftverének beállítása
- 4. lépés: 4. lépés: Frissítse a JSON konfigurációt
Videó: NHL éjjeli jégkoronglámpa és LCD: 4 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Bevezetés
Az "NHL Light" azoknak a jégkorong rajongóknak szól, akik szeretnék követni csapatukat, de nem tudnak minden meccset nézni. A legjobb tulajdonsága az, hogy gólszerzést szimulál a jégkorong kürtjével (az Ön csapatának megfelelően) és a fényen.
A jégkorongkürtön és a fényen kívül az "NHL Light" kijelzője rendelkezik az aktuális vagy a legutóbbi játék pontszámával, a játék idejével vagy a következő mérkőzés idejével, valamint az aktuális dátummal és idővel.
Az "NHL Light" az alkatrészek egyszerű listáján fut, könnyen összeállítható elektronikával és szabadon hozzáférhető kóddal.
Jellemzők
- Weboldal -alapú konfiguráció a csapat és a wifi kiválasztásához
- Könnyedén játszik, amikor csapata gólt szerez (még akkor is, ha Ön a vendégcsapat)
- Hangot ad a játék kezdetének bejelentéséhez
- Hangot ad a játék befejezésének bejelentéséhez
- A következő játék időpontját és dátumát adja meg, ha nincs folyamatban.
- Megjeleníti az aktuális játékidőt és időszakot, ha a játék folyamatban van.
- Az aktuális dátumot és időt jeleníti meg.
1. lépés: 1. lépés: Szerelje össze az alkatrészeket
Itt egy alkatrészlista.
-
Raspberry Pi W*
- amazon
- Inkább a Microcenterből szerezem be az enyémet, de máshol olcsóbban megtalálható az interneten.
- $10
- SD kártya (minimum 4 GB)*
- hangszóró - Amazon - ~ 2 USD *
- erősítő - PAM8403* - Amazon - egyenként ~ 1 USD
- fény - Amazon - ~ 5 dollár
-
Tok - 1 USD*
- Michaelé
- Ajánlom a kis fa kézműves tokot Michael kézműves boltjából, de meghagyja neked!
-
I2C 2004 LCD - 3-7 dollár
- amazon
- A kód 3 típusú LCD -t támogat, de az I2C 2004 az egyik legjobb érték és méret. (SSD1306 is lehetséges)
- 2 tranzisztor - 2N2222A- Amazon
- Egyéb vezetékek / forrasztó 12V
- tápegység - Amazon
- 12V -> 5V bak konverter - Amazon
*Van rugalmasság az alkatrész kiválasztásakor.
MEGJEGYZÉS: A projekt nagy részét csak a málna Pi -jével kezdheti, miközben várakozik a többi elem szállítására.
2. lépés: 2. lépés: huzalozás és elektronika
-
Szerelje össze a fényt
- A lámpa vezetékezése 12 + -ig a fény felé vezet.
- Futtassa negatív irányba a fényt az egyik tranzisztoron keresztül.
- A tranzisztor emmetere földre kerül.
- A tranzisztor gyűjtője a Raspberry Pi -hez megy.
- Hang összeállítása
- Jobb vagy bal hang futtatása a PI -ről az erősítőre
- Futtassa a +5V -ot az erősítőre
- Futtassa az erősítő földjét a 2. tranzisztorhoz.
- Futtassa a 2. tranzisztor emmetterét a földhöz
- Futtassa a tranzisztor kollektorát a Raspberry Pi -hez
- Szerelje össze a vezetékeket a PI -hez
-
Ez a PI pinout utasítása (ezek egy része a JSON segítségével konfigurálható)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- Light 10 (GPIO15)
- Hang jobb - GPIO 18
-
3. lépés: 3. lépés: Az operációs rendszer szoftverének beállítása
-
Készítse elő a Raspberry Pi W -t
- A rasberry pi -n a Raspbian (vagy más Debian) legújabb verzióját kell futtatni.
- Javasoljuk, hogy kövesse ezeket az utasításokat:
- Ügyeljen arra, hogy tartalmazza a wifi wpa_supplicant fájlt.
- Helyezze az ssh fájlt az sdcardra az ssh hozzáférés engedélyezéséhez.
-
Készítse elő a harmadik féltől származó szoftvert:
- Automatizáltam ezt a folyamatot, hogy lehívja az összes szükséges harmadik féltől származó eszközt, de bátran futtassa ezeket manuálisan, és ellenőrizze, hogy egyetlen lépés sem sikertelen.
- Töltse le és futtassa a következő szkriptet:
Itt található az operációs rendszer beállításához szükséges telepítési parancsfájl részletezése. A legjobb, ha ezeket a sorokat manuálisan futtatja, így figyelheti a hibákat.
Szkript fejléce:
#!/bin/sh -e #hívható a #curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: automatizálja ezt a szkriptet valami ilyesmivel: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: wifi beállítása # TODO: passwd és engedélyezett kulcsok beállítása # megjegyzések:
Szoftver frissítése OS szinten:
#apt-get stuff (apt-get update && apt-get -y upgrade)> /dev /null apt-get dist-upgrade -y #Általános 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
Hálózati beállítás. A cél egy része az volt, hogy lehetővé tegye a rendszer konfigurálását egy hozzáférési ponton keresztül, hogy csatlakozhasson a saját wifi -jéhez, de ezt még nem tesztelték teljesen. Jelenleg a wpa_supplicant módszer használata ajánlott a wifi beállításához.
#networking setupecho nhllight>/etc/hostname #TODO: javítsa meg az/etc/hosts #TODO: setup br0 mkdir/etc/hostapd/ #megjegyzést: a többi beállítás a frissítés részeként lehúzott konfigurációs fájlokon és héjon keresztül történik
Frissítse a csomópont- és csomópont -könyvtárakat
#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 LICENC cp -R */usr/local/rm -R/tmp/node-v $ {nodeversion} -linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: készítsen sym linket bináris csomóponthoz? 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/
#frissítés csomópont
#telepítse a csomópontfüggőségeket az nhl könyvtár exportálásába NODE_PATH =/usr/local/lib/node_modules
#HACK - TODO - javítsd ki, hogy a béna nem települ globálisan
cd/opt/nhl npm install lame # béna, béna, nem települ globálisan npm telepítés i2c-busz #nem telepíthető globálisan cp -R/opt/nhl/node_modules/i2c-bus $ NODE_PATH npm telepítés oled-i2c-busz #nem telepíthető globálisan 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 #nem telepíthető globálisan
cp -R/opt/nhl/node_modules/oled-font-5x7 $ NODE_PATH
npm install onoff #nem települ globálisan
cp -R/opt/nhl/node_modules/onoff $ NODE_PATH
#npm install pm2 #nem telepíthető globálisan
#cp -R/opt/nhl/node_modules/pm2 $ NODE_PATH #npm install express #nem települ globálisan #cp -R/opt/nhl/node_modules/express $ NODE_PATH
# bármilyen globális modul
npm install express body -parser gyermek_folyamat pm2 -g
Húzza le a legújabb kódot:
#pull git codecd/opt/nhl #A JSON egyszeri létrehozás 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 automatizált szkript az összes többi telepítéséhez az NHL curl -sL számára https://raw.githubusercontent.com/wga22/nodejs /ma… | sudo -E bash -
Töltse le a kürtöket!
#pull hornscd/opt/nhl/horns curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -
frissítse a Raspberry pi konfigurációs fájljait - - esetleg módosítania kell a rendszerben
#config fájlfrissítések#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: szükség van erre? Cp /etc /modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> /etc /modules
amixer cset numid = 1
#TODO: hangerő beállítása, 60%?
Automatizálja az automatizálást, például a rendszerindítást és a kódfrissítéseket:
# update rc.local# MEGJEGYZÉS: a fájl áthelyezése, mivel a standard egy "exit" -t tartalmaz az utolsó sorban, ezért nem lehet egyszerűen hozzáfűzni az 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: hozzá kell adni valamit a rendszeres szoftverfrissítésekhez, így hetente# Lehet, hogy csak másolja ezt a fájlt közvetlenül az rc.weekly mappába? 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
Egyéb dolgok, például az időzóna beállítása:
ln -sf/usr/share/zoneinfo/America/New_York/etc/localtime
# frissítse a környezeti változót a node_path útvonallal
cp/etc/environment /etc/environment.bak printf '\ nexport NODE_PATH =/usr/local/lib/node_modules / n' >>/etc/environment #TODO: ezt határozza meg a csomópont self.ipaddress = process.env. NODEJS_IP; #TODO: self.port = process.env. NODEJS_PORT || 80;
Használja a PM2 -t a csomópont -kiszolgáló beállításához:
#TODO: tesztbeállítás PM2cd /tmp /npm install -g pm2 pm2 startup 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 mentés pm2 indítási kilépés 0
4. lépés: 4. lépés: Frissítse a JSON konfigurációt
Állítsa be JSON konfigurációs fájlját a kívánt csapat számára, stb. Ez a fájl a /opt /nhl GO CAPITALS mappában található! config JSON fájl
A szoftver egy JSON -fájlt használ a követendő hardver és csapat beállításához. A csapat beállítható a futó webszerveren keresztül, de a hardver beállítását manuálisan kell beállítani:
Íme a lehetséges értékek magyarázata:
- myteam: ez a követendő csapat 3 betűs kódja
- hibakeresés: A lehetséges értékek 1 (igaz) vagy 0 (hamis), és szabályozzák a naplózás kiírásának mértékét.
-
output: ez az a módszer, amellyel a pontszámokat/részleteket meg kell jeleníteni. A lehetséges értékek a következők:
- lcd: ez a 2004 -es lcd
- konzol: ez csak a terminálra ír (parancssor futtatásához)
- oled: támogatja az SSD6404 OLED kijelzőt
-
fény: kétféle lámpa támogatott
- riasztás: ez egyetlen GPIO -t hajt végre a tranzisztor be- és kikapcsolásához
- több LED: támogatja a többszínű vagy több LED-et
- nincs: nincs fény
- erősítő: ez a GPIO hajtja meg az erősítő tranzisztorát
Ajánlott:
Mikro: bit Éjjeli lámpa: 12 lépés
Micro: bit éjszakai lámpa: Tehát ez egy meglehetősen egyszerű projekt, ahol a Micro: bitet használjuk egy kis éjszakai lámpa áramellátására és vezérlésére. Én készítettem a projektet, így használhattam a Neopixel bemutatkozásom kis LED szalagját, de nekem is fontos volt, hogy a lámpát olyan ch
I2C / IIC LCD kijelző - SPI LCD használata az I2C LCD kijelzőhöz Az SPI to IIC modul használata Arduino -val: 5 lépés
I2C / IIC LCD kijelző | Használjon SPI LCD -t az I2C LCD -kijelzőhöz Az SPI -IIC modul használata Arduino -val: Sziasztok, mivel egy normál SPI LCD 1602 -nek túl sok vezetékét kell csatlakoztatni, ezért nagyon nehéz összekapcsolni az arduino -val, de a piacon elérhető egy modul konvertálja az SPI kijelzőt IIC kijelzővé, így csak 4 vezetéket kell csatlakoztatnia
Összekapcsolt éjjeli óra gyerekeknek: 12 lépés
Csatlakoztatott éjjeli óra gyerekeknek: Az utasításokat követve képes lesz olyan órát készíteni, amely mozgás által aktivált, és megjeleníti a dátumot, az időt és a nap releváns eseményét. Éjszakai módot jelenít meg, amikor el kell aludni, és amikor a gyerekek felébrednek, gyorsan emlékeznek arra, hogy mi
SUHU DENGAN SZENZOR LCD DAN LED (Hőmérséklet -érzékelő készítése LCD -vel és LED -del): 6 lépés (képekkel)
ÉRZÉKELŐ SUHU DENGAN LCD DAN LED (hőmérséklet -érzékelő készítése LCD -vel és LED -del): hai, mondjuk Devi Rivaldi mahasiswa UNIVERSITAS NUSA PUTRA dari Indonesia, di sini saya akan berbagi cara membuat sensor suhu menggunakan Arduino dengan Output ke LCD and LED. Ini adalah pembaca suhu dengan desain saya sendiri, dengan sensor ini anda
Dimming Illuminator- éjjeli órákhoz stb.: 4 lépés (képekkel)
Dimming Illuminator- éjjeli órákhoz stb. . A feleségem nem akart vakító fényt az órára, elég fényt