Talaan ng mga Nilalaman:
- Hakbang 1: Hakbang 1: Ipunin ang Iyong Mga Bahagi
- Hakbang 2: Hakbang 2: Mga Kable at Elektronika
- Hakbang 3: Hakbang 3: Pag-set up ng System Software System
- Hakbang 4: Hakbang 4: I-update ang Configuration ng JSON
Video: NHL Bedside Hockey Light at LCD: 4 na Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Panimula
Ang "NHL Light" ay para sa mga tagahanga ng hockey na nais na sundin ang kanilang koponan, ngunit hindi mapanood ang bawat laro. Ang pinakamagandang tampok ay ang simulate nito ng isang marka ng layunin sa isang hockey sungay (pasadyang sa iyong koponan), at ilaw.
Bilang karagdagan sa hockey sungay at ilaw, ang "NHL Light", ay may isang display na nagbibigay ng kasalukuyang, o pinakahuling iskor ng laro, oras ng laro o oras ng susunod na laro, at kasalukuyang petsa at oras.
Ang "NHL Light" ay tumatakbo sa isang simpleng listahan ng mga bahagi, madali i-ipon ang electronics, at code na malayang magagamit.
Mga Tampok
- Ang pagsasaayos batay sa webpage para sa pagpili ng iyong koponan at wifi
- Nagpe-play ng ilaw at sungay kapag nagmamarka ang iyong koponan (kahit na ikaw ang nasa malayo na koponan)
- Nagpe-play ng tunog upang ipahayag ang simula ng laro
- Nagpe-play ng tunog upang ipahayag ang pagtatapos ng laro
- Nagbibigay ng oras at petsa ng susunod na laro, kung walang isinasagawang laro.
- Ipinapakita ang kasalukuyang oras at oras ng laro, kung ang laro ay isinasagawa.
- Ipinapakita ang kasalukuyang petsa at oras.
Hakbang 1: Hakbang 1: Ipunin ang Iyong Mga Bahagi
Narito ang isang listahan ng mga bahagi.
-
Raspberry Pi W *
- Amazon
- Mas gusto kong makuha ang minahan mula sa Microcenter, ngunit matatagpuan sa online nang mas kaunti sa ibang mga lugar.
- $10
- SD Card (4gb minimum) *
- speaker - Amazon - ~ $ 2 *
- amp - PAM8403 * - Amazon - ~ $ 1 bawat isa
- ilaw - Amazon - ~ $ 5
-
Kaso - $ 1 *
- Kay Michael
- Inirerekumenda ko ang maliit na kaso ng gawa sa kahoy na bapor mula sa tindahan ng bapor ni Michael, ngunit iiwan ako sa iyo!
-
I2C 2004 LCD - $ 3-7
- Amazon
- Sinusuportahan ng code ang 3 uri ng LCD, ngunit ang I2C 2004 ay ang naayos ko bilang pinakamahusay na halaga at laki. (Posible rin ang SSD1306)
- 2 transistors - 2N2222A- Amazon
- Misc Wires / solder12V
- supply ng kuryente - Amazon
- 12V -> 5V buck converter - Amazon
* May kakayahang umangkop pagdating sa pagpili ng bahaging ito.
TANDAAN: Maaari kang magsimula sa karamihan ng proyektong ito sa pamamagitan lamang ng iyong raspberry Pi, habang naghihintay ka para sa iba pang mga item na maipapadala.
Hakbang 2: Hakbang 2: Mga Kable at Elektronika
-
Magtipon ng Liwanag
- Ang mga kable para sa ilaw ay upang patakbuhin ang 12 + sa ilaw.
- Patakbuhin ang negatibo mula sa ilaw sa pamamagitan ng isa sa mga transistor.
- Ang emmetter ng transistor ay napupunta sa lupa.
- Ang kolektor ng transistor ay papunta sa Raspberry Pi.
-
Magtipon ng tunog
- Patakbuhin ang kanan o kaliwa na tunog mula sa PI patungo sa amp
- Patakbuhin ang + 5V sa amp
- Patakbuhin ang amp ground sa ika-2 transistor.
- Patakbuhin ang emmetter ng 2nd transisitor sa lupa
- Patakbuhin ang kolektor ng transistor sa Raspberry Pi
- Magtipon ng mga kable sa PI
-
Ito ang mga tagubilin sa pinout para sa PI (ang ilan sa mga ito ay mai-configure sa pamamagitan ng JSON)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- Light 10 (GPIO15)
- Tamang Tunog - GPIO 18
-
Hakbang 3: Hakbang 3: Pag-set up ng System Software System
-
Ihanda ang Raspberry Pi W
- Ang rasberry pi ay dapat na nagpapatakbo ng isang kamakailang bersyon ng Raspbian (o iba pang Debian).
- Inirerekumenda na sundin ang mga tagubiling ito:
- Siguraduhing isama ang wifi wpa_supplicant file.
- Ilagay ang ssh file sa sdcard upang payagan ang pag-access ng ssh.
-
Ihanda ang software ng ika-3 partido:
- Na-automate ko ang prosesong ito upang hilahin ang lahat ng kinakailangang mga tool sa 3rd party, ngunit huwag mag-atubiling patakbuhin ang mga ito nang manu-mano, at suriin upang matiyak na walang mga hakbang na mabibigo.
- I-download at patakbuhin ang sumusunod na script:
Narito ang isang pagkasira ng kung ano ang ginagawa ng script ng pag-install para sa pag-set up ng operating system. Pinakamainam na patakbuhin nang manu-mano ang mga linyang ito, upang mapanood mo ang mga error.
Header ng Script:
Ang #! / bin / sh -e # ay maaaring tawagan sa pamamagitan ng #curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: i-automate ang script na ito sa isang bagay tulad ng: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: setup wifi # TODO: setup passwd at mga pinahintulutang key # note:
I-update ang software sa antas ng OS:
# 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
Pag-setup sa network. Bahagi ng layunin dito ay payagan ang system na mai-configure sa pamamagitan ng isang access point, upang kumonekta sa iyong sariling wifi, ngunit hindi pa ito ganap na nasusubukan hanggang ngayon. Kasalukuyang inirerekumenda na gamitin ang wpa_supplicant na pamamaraan para sa pag-set up ng wifi.
#networking setupecho nhllight> / etc / hostname #TODO: ayusin ang / etc / host #TODO: setup br0 mkdir / etc / hostapd / # note: ang iba pang pag-setup ay tapos na sa pamamagitan ng mga config file at shell na hinila bilang isang bahagi ng pag-update
I-update ang mga aklatan ng Node at node
#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 LICENSE cp -R * / usr / local / rm -R / tmp / node-v $ {nodeversion} -linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: gumawa ng sym link para sa node binary? apt-get alisin -y --purge npm node nodejs
#Node setupmkdir / opt / nhl mkdir / opt / nhl / log mkdir / opt / nhl / sungay mkdir / opt / nhl / node_modules /
#update Node
# i-install ang mga dependency ng node sa direktoryo ng nhl export NODE_PATH = / usr / local / lib / node_modules
#HACK - TODO - ayusin ang pilay na kostumbre sa buong mundo
cd / opt / nhl npm install lame # lame, ay pilay, hindi mai-install sa buong mundo ang cp -R / opt / nhl / node_modules / pilay $ NODE_PATH npm i-install ang speaker #wont install globally cp -R / opt / nhl / node_modules / speaker $ NODE_PATH Nag-install ako ng 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
Nag-install ako ng oled-font-5x7 #wont install globally
cp -R / opt / nhl / node_modules / oled-font-5x7 $ NODE_PATH
Nag-install ako onoff #wont install pandaigdigan
cp -R / opt / nhl / node_modules / onoff $ NODE_PATH
#npm install pm2 #wont install globally
#cp -R / opt / nhl / node_modules / pm2 $ NODE_PATH #npm install express #wont install globally #cp -R / opt / nhl / node_modules / express $ NODE_PATH
# anumang mga pandaigdigang modyul
npm i-install ang express body-parser child_process pm2 -g
Hilahin ang pinakabagong code:
#pull git codecd / opt / nhl #JSON ay isang beses sa paglikha 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 automated script upang mai-install ang lahat para sa NHL curl -sL https://raw.githubusercontent.com/wga22/nodejs / ma… | sudo -E bash -
I-download ang mga sungay!
#pull hornscd / opt / nhl / sungay curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -
i-update ang mga Raspberry pi config file - - maaaring kailanganing baguhin para sa iyong system
#config file update # 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: kailangan ba ito? Cp / etc / modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> / etc / modules
amixer cset numid = 1
#TODO: itakda ang dami, 60%?
I-automate ang pag-aautomat, tulad ng mga pag-update ng bootup at code:
# update rc.local # TANDAAN: paglipat ng file, dahil ang pamantayan ng isa ay may kasamang isang "exit" sa huling linya, kaya't hindi maaaring idagdag lamang ang 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: kailangang magdagdag ng isang bagay upang gawin ang regular na pag-update ng software lingguhan tulad nito # Siguro kopyahin lamang ang file na ito nang direkta pababa sa rc.weekly folder? 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
Mga iba pang bagay, tulad ng pagtatakda ng timezone:
ln -sf / usr / share / zoneinfo / America / New_York / etc / localtime
# i-update ang variable ng kapaligiran na may node_path
cp / etc / environment /etc/en environment.bak printf '\ nexport NODE_PATH = / usr / local / lib / node_modules / n' >> / etc / environment #TODO: tukuyin ito para sa node self.ipaddress = process.env. NODEJS_IP; #TODO: self.port = process.env. NODEJS_PORT || 80;
Gamitin ang PM2 para sa pag-setup ng node server:
#TODO: subukan ang pag-set up PM2cd / tmp / npm install -g pm2 pm2 startup cd / opt / nhl pm2 simulan ang NHL_work.js --node-args = "- max_old_space_size = 100 expose-gc" pm2 start webserver.js --node -args = "- max_old_space_size 100M" pm2 makatipid pm2 startup exit 0
Hakbang 4: Hakbang 4: I-update ang Configuration ng JSON
I-set up ang iyong JSON file ng pagsasaayos para sa koponan na gusto mo, atbp. Ang file na ito ay matatagpuan sa / opt / nhl GO CAPITALS! config JSON file
Gumagamit ang software ng isang JSON file upang mai-configure ang hardware at koponan na sinusundan mo. Ang pangkat ay maaaring itakda sa pamamagitan ng webserver na tatakbo, ngunit ang pag-setup ng hardware ay kailangang itakda nang manu-mano:
Narito ang isang paliwanag sa bawat posibleng halaga:
- myteam: ito ang 3 titik code ng koponan na nais mong sundin
- debug: Ang mga posibleng halaga ay 1 (totoo) o 0 (hindi totoo), at makokontrol kung magkano ang na-log out.
-
output: ito ang pamamaraan kung saan ipapakita ang mga marka / detalye. Ang mga posibleng halaga ay:
- lcd: ito ang 2004 lcd
- console: magsusulat lamang ito sa terminal (para sa pagpapatakbo ng linya ng utos)
- oled: suporta para sa SSD6404 oled display
-
ilaw: mayroong dalawang uri ng mga ilaw na sinusuportahan
- alarma: magdadala ito ng isang solong GPIO para sa pag-on / off ng isang transistor
- multi-led: sumusuporta sa isang maraming kulay, o maraming mga leds
- wala: walang ilaw na nakakabit
- amp: ito ang GPIO na nagtutulak sa transistor para sa amp
Inirerekumendang:
Bedside MP3 Alarm Letter Clock: 6 Hakbang (na may Mga Larawan)
Bedside MP3 Alarm Letter Clock: Para sa proyektong ito nais kong gumawa ng isang maginhawa at kumpletong pagganap na orasan ng alarm sa tabi ng kama. Ang aking personal na mga kinakailangan para sa isang orasan ng alarma sa tabi ng kama ay: Nababasa sa anumang ilaw, habang hindi nagbubulag-bulagan sa mga alarma ng MP3 MP3 na akit
Talahanayan ng Mababang Gastos ng Air Hockey ng DIY: 27 Mga Hakbang (na may Mga Larawan)
DIY Low Air Air Hockey Table: Ang isang propesyonal na air hockey setup ay karaniwang magagamit lamang sa mga arcade dahil sa sopistikadong mga system na kinakailangan upang mapatakbo ito. Ang aming layunin ay upang bumuo ng isang DIY air hockey table, dalhin ang karanasan sa paglalaro sa bahay. Sa pamamagitan ng paggamit ng karaniwang magagamit
Mga LED Light Light Pens: Mga tool para sa Drawing Light Doodles: 6 Mga Hakbang (na may Mga Larawan)
Mga LED Light Light Pens: Mga tool para sa Drawing Light Doodles: Ang aking asawa na si Lori ay isang walang tigil na doodler at naglaro ako ng mahabang pagkakalantad ng litrato sa loob ng maraming taon. May inspirasyon ng PikaPika light artistry group at ang kadalian ng mga digital camera na kinuha namin sa light drawing art form upang makita kung ano ang magagawa. Mayroon kaming lar
Mini LED Bedside Night Light / Lampara: 5 Hakbang
Mini LED Bedside Night Light / Lamp: Una sa dapat kong sabihin na ito ay inspirasyon ng Mini free standing LED lamp ng Sunbanks. Sa halip na gumamit ng isang biro upang i-hold ang led layo mula sa desk ay gumamit ako ng isang malinaw na perspex upang i-project ang ilaw mula sa base. Ang maliit na proyekto na ito ay isang prototype
Dimming Illuminator- para sa Bedside Clocks Etc .: 4 Mga Hakbang (na may Mga Larawan)
Dimming Illuminator- para sa Bedside Clocks Etc .: Ang yunit na ito ay naging sanhi ng pagrereklamo ng aking asawa na hindi niya makita ang orasan ng kwarto nang ang dilim ay nasa dilim, at ayaw niyang buksan ang mga ilaw upang gisingin ako . Ang aking asawa ay hindi nais ng isang nakakabulag na ilaw sa orasan, sapat na lamang ang paghinga