Isi kandungan:

Jam Penggera Matahari Terbit Dengan Paparan LCD dan Aplikasi Bluetooth: 8 Langkah
Jam Penggera Matahari Terbit Dengan Paparan LCD dan Aplikasi Bluetooth: 8 Langkah

Video: Jam Penggera Matahari Terbit Dengan Paparan LCD dan Aplikasi Bluetooth: 8 Langkah

Video: Jam Penggera Matahari Terbit Dengan Paparan LCD dan Aplikasi Bluetooth: 8 Langkah
Video: Pembuatan Modul Ajar Sekolah Penggerak 2024, Julai
Anonim
Jam Penggera Matahari Terbit Dengan Paparan LCD dan Aplikasi Bluetooth
Jam Penggera Matahari Terbit Dengan Paparan LCD dan Aplikasi Bluetooth
Jam Penggera Matahari Terbit Dengan Paparan LCD dan Aplikasi Bluetooth
Jam Penggera Matahari Terbit Dengan Paparan LCD dan Aplikasi Bluetooth

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

Mengumpulkan Bahagian
Mengumpulkan Bahagian
Mengumpulkan Bahagian
Mengumpulkan Bahagian
Mengumpulkan Bahagian
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

Memasang Litar
Memasang Litar
Memasang Litar
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

Menetapkan Paparan & Jam LCD
Menetapkan Paparan & Jam LCD
Menetapkan Paparan & Jam LCD
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

Pengekodan
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

Persediaan Aplikasi Bluetooth
Persediaan Aplikasi Bluetooth
Persediaan Aplikasi Bluetooth
Persediaan Aplikasi Bluetooth
Persediaan Aplikasi Bluetooth
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

Membina Kes
Membina Kes
Membina Kes
Membina Kes
Membina Kes
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

Selesai!
Selesai!
Selesai!
Selesai!
Selesai!
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: