Daftar Isi:

Lampu Hoki Samping Tempat Tidur NHL dan LCD: 4 Langkah (dengan Gambar)
Lampu Hoki Samping Tempat Tidur NHL dan LCD: 4 Langkah (dengan Gambar)

Video: Lampu Hoki Samping Tempat Tidur NHL dan LCD: 4 Langkah (dengan Gambar)

Video: Lampu Hoki Samping Tempat Tidur NHL dan LCD: 4 Langkah (dengan Gambar)
Video: Jangan pakek kalo gak mau putih #beddalotong #lulur #fypシ #lulurpemutihbadan #viral 2024, November
Anonim
Image
Image
Lampu Hoki Samping Tempat Tidur NHL dan LCD
Lampu Hoki Samping Tempat Tidur NHL dan LCD

pengantar

"NHL Light" adalah untuk penggemar hoki yang ingin mengikuti tim mereka, tetapi tidak dapat menonton setiap pertandingan. Fitur terbaiknya adalah mensimulasikan skor gol dengan klakson hoki (disesuaikan dengan tim Anda), dan ringan.

Selain klakson dan lampu hoki, "Lampu NHL", memiliki tampilan yang memberikan skor permainan saat ini, atau terbaru, waktu permainan atau waktu pertandingan berikutnya, dan tanggal dan waktu saat ini.

"NHL Light" berjalan pada daftar suku cadang yang sederhana, yang mudah dirakit secara elektronik, dan kode yang tersedia secara bebas.

Fitur

  1. Konfigurasi berbasis halaman web untuk memilih tim dan wifi Anda
  2. Memainkan cahaya dan klakson saat tim Anda mencetak gol (bahkan ketika Anda adalah tim tandang)
  3. Memutar suara untuk mengumumkan awal permainan
  4. Memutar suara untuk mengumumkan akhir permainan
  5. Menyediakan waktu dan tanggal permainan berikutnya, jika tidak ada permainan yang sedang berlangsung.
  6. Menampilkan waktu dan periode permainan saat ini, jika permainan sedang berlangsung.
  7. Menampilkan tanggal dan waktu saat ini.

Langkah 1: Langkah 1: Pasang Bagian Anda

Langkah 1: Pasang Bagian Anda
Langkah 1: Pasang Bagian Anda

Berikut adalah daftar bagian.

  1. Raspberry Pi W*

    1. Amazon
    2. Saya lebih suka mendapatkan milik saya dari Microcenter, tetapi dapat ditemukan secara online dengan harga lebih murah di tempat lain.
    3. $10
  2. Kartu SD (minimum 4gb)*
  3. pembicara - Amazon - ~$2 *
  4. amp - PAM8403* - Amazon - ~$1 masing-masing
  5. cahaya - Amazon - ~$5
  6. Kasus - $1*

    1. Michael
    2. Saya merekomendasikan kotak kerajinan kayu kecil dari toko kerajinan Michael, tetapi akan diserahkan kepada Anda!
  7. LCD I2C 2004 - $3-7

    1. Amazon
    2. Kode ini mendukung 3 jenis LCD, tetapi I2C 2004 adalah yang saya pilih sebagai nilai dan ukuran terbaik. (SSD1306 juga dimungkinkan)
  8. 2 transistor - 2N2222A- Amazon
  9. Kabel Lain-lain / solder12V
  10. catu daya - Amazon
  11. 12V -> konverter uang 5V - Amazon

* Ada fleksibilitas dalam memilih bagian ini.

CATATAN: Anda dapat memulai sebagian besar proyek ini hanya dengan raspberry Pi Anda, sementara Anda menunggu barang lain dikirim.

Langkah 2: Langkah 2: Pengkabelan dan Elektronik

Langkah 2: Pengkabelan dan Elektronik
Langkah 2: Pengkabelan dan Elektronik
Langkah 2: Pengkabelan dan Elektronik
Langkah 2: Pengkabelan dan Elektronik
  1. Merakit Cahaya
    1. Kabel untuk lampu adalah untuk menjalankan 12 + ke lampu.
    2. Jalankan negatif dari cahaya melalui salah satu transistor.
    3. Emmeter dari transistor masuk ke ground.
    4. Kolektor transistor pergi ke Raspberry Pi.
  2. Merakit suara
    1. Jalankan suara kanan atau kiri dari PI ke amp
    2. Jalankan +5V ke amp
    3. Jalankan amp ground ke transistor ke-2.
    4. Jalankan emmeter transisitor ke-2 ke ground
    5. Jalankan kolektor transistor ke Raspberry Pi
  3. Merakit kabel ke PI
  4. Ini adalah instruksi pinout untuk PI (beberapa di antaranya dapat dikonfigurasi melalui JSON)

    1. LCD

      1. 3 - SDA
      2. 5 - SCL
      3. 5 - VCC (+5)
    2. AMP 8 (GPIO 14)
    3. Cahaya 10 (GPIO15)
    4. Suara Kanan - GPIO 18

Langkah 3: Langkah 3: Pengaturan Perangkat Lunak Sistem Operasi

  1. Siapkan Raspberry Pi W

    1. Pi rasberry harus menjalankan versi terbaru dari Raspbian (atau Debian lainnya).
    2. Disarankan untuk mengikuti petunjuk ini:
    3. Pastikan untuk menyertakan file wifi wpa_supplicant.
    4. Letakkan file ssh di sdcard untuk memungkinkan akses ssh.
  2. Siapkan perangkat lunak pihak ke-3:

    1. Saya telah mengotomatiskan proses ini untuk menarik semua alat pihak ketiga yang diperlukan, tetapi jangan ragu untuk menjalankannya secara manual, dan tinjau untuk memastikan tidak ada langkah yang gagal.
    2. Unduh dan jalankan skrip berikut:

Berikut adalah rincian dari skrip instalasi untuk pengaturan sistem operasi. Yang terbaik adalah menjalankan baris ini secara manual, sehingga Anda dapat melihat kesalahan.

Judul Skrip:

#!/bin/sh -e#bisa dipanggil melalui #curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: otomatisasi skrip ini dengan sesuatu seperti: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: setup wifi # TODO: setup passwd dan kunci resmi # catatan:

Perbarui perangkat lunak di tingkat 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

Pengaturan jaringan. Bagian dari tujuannya di sini adalah untuk memungkinkan sistem dikonfigurasi melalui titik akses, untuk terhubung ke wifi Anda sendiri, tetapi ini belum sepenuhnya diuji. Saat ini disarankan untuk menggunakan metode wpa_supplicant untuk mengatur wifi.

#networking setupecho nhllight > /etc/hostname #TODO: perbaiki /etc/hosts #TODO: setup br0 mkdir /etc/hostapd/ # catatan: setup lain dilakukan melalui file konfigurasi dan shell ditarik sebagai bagian dari pembaruan

Perbarui Node dan perpustakaan 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 LISENSI cp -R * /usr/local/ rm -R /tmp/node-v${nodeversion}-linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: buat tautan sym untuk biner simpul? 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/

#perbarui Node

#install dependensi node ke dalam direktori nhl export NODE_PATH=/usr/local/lib/node_modules

#HACK - TODO - perbaiki lumpuh yang tidak akan diinstal secara global

cd /opt/nhl npm install lame # lame, lame, wont install global cp -R /opt/nhl/node_modules/lame $NODE_PATH npm install speaker #wont install global cp -R /opt/nhl/node_modules/speaker $NODE_PATH npm install i2c-bus #tidak akan menginstal secara global cp -R /opt/nhl/node_modules/i2c-bus $NODE_PATH npm menginstal oled-i2c-bus #tidak akan menginstal secara global cp -R /opt/nhl/node_modules/oled-i2c-bus $NODE_PATH npm install lcd #tidak akan menginstal secara global cp -R /opt/nhl/node_modules/lcd $NODE_PATH npm install lcdi2c #tidak akan menginstal secara global cp -R /opt/nhl/node_modules/lcdi2c $NODE_PATH

npm install oled-font-5x7 #tidak akan menginstal secara global

cp -R /opt/nhl/node_modules/oled-font-5x7 $NODE_PATH

npm install onoff #tidak akan menginstal secara global

cp -R /opt/nhl/node_modules/onoff $NODE_PATH

#npm install pm2 #tidak akan menginstal secara global

#cp -R /opt/nhl/node_modules/pm2 $NODE_PATH #npm install express #tidak akan menginstal secara global #cp -R /opt/nhl/node_modules/express $NODE_PATH

# modul global apa pun

npm install express body-parser child_process pm2 -g

Tarik kode terbaru:

#pull git codecd /opt/nhl #JSON adalah pembuatan satu kali 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… #panggil skrip otomatis untuk menginstal yang lainnya untuk NHL curl -sL https://raw.githubusercontent.com/wga22/nodejs /ma… | sudo -E bash -

Unduh tanduk!

#pull hornscd /opt/nhl/horns curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -

perbarui file konfigurasi Raspberry pi - - mungkin perlu diubah untuk sistem Anda

#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 #nyalakan i2c printf '\n\ndtparam=i2c1=on\n' >> /boot/config.txt printf '\n\ndtparam=i2c_arm=on\n' >> /boot/config. txt

#TODO: apakah ini diperlukan?cp /etc/modules /etc/modules.bak printf '\ni2c-dev\ni2c-bcm2708\n' >> /etc/modules

amixer cset numid=1

#TODO: setel volume, 60%?

Otomatiskan otomatisasi, seperti bootup dan pembaruan kode:

# perbarui rc.local# CATATAN: memindahkan file, karena file standar menyertakan "keluar" di baris terakhir, jadi tidak bisa begitu saja menambahkan 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: perlu menambahkan sesuatu untuk melakukan pembaruan perangkat lunak rutin mingguan seperti ini# Mungkin hanya menyalin file ini langsung ke folder 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

Hal-hal lain, seperti mengatur zona waktu:

ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime

# perbarui variabel lingkungan dengan node_path

cp /etc/environment /etc/environment.bak printf '\nexport NODE_PATH=/usr/local/lib/node_modules\n' >> /etc/environment #TODO: tentukan ini untuk node self.ipaddress = process.env. NODEJS_IP; #TODO: self.port = process.env. NODEJS_PORT || 80;

Gunakan PM2 untuk penyiapan server simpul:

#TODO: uji setup 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 simpan pm2 startup keluar 0

Langkah 4: Langkah 4: Perbarui Konfigurasi JSON

Siapkan file konfigurasi JSON Anda untuk tim yang Anda inginkan, dll. File ini terletak di /opt/nhl GO CAPITALS! konfigurasi file JSON

Perangkat lunak ini menggunakan file JSON untuk mengonfigurasi perangkat keras dan tim yang Anda ikuti. Tim dapat diatur melalui server web yang akan berjalan, tetapi pengaturan perangkat keras perlu diatur secara manual:

{ "myteam": "WSH", "debug":"1", "output": "lcd", "light": {"type":"multiled", "gpio":["10", "13"] }, "amp": {"gpio":"14"}, "lcdaddress": "0x3F", "lightid": "22" }

Berikut adalah penjelasan dari setiap nilai yang mungkin:

  • myteam: ini adalah kode 3 huruf dari tim yang ingin kamu ikuti
  • debug: Nilai yang mungkin adalah 1 (benar) atau 0 (salah), dan akan mengontrol berapa banyak pencatatan yang ditulis.
  • output: ini adalah metode di mana skor/detail akan ditampilkan. Nilai yang mungkin adalah:

    • lcd: ini adalah lcd 2004
    • console: ini hanya akan menulis ke terminal (untuk menjalankan baris perintah)
    • oled: dukungan untuk tampilan oled SSD6404
  • cahaya: ada dua jenis lampu yang didukung

    • alarm: ini akan menggerakkan satu GPIO untuk menghidupkan/mematikan transistor
    • multi-led: mendukung multicolor, atau beberapa leds
    • tidak ada: tidak ada lampu terpasang
  • amp: ini adalah GPIO yang menggerakkan transistor untuk amp

Direkomendasikan: