Isi kandungan:

Arduino Open Window Detector - untuk Musim Sejuk: 6 Langkah
Arduino Open Window Detector - untuk Musim Sejuk: 6 Langkah

Video: Arduino Open Window Detector - untuk Musim Sejuk: 6 Langkah

Video: Arduino Open Window Detector - untuk Musim Sejuk: 6 Langkah
Video: Функция Arduino Millis поясняется 3 примерами 2024, Julai
Anonim
Pengesan Tingkap Terbuka Arduino - untuk Musim Sejuk
Pengesan Tingkap Terbuka Arduino - untuk Musim Sejuk

Ia semakin sejuk di luar, tetapi kadang-kadang saya memerlukan udara segar di bilik saya. Oleh itu, saya membuka tingkap, meninggalkan bilik, menutup pintu dan mahu kembali dalam 5 hingga 10 minit. Dan setelah beberapa jam saya ingat bahawa tetingkap terbuka … Mungkin anda tahu ini atau mempunyai anak, yang memberikan anda pengalaman ini.

Penyelesaian saya ialah Open Window Detector. Bateri akan bertahan lebih dari setahun, jadi letakkan pada musim luruh dan keluarkan pada musim bunga.

Langkah 1: Senarai Bahagian

Senarai Bahagian
Senarai Bahagian
Senarai Bahagian
Senarai Bahagian
Senarai Bahagian
Senarai Bahagian
Senarai Bahagian
Senarai Bahagian
  1. Papan Digispark dari eBay.
  2. Fon kepala lama.
  3. Butang kecil untuk menetapkan semula.
  4. Penyambung untuk pembesar suara - jika tidak, memprogramkan semula papan tidak mungkin.
  5. Kawat.
  6. Untuk bekalan kuasa, anda memerlukan:

Sarung bateri AAA dengan suis hidup / mati. Anda bahkan boleh menggunakan bateri yang sudah usang, kerana modul akan beroperasi hingga 2.4Volt

ATAU

Bateri lipo lama (walaupun kapasiti 30% mencukupi untuk tujuan ini) dan jika anda belum memilikinya, pengecas untuk bateri lipo dari eBay.

ATAU

Pemegang sel duit syiling CR2032

DAN

1A diod 1N4001 atau setara -atau apa sahaja yang anda ada dalam ukuran ini- untuk perlindungan kekutuban terbalik

Langkah 2: Memprogram Digispark Board

Memprogram Digispark Board
Memprogram Digispark Board
Memprogram Digispark Board
Memprogram Digispark Board

Pemasangan pemandu

Anda mesti memasang pemacu Digispark sebelum anda dapat memprogram Board. Muat turun di sini, buka dan jalankan "InstallDrivers.exe".

Pemasangan Arduino IDE

Pasang papan Digispark untuk Arduino IDE seperti yang dijelaskan dalam

Saya cadangkan untuk menggunakan sebagai Digispark URL URL dalam Arduino File / Preferences https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json yang baru dan bukannya https://digistump.com/package_digistump_index.json dan pasang Digistump AVR Boards versi 1.6.8.

Oleh kerana kami ingin menjimatkan kuasa, jam papan ditukar menjadi 1 MHz dalam persediaan kami () anda boleh memilih Digispark (1mhz - Tanpa USB) sebagai papan dalam menu Alat.

Susun dan muat naik program ke papan

Di Arduino IDE buat lakaran baru dengan Fail / Baru dan beri nama cth. "OpenWindowAlarm". Salin kod dari OpenWindowAlarm.ino

ATAU

Muat turun dan ekstrak repositori. Buka lakaran dengan Fail -> Buka … dan pilih folder "OpenWindowAlarm".

Susun dan muat naik. Perlu diingat, muat naik tidak akan berfungsi sekiranya pembesar suara disambungkan. Sekiranya semuanya berfungsi dengan baik, LED Digispark terpasang akan berkedip 5 kali (untuk kelewatan penggera 5 minit) dan kemudian mula berkelip selepas 8 saat dengan selang waktu 24 saat untuk memberi isyarat setiap bacaan suhu.

Langkah 3: Pengurangan Kuasa

Pengurangan Kuasa
Pengurangan Kuasa
Pengurangan Kuasa
Pengurangan Kuasa

Papan Digispark kami menggunakan 5mA pada 3, 0 volt. Dengan 2 bateri AAA (1000mAh) ia akan berfungsi selama 8 hari. Tetapi mungkin untuk mengurangkan penggunaan kuasa hingga 26 µA dalam 3 Langkah.

  1. Melumpuhkan LED kuasa dengan mematikan wayar tembaga yang menghubungkan LED kuasa ke diod dengan pisau atau mengeluarkan / mematikan 102 perintang menjimatkan 1.3 mA.
  2. Melepaskan pengatur voltan VIN menjimatkan 1.2 mA.
  3. Memutuskan perintang Pullup USB (ditandakan 152) dari 5 Volt (VCC) menjimatkan baki 2.5 mA. Putuskan sambungannya dengan memecahkan wayar tembaga di sisi perintang yang mengarah ke ATTiny. Ini melumpuhkan antara muka USB dan seterusnya kemungkinan memprogram papan Digispark melalui USB. Untuk mengaktifkannya lagi, tetapi masih menjimatkan kuasa, sambungkan perintang (ditandakan 152) terus ke USB 5 volt yang mudah didapati di bahagian luar dioda.

    Bahagian diod yang betul dapat dijumpai dengan menggunakan penguji kesinambungan. Satu sisi diod ini disambungkan ke pin 8 ATtiny (VCC). Bahagian lain disambungkan ke USB 5 volt.

Sekarang perintang tarik USB hanya diaktifkan jika papan Digispark disambungkan ke USB mis. semasa pengaturcaraan dan papan memakan 26 µA semasa tidur.

Sekiranya anda memprogram semula sekering, anda boleh mendapatkan penggunaan kuasa 6 µA.

Untuk memprogram ulang sekering, anda memerlukan ISP (yang dapat dibangun dengan Arduino) dan penyesuai penyambung. Untuk memprogramkan semula, anda boleh menggunakan skrip ini.

Langkah 4: Tetapkan Semula Butang

Tetapkan semula Butang
Tetapkan semula Butang
Tetapkan semula Butang
Tetapkan semula Butang
Tetapkan semula Butang
Tetapkan semula Butang
Tetapkan semula Butang
Tetapkan semula Butang

Sekiranya anda tidak mahu mengeluarkan kuasa untuk menetapkan semula penggera, sambungkan butang set semula antara PB5 dan arde. Saya melakukan ini dengan menyambungkan permukaan tembaga VIN yang tidak terhubung ke PB5 dan menyolder butang reset terus ke lubang pin VIN dan permukaan tanah besar pengatur voltan VIN yang dikeluarkan.

Sekiranya anda ingin membuang 5 saat menunggu sambungan USB setelah diset semula, anda boleh menukar kernel mikronukleus di ATtiny85. Jalankan skrip "0_Burn_upgrade-t85_recommended.cmd" dan kemudian muatkan semula aplikasi OpenWindowAlarm dengan Arduino IDE.

Langkah 5: Penceramah

Penceramah
Penceramah
Penceramah
Penceramah
Penceramah
Penceramah

Saya membongkar alat dengar lama dan menyambungkan penyambung lelaki ke kabel.

Langkah 6: Beroperasi

Beroperasi
Beroperasi
Beroperasi
Beroperasi
Beroperasi
Beroperasi

Untuk menggunakan papan letakkan di ambang tingkap dan sambungkan ke bateri. Sekiranya suhu di ambang lebih rendah daripada suhu di mana papan asalnya berada, ia memerlukan 5 Minit tambahan untuk diterima dengan bijak pada nilai permulaan yang baru.

Anda kemudian akan berasa bimbang jika anda membiarkan tingkap terbuka lebih lama dari lima minit.

Operasi Dalaman

  • Tetingkap terbuka dikesan selepas TEMPERATURE_COMPARE_AMOUNT * TEMPERATURE_SAMPLE_SECONDS (48) saat membaca suhu dengan nilai TEMPERATURE_DELTA_THRESHOLD_DEGREE (2) lebih rendah daripada suhu TEMPERATURE_COMPARE_DISTANCE * TEMPERATURE_SAMPLE_SAMPLE_SAMPLE_SAMPON_SAMPLE_SAMPON_SAMPLE_SAMPON_SAMPLE_SAMPON_SAMPON_SAMPON
  • Penundaan dilaksanakan dengan tidur 3 kali pada `SLEEP_MODE_PWR_DOWN` selama 8 saat untuk mengurangkan penggunaan tenaga.
  • Pengesanan tetingkap terbuka ditunjukkan dengan sekelip mata 20ms dan klik pendek setiap 24 saat. Oleh itu, sensor dalaman mempunyai masa 3 minit untuk menyesuaikan diri dengan suhu luar untuk menangkap perubahan suhu yang kecil. Semakin besar suhu berubah semakin awal nilai sensor akan berubah dan mengesan tetingkap terbuka.
  • `OPEN_WINDOW_ALARM_DELAY_MINUTES` (5) minit selepas pengesanan tetingkap terbuka penggera diaktifkan.

    Penggera tidak akan menyala atau penggera yang diaktifkan akan berhenti jika suhu semasa lebih besar daripada suhu minimum yang diukur (+1) iaitu tingkap sudah ditutup.

  • Penggera awal berlangsung selama 10 minit. Selepas ini ia diaktifkan selama 10 saat dengan jeda yang meningkat dari 24 saat hingga 5 minit.
  • Setiap VCC_MONITORING_DELAY_MIN (60) minit voltan bateri diukur. Bergantung pada jenis bateri yang dikesan semasa dihidupkan (lihat VCC_VOLTAGE_LIPO_DETECTION (3.6 volt)), voltan bateri di bawah VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_LIPO (3550) atau VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_STANDARD ditunjukkan setiap detik dan lampu kilat menunjukkan setiap detik Hanya bunyi bip (bukan lampu kilat) yang jauh lebih panjang daripada bunyi bip untuk pengesanan tetingkap terbuka.
  • Setelah dihidupkan, masa penyelesaian tidak aktif adalah 5 minit. Sekiranya papan semakin dingin selama waktu penyelesaian, 4:15 (atau 8:30) minit ditambahkan untuk mengelakkan penggera palsu setelah menyala.

Disyorkan: