Daftar Isi:
- Perlengkapan
- Langkah 1: Menyiapkan Raspberry Pi
- Langkah 2: Menghubungkan Elektronik
- Langkah 3: Desain Basis Data
- Langkah 4: Pengaturan Arduino
- Langkah 5: Raspberry Pi Backend
- Langkah 6: Kasus
Video: Bangunkan Saya - Jam Alarm Cerdas: 6 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Wake me up adalah jam alarm pintar yang juga dapat digunakan sebagai lampu pintar.
Strip led built-in mensimulasikan cahaya alami yang masuk ke kamar Anda. Ini memungkinkan cara yang tenang dan alami untuk memulai hari Anda.
Jam alarm juga dilengkapi dengan tampilan segmen 4*7 untuk membaca waktu, speaker untuk bangun tidur dengan musik favorit Anda, tombol sentuh, ldr untuk menyesuaikan kecerahan ledstrip dan sensor suhu yang dapat Anda gunakan untuk melihat suhu kamar Anda.
Perlengkapan
Daftar harga pasti yang saya bayar dapat ditemukan di sini:
Mikrokontroler dan komputer:
Raspberry Pi 4I menggunakan raspberry pi 4 4GB namun, setiap model raspberry pi 3+ seharusnya baik-baik saja
Arduino Uno
Arduino digunakan untuk mengontrol tampilan jam segmen 4*7.
Sensor:
- TMP36: sensor suhu
- LDR: Resistor yang bergantung pada cahaya
Aktuator:
- WS2801: Strip led yang dapat dialamatkan secara individual
- Layar LCD: Layar LCD 16*2.
- 4*7 segmen tampilan jam
IC:
- 74HC595: Shiftregister untuk tampilan lcd
- MCP3008: Konverter Analog ke digital 8-bit
- Konverter level logika: Digunakan untuk berkomunikasi antara raspi dan arduino
Hal-hal lain:
- Amplifier adafruit MAX9744 untuk memberi daya pada speaker
- Semua speaker, saya menggunakan speaker full range Visaton 4Ohm 8Watt (Art. No. 2240)
- Catu daya 9volt untuk memberi daya pada amplifier
- Catu daya 5 volt untuk mensuplai ledstrip dan komponen lainnya. Perlu diingat bahwa setiap led di ledstrip dapat menyedot 60mA jadi pastikan catu daya Anda mencukupi.
- Beberapa resistor 220Ohm
- Papan tempat memotong roti kecil untuk dimasukkan ke dalam kasing Anda.
Peralatan:
- Sebuah besi solder.
- Sesuatu untuk membuat kasing (saya menggunakan printer 3d dengan PLA dan PETG dan beberapa stiker vinil untuk mendapatkan efek kayu.)
Langkah 1: Menyiapkan Raspberry Pi
Raspberry pi adalah pengontrol mikro utama kami.
Raspberry pi menjalankan server web lokal kami, database, mengontrol strip led, speaker, …
Bagian 1: Menginstal Raspbian
Gunakan tutorial ini untuk menginstal raspbian:
Pastikan SSH diaktifkan
Bagian 2: Mendapatkan terhubung
Untuk terhubung ke internet, Anda perlu mendapatkan akses ke terminal raspberry pi Anda. Saya sarankan menggunakan dempul. Dalam jenis terminal:
wpa_passphrase "Jaringan Anda" "SSID Anda" >> /etc/wpa_supplicant/wpa_supplicant.conf
"YourNetwork" adalah nama jaringan wifi Anda dan "YourSSID" adalah kata sandi jaringan.
Setelah Anda menambahkan jaringan, coba reboot Raspberry Pi.
Ketik perintah 'ping 8.8.8.8' ini akan mengirim paket ke server google jika Anda mendapat respons jaringan Anda sudah diatur dan berfungsi!
Bagian 3: Instal program yang dibutuhkan
Kita perlu menginstal beberapa program tambahan untuk menjalankan dan menjalankan proyek ini.
Sebelum kita mulai, jalankan 2 perintah ini untuk memastikan bahwa semuanya telah ditingkatkan.
sudo apt update
sudo apt upgrade
Ini mungkin memakan waktu cukup lama.
Apache
sudo apt install apache2 -y
sudo apt install php libapache2-mod-php -y
MariaDB
sudo apt install mariadb-server mariadb-client -y
sudo apt install php-mysql -y
PHPMyAdmin
sudo apt install phpmyadmin -y
Piton Python
Kita perlu menginstal pip untuk mengaktifkan beberapa pustaka python
pip3 instal mysql-connector-python
pip3 menginstal flask-socketio
pip3 menginstal flask-cors
pip3 menginstal gevent
pip3 instal gevent-websocket
Langkah 2: Menghubungkan Elektronik
Saya telah menambahkan 2 skema, 1 adalah skema papan tempat memotong roti untuk tujuan pengujian. Saya merekomendasikan membangun skema pertama dan mencoba membuat kode berfungsi.
Saya telah menambahkan file fritzing di bawah ini.
Langkah 3: Desain Basis Data
Ini adalah skema database yang saya buat. Kata-katanya dalam bahasa belanda tetapi saya akan menjelaskan setiap tabel secara rinci.
Tabel 1: tblMuziek
Ini tabel yang cukup mendasar. Ini menyimpan nama artis, nama lagu dan nama file dari sebuah lagu.
Tabel 2: tblLedstrip
Tabel ini melacak status ledstrip saat ini dan menyimpan status ledstrip. Kami membutuhkan ini untuk fungsi smartlight.
Tabel 3: tblSensoren
Tabel ini melacak sensor di alarm kami. Kami menyimpan nama sensor dan saluran MCP3008
Tabel 4: tblMeting
Tabel ini menyimpan nilai sensor kami bersama dengan waktunya.
Tabel 5: tblWekker
Tabel ini menyimpan kata sandi dan nama jam alarm Anda (misalnya Kamar Tidur) Tabel ini tidak wajib tetapi saya menambahkannya karena saya berasumsi bahwa Anda akan memiliki lebih dari 1 jam alarm di rumah Anda.
Tabel 6: tblAlarm
Ini mungkin meja yang paling penting. Itu melacak alarm yang telah Anda atur dan apa yang harus dilakukan jam (lagu mana yang diputar, urutan yang memimpin, Pada hari apa seharusnya berbunyi, …). Sangat penting untuk melacak 2 tanggal. 1 tanggal digunakan untuk menyimpan pada jam berapa alarm harus berbunyi. Yang lain melacak terakhir kali alarm berbunyi. Untuk mengetahui hari kerja apa yang harus dimatikan, saya menggunakan varchar yang berisi sejumlah 7 digit. Digit pertama adalah Senin, Selasa kedua, … Jika 1 maka harus mati, jika 0 tidak. Contoh: 1111100 ini berarti alarm ini harus berbunyi pada hari Senin, Selasa, Rabu, Kamis dan Jumat.
Langkah 4: Pengaturan Arduino
Langkah ini sangat mudah. Akan ada tautan ke github saya pada langkah berikutnya di mana Anda dapat mengunduh file arduino.
Apa yang dilakukan program?
Program menunggu data serial masuk dari pi.
Segera setelah data diterima, ia mem-parsing string dan mengirimkan kembali konfirmasi ke pi.
String akan menjadi seperti ini: '1201' ini berarti 12:01. Saya menggunakan tampilan 7segmen anoda umum ini berarti bahwa Digit harus tinggi dan A, B, C, D, E, F, G dan DP harus rendah untuk menyalakannya. Jika Anda menggunakan katoda umum, Anda hanya perlu mengubah HIGH ke LOW & LOW ke HIGH.
Berikut tautan dengan info lebih lanjut tentang cara kerja tampilan 7 segmen. (dengan menggunakan perpustakaan):
www.instructables.com/id/Using-a-4-digit-7…
Berikut tautan tentang tampilan 7 segmen tanpa menggunakan perpustakaan:
create.arduino.cc/projecthub/SAnwandter1/p…
Langkah 5: Raspberry Pi Backend
Anda dapat mengunduh kode saya menggunakan Github. (https://github.com/VanHevelNico/WakeMeUp)
Cara menginstal program:
Backend ditulis dengan python menggunakan labu. Anda dapat membuat layanan yang memulai program ini (app.py) secara otomatis.
Anda harus meletakkan kode frontend di file html dari server apache yang kami unduh sebelumnya. (/var/html)
Bagaimana cara kerja program?
Ketika jam alarm dihidupkan pergi ke alamat ip jam Anda (itu akan ditampilkan di lcd)
Segera setelah Anda membuka alamat ip itu di browser Anda, komputer Anda akan mengirim permintaan socket.io ke backend yang mengatakan bahwa klien telah terhubung. Ketika backend menerima ini, beberapa utas akan dimulai yang akan saya jelaskan di bawah.
Mempersiapkan
Ini menginisialisasi semua objek yang dibutuhkan.
GetTemp
Ini membaca mcp3008 saluran 0 dan mengubah data biner ke suhu aktual dan memasukkannya ke dalam database dengan tanggal dan jam saat ini.
GetTempGrafiek
Ini mendapatkan 20 nilai terakhir dari sensor suhu dan memancarkannya ke frontend.
tijd_sturen
Metode ini mendapatkan waktu saat ini dan memeriksa apakah menit telah berubah. Jika telah berubah program mengirimkan waktu baru ke arduino menggunakan komunikasi serial
cekAlarm
Ini adalah metode yang paling penting. Itu mendapatkan semua alarm yang dihidupkan dan memeriksa apakah salah satu dari alarm ini harus berbunyi antara sekarang dan 5 menit yang lalu (ini adalah penyangga untuk memastikan setiap alarm berbunyi saat dibutuhkan). Jika alarm harus berbunyi kami akan memulai musik, strip led, … Kami membaca resistor sensitif gaya terus menerus dan ketika nilainya turun di bawah 1000 (baca fsr ditekan) Kami mematikan alarm dan memperbarui alarm di basis data. Kami mengatur tanggal alarm berbunyi untuk terakhir kalinya ke tanggal saat ini.
statusLight
Metode ini memancarkan nilai ledstrip dan menyalakan ledstrip jika diperlukan.
lichtAanpassen
Ini metode ekstra untuk memastikan ledstrip dan lampu alarm tidak bentrok.
Langkah 6: Kasus
Tautan ke file saya dapat ditemukan di sini:
Saya menggunakan printer 3d untuk mencetak casing. Ini dicetak dalam 4 bagian yang berbeda:
- Pelat depan dengan lubang untuk speaker dan beberapa dinding untuk tampilan 7 segmen
- Cincin luar untuk strip led dalam PETG transparan.
- Bagian tengah
- Pelat belakang dengan lubang untuk lcd dan lubang untuk kabel.
Pada model aslinya tidak ada lubang untuk layar 7 segmen namun ini diperlukan karena jika tidak, cahaya layar 7 segmen tidak akan bersinar.
Seperti yang Anda lihat setelah memasukkan semua komponen, saya menggunakan stiker vinil dengan tampilan kayu untuk membuat hasil akhirnya terlihat lebih baik. Tampilan jam bersinar melalui stiker yang menciptakan efek tampilan yang sangat bagus.
Direkomendasikan:
Bagaimana Saya Membuat Speaker Bluetooth Aneh Saya Sendiri: 4 Langkah
Bagaimana Saya Membuat Speaker Bluetooth Aneh Saya Sendiri: Dalam Instruksi ini saya akan menunjukkan kepada Anda bagaimana saya membuat sendiri speaker Bluetooth aneh ini yang menghasilkan suara luar biasa dengan bass saat menggunakannya dengan botol
Bagaimana Saya Membangun Generator Sepeda Listrik Saya: 10 Langkah
Bagaimana Saya Membuat Generator Sepeda Listrik Saya: Paul Fleck
Bagaimana Saya Membantu Baterai Netbook Saya!: 4 Langkah
Bagaimana Saya Membantu Baterai Netbook Saya!: Saya baru saja menemukan perangkat lunak fantastis ini dari rightmark yang memungkinkan baterai saya bertahan lebih lama setiap kali pengisian daya dan juga membuat netbook berjalan jauh lebih dingin. Biarkan saya menunjukkan kepada Anda apa yang saya lakukan pada 2-in-1 saya netbook dell model 3147
Bagaimana Saya Memperbaiki Laptop Saya yang Mati Lebih dari Dua Tahun: 8 Langkah
Bagaimana Saya Memperbaiki Laptop Saya yang Mati Lebih dari Dua Tahun: Catatan ** silakan pilih jika Anda menghargai proyek ini, terima kasih Telah membodohi laptop NE522 gateway ini di laci saya selama sekitar dua tahun mungkin karena ada yang lain untuk digunakan, jadi ketika saya melihat kontes ini Saya tahu ada baiknya memperbaikinya dan membagikan semua perbaikannya
Saya Membuat Quad Helikopter Saya: 3 Langkah
I Made My Quad Copter: Saya membuat quad copter saya hanya untuk rasa ingin tahu, dapatkah saya melakukannya? apakah bisa terbang? Bertahun-tahun yang lalu saya bermain dengan pesawat RC dan helikopter, saya tahu itu bisa terbang tetapi bukan permainan yang mudah, sering menabrak, membangun kembali dan mencoba lagi dan mencoba lagi. Hari ini saya memegang pemancar RC saya, semua m