Repositori ini berisi kode sumber untuk pengontrol daya WiFi.
Perangkat keras terdiri dari (sebagian besar komponen dapat dengan mudah diganti dan ada pula yang berlebihan untuk aplikasi arus rendah):
Kotak pola bisa menjadi penutup yang bagus.
Berhati-hatilah jika memesan ACS712 dari Banggood.com, sensor 20A saya dikirimkan dengan terminal yang diberi nilai hanya 10A.
R1 dan R2 harus dipilih untuk mengurangi output 5V dari ACS712 ke kisaran 3,3V yang dapat dibaca oleh input Analog dari M0 (misalnya R1 harus kira-kira dua kali nilai R2).
Ditulis menggunakan Arduino menggunakan perpustakaan Wifi101 dan ArduinoJson. SSID Wifi dan kata sandi harus ditambahkan ke rahasia.h. serverAddress
dan port
harus diperbarui ke alamat server.
Mengumpulkan bacaan dari pengontrol dan menyimpannya dalam database MySQL. Juga menyediakan REST API untuk klien.
Untuk memulai:
.env
dan atur MYSQL_USERNAME
, MYSQL_PASSWORD
dan MYSQL_DB
.npm install
npm run dev
controllers
untuk mengatur faktor konversi. Faktor konversi dikalikan dengan nilai yang dibaca oleh pengontrol untuk menghasilkan pembacaan dalam miliampere. Restart server setelah pengaturan mengubah database untuk membuat server membaca perubahan.Misalnya jika menggunakan arus 20A ACS712 1A menghasilkan output 100mV.
Jika R1 adalah 10kΩ dan R2 adalah 20kΩ, ini berarti output 67mV ( 20/(20+10)*100
) dari pembagi tegangan.
Input ke M0 adalah 12-bit sehingga berkisar antara 0 - 4095 untuk 0 - 3.3v.
Oleh karena itu, faktor konversi dapat dihitung sebagai:
c = 3.3 / S * (R1 + R2) / R2 / 4096 * 1000
dimana S
adalah sensitivitas ACS712 dalam Volt per Amp.
Dalam contoh ini:
c = 3.3 / 0.1 * (10 + 20) / 20 / 4096 * 1000
c = 12.85
Menggunakan REST API server untuk mengatur jadwal dan menunjukkan penggunaan daya.
Untuk memulai:
npm install
npm run serve