Arduino - Kirim Suhu ke Web melalui Serial
Komponen dan persediaan
| | × | 1 | |
| PHPoC WiFi Shield 2 untuk Arduino | | × | 1 | |
| Sensor Suhu Adafruit DS18B20 | | × | 1 | |
| | × | 1 | |
Tentang proyek ini
Hanya dengan menggunakan Serial.println(temperature), kita dapat mengirimkan suhu melalui web. Dengan menggunakan Web Serial Plotter, kita dapat memvisualisasikan suhu di web TANPA pemrograman web.
Jika Anda seorang pemula, Anda dapat belajar tentang wifi dan sensor di Arduino - Wifi dan Arduino - tutorial sensor suhu DS18B20
Demonstrasi
.
Cara Kerjanya - Arduino membaca nilai suhu dari sensor dan mengirimkannya melalui Serial
- Akses Web Serial Plotter dari browser di ponsel atau PC
- Suhu secara otomatis diteruskan ke Web.
- Web memvisualisasikan suhu di Web
- Secara default, Web Serial Plotter bekerja sama seperti Serial Plotter pada Arduino IDE. Kita perlu menyesuaikannya untuk menambahkan judul sumbu X, judul sumbu Y, rentang suhu dan jumlah sampel data yang ditampilkan juga. Ini dapat dilakukan melalui halaman pengaturan.
Petunjuk Langkah-demi-Langkah
1. Pengkabelan
- Stack PHPoC Wifi Shield 2 atau PHPoC Shield 2 di Arduino
- Pengkabelan seperti gambar di bagian Skema
2. Kompilasi dan Unggah Kode Arduino
Lihat kode di "Kode Arduino - Periode Pengambilan Sampel Singkat"
3. Sesuaikan Plotter Serial Web
- Akses Web Serial Plotter dengan mengetikkan alamat IP PHPoC WiFi Shield
- Klik tautan "Penyiapan" ke halaman penyesuaian
- Sesuaikan parameter seperti di atas dan Simpan
4. Hasil
- Klik tombol sambungkan untuk melihat hasilnya
Memantau Suhu Dalam Waktu Lama
Jika temperatur sampling dalam interval kecil (misalnya detik), Kita hanya perlu mencetak nilai temperatur ke Serial karena kita bisa menunggu untuk melihat grafiknya.
Apa yang terjadi jika kita ingin memantau suhu setiap hari atau setiap jam? Kami TIDAK sabar untuk melihat semua grafik.
Solusi :kami menyimpan jumlah suhu pengambilan sampel terakhir di Arduino dan sering mencetaknya.
Misalnya, Kami ingin melihat tampilan suhu pada grafik dengan selama 100 jam. Satuannya adalah jam. Kita perlu membaca data dari sensor setiap jam, menyimpannya dalam antrian lingkaran (panjang antrian adalah 100). Setiap detik, kami mencetak semua 100 sampel data. Oleh karena itu, kita dapat melihat grafik suhu selama 100 jam terakhir tanpa harus menunggu selama 100 jam.
Anda dapat melihat kode di "Kode Arduino - Periode Pengambilan Sampel yang Panjang"
Kit Pemula Arduino Terbaik untuk Pemula
Lihat Kit Arduino Terbaik untuk Pemula
Kode
- Kode Arduino - Periode Pengambilan Sampel Singkat
- Kode Arduino - Periode Pengambilan Sampel yang Panjang (harian, setiap jam...)
Kode Arduino - Periode Pengambilan Sampel SingkatArduino
#include #include #include #define SAMPLE_INTERVAL 1000 // dalam ms// Kabel data dicolokkan ke port 8 pada ArduinoOneWire oneWire(8);DallasTemperature sensor(&oneWire);unsigned long lastSampleTime;void setup() { Serial.begin(9600); while(!Serial); sensor.mulai(); Phpoc.mulai(); lastSampleTime =milis();}void loop() { if((millis() - lastSampleTime)> SAMPLE_INTERVAL) { sensor.requestTemperatures(); float temp =sensor.getTempCByIndex(0); Serial.println(temp); lastSampleTime =milis(); }}
Kode Arduino - Periode Pengambilan Sampel yang Panjang (harian, setiap jam...)Arduino
#include #include #include #define UPDATE_INTERVAL 1000 // dalam ms#define SAMPLE_INTERVAL 60*60*1000 // 1 jam// Kabel data terpasang ke port 8 pada ArduinoOneWire oneWire(8);Sensor DallasTemperature(&oneWire);unsigned long lastSampleTime;unsigned long lastUpdateTime;float temps[100];int index;void setup() { Serial.begin(9600); while(!Serial); sensor.mulai(); Phpoc.mulai(); lastSampleTime =milis(); lastUpdateTime =milis(); indeks =0;}void loop() { if((millis() - lastSampleTime)> SAMPLE_INTERVAL) { sensor.requestTemperatures(); float temp =sensor.getTempCByIndex(0); suhu[indeks] =suhu; indeks =(indeks + 1) % 100; lastSampleTime =milis(); } if((millis() - lastUpdateTime)> UPDATE_INTERVAL) { for(int i =0; i <100; i++) { Serial.println(temps[(index - i + 100)%100]); } lastUpdateTime =milis(); }}
Skema
1. Tumpuk PHPoC Wifi Shield 2 atau PHPoC Shield 2 di Arduino
2. Pengkabelan seperti gambar di bawah ini