Isi kandungan:

Jam Ramalan Cuaca Menggunakan Penggera Lama dan Arduino: 13 Langkah (dengan Gambar)
Jam Ramalan Cuaca Menggunakan Penggera Lama dan Arduino: 13 Langkah (dengan Gambar)

Video: Jam Ramalan Cuaca Menggunakan Penggera Lama dan Arduino: 13 Langkah (dengan Gambar)

Video: Jam Ramalan Cuaca Menggunakan Penggera Lama dan Arduino: 13 Langkah (dengan Gambar)
Video: Berjuang Untuk Rakyat? Ahhh Yang Bener? 2024, Disember
Anonim
Jam Ramalan Cuaca Menggunakan Penggera Lama dan Arduino
Jam Ramalan Cuaca Menggunakan Penggera Lama dan Arduino
Jam Ramalan Cuaca Menggunakan Penggera Lama dan Arduino
Jam Ramalan Cuaca Menggunakan Penggera Lama dan Arduino

Saya mempunyai jam penggera yang rosak dan muncul dengan idea untuk menukarnya menjadi stesen ramalan cuaca dan cuaca.

Untuk projek ini, anda memerlukan:

  • Jam penggera pekeliling lama
  • Arduino Nano
  • Modul sensor BME280 (suhu, kelembapan, tekanan)
  • Modul paparan LCD dari Nokia 5110
  • Jam RTC DS1307
  • Pengecas bateri Lithium TP4056
  • Bateri Li-ion lama diselamatkan dari telefon bimbit
  • Modul penggalak kecil 3.7v hingga 5v
  • Perintang Bergantung Cahaya (LDR - meter cahaya)
  • Buzzer (bekas digunakan dari PC lama)
  • 3 butang tekan
  • Sekumpulan perintang (2x10k, 270 ohm) dan transistor (2N2222A atau yang serupa)
  • Sebilangan tiub mengecil
  • PCB sekerap untuk digunakan sebagai hiasan plat depan
  • Kabel pelanjutan mikro-USB (kedua-dua sisi wanita dan lelaki adalah Mikro-USB)
  • Papan prototaip 2x8cm dan beberapa wayar

Langkah 1: Bongkar Semuanya

Bongkar Segalanya
Bongkar Segalanya

Mula-mula saya membongkar jam lama. Mekanisme loceng, motor, jam rosak…

Langkah 2: Butang untuk Tetapan Digital

Butang untuk Tetapan Digital
Butang untuk Tetapan Digital
Butang untuk Tetapan Digital
Butang untuk Tetapan Digital
Butang untuk Tetapan Digital
Butang untuk Tetapan Digital
Butang untuk Tetapan Digital
Butang untuk Tetapan Digital

Oleh kerana jam baru akan sepenuhnya digital dengan komputer mini di dalamnya, saya menambah 3 butang ringkas yang cantik di sebelahnya.

Dengan menggunakan sekeping aluminium sekeping, saya memotong lapisan untuk membuat label. Huruf untuk label dibuat dengan menggunakan huruf-pukulan dan penanda hitam.

Langkah 3: Kapasitor untuk Motor

Kapasitor untuk Motor
Kapasitor untuk Motor

Saya akan menyimpan loceng lama untuk menghidupkan penggera dengan motor. Mekanisme jam yang rosak lama mempunyai kapasitor seramik dengan label 104. Saya mengeluarkannya dari papan litar dan menyoldernya terus ke motor - ini akan membantu mengelakkan lonjakan kuasa semasa menghidupkan motor semasa penggera. Juga penting untuk diperhatikan adalah bahawa motor akan dikendalikan melalui transistor tetapi lebih banyak mengenai ini kemudian.

Langkah 4: Wajah Baru untuk Jam

Wajah Baru untuk Jam
Wajah Baru untuk Jam
Wajah Baru untuk Jam
Wajah Baru untuk Jam

Oleh kerana saya memutuskan untuk membuat muka baru untuk jam - saya mengambil papan litar dari timbunan sampah dan menggunakan senapang pembangun untuk mengeluarkan semua komponen dengan cepat. Lubang di bahagian tengah dibuat untuk skrin digital jam baru.

Langkah 5: Paparan Digital Dari Telefon Bimbit Lama

Paparan Digital Dari Telefon Bimbit Lama
Paparan Digital Dari Telefon Bimbit Lama
Paparan Digital Dari Telefon Bimbit Lama
Paparan Digital Dari Telefon Bimbit Lama

Untuk projek ini, saya memutuskan untuk menggunakan skrin LCD dari telefon bimbit Nokia 5110 lama. Skrin ini boleh didapati secara meluas sebagai modul, mereka mempunyai kekuatan yang sangat sedikit dan terdapat perpustakaan yang bagus untuk Arduino. Sekiranya anda membeli modul baru dengan skrin 5110 - anda menyelamatkan planet ini kerana semua modul baru dibuat dari telefon 5110, 3110 dan 3210 yang selamat!

Langkah 6: Menyambungkan Litar

Menyambungkan Litar
Menyambungkan Litar
Menyambungkan Litar
Menyambungkan Litar
Menyambungkan Litar
Menyambungkan Litar

Anda mungkin sudah menduga bahawa saya merancang untuk menggunakan papan Arduino untuk mengawal jam ini. Projek ini mudah diulang walaupun untuk peminat Arduino pemula kerana saya tidak membuat papan litar saya sendiri. Ia adalah papan Arduino Nano dengan modul yang disambungkan - sensor suhu, tekanan dan kelembapan BME280, jam DS1307 RTC, pengecas bateri Lithium TP4056, modul penguat 3.7v hingga 5v kecil, Perintang Bergantung Cahaya (LDR - meter cahaya) dan buzzer (diambil dari PC lama).

Lihat juga lakaran - mereka menunjukkan semua hubungan. Saya rasa semuanya sangat mudah dibaca dan difahami tetapi jika anda mempunyai sebarang pertanyaan, sila tanyakan di komen di bawah.

Beberapa nota mengenai persediaan:

  • Motor disambungkan terus dari bateri melalui transistor. Arduino mengawal transistor melalui perintang dan pin PWM D5.
  • Pin D7-12 digunakan untuk penyambung LCD. Tanah dan VCC disambungkan ke rel pada papan persimpangan.
  • LDR dipasang di permukaan jam dan perintang + 3 wayar keluar disolder tepat di bahagian belakang muka jam.
  • Untuk penyambungan butang saya menggunakan fungsi PULLUP dalaman di dalam Arduino. Butang Menu dilampirkan pada gangguan dan saya baru menyedari bahawa anda juga boleh menggunakan PULLUP dalaman untuk gangguan itu juga. Butang interupsi untuk Menu diperlukan agar kod tidak mengimbas keadaan butang sepanjang masa.
  • Jam akan memantau dan memaparkan keadaan bateri juga sehingga bateri dihubungkan secara langsung ke pin A0. Voltan bateri tidak pernah lebih tinggi daripada 4.2V jadi selamat untuk menyambungkan bateri terus ke pin analog Arduino.
  • Buzzer disambungkan terus ke pin PWM D6. Walaupun ini bukan amalan yang baik, saya tidak dapat melakukannya kerana Arduino Nano dapat menangani spesifikasi yang lebih tinggi daripada yang dinyatakan dan juga kerana bel tidak akan berfungsi secara berterusan. Penyediaan yang sama dengan mudah akan membakar pin pada papan ESP, jadi dalam kes ini saya mengesyorkan menggunakan kawalan transistor.
  • Jam sudah mempunyai suis, jadi saya memutuskan untuk menggunakannya. Ia kelihatan semula jadi di bahagian belakang.

Langkah 7: Papan Persimpangan untuk Sambungan Mudah

Papan Persimpangan untuk Sambungan Mudah
Papan Persimpangan untuk Sambungan Mudah
Papan Persimpangan untuk Sambungan Mudah
Papan Persimpangan untuk Sambungan Mudah

Semua modul memerlukan hubungan positif dan darat, jadi saya memutuskan untuk menggunakan papan prototaip 2x8cm dan rel solder 5V dan Ground untuknya. Saya juga membuat rel I2C kecil di sana kerana saya mempunyai beberapa modul menggunakan antara muka I2C.

Di sisi lain saya menyisipkan pin standard sehingga saya dapat menyambung dan memutuskan modul apabila diperlukan.

Beberapa komponen tambahan juga disolder di sana seperti transistor dan perintang untuk kawalan motor dan perintang untuk butang Menu yang menggunakan Interrupt. Saya menunjukkan skema di bahagian sebelumnya.

btw Bolehkah anda melihat sensor LDR sudah terpasang pada muka jam pada gambar pertama?

Langkah 8: Menyiapkan Kuasa

Menetapkan Kuasa
Menetapkan Kuasa

Saya menggunakan bateri ion Lithium lama dari telefon bimbit saya untuk menghidupkan jam ini. Biasanya bateri telefon bimbit yang diganti masih mempunyai kapasiti yang baik (sekurang-kurangnya separuh daripada yang baru ketika baru). Kelebihan mereka ialah mereka mempunyai litar perlindungan pelepasan bawaan dan mereka juga sangat tipis sehingga dapat digunakan dalam senario ruang kecil.

Untuk menyambungkan bateri, anda hanya memasangkan wayar ke + dan - pin pada bateri. Jangan risau, anda tidak akan merosakkan sel kerana terdapat alat kawalan dan ruang kosong antara pin dan bahan kimia sel.

Pada gambar ini anda dapat melihat bateri dan juga pengawal cas TP4056 serta penggalak 5V yang disambungkan bersama dan ke bateri. Saya menggunakan beberapa tiub shrink-wrap untuk menjadikan semuanya terasing dan padat.

Langkah 9: USB Mikro untuk Mengecas dan Mengemas kini Firmware

USB Mikro untuk Mengecas dan Mengemas kini Firmware
USB Mikro untuk Mengecas dan Mengemas kini Firmware

Sebaik sahaja saya menyolder semuanya, saya menempelkan bel dan sensor suhu / tekanan / kelembapan pada panel belakang. Semuanya dipasang dengan baik di slot yang ada dari kawalan dail jam lama.

Kini tiba masanya untuk memasang port USB Mikro di bahagian belakang. Mengapa Mikro USB jika Nano menggunakan Mini USB? Hanya kerana dalam rumah tangga, kebanyakan kabel USB berasal dari telefon bimbit dan akan lebih baik jika jam itu juga dapat mengambilnya.

Oleh kerana saya ingin menggunakannya untuk mengecas dan mengemas kini fungsi jam dan stesen cuaca - saya menanggalkan kabel USB, menyalurkan wayar kuasa melalui pengecas TP4056 dan kabel Data + / Data terus ke soket USB Arduino Nano. Anda dapat melihatnya pada skema yang saya tunjukkan di bahagian sebelumnya.

Langkah 10: Perhimpunan Akhir

Pemasangan akhir
Pemasangan akhir
Pemasangan akhir
Pemasangan akhir
Pemasangan akhir
Pemasangan akhir

Kini tiba masanya untuk mengemas semuanya ke dalam jam yang asal. Saya menggunakan shrink tube untuk mengasingkan komponen dan modul. Malah Arduino dibungkus dengan tiub yang mengecut.

Tuding pada foto pertama untuk melihat di mana setiap komponen diletakkan.

Langkah 11: Kodnya

Seperti yang anda lihat, jam penuh di dalamnya. Ini memungkinkan untuk membuat sesuatu yang lebih canggih daripada jam lama yang saya ada - kerana tentu saja ada beberapa kemahiran pengaturcaraan. Saya menulis kod awal tetapi meminta rakan saya untuk masuk dan membantu saya.

Sejauh ini, selain jam itu sendiri, ini adalah fungsi yang telah disokong oleh projek ini:

  • Paparan waktu dan tarikh (serta waktu dan pengaktifan penggera pada skrin yang sama)
  • Skrin menyala dalam keadaan gelap atau ketika pergerakan dikesan (berdasarkan perubahan cahaya)
  • Ramalan cuaca (Cerah, Mendung, Hujan)
  • Paparan suhu, tekanan dan kelembapan (untuk kelembapan ia akan menunjukkan sama ada terlalu kering)
  • Menu untuk tetapan: penggera, mengubah waktu, mengaktifkan / mematikan paparan tarikh, mengaktifkan / mematikan pemberitahuan bunyi perubahan cuaca dan beralih antara unit imperial dan metrik
  • Tetapan penggera - hidup / mati, menetapkan waktu, menetapkan melodi dan / atau loceng untuk pemberitahuan

Kod terkini:

Kod akan dikemas kini pada masa akan datang dengan ciri-ciri baru jadi pastikan untuk memeriksa semula kemas kini firmware:-)

Sekiranya anda baru mengenal dunia Arduino, berikut adalah langkah-langkah yang saya cadangkan lakukan:

  • Pasang pemacu USB untuk papan anda (mis. CH340)
  • Pasang Arduino IDE
  • Pasang perpustakaan yang digunakan dalam projek ini
  • Muat turun dari GitHub dan muat naik kod Projek terkini ke jam menggunakan kabel USB Mikro (anda boleh menggunakannya dari telefon bimbit)

Algoritma ramalan adalah seperti berikut:

Arduino Nano mendapat data baru dari sensor BME280 setiap 12 minit. Kitaran pengukuran adalah 3 jam. Selepas 3 jam julat pemantauan tekanan (nilai maksimum dan min selama 3 jam) beralih relatif kepada nilai rata-rata semasa julat semasa dan nilai tekanan semasa. Setiap jam arah perubahan tekanan dengan nilai tekanan semasa disimpan. unit kPa digunakan untuk pengiraan ramalan.

Oleh kerana keterbatasan memori Nano, algoritma peramalan harus dipermudah. Tetapi walaupun terdapat penyederhanaan, ia dapat meramalkan curah hujan dalam 12-24 jam akan datang walaupun ramalannya sekarang lebih pesimis - nilai defaultnya adalah "Cuaca Mendung".

"Cuaca Cerah" - nilai tekanan semasa lebih tinggi daripada norma sebanyak 7 mata, tekanan tidak jatuh dan perbezaan antara nilai min dan nilai maksimum selama 3 jam terakhir tidak lebih dari 2 titik.

Kemungkinan hujan "Cuaca Hujan" - tekanan semasa 15 titik lebih rendah daripada norma dan perbezaan antara nilai min & maksimum lebih dari 2 titik ATAU Tekanan jatuh dan perbezaan antara nilai semasa dan norma adalah 3 - 30 mata.

Untuk meningkatkan kualiti ramalan, disarankan untuk menukar "ketinggian" anda dalam fail kod utama. Anda boleh mendapatkan ketinggian anda misalnya di sini:

Langkah 12: Video Langkah demi langkah

Image
Image

Sekiranya sukar untuk mengikuti apa yang saya lakukan di atas, berikut juga versi video dengan semua langkah yang ditunjukkan.

Langkah 13: Perkataan Akhir

Secara keseluruhan, dari sudut pandangan saya, tahap kesukaran projek ini tidak tinggi dan ada yang dapat membuatnya. Sekiranya anda tidak mempunyai jam lama, anda boleh mendapatkannya yang murah di pasar lambak tempatan.

Semua komponennya berharga rendah dan boleh didapati di Sparkfun / Aliexpress / eBay / Amazon.

Saya harap tutorial ini menarik bagi anda dan akan berterima kasih sekiranya anda dapat menyokong pertandingan Instructable pertama saya dalam pertandingan Jam.

Peraduan Jam
Peraduan Jam
Peraduan Jam
Peraduan Jam

Naib Johan dalam Peraduan Jam

Disyorkan: