Proses manufaktur
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
| ||||
| ||||
|
1) Singkatnya
Tutorial ini akan membantu Anda membuat perangkat yang akan menghubungkan meteran daya induktif lama Anda ke Internet. Dan apa jenis meteran itu? Ini adalah jenis meteran listrik tertua, tetapi masih digunakan. Ini memiliki cakram putar, yang memiliki cat reflektif sepanjang jalan dengan garis hitam kecil. Setiap kali Anda melihat bagian hitam itu lewat, itu berarti satu putaran telah selesai. Dalam proyek ini 120 putaran sama dengan konsumsi 1 kWh.
2) Mikrokontroler, jaringan IoT, dan hal-hal lain yang digunakan
Jadi, kita membutuhkan Arduino MKRFOX1200 , yang memiliki Sigfox (dan itu adalah jaringan) konektivitas. Sigfox adalah jaringan LPWAN, yang memungkinkan untuk menghubungkan apa pun ke Internet. Jaringan ini bekerja pada pita ISM 868 MHz dan memungkinkan kami mengirim 140 pesan (masing-masing 12 byte muatan) uplink setiap hari. Tapi itu tidak semua hanya tentang jaringan. Sigfox memberi kita kesempatan untuk menyesuaikan cara kita ingin bekerja dengan pesan. Sebenarnya semua pesan disimpan di cloud Sigfox, dari mana kami dapat mengambilnya kembali dengan menentukan tujuannya - panggilan balik, dll.
ThingSpeak:
ThingSpeak adalah platform IoT untuk tampilan data yang mudah digunakan. Dalam proyek ini, tujuan panggilan balik Sigfox yang menampilkan konsumsi yang diterima menggunakan grafik segera setelah transfer terjadi.
Satu selengkapnya waktu - yang listrik energi kekuatan konsumsi meter akan kami gunakan?
Yang ini:
3) Hal-hal praktis
readChannelID =TYPE_CHANNEL1_ID_HERE;readAPIKey ='TYPE_CHANNEL1_READ_API_KEY_HERE'; writeChannelID =TYPE_CHANNEL2_ID_HERE;writeAPIKey ='TYPE_CHANNEL2_API_KEY_HERE';data =thingSpeakRead(readChannelID, 'ReadKey', readAPIKey,'OutputFormat','table'); analysisData =data;analyzedData.('Consumption') =(data.('Consumption') + YOUR_CURRENT_CONSUMPTION_STATUS_IN_WH)/1000;thingSpeakWrite(writeChannelID, analysisData, 'WriteKey', writeAPIKey);
https://api.thingspeak.com/update?api_key=
DIJELASKAN1
&field1={customData#status}
*DIJELASKAN1 - ganti ini dengan Channel 1 ThingSpeak WriteApiKey
4) Pemasangan perangkat &logika di balik
Jadi, Anda telah menyelesaikan bagian tersulit dari proyek ini. Sekarang pasang sensor CNY70 ke kaca meteran listrik Anda dengan selotip dua sisi - berhati-hatilah untuk meletakkannya di tengah piringan putar (gbr. Pemasangan ). Selanjutnya, tekan tombol perangkat dua kali dan lakukan kalibrasi - jika sensor membaca bagian reflektif dari disk, dioda akan menyala. Jika sensor membaca garis hitam, dioda harus mati. Setelah kalibrasi berhasil, tekan tombol perangkat sekali lagi. Sekarang perangkat mulai membaca konsumsi daya dan mengirimkan nilai ini setiap 30 menit ke Internet menggunakan Sigfox. Ketepatan pembacaan diatur ke 25 Wh (dalam kasus kami setiap 3 putaran disk).
5) Hasil Akhir
Setelah semua langkah ini, Anda akan dapat melihat konsumsi energi listrik Anda yang sebenarnya dalam bagan ThingSpeak yang indah seperti di bawah ini.
#includeint DIODE =13;int BTN =12;int BTN_state =0;int BTN_prev =0;int BTN_NR_OF_PRESS =0;int CALC =0;unsigned long i =0;uint32_t KONSUMSI =0;boolean SHINE =false;boolean KARDAN =false;void setup() { pinMode(DIODE, OUTPUT); pinMode(BTN, INPUT); Serial.begin(9600); if (!SigFox.begin()) { Serial.println("Modul Sigfox tidak tersedia."); }}void loop() { int senzor =analogRead(A3); BTN_state =digitalRead(BTN); if (BTN_state !=BTN_prev) { if (BTN_state ==HIGH) { BTN_NR_OF_PRESS++; } } BTN_prev =BTN_state; if (BTN_NR_OF_PRESS % 3 ==0) { if (senzor> 300 &&senzor <950) { digitalWrite(DIODE, HIGH); } else { digitalWrite(DIODE, RENDAH); } } if (senzor <1020 &&SHINE ==false) { SHINE =true; } if (senzor> 1020 &&SHINE ==true &&BTN_NR_OF_PRESS ==4) { CALC++; BERSINAR =salah; } if (CALC % 3 ==0 &&CALC !=0 &&KARDAN ==false) { KARDAN =true; KONSUMSI +=25; } if (CALC % 3 !=0) { KARDAN =salah; } if (BTN_NR_OF_PRESS % 4 ==0) { digitalWrite(DIODE, LOW); if (BERSINAR ==salah) { for (milis(); (milis() - i)> 1800000;) { i =milis(); SigFox.debug(); SigFox.beginPacket(); SigFox.write(KONSUMSI); SigFox.endPacket(); } } }}
Proses manufaktur
Komponen dan persediaan Arduino Due × 1 Regulator Linier dengan Output yang Dapat Disesuaikan × 1 Texas Instruments Tujuan Umum Dual Op-Amp × 1 Resistor 20k ohm × 3 Resistor 220 ohm × 1 Resistor 1k ohm × 2 NPN Transistor Serbaguna
Komponen dan persediaan Arduino Nano R3 × 1 Resistor 10k ohm × 1 Resistor 1k ohm × 1 Resistor 100 ohm × 1 Resistor 100k ohm × 1 Resistor 1M ohm × 1 ElectroPeak 0.96 Modul Tampilan OLED 64x128 × 1 Kabel jumper (generik)
Komponen dan persediaan Arduino Nano R3 × 1 Penguat operasional IC TL061 × 1 Resistor 10k ohm × 2 Resistor 1M ohm × 1 Kapasitor Cakram Keramik, 39 pF × 1 kumparan sekunder dari trafo 1-2W kecil × 1 Alat dan mesin yang diperlukan
Komponen dan persediaan Arduino UNO × 1 Adafruit LCD Standar - 16x2 Putih di Atas Biru × 1 Sakelar Tombol Tekan SparkFun 12mm × 4 Resistor 10k ohm × 4 Resistor 221 ohm Yah, 220 ohm... × 2 Potensiometer Putaran Tunggal- 100k ohm × 1