Isi kandungan:
- Langkah 1: Mengumpulkan Bahagian
- Langkah 2: Memasang Litar
- Langkah 3: Menetapkan Paparan & Jam LCD
- Langkah 4: Pengekodan
- Langkah 5: Masa untuk Menguji
- Langkah 6: Persediaan Aplikasi Bluetooth
- Langkah 7: Membina Kes
- Langkah 8: Selesai
Video: Jam Penggera Matahari Terbit Dengan Paparan LCD dan Aplikasi Bluetooth: 8 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Musim sejuk boleh menjadi sedih. Anda bangun, gelap dan anda mesti bangun dari katil. Perkara terakhir yang anda ingin dengar ialah bunyi jam penggera anda yang menjengkelkan. Sekiranya anda, seperti saya, menghadapi masalah untuk bangun pada waktu pagi, jam penggera ini hanya yang anda perlukan.
Dalam tutorial ini, kita akan membina Jam Penggera Matahari Terbit. Ini adalah jam penggera seperti yang lain kerana anda dapat mengatur jam dan minit yang anda mahu bangun, tetapi dengan manfaat menggunakan cahaya untuk menerangi bilik tidur anda dalam jangka masa seperti matahari terbit untuk membangunkan anda dan bukannya menjengkelkan buzzer!
Kami juga akan menggunakan modul bluetooth untuk membuat aplikasi yang membolehkan anda mengatur penggera melalui telefon anda ke jam. Paparan LCD akan menunjukkan waktu, tarikh dan hari dalam seminggu. Lampu matahari terbenam ada di pasaran tetapi harganya mahal (carian pantas di Google mengembalikan produk dalam julat € 100), rapuh dan agak klinikal. Itulah sebabnya saya memutuskan untuk membuat sendiri untuk Projek Sekolah Arduino saya. Semua bahagian akan disenaraikan pada langkah seterusnya. Kod tersebut boleh dimuat turun dari jam gera-gubal repo sunrise-alarm. Mari kita mulakan:)
semua kod boleh didapati di:
Langkah 1: Mengumpulkan Bahagian
Kami akan menggunakan jam sebagai input kami dan LED ultra terang sebagai output kami untuk mensimulasikan matahari terbit kami.
Untuk membina litar, kita memerlukan:
- Arduino Uno- modul jam RTC DS3231 - MOSFET untuk mengawal kecerahan cahaya - LED super terang (saya beli 2, satu panas, satu sejuk) - Bateri 9V untuk menghidupkan LED - papan roti- Paparan LCD (16: 2) - Adaptor Bluetooth hc-05 sehingga kita dapat menggunakan aplikasi untuk mengatur penggera.
Semua yang anda perlukan boleh dibeli di www.martoparts.nl
Langkah 2: Memasang Litar
Anda boleh merujuk lakaran untuk rangkaian saya, malangnya saya tidak menemui RTC DS3231 dalam program ini, jadi saya mempunyai kaitan dengan yang satu ini. Sambungan sedikit berbeza sebenarnya, berikut adalah sambungannya. (modul bluetooth tidak ada dalam lakaran tetapi saya akan menerangkan bagaimana ia berfungsi di bawah menyebabkannya agak rumit)
RTC DS3231GND pergi ke GND di arduino
VCC menuju ke 5v
SDA pergi ke arduino
SCL masuk ke arduinoKami tidak akan menggunakan SQW & 32KMOSFET
Pin pintu masuk ke pin ~ 9 di Arduino Uno kerana itu PWM Pin saluran menuju ke sisi negatif dari pin Sumber LED menuju ke GND di ArduinoLCD-DisplayGND menuju ke GND di arduino
VCC pergi ke 5VSDA pergi ke A4 di arduinoSKL pergi ke A5 di arduinoLED- pergi ke mosfet + pergi ke bateri 5v9v Anda boleh membeli bateri 9v di mana-mana kedai tempatan, pasangkan ke arduino dengan jalur penyambung.
Modul Bluetooth hc-055V menuju ke 5V dari arduino
GND pergi ke GND di arduino
Sekarang ada 2 input lagi tetapi inilah bahagian yang sukar, kita harus menghubungkan input yang berlainan dari 2 pada arduinoTX dari hc-05 pergi ke RX pada arduinoRX dari hc-05 pergi ke TX pada arduino
Penting: Pastikan anda memutuskan sambungan TX & RX dari HC-05 semasa anda memuat naik kod di arduino anda atau anda akan mendapat ralat mengatakan "ada yang tidak kena dengan memuat naik kod" di penyusun.
Langkah 3: Menetapkan Paparan & Jam LCD
Perpustakaan yang digunakan untuk paparan LCD adalah kristal cair dan boleh didapati di: https://github.com/fdebrabander/Arduino-LiquidCrys… Muat turun fail zip, simpan dan letakkan di folder Arduino / perpustakaan anda
Perpustakaan yang saya gunakan untuk menjalankan jam boleh didapati di Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 dan pastikan anda berada di halaman DS3231. Muat turun fail zip, simpan dan letakkan di folder perpustakaan Arduino anda.
Masa
Sertakan pustaka DS3231 atau DS1307 dalam kod arduino anda
Tanggalkan 3 baris kod ini untuk menetapkan masa:
// rtc.setDOW (Isnin); // Tetapkan Hari Harian ke MINGGU // rtc.setTime (23, 57, 0); // Tetapkan masa ke 12:00:00 (format 24jam) // rtc.setDate (14, 1, 2019); // Tetapkan tarikh hingga 1 Januari 2014
Paparan LCD
Sertakan liqduicrystal_i2c perpustakaan dalam kod arduino anda
Untuk mencetak pada penggunaan Paparan LCD
lcd.setCursor (kol, baris) // kedudukan teks dicetaklcd.print (~) // teks dicetak
Langkah 4: Pengekodan
Muat turun kod di: github:
Tanggalkan 3 baris ini untuk menetapkan jam pada paparan LCD anda:
// rtc.setDOW (Isnin); // Tetapkan Hari Harian ke MINGGU // rtc.setTime (23, 57, 0); // Tetapkan masa ke 12:00:00 (format 24jam) // rtc.setDate (14, 1, 2019); // Tetapkan tarikh hingga 1 Januari 2014
Gunakan lcd.setCuros (col, baris); untuk menetapkan kedudukan teks pada paparan
lcd.setCursor (0, 2);
dan cetak () untuk mencetak sesuatu di paparan
lcd.print (rtc.getDateStr ());
Tukar pemboleh ubah ini jika anda mahu
int fadeTime = 1; // Berapa lama cahaya akan pudar hingga maxint setHour = 02; // Tetapkan jam untuk bangun (waktu ketenteraan) int setMin = 49; // Tetapkan minit untuk bangun semula = 9; // Tetapkan pinout dengan PWM
Kod modul Bluetooth
Rentetan pertamaHalf = getValue (input, ':', 0); // periksa input pertama sehingga ":"
Rentetan secondHalf = getValue (input, ':', 1); // periksa input kedua selepas ":"
// gunakan kod ini jika anda tidak menggunakan modul bluetooth
// // if (t.hour == setHour && t.min == setMin) // Periksa sama ada sudah tiba masanya untuk bangun! // {// mula (); //}
// periksa input 2 digit pertama, kemudian periksa input 2 digit kedua
jika (t.hour == firstHalf.toInt () && t.min == secondHalf.toInt ()) {mula (); }}
// logik untuk memisahkan rentetan
String getValue (String data, char separator, int index) {int found = 0; int strIndex = {0, -1}; int maxIndex = data.length () - 1;
untuk (int i = 0; i <= maxIndex && found <= index; i ++) {if (data.charAt (i) == pemisah || i == maxIndex) {found ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i + 1: i; }} pulangan dijumpai> indeks? data.substring (strIndex [0], strIndex [1]): ""; }
Langkah 5: Masa untuk Menguji
Kumpulkan kod & uji anda jika komponen berfungsi!
Langkah 6: Persediaan Aplikasi Bluetooth
Kerana saya menjengkelkan untuk menggali kod setiap kali saya ingin menetapkan penggera, saya ingin membuat aplikasi yang akan menetapkan penggera, yang lebih mudah.
Pergi ke https://ai2.appinventor.mit.eduhere kita boleh membuat aplikasi mudah yang membolehkan kita mengatur penggera, saya telah menyertakan susunan reka bentuk yang mudah (anda boleh mengubahnya kemudian) dan kod yang digunakan untuk sambungan bluetooth. Anda kemudian boleh menerbitkan aplikasi anda dan menyambungkannya di telefon anda dengan menggunakan kod QR atau secara langsung memuat turun aplikasi di komputer anda, kemudian menyalurkannya dengan kabel di telefon anda. (tangkapan skrin)
Langkah 7: Membina Kes
Anda sentiasa boleh membina casing yang berbeza di sepanjang jam arduino anda. Saya menggunakan kayu dan plexiglass matte untuk membina kotak jam penggera saya sendiri. Saya memilih plexiglass matte supaya anda dapat melihat cahaya yang bersinar dengan jelas melalui casing itu tetapi anda tidak dapat melihat bahagian dalam jam.
Langkah 8: Selesai
Setelah anda memuat naik kod ke arduino anda, membina casingnya dan memeriksa apakah anda memasang jam dengan betul, anda boleh memasang penggera pada aplikasi bluetooth dan mula bangun dengan lebih semula jadi!:)
Disyorkan:
Jam Penggera Pintar: Jam Penggera Pintar Dibuat Dengan Raspberry Pi: 10 Langkah (dengan Gambar)
Jam Penggera Pintar: Jam Penggera Pintar Dibuat Dengan Raspberry Pi: Adakah anda pernah mahukan jam pintar? Jika ya, ini adalah penyelesaian untuk anda! Saya membuat Jam Penggera Pintar, ini adalah jam yang boleh anda ubah waktu penggera mengikut laman web. Apabila penggera berbunyi, akan ada bunyi (bel) dan 2 lampu akan
Jam Penggera Matahari Terbit (Tingkatkan Kesedaran Pagi): 13 Langkah
Jam Penggera Matahari Terbit (Tingkatkan Kejayaan Pagi): Jadualkan matahari terbit anda sendiri, tingkatkan waktu bangun pagi Penemuan rawak terakhir, jadualkan matahari terbit anda sendiri! Pada siang hari, cahaya biru di bawah sinar matahari meningkatkan perhatian, ingatan, tahap tenaga, masa reaksi, dan suasana keseluruhan kita . Lampu biru s
UCL-lloT-Outdoor-light Dipicu oleh Matahari Terbit / matahari terbenam .: 6 Langkah
UCL-lloT-Outdoor-light Dipicu oleh Sunrise / matahari terbenam: Halo semua! Dengan sedikit kerja, beberapa bahagian dan kod saya telah mengumpulkan arahan ini yang akan menunjukkan kepada anda dari awal hingga akhir bagaimana menghasilkan cahaya luar ini. Idea ini berasal dari ayah saya, yang selama musim panas harus keluar secara manual
Jam Penggera Matahari Terbit Dengan Arduino: 9 Langkah (dengan Gambar)
Jam Penggera Matahari Terbit Dengan Arduino: Musim sejuk boleh menjadi sedih. Anda bangun, gelap dan anda mesti bangun dari katil. Perkara terakhir yang anda ingin dengar ialah bunyi jam penggera anda. Saya tinggal di London dan saya sukar bangun pada waktu pagi. Juga, saya terlepas bangun untuk
Lampu Matahari Terbit dan Matahari Terbenam Dengan LED: 7 Langkah (dengan Gambar)
Lampu Matahari Terbit dan Matahari Terbenam Dengan LED: Anda tahu, pada waktu musim sejuk sukar untuk bangun, kerana gelap di luar dan badan anda tidak akan bangun di tengah malam. Oleh itu, anda boleh membeli jam penggera yang membangunkan anda dengan cahaya. Peranti ini tidak semahal