Isi kandungan:
- Langkah 1: Mencetuskan idea
- Langkah 2: Membuat lakaran dan Bahan
- Langkah 3: Membuat Selongsong Outter
- Langkah 4: Laser Memotong Sarung Luar
- Langkah 5: Menyatukannya
- Langkah 6: Kod
- Langkah 7: Elektronik
- Langkah 8: Akhir
Video: Teman Pagi: 8 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Beberapa orang mempunyai jadual yang sangat sibuk, yang menjadikannya mudah untuk melupakan satu atau dua perkara. Dengan jam penggera ini, anda boleh menetapkan banyak penggera agar anda tetap mengikut jadual. Jam berjalan 24 jam dan yang harus anda lakukan adalah memprogramnya agar tidak berfungsi pada waktu yang berlainan dalam sehari yang sesuai dengan jadual anda. Apabila anda melakukan ini, waktu yang telah anda tetapkan akan muncul di layar LCD, sehingga anda dapat memeriksa untuk memastikannya benar dan berfungsi sebagai peringatan tambahan.
Langkah 1: Mencetuskan idea
Semasa kami berusaha menyelesaikan masalah, kami menggunakan kaedah tulang ikan untuk menghasilkan idea dan menghasilkan jam penggera kami.
Langkah 2: Membuat lakaran dan Bahan
Semasa langkah ini, kami cuba membuat senarai semua perkara yang kami fikir akan kami perlukan untuk selongsong elektronik dan luaran. Kemudian kami membuat sketsa seperti apa yang kami mahukan agar jam penggera kelihatan dan bagaimana kami memasang selongsong luarnya.
Langkah 3: Membuat Selongsong Outter
Untuk prototaip pertama, saya hanya ingin melihat bagaimana sendi jari sesuai, jadi saya menggunakan kotak kasut dan tidak menggunakan ukuran yang tepat.
Langkah 4: Laser Memotong Sarung Luar
Untuk prototaip kedua, saya ingin mendapatkan ukuran yang tepat dan perlu membuat pdf untuk dihantar ke pemotong laser. Untuk melakukan ini, saya menggunakan laman web aplikasi pembuat kotak, https://boxdesigner.connectionlab.org. Di laman web itu, saya kemudian memasukkan dimensi kotak 3-D, ketebalan bahan kami, unit ukuran, dan jenis fail yang saya mahukan. Dimensi kotak adalah 7.5 dalam x 3 dalam x 5 inci dan saya menggunakan bahan akrilik tebal 1/8. Pengukuran takik sendi jari kemudian secara automatik dikonfigurasi menjadi 0,46875 inci. Saya memilih versi pdf kerana itulah jenis fail yang dibaca oleh pemotong laser dan saya ingin membuat beberapa perubahan pada adobe pada fail tersebut. Saya menukar warna garis menjadi merah, supaya pemotong laser tahu memotongnya daripada mengukir bentuknya, dan saya menambahkan kotak segi empat tepat dengan dimensi 3,92 inci dengan 1,56 inci pada apa yang akan menjadi bahagian depan kotak. Saya juga menambah segi empat tepat dengan dimensi 1in hingga 0.5in di bahagian kanan di bahagian bawah untuk berfungsi sebagai pembuka kabel yang disambungkan ke jam penggera. Terakhir saya menambah tiga bukaan bulat di bahagian atas untuk dua buzzer dan butang. Bukaan bel mempunyai diameter 0,5 in dan bukaan butang 0,375 in.
Langkah 5: Menyatukannya
Semasa semua kepingan dipotong, saya menggunakan picagari dan gam akrilik untuk menutupnya bersama. Saya memegang kepingan itu bersama-sama dan meneteskan gam di antara takik untuk membuat sisi bersatu, tetapi bahagian atasnya tidak terpaku.
Langkah 6: Kod
Pengenalan:
Projek ini dikodkan menggunakan bahasa c ++ pada perisian Arduino IDE. Pengawal mikro yang digunakan adalah NodeMCU dengan ESP8266. Untuk projek ini, kita memerlukan cara untuk menyimpan waktu dengan tepat, bel berbunyi, sistem penggera menyebabkan penggera berdengung, dan layar untuk memaparkan waktu semua dan waktu penggera. Untuk kod lengkap rujuk pautan ini
Mengimport Perpustakaan
Pertama, kita perlu mengimport perpustakaan yang diperlukan.
#sertakan "RTClib.h"
#include "Wire.h" #include #include #include #include
Memulakan Pemboleh ubah
Selanjutnya kita perlu memulakan pemboleh ubah untuk kemudian, menetapkan tata letak pin untuk butang buzzer, mengatur RTC, dan menetapkan alamat I2C paparan LCD.
LiquidCrystal_I2C lcd (0x27, 20, 4);
const int buzzer1 = 12; const int buzzer2 = 0; butang const int = 2; RTC_DS3231 rtc; char daysOfTheWeek [7] [12] = {"Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu"} waktu mula; waktu aktivti; int prevoustime = 0; char ahours1 [3]; char amins1 [3]; int jam1 = 0; int min1 = 0; char ahours2 [3]; char amins2 [3]; int jam2 = 0; int min2 = 0; char ahours3 [3]; char amins3 [3]; int jam3 = 0; int min3 = 0; penggera int = 0; int ByteReceived; char diterima semulaChar; const byte numChars = 32; char diterimaChars [numChars];
Persediaan
Seterusnya, kita perlu mempunyai fungsi yang memulakan semua proses yang diperlukan. Dalam fungsi ini, kita perlu menghidupkan LCD dan mencetak waktu awal, membuat fungsi yang lebih kecil yang memberikan waktu nyata RTC jika belum memilikinya, dan memulai monitor bersiri.
batal persediaan () {
#ifndef ESP8266 sambil (! bersiri); #endif if (! rtc.begin ()) {Serial.println ("Tidak dapat menemui RTC"); sementara (1); } if (rtc.lostPower ()) {Serial.println ("RTC hilang kuasa, mari tetapkan masa!"); rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)))} lcd.init (); lcd.backlight (); // menjadikan Baklight AKTIF. lcd.clear (); // Membersihkan LCD lcd.print ("00:00"); // paparan pada LCD selepas muat naik kod lcd.setCursor (10, 0); lcd.print ("00:00"); lcd.setCursor (0, 1); lcd.print ("Masa"); lcd.setCursor (10, 1); lcd.print ("Penggera 1"); lcd.setCursor (0, 3); lcd.print ("Penggera 2"); lcd.setCursor (0, 2); lcd.print ("00:00"); lcd.setCursor (10, 3); lcd.print ("Penggera 3"); lcd.setCursor (10, 2); lcd.print ("00:00"); rtc.begin (); pinMode (butang, INPUT); // Tetapkan pin untuk senyap pinMode (buzzer1, OUTPUT); // tetapkan pin untuk pinMode output buzzer (buzzer2, OUTPUT); // tetapkan pin untuk output buzzer Serial.begin (9600); Serial.println ("Masa input penggera dalam format HHMM tanpa ruang di antara penggera"); waktu mula = milis () / 1000; }
Menerima Data
Sekarang, kita perlu dapat menerima masa penggera. Untuk melakukan itu, kami membuat fungsi untuk menerima data dari monitor bersiri dan menyimpannya dalam pelbagai.
batal recvWithEndMarker () {
int statik ndx = 0; String timein = Serial.readString (); untuk (ndx = 0; timein [ndx]; ndx ++) {diterimaChars [ndx] = timein [ndx]; } diterimaChars [ndx] = '\ 0'; Serial.print (diterimaChars); }
Menetapkan Penggera
Langkah seterusnya ialah mengatur alarm. Berikut adalah kod untuk penggera 1. Untuk penggera 2 dan 3 proses yang sama diulang dengan beberapa perubahan nombor.
/ * Penggera 1 * /
recvWithEndMarker (); int h, m; untuk (h = 0; h <2; h ++) {ahours1 [h] = diterimaChars [h]; } untuk (m = 2; m <4; m ++) {amins1 [m-2] = diterimaChars [m]; } ahours1 [h] = '\ 0'; amins1 [m-2] = '\ 0'; Serial.print (ahours1); Serial.print (amins1); jam1 = atoi (ahours1); min1 = atoi (amins1); Cetakan bersiri (jam1); Cetakan bersiri (min1);
Buzzer / Butang
Dengan selesai, kita perlu mematikan buzzer apabila masa sebenar dan waktu penggera sama. Juga dalam langkah ini kita membuat butang tunda seperti yang menghentikan bel semasa anda menahannya.
/ * Butang Senyap * /
kesunyian int; int b; b = digitalRead (2); jika (b == RENDAH) {diam = 1; } lain {diam = 0; } / * Mulakan Penggera * / jika (jam == jam1 && mins == min1) {penggera = 1; } lain jika (jam == jam2 && mins == min2) {penggera = 1; } lain jika (jam == jam3 && mins == min3) {alarm = 1; } lain {alarm = 0; senyap = 0; } jika (penggera == 1 && diam == 0) {nada (buzzer1, 4000, 1000); nada (buzzer2, 4000, 1000); kelewatan (1000); noTone (buzzer1); noTone (buzzer2); kelewatan (1000); }
Masa Percetakan
Akhirnya, kita perlu mencetak masa penggera dan masa nyata ke skrin LCD.
DateTime now = rtc.now ();
jam int = (sekarang.jam ()); int mins = (now.minute ()); / * Waktu penggera dalam format 00:00 * / lcd.setCursor (10, 0); lcd.print (ahours1); lcd.setCursor (13, 0); lcd.print (amins1); lcd.setCursor (0, 2); lcd.print (ahours2); lcd.setCursor (3, 2); lcd.print (amins2); lcd.setCursor (10, 2); lcd.print (ahours3); lcd.setCursor (13, 2); lcd.print (amins3); / * Waktu Paparan dari RTC * / lcd.setCursor (0, 0); lcd.print (jam); lcd.print (":"); lcd.print (min);
Langkah 7: Elektronik
Terdapat banyak komponen elektronik dari projek ini, seperti yang terlihat dalam bil bahan. Imej Pertama adalah skema elektronik akhir projek. Imej Kedua adalah reka bentuk elektronik terakhir kami. Gambar Ketiga adalah projek kami di tengah-tengah prototaip kedua.
Untuk mula pasangkan NodeMCU anda ke hujung papan roti anda. Anda kemudian perlu menyambungkan semua elektronik anda yang lain ke NodeMCU dan papan roti. Mulakan dengan menyambungkan skrin LCD anda ke pin D1 untuk SCL dan D2 untuk SDA. LCD akan membolehkan pengguna melihat masa semasa dan masa penggera yang ditetapkan. Sekarang ada wayar yang menyambungkan buzzer anda ke pin D3 dan D6. Pengeras suara akan membolehkan penggera memberi amaran kepada pengguna apabila masa yang telah ditentukan telah dicapai. Anda sekarang mesti memasang butang untuk membolehkan penggera dihentikan. Pasang butang ini ke pin D4. Sekarang anda akan melekatkan jam Masa Nyata anda ke papan roti. Kawat jam Masa Nyata sehingga menggunakan pin SDA dan SCL yang sama yang digunakan untuk paparan LCD.
Langkah 8: Akhir
Sekiranya anda mengikuti maklumat yang diberikan projek anda mungkin kelihatan seperti gambar di atas. Kami mengucapkan semoga berjaya dalam usaha anda membuat projek ini dan apabila anda telah menyelesaikan projek ini, kami menggalakkan anda untuk berkongsi gambar dan komen dengan kami dalam komen. Terima kasih dan semoga berjaya rakan-rakan Pembuat.
Disyorkan:
Rutin Cuci Pagi Muka (untuk Kanak-kanak): 7 Langkah
Rutin Pagi Mencuci Muka (untuk Kanak-kanak): Pada hujung minggu, sepupu kecil saya tinggal di rumah kami kerana ibu bapanya tidak ada di rumah, setelah tinggal bersamanya selama dua hari, saya perhatikan bahawa dia mempunyai sedikit masa yang sukar untuk mengingati setiap langkah ketika mencuci wajahnya setelah dia bangun. Oleh itu, saya memutuskan untuk membinanya
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
Cahaya Pagi & Malam: 4 Langkah
Lampu Pagi & Malam: Ini adalah lampu kertas buatan sendiri yang digunakan untuk pagi dan malam
Mesin Pagi: 5 Langkah (dengan Gambar)
Mesin Pagi: Pernahkah anda bangun pada waktu pagi dengan penggera yang menjengkelkan anda dan kemudian berjalan ke dapur hanya untuk melakukan usaha menuangkan minuman anda. Baiklah, tidak kelihatan lagi! Instruksional ini akan mengajar anda bagaimana membuat mesin yang tidak dapat
Robot Kaca 4 pagi: 8 Langkah (dengan Gambar)
Robot Kaca 4 pagi: Beberapa orang bertanya kepada saya dari mana saya mendapat idea saya. Saya tidak pasti, tetapi saya tahu bila saya mendapatkannya. Saya tidak tahu mengapa, tetapi nampaknya saya mendapat banyak idea saya pada waktu yang tidak selesa - setengah jalan pelajaran, berjalan pulang dalam gelap, atau, sering, Saya bangun pada