Salam untuk semua pembaca Habr! Dalam artikel saya berikutnya, saya akan berbicara tentang ARDUINO lagi. Saya ingin berbagi dengan Anda proyek saya berikutnya, diimplementasikan pada mikrokontroler nRF52832. Ini adalah sensor suhu dan kelembaban pada sht20 | (
lembar data ) dengan tampilan tinta elektronik monokrom (E-INK | E-PAPER), yang merupakan bagian dari ekosistem MySensors.
Fungsi utamanya adalah memantau suhu dan kelembaban di dalam ruangan, mengirim data ke pengontrol rumah pintar atau langsung ke aktuator. Nah, fungsi tambahan hanyalah output data dari sensor sht20, informasi jaringan dan tingkat baterai ke monitor. Dalam implementasi saya, ini hanya interaksi langsung langsung dengan aktuator (pengontrol sistem pemanas). Implementasinya non-kanonik dari sudut pandang MySensors, saya menambahkan fungsionalitas mode master-slave, jenis sensor, dan air snap. Juga, dalam implementasi saya, prosedur untuk menginisialisasi lapisan transport diubah, karena Logika MySensors tidak terlalu baik untuk perangkat mandiri. Tapi semua ini adalah cerita yang sedikit berbeda, mungkin layak untuk publikasi terpisah, tetapi untuk sekarang artikel tentang perangkat dalam tradisi protokol MySensors.
Gagasan tentang perangkat dengan fungsi tersebut telah matang di kepala saya untuk waktu yang lama, upaya pertama untuk mengimplementasikan ide ini dilakukan pada mikrokontroler atmega328. Dan pada prinsipnya, ini dilakukan, tetapi saya ingin lebih banyak efisiensi energi, tampilan informasi yang lebih berwarna pada layar.
versi di atmega 328
Saat menghadirkan sensor, komunitas terkadang merujuk ke perangkat perusahaan Xiaomi, kata mereka. Tetapi ada sedikit perbedaan, Xiaomi memiliki perangkat layar, dalam kasus saya ini adalah sensor sistem rumah pintar dengan fungsi tampilan. Mengapa ditampilkan? Saya kadang-kadang hanya ingin memalingkan kepala ke arah sensor dan melihat suhu di ruangan :).

Sensor diimplementasikan pada dua papan, dasar untuk rangkaian tampilan diambil dari tampilan Waveshare yang umum |
Datashit . Benar, perubahan kecil dilakukan kemudian. Otak sensor adalah chip nRF52832 dalam implementasi modular dari HOLYIOT. Modul-modul itu sendiri patut mendapat perhatian khusus, ini adalah implementasi yang paling bebas masalah dalam hal pekerjaan di Arduino IDE. Perangkat menggunakan modul - YJ-16048.

Dasar implementasi perangkat lunak dari pekerjaan dengan tampilan diambil
"contoh" didistribusikan di situs web Waveshare Electronics. Benar, ini bukan tanpa penyempurnaan.
Pengukuran konsumsi tampilan sesuai dengan yang dinyatakan dalam lembar data, yang paling penting adalah tampilan ini bisa tidur dan data tetap ada di layar. Benar, mengubah tampilan menjadi mimpi tidak berhasil segera, implementasi dari Waveshare tidak mengizinkan ini.
Daya pada sensor diimplementasikan pada dua baterai CR2450, menurunkan chip TPS62745DSSR1 dengan karakteristik yang cukup baik untuk 3.3V yang berfungsi |
lembar data . Saat ini, kami dapat dengan yakin mengatakan bahwa perangkat ini (versi yang dijelaskan) mampu bekerja selama 1 tahun.
Konsumsi dalam mode tidur nyenyak - ~ 25 μA (dengan program uji). Konsumsi rata-rata dalam mode operasi ~ 9mA.
Proyek ini terbuka, file
gerber tersedia di situs web
OpenHardVar , kode program dan pustaka tersedia di sini (
google drive ) Mengapa tidak GitHub? Kebetulan, di re-finalisasi (v2) itu akan ada juga.
Percakapan terpisah untuk mereka yang memutuskan untuk mengulangi perangkat ini pantas topik konversi karakter font yang diinginkan ke dalam array C. Pengalaman saya mengonversi menggunakan TheDotFactory.
Saya akan mencoba menggambarkan proses dengan gambar :) Masalah lain yang ditemui adalah memperbarui informasi di layar. Pada layar ini, tersedia pembaruan parsial dari area yang diinginkan pada layar, yang merupakan nilai tambah absolut pada bagian konsumsi daya, tetapi minusnya adalah penampilan artefak di bidang pembaruan data dari karakter sebelumnya.

Tetapi masalah ini telah diselesaikan (lihat kode program). Itu berakhir seperti ini:




Video menunjukkan operasi tampilan.
Ini menunjukkan pembaruan data di layar, setelah disempurnakan:
Implementasi ini belum final, proyek ini dibiarkan untuk pengulangan dalam bentuk modul Arduino. Korps untuk itu tidak direncanakan. Sekarang, dari proyek ini, beberapa lahir sekaligus sebagai kelanjutan logis. Perbedaan utama dari V2 masa depan adalah ditenagai oleh baterai tunggal, layar tiga warna, keberadaan rumah.
Contoh memicu tampilan tiga warna:
Sangat disarankan (bagi mereka yang ingin mengulang) untuk membaca topik saya di
forum .org pada proyek ini (dalam bahasa Inggris). Jika bahasa adalah masalah, saya akan selalu dengan senang hati membantu semua orang dalam obrolan (memasang papan, bekerja dengan mikrokontroler nRF5 di lingkungan ide arduino, kiat-kiat bekerja dengan protokol
mysensors -
@mysensors_rus