Daftar Isi:

Sensor Level Kolektor Air bertenaga baterai: 7 Langkah (dengan Gambar)
Sensor Level Kolektor Air bertenaga baterai: 7 Langkah (dengan Gambar)

Video: Sensor Level Kolektor Air bertenaga baterai: 7 Langkah (dengan Gambar)

Video: Sensor Level Kolektor Air bertenaga baterai: 7 Langkah (dengan Gambar)
Video: Sensor Pendeteksi Ketinggian Air - Praktikum Elektronika Dasar 2024, November
Anonim
Sensor Level Kolektor Air bertenaga baterai
Sensor Level Kolektor Air bertenaga baterai
Sensor Level Kolektor Air bertenaga baterai
Sensor Level Kolektor Air bertenaga baterai

Rumah kami memiliki tangki air yang diambil dari air hujan yang jatuh di atap, dan digunakan untuk toilet, mesin cuci, dan menyiram tanaman di kebun. Selama tiga tahun terakhir musim panas sangat kering, jadi kami mengawasi ketinggian air di tangki. Sejauh ini, kami menggunakan tongkat kayu, yang kami masukkan ke dalam tangki dan menandai levelnya. Tapi pasti itu harus mungkin untuk memperbaiki ini!

Di sinilah proyek ini masuk. Idenya adalah memasang sensor jarak ultrasonik di bagian atas tangki. Sensor ini bekerja sebagai sonar yang memancarkan gelombang suara, yang kemudian dipantulkan oleh permukaan air. Dari waktu yang diperlukan gelombang untuk kembali dan kecepatan suara, Anda dapat menghitung jarak ke permukaan air dan menentukan seberapa penuh tangki.

Karena saya tidak memiliki sambungan listrik yang dekat dengan tangki, perangkat yang lengkap harus berfungsi dengan baterai. Ini berarti saya harus sadar tentang konsumsi daya semua bagian. Untuk mengirim kembali data, saya memutuskan untuk menggunakan Wifi built-in dari microchip ESP8266. Meskipun Wifi cukup haus daya, Wi-Fi memiliki keunggulan dibandingkan jenis koneksi radio lainnya: Anda dapat langsung terhubung ke perute nirkabel rumah Anda tanpa harus membangun perangkat lain yang berfungsi sebagai relai.

Untuk menghemat daya saya akan menempatkan ESP8266 dalam tidur nyenyak sebagian besar waktu dan melakukan pengukuran setiap jam. Untuk tujuan saya menindaklanjuti ketinggian air, ini lebih dari cukup. Data akan dikirim ke ThingSpeak dan kemudian dapat dibaca di smartphone melalui aplikasi.

Satu detail lagi! Kecepatan suara, penting untuk pengukuran jarak, tergantung pada suhu dan pada tingkat lebih rendah pada kelembaban. Untuk pengukuran luar yang akurat selama musim, kami akan memasang sensor BME280, yang mengukur suhu, kelembaban, dan tekanan. Sebagai bonus, ini membuat sensor ketinggian air kami juga menjadi stasiun cuaca mini.

Bagian:

  • 1x ESP8266 ESP-12F.
  • 1x pelat adaptor ESP-12F.
  • 1x FT232RL FTDI: Adaptor USB ke Serial.
  • 1x HC-SR04-P: modul pengukuran jarak ultrasonik. Perhatikan bahwa P penting, karena ini adalah versi yang memiliki tegangan operasi minimum 3V yang rendah.
  • 1x BME280 versi 3.3V: sensor suhu, tekanan dan kelembaban.
  • 1x IRL2203N: transistor MOSFET saluran-n.
  • 1x MCP1700-3302E versi 3.3V: pengatur tegangan.
  • 3x baterai AA isi ulang, mis. 2600mAh.
  • 1x dudukan baterai untuk 3 baterai.
  • 1x papan tempat memotong roti.
  • Resistor: 1x 470K, 1x 100K, 4x 10K.
  • Kapasitor: 2x keramik 1uF.
  • 3x sakelar sakelar.
  • Kabel papan tempat memotong roti bentuk U.
  • Kabel jumper.
  • Wadah sup plastik 1l.
  • Cincin lampiran untuk wadah.

Saya membuat kode tersedia di GitHub.

Langkah 1: Mengenal Sensor Jarak Ultrasonik

Mengenal Sensor Jarak Ultrasonik
Mengenal Sensor Jarak Ultrasonik
Mengenal Sensor Jarak Ultrasonik
Mengenal Sensor Jarak Ultrasonik

Kami akan mengukur jarak ke permukaan air dengan sensor ultrasonik, HC-SR04-P. Sama seperti kelelawar, sensor ini menggunakan sonar: ia mengirimkan pulsa suara dengan frekuensi yang terlalu tinggi untuk telinga manusia, oleh karena itu ultrasonik, dan menunggu sampai mengenai objek, memantulkan dan kembali. Jarak kemudian dapat dihitung dari waktu yang dibutuhkan untuk menerima gema dan kecepatan suara.

Konkretnya, jika pin Trig ditarik tinggi setidaknya selama 10 s, sensor mengirimkan 8 pulsa dengan frekuensi 40 Hz. Jawabannya kemudian didapatkan pada pin Echo berupa pulsa dengan durasi sama dengan waktu antara pengiriman dan penerimaan pulsa ultrasonik. Kemudian kita harus membaginya dengan 2, karena pulsa ultrasonik bolak-balik dan kita membutuhkan waktu perjalanan satu arah, dan dikalikan dengan kecepatan suara, yaitu sekitar 340 m/s.

Tapi tunggu sebentar! Faktanya, kecepatan suara tergantung pada suhu dan pada tingkat yang lebih rendah pada kelembaban. Apakah saya nitpicking atau ini relevan? Dengan menggunakan alat kalkulasi, kami menemukan bahwa di musim dingin (mengambil -5 °C) kami dapat memperoleh 328,5 m/s, dan di musim panas (mengambil 25 °C) 347,1 m/s. Jadi misalkan kita menemukan waktu perjalanan satu arah 3 ms. Di musim dingin, ini berarti 98,55 cm dan di musim panas 104,13 cm. Itu cukup jauh perbedaannya! Jadi untuk mendapatkan akurasi yang cukup sepanjang musim dan bahkan siang dan malam kita harus menambahkan termometer ke pengaturan kita. Saya memutuskan untuk menyertakan BME280, yang mengukur suhu, kelembapan, dan tekanan. Dalam kode yang saya gunakan dalam fungsi speedOfSound sebuah formula yang menghitung kecepatan suara dalam ketiga parameter, meskipun suhu sebenarnya merupakan faktor yang paling penting. Kelembaban masih memiliki efek yang lebih kecil, tetapi dampak tekanan dapat diabaikan. Kita dapat menggunakan rumus yang lebih sederhana dengan mempertimbangkan hanya suhu yang saya terapkan di speedOfSoundSimple.

Ada satu poin penting lebih lanjut pada HC-SR04. Ada dua versi yang tersedia: versi standar beroperasi pada 5V, sedangkan HC-SR04-P dapat beroperasi pada kisaran tegangan dari 3V hingga 5V. Karena 3 baterai AA yang dapat diisi ulang menyediakan sekitar 3x1.25V = 3.75V, penting untuk mendapatkan versi-P. Beberapa penjual mungkin mengirim yang salah. Jadi lihatlah gambar jika Anda membeli satu. Kedua versi terlihat berbeda baik di bagian belakang maupun di bagian depan seperti yang dijelaskan di halaman ini. Di bagian belakang pada versi-P ketiga chip horizontal sedangkan pada versi standar satu vertikal. Di bagian depan versi standar memiliki komponen perak ekstra.

Di sirkuit elektronik kami akan menggunakan transistor sebagai sakelar untuk mematikan daya ke sensor ultrasonik saat pengaturan kami masuk ke mode tidur nyenyak untuk menghemat masa pakai baterai. Jika tidak, masih akan mengkonsumsi sekitar 2mA. BME280 di sisi lain hanya mengkonsumsi sekitar 5 saat tidak aktif, jadi tidak perlu mematikannya dengan transistor.

Langkah 2: Pilihan Papan ESP8266

Pilihan Papan ESP8266
Pilihan Papan ESP8266

Untuk mengoperasikan sensor selama mungkin pada baterai kita harus menghemat konsumsi daya. Sementara Wifi dari ESP8266 menyediakan cara yang sangat nyaman untuk menghubungkan sensor kami ke cloud, itu juga cukup haus daya. Dalam pengoperasiannya, ESP8266 mengkonsumsi sekitar 80mA. Jadi dengan baterai 2600 mAh kami hanya dapat menjalankan perangkat kami paling lama 32 jam sebelum kosong. Dalam praktiknya, ini akan lebih sedikit karena kami tidak akan dapat menggunakan kapasitas penuh 2600 mAh sebelum voltase turun ke level yang terlalu rendah.

Untungnya ESP8266 juga memiliki mode deep-sleep, di mana hampir semuanya mati. Jadi rencananya adalah menempatkan ESP8266 dalam tidur nyenyak sebagian besar waktu dan membangunkannya sesering mungkin untuk melakukan pengukuran dan mengirim data melalui Wifi ke ThingSpeak. Menurut halaman ini, waktu tidur nyenyak maksimum dulu sekitar 71 menit, tetapi sejak inti Arduino ESP8266 2.4.1 telah meningkat menjadi sekitar 3,5 jam. Dalam kode saya, saya menetap selama satu jam.

Saya pertama kali mencoba papan pengembangan NodeMCU yang nyaman, tetapi mengecewakan, dalam tidur nyenyak masih mengkonsumsi sekitar 9 mA, yang memberi kita paling banyak 12 hari tidur nyenyak tanpa mempertimbangkan interval bangun. Penyebab penting adalah regulator tegangan AMS1117, yang menggunakan daya bahkan jika Anda mencoba melewatinya dengan menghubungkan baterai langsung ke pin 3.3V. Halaman ini menjelaskan cara melepas pengatur tegangan dan UART USB. Namun, saya tidak pernah berhasil melakukannya tanpa merusak papan saya. Selain itu, setelah melepas USB UART Anda tidak dapat terhubung ke ESP8266 lagi untuk mencari tahu apa yang salah.

Sebagian besar papan pengembangan ESP8266 tampaknya menggunakan regulator tegangan AMS1117 yang boros. Satu pengecualian adalah WEMOS D1 mini (gambar di sebelah kiri) yang hadir dengan ME6211 yang lebih ekonomis. Memang, saya menemukan bahwa WEMOS D1 mini menggunakan sekitar 150 A dalam tidur nyenyak, yang lebih seperti itu. Sebagian besar mungkin karena UART USB. Dengan papan ini Anda harus menyolder header untuk pin sendiri.

Namun, kita dapat melakukan jauh lebih baik dengan menggunakan papan tanpa tulangan seperti ESP-12F (gambar di sebelah kanan), yang tidak memiliki UART USB atau pengatur tegangan. Memberi makan pin 3.3V, saya menemukan konsumsi deep-sleep hanya 22 A!

Tetapi agar ESP-12F berfungsi, persiapkan beberapa penyolderan dan sedikit lebih repot memprogramnya! Selanjutnya kecuali baterai langsung memberikan tegangan yang benar, yaitu antara 3V dan 3.6V, kita perlu menyediakan pengatur tegangan kita sendiri. Dalam praktiknya, ternyata sulit untuk menemukan sistem baterai yang memberikan tegangan dalam kisaran ini selama siklus pengosongan penuhnya. Ingat kita juga perlu menyalakan sensor HC-SR04-P, yang secara teoritis dapat berfungsi dengan tegangan serendah 3V, tetapi berfungsi lebih akurat jika tegangannya lebih tinggi. Terlebih lagi dalam diagram saya, HC-SR04-P dihidupkan oleh transistor, yang menyebabkan penurunan tegangan ekstra kecil. Kami akan menggunakan regulator tegangan MCP1700-3302E. Tegangan input maksimum adalah 6V jadi kami mengisinya dengan hingga 4 baterai AA. Saya memutuskan untuk menggunakan 3 baterai AA.

Langkah 3: Buat Saluran ThingSpeak

Kami akan menggunakan ThingSpeak, layanan cloud IoT, untuk menyimpan data kami. Buka https://thingspeak.com/ dan buat akun. Setelah Anda masuk, klik tombol Saluran Baru untuk membuat saluran. Pada Channel Setting isikan nama dan deskripsi sesuka anda. Selanjutnya kita beri nama bidang saluran dan aktifkan dengan mengklik kotak centang di sebelah kanan. Jika Anda menggunakan kode saya tidak mengubah bidangnya adalah sebagai berikut:

  • Bidang 1: ketinggian air (cm)
  • Bidang 2: tingkat baterai (V)
  • Bidang 3: suhu (°C)
  • Bidang 4: kelembaban (%)
  • Bidang 5: tekanan (Pa)

Untuk referensi di masa mendatang, tuliskan ID Saluran, Kunci API Baca dan Kunci API Tulis, yang dapat ditemukan di menu kunci API.

Anda dapat membaca data ThingSpeak di ponsel cerdas Anda menggunakan aplikasi. Di ponsel Android saya, saya menggunakan widget IoT ThingSpeak Monitor. Anda harus mengonfigurasinya dengan ID Saluran dan Kunci API Baca.

Langkah 4: Cara Memprogram ESP-12F

Cara Memprogram ESP-12F
Cara Memprogram ESP-12F
Cara Memprogram ESP-12F
Cara Memprogram ESP-12F

Kami membutuhkan papan tanpa tulang untuk menghemat masa pakai baterai, tetapi kelemahannya adalah sedikit lebih sulit untuk diprogram daripada papan pengembangan dengan USB UART bawaan.

Kami akan menggunakan Arduino IDE. Ada Instructables lain yang menjelaskan cara menggunakannya jadi saya akan singkat di sini. Langkah-langkah untuk membuatnya siap untuk ESP8266 adalah:

  • Unduh Arduino IDE.
  • Instal dukungan untuk papan ESP8266. Dalam menu File - Preferences - Settings tambahkan URL https://arduino.esp8266.com/stable/package_esp8266com_index.json ke Additional Board Manager URLs. Selanjutnya pada menu Tools-Board-Boards Manager install esp8266 by esp8266 community.
  • Pilih sebagai Papan: Modul ESP8266 Generik.

Untuk menangani ESP-12F saya menggunakan pelat adaptor, biasanya tersedia di toko online. Saya menyolder chip ke piring dan kemudian menyolder header ke piring. Baru kemudian saya menemukan bahwa pelat adaptor terlalu lebar untuk papan tempat memotong roti standar! Ini tidak meninggalkan pin gratis di samping untuk membuat koneksi Anda.

Solusi yang saya gunakan adalah menggunakan kabel berbentuk U dan menghubungkannya seperti pada gambar di sebelah kanan sebelum meletakkan ESP8266 dengan pelat adaptor di papan tempat memotong roti. Jadi GND dan VCC terhubung ke rel papan tempat memotong roti dan pin yang tersisa tersedia lebih jauh di bawah papan tempat memotong roti. Kerugiannya adalah bahwa papan tempat memotong roti Anda akan sangat penuh dengan kabel setelah Anda menyelesaikan rangkaian lengkapnya. Solusi lain adalah memasangkan dua papan tempat memotong roti bersama-sama seperti yang ditunjukkan dalam video ini.

Selanjutnya, untuk memprogram ESP-12F melalui port USB komputer Anda, kami memerlukan adaptor USB ke serial. Saya menggunakan programmer FTDI FT232RL. Pemrogram memiliki jumper untuk memilih antara 3.3V atau 5V. Itu harus dimasukkan ke 3.3V untuk ESP8266. Jangan lupa karena 5V mungkin menggoreng chip Anda! Instalasi driver harus otomatis, tetapi jika pemrograman tidak berfungsi, Anda dapat mencoba menginstalnya secara manual dari halaman ini.

ESP8266 memiliki mode pemrograman untuk mengunggah firmware baru ke flash, dan mode flash untuk menjalankan firmware saat ini dari memori flash. Untuk memilih di antara mode-mode ini, beberapa pin harus mengambil nilai tertentu pada saat boot:

  • Pemrograman: GPIO0: rendah, CH-PD: tinggi, GPIO2: tinggi, GPIO15: rendah
  • Flash: GPIO0: tinggi, CH-PD: tinggi, GPIO2: tinggi, GPIO15: rendah

Pelat adaptor sudah menangani penarikan CH-PD dan penarikan GPIO15 dengan resistor 10K.

Jadi di sirkuit elektronik kita masih perlu pull-up GPIO2. Kami juga menyediakan sakelar untuk menempatkan ESP8266 dalam pemrograman atau dalam mode flash dan sakelar untuk mengatur ulang, yang dilakukan dengan menghubungkan RST ke ground. Selanjutnya pastikan Anda menghubungkan pin TX dari FT232RL ke pin RXD dari ESP8266 dan sebaliknya.

Urutan pemrogramannya adalah sebagai berikut:

  • Setel GPIO2 ke rendah dengan menutup sakelar pemrograman.
  • Setel ulang ESP8266 dengan menutup lalu membuka kembali sakelar setel ulang. ESP8266 sekarang melakukan booting dalam mode pemrograman.
  • Atur GPIO2 kembali ke tinggi dengan membuka sakelar pemrograman.
  • Unggah firmware baru dari Arduino IDE.
  • Reset ESP8266 lagi dengan menutup dan membuka kembali sakelar reset. ESP8266 sekarang melakukan booting dalam mode flash dan menjalankan firmware baru.

Sekarang Anda dapat menguji apakah pemrograman berfungsi dengan mengunggah sketsa Blink yang terkenal.

Jika semua ini berfungsi, setidaknya pin GND, VCC, GPIO2, RST, TXD, dan RXD telah disolder dan dihubungkan dengan benar. Apa yang lega! Tetapi sebelum melanjutkan, saya akan merekomendasikan untuk juga menguji pin lain dengan multimeter Anda. Saya sendiri punya masalah dengan salah satu pin. Anda dapat menggunakan sketsa ini, yang mengatur semua pin ke tinggi satu per satu selama 5 detik, dan setelah itu menempatkan ESP8266 dalam mode tidur nyenyak selama 20 detik. Untuk mengaktifkan ESP8266 untuk bangun setelah tidur nyenyak, Anda perlu menghubungkan RST ke GPIO16, yang memberikan sinyal bangun.

Langkah 5: Mengunggah Sketsa

Saya telah membuat kodenya tersedia di GitHub, hanya satu file: Level-Sensor-Deepsleep.ino. Cukup unduh dan buka di Arduino IDE. Atau Anda dapat memilih File - New dan cukup salin/tempel kodenya.

Ada beberapa info yang harus Anda isi di awal file: nama dan kata sandi WLAN yang akan digunakan, detail IP statis dan ID Saluran dan Tulis Kunci API dari Saluran ThingSpeak.

Mengikuti tip di blog ini, alih-alih DHCP di mana router secara dinamis memberikan IP, kami menggunakan IP statis, di mana kami mengatur sendiri alamat IP ESP8266. Ini ternyata jauh lebih cepat, jadi kami menghemat waktu aktif dan juga energi baterai. Jadi kita harus menyediakan alamat IP statis yang tersedia serta IP router (gateway), subnet mask dan server DNS. Jika Anda tidak yakin tentang apa yang harus diisi, baca tentang pengaturan IP statis di manual router Anda. Pada komputer Windows yang terhubung melalui Wifi ke router Anda, mulai shell (tombol Windows-r, cmd) dan masukkan ipconfig /all. Anda akan menemukan sebagian besar info yang Anda butuhkan di bawah bagian Wi-Fi.

Memeriksa kode, Anda melihat bahwa tidak seperti kode Arduino lainnya, sebagian besar tindakan terjadi di fungsi pengaturan alih-alih fungsi loop. Ini karena ESP8266 masuk ke mode tidur nyenyak setelah menyelesaikan fungsi pengaturan (kecuali jika kita memulai dalam mode OTA). Setelah bangun, itu seperti restart baru dan menjalankan pengaturan lagi.

Berikut adalah fitur yang menonjol dari kode:

  • Setelah bangun, kode menyetel switchPin (GPIO15 default) ke tinggi. Ini menyalakan transistor, yang pada gilirannya mengaktifkan sensor HC-SR04-P. Sebelum tidur nyenyak, pin akan disetel kembali ke rendah, mematikan transistor dan HC-SR04-P, memastikannya tidak menghabiskan daya baterai yang lebih berharga.
  • Jika modePIN (GPIO14 default) rendah, kode masuk dalam mode OTA alih-alih mode pengukuran. Dengan OTA (pembaruan over-the-air) kita dapat memperbarui firmware melalui Wifi alih-alih port serial. Dalam kasus kami ini cukup nyaman karena kami tidak perlu menghubungkan serial ke adaptor USB lagi untuk pembaruan lebih lanjut. Cukup atur GPIO14 ke rendah (dengan sakelar OTA di sirkuit elektronik), setel ulang ESP8266 (dengan sakelar reset) dan itu akan tersedia di Arduino IDE untuk diunggah.
  • Pada PIN analog (A0), kami mengukur tegangan baterai. Hal ini memungkinkan kita untuk mematikan perangkat kita, alias deep-sleep permanen, jika tegangan terlalu rendah, di bawah minVoltage, untuk melindungi baterai dari over-discharge. Pengukuran analog tidak terlalu akurat, kami melakukan pengukuran numMeasuresBattery (default 10) dan mengambil rata-rata untuk meningkatkan akurasi.
  • Pengukuran jarak sensor HC-SR04-P dilakukan pada fungsi distanceMeasurement. Untuk meningkatkan akurasi, pengukuran diulang numMeasuresDistance (default 3) kali.
  • Ada fungsi untuk menghitung kecepatan Suara dari pengukuran suhu, kelembaban dan tekanan oleh sensor BME280. Alamat I2C default dari BME280 adalah 0x76, tetapi jika tidak berhasil, Anda mungkin perlu mengubahnya menjadi 0x77: bool bme280Started=bme280.begin(0x77);
  • Kami akan menggunakan BME280 dalam mode paksa, yang berarti dibutuhkan satu pengukuran dan kembali tidur untuk menghemat daya.
  • Jika Anda mengatur kapasitas (l), Jarak penuh (cm) dan luas (m2), kode menghitung sisa volume tangki air dari pengukuran jarak: sisa dua kaliVolume=kapasitas+10.0*(jarak penuh-jarak)*luas; dan unggah ini ke ThingSpeak. Jika Anda mempertahankan nilai default, ia mengunggah jarak ke permukaan air dalam cm.

Langkah 6: Membangun Sirkuit Elektronik

Membangun Sirkuit Elektronik
Membangun Sirkuit Elektronik

Di atas adalah diagram sirkuit elektronik. Ini cukup besar untuk satu papan tempat memotong roti, terutama dengan pelat adaptor yang terlalu besar dan trik dengan kabel berbentuk U. Pada titik tertentu saya tentu berharap saya telah menggunakan alternatif menghubungkan dua papan tempat memotong roti, tetapi pada akhirnya saya berhasil.

Berikut adalah fitur penting dari sirkuit:

  • Ada dua tegangan yang berperan: tegangan input dari baterai (sekitar 3,75V) dan 3,3V yang memberi makan ESP8266 dan BME280. Saya meletakkan 3.3V di rel kiri breakboard dan 3.75V di rel kanan. Regulator tegangan mengubah 3.75V menjadi 3.3V. Mengikuti instruksi di lembar data, saya menambahkan kapasitor 1 F ke input dan output regulator tegangan untuk meningkatkan stabilitas.
  • GPIO15 dari ESP8266 terhubung ke gerbang transistor. Hal ini memungkinkan ESP8266 untuk menghidupkan transistor dan dengan demikian sensor ultrasonik saat aktif dan mematikannya saat tidur nyenyak.
  • GPIO14 terhubung ke sakelar, sakelar OTA. Menutup sakelar memberikan sinyal ke ESP8266 yang ingin kita mulai dalam mode OTA berikutnya, yaitu setelah kita menekan (menutup dan membuka) sakelar RESET, dan mengunggah sketsa baru secara over-the-air.
  • Pin RST dan GPIO2 terhubung seperti pada diagram pemrograman. Pin RST sekarang juga terhubung ke GPIO16 untuk memungkinkan ESP8266 bangun dari tidur nyenyak.
  • Pin TRIG dan ECHO dari sensor ultrasonik terhubung ke GPIO12 dan GPIO13, sedangkan pin SCL dan SDA dari BME280 terhubung ke GPIO5 dan GPIO4.
  • Akhirnya, pin analog ADC melalui pembagi tegangan yang terhubung ke tegangan input. Hal ini memungkinkan untuk mengukur tegangan input untuk memeriksa pengisian baterai. Pin ADC dapat mengukur tegangan antara 0V dan 1V. Untuk pembagi tegangan kami memilih resistor 100K dan 470K. Ini berarti tegangan pada pin ADC diberikan oleh: V_ADC = 100K/(100K+470K) V_in. Mengambil V_ADC=1V ini berarti kita dapat mengukur tegangan input hingga V_in=570/100 V_ADC = 5.7V. Adapun konsumsi daya ada juga beberapa arus bocor melalui pembagi tegangan. Dengan V_in=3.75V dari baterai, kami menemukan I_leak = 3.75V/570K=6.6 A.

Bahkan ketika sirkuit dijalankan dari baterai, dimungkinkan untuk menghubungkan USB ke adaptor serial. Pastikan untuk mencabut VCC dari adaptor dan menghubungkan GND, RX dan TX seperti pada diagram pemrograman. Ini memungkinkan untuk membuka Serial Monitor di Arduino IDE untuk membaca pesan debug dan memastikan semuanya berfungsi seperti yang diharapkan.

Untuk rangkaian lengkap saya mengukur konsumsi arus 50 A dalam tidur nyenyak saat menggunakan baterai. Ini termasuk ESP8266, BME280, sensor ultrasonik (dimatikan oleh transistor) dan kebocoran melalui pembagi tegangan dan mungkin kebocoran lainnya. Jadi itu tidak terlalu buruk!

Saya menemukan bahwa total waktu aktif adalah sekitar 7 detik, dimana 4,25 detik untuk terhubung ke Wifi dan 1,25 detik untuk mengirim data ke ThingSpeak. Jadi dengan arus aktif 80mA saya menemukan 160 Ah per jam untuk waktu aktif. Menambahkan 50 Ah per jam untuk kondisi tidur nyenyak yang kami miliki total 210 Ah per jam. Ini berarti baterai 2600 mAh secara teoritis bertahan 12400 jam = 515 hari. Ini adalah maksimum mutlak jika kita dapat menggunakan kapasitas penuh baterai (yang tidak terjadi) dan tidak ada kebocoran yang tidak saya temukan dengan pengukuran saya saat ini. Jadi saya belum melihat apakah ini benar-benar berhasil.

Langkah 7: Menyelesaikan Sensor

Menyelesaikan Sensor
Menyelesaikan Sensor
Menyelesaikan Sensor
Menyelesaikan Sensor
Menyelesaikan Sensor
Menyelesaikan Sensor

Sensornya saya taruh di wadah plastik 1 liter, yang dulunya berisi sup. Di bagian bawah saya membuat dua lubang agar sesuai dengan "mata" sensor HC-SR04-P. Terlepas dari lubang wadah harus tahan air. Kemudian ditempelkan pada dinding tangki air dengan cincin melingkar yang biasa digunakan untuk pipa pembuangan air hujan.

Bersenang-senang dengan proyek!

Direkomendasikan: