İçindekiler:
- Adım 1: Adım 1: Parçalarınızı Birleştirin
- Adım 2: Adım 2: Kablolama ve Elektronik
- Adım 3: Adım 3: İşletim Sistemi Yazılım Kurulumu
- 4. Adım: 4. Adım: JSON Yapılandırmasını Güncelleyin
Video: NHL Başucu Hokey Işığı ve LCD: 4 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Tanıtım
"NHL Light", takımlarını takip etmek isteyen ancak her maçı izleyemeyen hokey hayranları içindir. En iyi özelliği, bir hokey kornası (takımınıza özel) ve ışıkla bir gol skorunu simüle etmesidir.
Hokey kornası ve ışığına ek olarak, "NHL Light", mevcut veya en son oyunun skorunu, oyun saatini veya bir sonraki maçın saatini ve mevcut tarih ve saati sağlayan bir ekrana sahiptir.
"NHL Light", elektroniklerin montajı kolay olan basit bir parça listesi ve ücretsiz olarak temin edilebilen kod üzerinde çalışır.
Özellikleri
- Ekibinizi ve wifi'nizi seçmek için web sayfası tabanlı yapılandırma
- Takımınız gol attığında hafif ve korna çalar (deplasman takımı olsanız bile)
- Oyunun başladığını duyurmak için ses çalar
- Oyunun bittiğini duyurmak için bir ses çalar
- Devam eden oyun yoksa, bir sonraki oyunun saatini ve tarihini sağlar.
- Oyun devam ediyorsa, mevcut oyun zamanını ve periyodunu görüntüler.
- Geçerli tarih ve saati görüntüler.
Adım 1: Adım 1: Parçalarınızı Birleştirin
İşte bir parça listesi.
-
Ahududu Pi W*
- Amazon
- Benimkini Microcenter'dan almayı tercih ediyorum, ancak başka yerlerde daha ucuza çevrimiçi olarak bulunabilir.
- $10
- SD Kart (minimum 4gb)*
- konuşmacı - Amazon - ~2$ *
- amp - PAM8403* - Amazon - her biri ~1$
- hafif - Amazon - ~5$
-
Kasa - 1$*
- Michael'ın
- Michael'ın zanaat mağazasından küçük ahşap zanaat çantasını tavsiye ederim, ama size bırakacağım!
-
I2C 2004 LCD - 3-7 $
- Amazon
- Kod 3 tip LCD'yi destekler, ancak I2C 2004 en iyi değer ve boyut olarak karar verdiğim koddur. (SSD1306 da mümkündür)
- 2 transistör - 2N2222A- Amazon
- Çeşitli Teller / lehim12V
- güç kaynağı - Amazon
- 12V -> 5V dönüştürücü - Amazon
*Bu bölümü seçme konusunda esneklik vardır.
NOT: Diğer öğelerin gönderilmesini beklerken bu projenin çoğuna yalnızca ahududu Pi'nizle başlayabilirsiniz.
Adım 2: Adım 2: Kablolama ve Elektronik
-
Işık birleştirin
- Işık için kablolama, ışığa 12 + çalıştırmaktır.
- Transistörlerden birinden ışıktan negatif çalıştırın.
- Transistörün emmetteri toprağa gider.
- Transistörün toplayıcısı Raspberry Pi'ye gider.
-
ses birleştir
- PI'den amfiye doğru veya sol sesi çalıştırın
- Amfiye + 5V çalıştırın
- Amp topraklamayı 2. transistöre çalıştırın.
- 2. transistörün emmetterini toprağa çalıştırın
- Transistörün toplayıcısını Raspberry Pi'ye çalıştırın
- PI'ye kabloları monte edin
-
Bu, PI için pin çıkışı talimatlarıdır (bunlardan bazıları JSON aracılığıyla yapılandırılabilir)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- Işık 10 (GPIO15)
- Sağ Ses - GPIO 18
-
Adım 3: Adım 3: İşletim Sistemi Yazılım Kurulumu
-
Raspberry Pi W'yi hazırlayın
- Rasberry pi, Raspbian'ın (veya başka bir Debian) yeni bir sürümünü çalıştırıyor olmalıdır.
- Bu talimatları izlemeniz önerilir:
- Wifi wpa_supplicant dosyasını eklediğinizden emin olun.
- Ssh erişimine izin vermek için ssh dosyasını sd karta koyun.
-
3. taraf yazılımı hazırlayın:
- Gerekli tüm 3. taraf araçlarını çekmek için bu işlemi otomatikleştirdim, ancak bunları manuel olarak çalıştırmaktan çekinmeyin ve hiçbir adımın başarısız olmadığından emin olmak için gözden geçirin.
- Aşağıdaki betiği indirin ve çalıştırın:https://github.com/wga22/nodejs/blob/master/nhl/mi…
İşletim sistemini kurmak için kurulum komut dosyasının ne yaptığının bir dökümü burada. Bu satırları manuel olarak çalıştırmak en iyisidir, böylece hataları izleyebilirsiniz.
Komut Dosyası Başlığı:
#!/bin/sh -e# #curl -sL üzerinden çağrılabilir https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: bu betiği şuna benzer bir şeyle otomatikleştirin: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # YAPILACAKLAR: wifi kurulumu # YAPILACAKLAR: şifre ve yetkili anahtarları ayarlayın # notlar:
İşletim sistemi düzeyinde yazılımı güncelleyin:
#apt-get şeyler(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 kurulumu -y raspi-gpio python-görüntüleme python-smbus libasound2-dev #networking apt-get install -y köprü-utils hostapd dnsmasq apt-get clean -y
Ağ kurulumu. Buradaki amacın bir kısmı, sistemin bir erişim noktası aracılığıyla yapılandırılmasına, kendi wifi ağınıza bağlanmasına izin vermekti, ancak bu henüz tam olarak test edilmedi. Şu anda wifi kurulumu için wpa_supplicant yöntemini kullanmanız önerilir.
#networking setupecho nhllight > /etc/hostname #TODO: /etc/hosts'u düzeltin #TODO: setup br0 mkdir /etc/hostapd/ # not: diğer kurulumlar yapılandırma dosyaları aracılığıyla yapılır ve güncellemenin bir parçası olarak kabuk aşağı çekilir
Düğüm ve düğüm kitaplıklarını güncelleyin
#update nodecd /tmp dışa aktarma düğümü=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: ikili düğüm için sym bağlantısı yapılsın mı? apt-get remove -y --purge npm düğüm düğümü
#Node setupmkdir /opt/nhl mkdir /opt/nhl/logs mkdir /opt/nhl/horns mkdir /opt/nhl/node_modules/
#güncelleme Düğümü
#node bağımlılıklarını nhl dizinine aktarın NODE_PATH=/usr/local/lib/node_modules
#HACK - YAPILACAKLAR - küresel olarak yüklenmeyecek bu topal sorunu düzeltin
cd /opt/nhl npm yükleme topal # topal, topal, global olarak kurulmayacak cp -R /opt/nhl/node_modules/lame $NODE_PATH npm hoparlör kurulumu #glont global olarak kurulmayacak cp -R /opt/nhl/node_modules/hoparlör $NODE_PATH npm i2c-bus kurulumu #glont olarak kurulmayacak cp -R /opt/nhl/node_modules/i2c-bus $NODE_PATH npm oled-i2c-bus kurulumu #glont olarak kurulmayacak cp -R /opt/nhl/node_modules/oled-i2c-bus $NODE_PATH npm lcd kurulumunu #glont olarak kurmayacak cp -R /opt/nhl/node_modules/lcd $NODE_PATH npm lcdi2c kurulumunu #wont global olarak kurmayacak cp -R /opt/nhl/node_modules/lcdi2c $NODE_PATH
npm oled-font-5x7'yi kurun # global olarak kurulmayacak
cp -R /opt/nhl/node_modules/oled-font-5x7 $NODE_PATH
npm install onoff #küresel olarak kurulmayacak
cp -R /opt/nhl/node_modules/onoff $NODE_PATH
#npm pm2'yi kurun #küresel olarak kurulmayacak
#cp -R /opt/nhl/node_modules/pm2 $NODE_PATH #npm express yükleme #glont olarak yükleme #cp -R /opt/nhl/node_modules/express $NODE_PATH
# herhangi bir global modül
npm ekspres gövde ayrıştırıcısını kurun child_process pm2 -g
En son kodu çekin:
#pull git codecd /opt/nhl #JSON tek seferlik bir oluşturmadır 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… NHL curl -sL için diğer her şeyi yüklemek üzere #call otomatik komut dosyası https://raw.githubusercontent.com/wga22/nodejs /ma… | sudo -E bash -
Kornaları indirin!
#pull hornscd /opt/nhl/horns curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -
Raspberry pi yapılandırma dosyalarını güncelleyin - - sisteminiz için değiştirmeniz gerekebilir
#config dosyası güncellemeleri#ses ekle 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: bu gerekli mi?cp /etc/modules /etc/modules.bak printf '\ni2c-dev\ni2c-bcm2708\n' >> /etc/modules
amixer cset numid=1
#TODO: ses seviyesi ayarla, %60?
Önyükleme ve kod güncellemeleri gibi otomasyonu otomatikleştirin:
# update rc.local# NOT: dosyayı hareket ettirin, çünkü standart dosya son satırda bir "çıkış" içerir, bu nedenle basitçe mv /etc/rc.local /etc/rc.local.bak touch /etc/rc.local eklenemez 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 çıkış 0' >> /etc/rc.local
#TODO: Bunun gibi haftalık düzenli yazılım güncellemelerini yapmak için bir şeyler eklemeniz gerekiyor# Belki bu dosyayı doğrudan rc.weekly klasörüne kopyalayın? 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
Saat dilimini ayarlamak gibi çeşitli şeyler:
ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime
# ortam değişkenini node_path ile güncelle
cp /etc/environment /etc/environment.bak printf '\nexport NODE_PATH=/usr/local/lib/node_modules\n' >> /etc/environment #TODO: bunu kendi düğümü için tanımlayın.ipaddress = process.env. NODEJS_IP; #TODO: self.port = process.env. NODEJS_PORT || 80;
Düğüm sunucusu kurulumu için PM2'yi kullanın:
#TODO: test kurulumu PM2cd /tmp/ npm kurulum -g pm2 pm2 başlangıç cd'si /opt/nhl pm2 start NHL_work.js --node-args="--max_old_space_size=100 Exposure-gc" pm2 start webserver.js --node -args="--max_old_space_size 100M" pm2 pm2 kaydet başlangıç çıkış 0
4. Adım: 4. Adım: JSON Yapılandırmasını Güncelleyin
Tercih ettiğiniz takım için JSON yapılandırma dosyanızı kurun, vb. Bu dosya /opt/nhl GO CAPITALS! JSON dosyasını yapılandır
Yazılım, takip ettiğiniz donanımı ve ekibi yapılandırmak için bir JSON dosyası kullanır. Ekip, çalışacak web sunucusu üzerinden ayarlanabilir, ancak donanım kurulumunun manuel olarak ayarlanması gerekir:
{ "myteam": "WSH", "debug":"1", "output": "lcd", "light": {"type":"multiled", "gpio":["10", "13"] }, "amp": {"gpio":"14"}, "lcdaddress": "0x3F", "lightid": "22" }
Her olası değerin açıklaması aşağıda verilmiştir:
- myteam: Bu, takip etmek istediğiniz takımın 3 harfli kodudur.
- hata ayıklama: Olası değerler 1 (doğru) veya 0 (yanlış)'dir ve ne kadar günlük kaydı yazılacağını kontrol eder.
-
çıktı: bu, puanların/ayrıntıların gösterileceği yöntemdir. Olası değerler şunlardır:
- lcd: bu 2004 lcd
- konsol: bu sadece terminale yazacaktır (komut satırını çalıştırmak için)
- oled: SSD6404 oled ekran desteği
-
ışık: desteklenen iki tür ışık vardır
- alarm: bu, bir transistörü açmak/kapatmak için tek bir GPIO'yu çalıştırır
- çoklu led: çok renkli veya çoklu led'leri destekler
- hiçbiri: eklenmiş ışık yok
- amp: bu, amp için transistörü çalıştıran GPIO'dur.
Önerilen:
Hokey Kale Kornası: 5 Adım
Hokey Kale Kornası: Oğlum ve ben evimizde diz hokeyi olarak da bilinen hokey oynuyoruz ve bir gün NHL pistlerinde gol attıklarında korna hakkında sorular sordu. Bir tane alıp alamayacağımızı bilmek istedi. İnanılmaz yüksek sesli bir kale kornası satın almak yerine (asla olmayacaktı) ben
SketchUp'ta Düzenleme Boyutunda Bir Hokey Pisti Oluşturma: 14 Adım
SketchUp'ta Düzenleme Boyutunda Bir Hokey Pisti Oluşturma: Bunu tamamlamak için SketchUp'ın ücretsiz, web tabanlı sürümünü kullandım. veya "yarım duvar"; çünkü ne anlama geldiklerini açıklamadan kullanacağımTüm ölçümler resmi NHL'den alınmıştır
Hareketli Mood Işığı ve Gece Işığı: 6 Adım (Resimlerle)
Hareketli Ruh Hali Işığı ve Gece Işığı: Işık takıntısıyla sınırlanan bir büyüye sahip olarak, her boyutta RGB ışıklı ekranlar oluşturmak için kullanılabilecek küçük modüler PCB'lerden oluşan bir seçki oluşturmaya karar verdim. Modüler PCB'yi yaptıktan sonra, onları bir
Comm 101 Hokey İçin Nasıl Giyinilir!: 9 Adım
Comm 101 Hokey Nasıl Giyinilir!: Size hokey kıyafetlerini nasıl giyeceğinizi öğreteceğim. İster inanın ister inanmayın, bu çılgınlığın bir yöntemi var. Adım adım her adımdan geçeceğim
Samimi Video Işığı/ Elde Taşınabilir Fotoğraf Işığı: 7 Adım (Resimlerle)
Mahrem Video Işığı/ Elde Taşınabilir Fotoğraf Işığı: Ne düşündüğünüzü biliyorum. "Samimi" olarak; Zor ışık durumlarında yakın plan aydınlatmayı kastetmiştim - "mahrem durumlar" için değil. (Ancak, bunun için de kullanılabilir…) Bir New York City kameramanı olarak--ya da