Isi kandungan:
- Bekalan
- Langkah 1: Menyiapkan Raspberry Pi
- Langkah 2: Menyambungkan Elektronik
- Langkah 3: Reka Bentuk Pangkalan Data
- Langkah 4: Persediaan Arduino
- Langkah 5: Latar Belakang Raspberry Pi
- Langkah 6: Kes
Video: Bangunkan Saya - Jam Penggera Pintar: 6 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
Bangunkan saya adalah jam penggera pintar yang juga dapat digunakan sebagai lampu pintar.
Ledstrip terbina dalam mensimulasikan cahaya semula jadi yang masuk ke bilik anda. Ini membolehkan cara yang tenang dan semula jadi untuk memulakan hari anda.
Jam penggera juga dilengkapi dengan paparan segmen 4 * 7 untuk membaca waktu, pembesar suara untuk bangun dengan muzik kegemaran anda, butang sentuh, ldr untuk menyesuaikan kecerahan jalur pendahuluan dan sensor suhu yang boleh anda gunakan untuk melihat suhu bilik anda.
Bekalan
Senarai harga tepat yang saya bayar boleh didapati di sini:
Pengawal mikro dan komputer:
Raspberry Pi 4I menggunakan raspberry pi 4 4GB namun, mana-mana model raspberry pi 3+ mestilah baik
Arduino Uno
Arduino digunakan untuk mengawal paparan jam segmen 4 * 7.
Sensor:
- TMP36: sensor suhu
- LDR: Perintang bergantung cahaya
Penggerak:
- WS2801: Jalur pendahuluan yang boleh ditanggung secara individu
- Paparan LCD: Paparan LCD 16 * 2.
- Paparan jam segmen 4 * 7
IC:
- 74HC595: Shiftregister untuk paparan lcd
- MCP3008: Penukar analog ke digital 8-bit
- Penukar tahap logik: Digunakan untuk berkomunikasi antara raspi dan arduino
Barang lain:
- Penguat adafruit MAX9744 untuk memberi kuasa kepada pembesar suara
- Mana-mana pembesar suara, saya menggunakan pembesar suara Visaton 4Ohm 8Watt (Art. No. 2240)
- Bekalan kuasa 9volt untuk menguatkan penguat
- Bekalan kuasa 5volt untuk membekalkan ledstrip dan komponen lain. Perlu diingat bahawa setiap led di ledstrip boleh menenggelamkan 60mA jadi pastikan bekalan kuasa anda mencukupi.
- Beberapa perintang 220Ohm
- Papan roti kecil untuk dimasukkan ke dalam beg anda.
Alat:
- Setrika pematerian.
- Sesuatu untuk membuat kes itu (saya menggunakan pencetak 3d dengan PLA dan PETG dan beberapa pelekat vinil untuk mendapatkan kesan kayu.)
Langkah 1: Menyiapkan Raspberry Pi
Raspberry pi adalah pengawal mikro utama kami.
Raspberry pi menjalankan pelayan laman web tempatan kami, pangkalan data, mengawal barisan hadapan, pembesar suara,…
Bahagian 1: Memasang Raspbian
Gunakan tutorial ini untuk memasang raspbian:
Pastikan SSH diaktifkan
Bahagian 2: Bersambung
Untuk berhubung dengan internet, anda perlu mendapatkan akses ke terminal raspberry pi anda. Saya cadangkan menggunakan dempul. Dalam jenis terminal:
wpa_passphrase "YourNetwork" "YourSSID" >> /etc/wpa_supplicant/wpa_supplicant.conf
"YourNetwork" adalah nama rangkaian wifi anda dan "YourSSID" adalah kata laluan rangkaian.
Setelah anda menambah rangkaian, cuba reboot Pi Raspberry.
Ketik perintah 'ping 8.8.8.8' ini akan menghantar paket ke pelayan google jika anda mendapat respons rangkaian anda disiapkan dan berfungsi!
Bahagian 3: Pasang program yang diperlukan
Kami memerlukan beberapa pemasangan program tambahan untuk menjalankan projek ini.
Sebelum kita memulakan, jalankan 2 arahan ini untuk memastikan bahawa semuanya sudah ditingkatkan.
sudo apt kemas kini
peningkatan sudo apt
Ini mungkin mengambil masa.
Apache
sudo apt install apache2 -y
sudo apt install php libapache2-mod-php -y
MariaDB
sudo apt pasang mariadb-server mariadb-client -y
sudo apt pasang php-mysql -y
PHPMyAdmin
sudo apt pasang phpmyadmin -y
Python pip
Kita perlu memasang pip untuk mengaktifkan beberapa perpustakaan python
pip3 pasang mysql-connector-python
pip3 memasang flask-socketio
pip3 memasang termos-cors
pip3 pasang gevent
pip3 memasang gevent-websocket
Langkah 2: Menyambungkan Elektronik
Saya telah menambah 2 skema, 1 adalah skema papan roti untuk tujuan ujian. Saya cadangkan membina skema pertama dan berusaha agar kod berfungsi.
Saya telah menambah fail fritzing di bawah.
Langkah 3: Reka Bentuk Pangkalan Data
Ini adalah skema pangkalan data yang saya buat. Kata-katanya dalam bahasa Belanda tetapi saya akan menerangkan setiap jadual secara terperinci.
Jadual 1: tblMuziek
Ini adalah jadual yang cukup asas. Ia menyimpan nama artis, nama lagu dan nama fail lagu.
Jadual 2: tblLedstrip
Jadual ini mengawasi keadaan jalur lekapan semasa dan menjimatkan keadaan jalur pendahuluan. Kami memerlukan ini untuk fungsi lampu pintar.
Jadual 3: tblSensoren
Jadual ini mengesan sensor di penggera kami. Kami menyimpan nama sensor dan saluran MCP3008
Jadual 4: tblMeting
Jadual ini menyimpan nilai sensor kita bersamaan dengan masa mereka.
Jadual 5: tblWekker
Jadual ini menyimpan kata laluan dan nama jam penggera anda (mis. Bilik Tidur) Jadual ini tidak wajib tetapi saya menambahkannya kerana saya menganggap bahawa anda akan mempunyai lebih daripada 1 jam penggera di rumah anda.
Jadual 6: tblAlarm
Ini mungkin jadual yang paling penting. Ini mengesan alarm yang telah anda tetapkan dan jam apa yang harus dilakukan (lagu mana yang akan dimainkan, urutan yang dipimpin, Pada hari apa ia harus dimatikan,…). Sangat penting untuk mengesan 2 tarikh. 1 tarikh digunakan untuk menyimpan pada jam berapa penggera akan berbunyi. Yang lain menjejaki kali terakhir penggera berbunyi. Untuk mengetahui hari kerja apa yang harus dilepaskan, saya menggunakan varchar yang mengandungi bilangan 7 digit. Angka pertama adalah hari Isnin, Selasa kedua, … Jika angka 1 maka ia harus mati, jika angka 0 tidak seharusnya. Contoh: 1111100 ini bermaksud penggera ini akan dimatikan pada hari Isnin, Selasa, Rabu, Khamis dan Jumaat.
Langkah 4: Persediaan Arduino
Langkah ini sangat mudah. Akan ada pautan ke github saya pada langkah seterusnya di mana anda boleh memuat turun fail arduino.
Apa yang dilakukan oleh program ini?
Program ini menunggu data bersiri masuk dari pi.
Sebaik sahaja data diterima, ia menguraikan keseluruhan rentetan dan menghantar kembali pengesahan kepada pi.
Rentetan itu akan seperti ini: '1201' ini bermaksud bahawa ia adalah 12:01. Saya menggunakan paparan anod 7segmen biasa ini bermaksud bahawa Digit harus tinggi dan A, B, C, D, E, F, G dan DP harus rendah untuk menghidupkannya. Sekiranya anda menggunakan katod biasa, anda harus menukar HIGH ke LOW & LOW ke HIGH.
Inilah pautan dengan lebih banyak maklumat mengenai bagaimana 7 paparan segmen berfungsi. (dengan penggunaan perpustakaan):
www.instructables.com/id/Using-a-4-digit-7…
Berikut adalah pautan mengenai paparan 7 segmen tanpa penggunaan perpustakaan:
create.arduino.cc/projecthub/SAnwandter1/p…
Langkah 5: Latar Belakang Raspberry Pi
Anda boleh memuat turun kod saya menggunakan Github. (https://github.com/VanHevelNico/WakeMeUp)
Cara memasang program:
Bahagian belakang ditulis dalam python menggunakan termos. Anda boleh membuat perkhidmatan yang memulakan program ini (app.py) secara automatik.
Anda harus memasukkan kod frontend dalam fail html pelayan apache yang kami muat turun sebelumnya. (/ var / html)
Bagaimana program ini berfungsi?
Apabila jam penggera dihidupkan, pergi ke alamat ip jam anda (ia akan dipaparkan di lcd)
Sebaik sahaja anda pergi ke alamat ip di penyemak imbas anda komputer anda akan menghantar permintaan socket.io ke backend yang mengatakan bahawa pelanggan telah berhubung. Apabila backend menerima ini, beberapa utas akan bermula yang akan saya jelaskan di bawah.
Persediaan
Ini menjadikan semua objek diperlukan.
DapatkanTemp
Ini membaca saluran mcp3008 0 dan menukar data binari ke suhu sebenar dan memasukkannya ke dalam pangkalan data dengan tarikh dan jam semasa.
DapatkanTempGrafiek
Ini mendapat 20 nilai terakhir dari sensor suhu dan memancarkannya ke bahagian depan.
tijd_sturen
Kaedah ini mendapat masa semasa dan memeriksa sama ada minit telah berubah. Sekiranya ia telah berubah, program akan menghantar masa baru ke arduino menggunakan komunikasi bersiri
semakAlarmen
Ini adalah kaedah yang paling penting. Ia akan mendapat semua penggera yang dihidupkan dan memeriksa apakah ada penggera yang harus mulai antara sekarang dan 5 minit yang lalu (ini adalah penyangga untuk memastikan setiap penggera diaktifkan ketika diperlukan). Sekiranya penggera harus dimatikan kita akan memulakan muzik, jalur pendahuluan, … Kita membaca perintang peka daya secara berterusan dan apabila nilainya turun di bawah 1000 (baca fsr ditekan) Kami menghidupkan penggera dan mengemas kini penggera di pangkalan data. Kami menetapkan tarikh penggera dimatikan untuk kali terakhir ke tarikh semasa.
statusLight
Kaedah ini memancarkan nilai ledstrip dan menyalakan ledstrip jika diperlukan.
lichtAanpassen
Ini adalah kaedah tambahan untuk memastikan lampu depan dan lampu penggera tidak bertentangan.
Langkah 6: Kes
Pautan ke fail saya boleh didapati di sini:
Saya menggunakan pencetak 3d untuk mencetak selongsong. Ia dicetak dalam 4 bahagian yang berbeza:
- Plat depan dengan lubang untuk pembesar suara dan beberapa dinding untuk paparan 7 segmen
- Lingkaran luar untuk ledstrip dalam PETG telus.
- Bahagian tengah
- Plat belakang dengan lubang untuk lcd dan lubang untuk kabel.
Pada model asal tidak ada lubang untuk paparan segmen 7 namun ini diperlukan kerana jika tidak, cahaya paparan segmen 7 tidak akan menyala.
Seperti yang anda lihat setelah meletakkan semua komponen di dalam saya menggunakan pelekat vinil dengan rupa kayu agar hasil akhirnya kelihatan lebih baik. Paparan jam bersinar melalui pelekat yang menghasilkan kesan yang sangat bagus.
Disyorkan:
Kerusi Panas: Bangunkan Kusyen Panas yang Berubah Warna: 7 Langkah (dengan Gambar)
Kerusi Panas: Bangunkan Kusyen Pemanasan yang Berubah Warna: Ingin menjaga kesihatan diri pada musim sejuk? Hot Seat adalah projek yang menggunakan dua kemungkinan e-tekstil yang paling menarik - perubahan warna dan panas! Kami akan membina kusyen tempat duduk yang menghangatkan, dan apabila sudah siap, ia akan menunjukkan
Bagaimana Saya Membuat Pembesar Suara Bluetooth Aneh Saya Sendiri: 4 Langkah
Bagaimana Saya Membuat Pembesar Suara Bluetooth Aneh Saya Sendiri: Dalam Instruksional ini saya akan menunjukkan kepada anda bagaimana saya membuat pembesar suara Bluetooth pelik ini sendiri yang menghasilkan bunyi yang luar biasa dengan bass semasa menggunakannya dengan botol
REKA BENTUK DAN BANGUNKAN BLANETOOTH SPEAKER CUM POWER BANK PORTABLE SENDIRI: 15 Langkah (dengan Gambar)
REKA BENTUK DAN BANGUNKAN BLUETOOTH SPEAKER CUM POWER BANK PORTABLE SENDIRI: Hai semua, jadi inilah arahan untuk orang yang suka muzik dan tidak sabar-sabar untuk merancang dan membina pembesar suara Bluetooth mudah alih mereka sendiri. Ini adalah pembesar suara yang mudah dibina yang terdengar luar biasa, kelihatan cantik dan cukup kecil untuk
Tutorial: Cara Membuat Penggera Pintu dengan Menggunakan Penggera Sensor Suis Magnetik MC-18: 3 Langkah
Tutorial: Cara Membuat Penggera Pintu dengan Menggunakan Penggera Sensor Suis Magnetik MC-18: Hai kawan-kawan, saya akan membuat tutorial mengenai Penggera Sensor Suis Magnetik MC-18 yang beroperasi dalam mod tutup biasanya. Tetapi pertama, izinkan saya menerangkan kepada anda secara ringkas apa yang dimaksudkan dengan tutup biasanya. Terdapat dua jenis mod, biasanya terbuka dan biasanya ditutup
Penggera Pemecah Kaca / Penggera Pencuri: 17 Langkah
Alarm Pemecah Kaca / Penggera Pencuri: Litar ini dapat digunakan untuk membunyikan penggera untuk mengesan pecah tingkap kaca oleh penyusup, walaupun penyusup memastikan tidak ada suara kaca yang pecah