Daftar Isi:
- Langkah 1: Penafian
- Langkah 2: Siapkan Akun IFTTT Gratis
- Langkah 3: Buat Applet IFTTT
- Langkah 4: Konfigurasikan Bagian "ini" dari Applet Anda
- Langkah 5: Tambahkan Layanan WebHooks ke Applet Anda
- Langkah 6: Siapkan Pemicu Permintaan Web
- Langkah 7: Berikan Nama Acara
- Langkah 8: Konfigurasikan Bagian "itu" dari Applet Anda
- Langkah 9: Siapkan Layanan Tindakan
- Langkah 10: Hubungkan ke Google Spreadsheet
- Langkah 11: Pilih Tindakan
- Langkah 12: Siapkan Aksi
- Langkah 13: Tinjau dan Selesaikan Applet Anda
- Langkah 14: Ambil Informasi Konfigurasi yang Dibutuhkan Nanti
- Langkah 15: Lanjutkan ke Dokumentasi Webhooks untuk Kunci API
- Langkah 16: Simpan Kunci API
- Langkah 17: Kumpulkan Komponen
- Langkah 18: Merakit Komponen
- Langkah 19: Tulis Kode Arduino
- Langkah 20: Hasil
- Langkah 21: Kredit
Video: Proyek Logger Status Pintu dan Suhu: 21 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Instruksi ini akan menunjukkan kepada Anda cara membuat pencatat status pintu dan suhu sederhana dengan harga di bawah $10,00 menggunakan ESP8266 NodeMCU, sensor suhu dan kelembaban DHT11, sakelar buluh pintu/jendela, resistor 10K ohm, dan beberapa kabel penghubung.
Asal usul proyek ini berasal dari keinginan saya untuk melakukan lebih banyak otomatisasi rumah dengan papan Arduino, Karena saya telah membaca banyak tentang Arduino EPS8266 NodeMCU yang kompatibel, saya memutuskan papan ini akan menjadi papan biaya rendah yang sempurna untuk melakukan beberapa eksperimen. Setelah mencari di Internet untuk proyek otomatisasi rumah menggunakan papan ESP8266, saya memutuskan untuk menggabungkan pencatat suhu dan status pintu untuk upaya pertama saya. Akhirnya proyek ini akan digabungkan dengan servos, sensor kelembaban, dan elektronik lainnya untuk mengotomatisasi rumah kaca kecil yang dirancang dan dibangun kakek saya 50 tahun yang lalu. Sensor suhu akan digunakan untuk menentukan apakah sistem pemanas harus diaktifkan atau dinonaktifkan serta memberi sinyal kepada servos untuk membuka dan menutup sistem ventilasi bila diperlukan. Keadaan sistem ventilasi akan dipantau dengan menggunakan sakelar buluh magnetik. Akhirnya, sensor kelembaban akan digunakan untuk mengotomatisasi sistem penyiraman.
Langkah 1: Penafian
Hanya penafian singkat untuk menyatakan bahwa kami TIDAK bertanggung jawab atas apa pun yang terjadi sebagai akibat dari mengikuti instruksi ini. Itu selalu yang terbaik untuk mengikuti instruksi pabrik dan lembar keselamatan ketika membangun sesuatu jadi silakan berkonsultasi dengan dokumen-dokumen tersebut untuk setiap bagian dan alat yang Anda gunakan untuk membangun Anda sendiri. Kami hanya memberikan informasi tentang langkah-langkah yang kami gunakan untuk membuat langkah kami. Kami tidak profesional. Faktanya, 2 dari 3 individu yang berpartisipasi dalam pembangunan ini adalah anak-anak.
Langkah 2: Siapkan Akun IFTTT Gratis
Jika Anda belum memilikinya, sekarang saatnya untuk menyiapkan akun IFTTT gratis dengan membuka halaman beranda mereka.. IFTTT adalah singkatan dari If This Then That dan merupakan platform gratis yang memungkinkan Anda menghubungkan layanan berbasis internet dengan cara baru ke memungkinkan Anda untuk memanfaatkan layanan tersebut dengan cara baru. Untuk proyek ini kita akan menggunakan IFTTT untuk memungkinkan ESP8266 mencatat status pintu melalui saklar buluh dan suhu dan kelembaban melalui sensor DHT11 dalam dokumen Google Sheets.
Langkah 3: Buat Applet IFTTT
Saat masih di IFTTT, lanjutkan ke bagian "Applet Saya" dan buat applet baru dengan mengklik tombol "Applet Baru".
Langkah 4: Konfigurasikan Bagian "ini" dari Applet Anda
Klik pada kata “ini” yang berwarna biru – seperti yang disorot pada gambar di atas.
Langkah 5: Tambahkan Layanan WebHooks ke Applet Anda
Di bilah pencarian, cari layanan "Webhooks" dan pilih ikon Webhooks.
Setelah Anda menemukan layanan "Webhooks", klik layanan tersebut.
Langkah 6: Siapkan Pemicu Permintaan Web
Pilih pemicu "Terima permintaan web".
Langkah 7: Berikan Nama Acara
Di kotak teks, berikan applet baru Anda dengan nama acara. Saya memilih "Data Logger" tetapi Anda dapat memilih apa pun yang Anda suka.
Langkah 8: Konfigurasikan Bagian "itu" dari Applet Anda
Klik pada kata “itu” yang berwarna biru – seperti yang disorot pada gambar di atas.
Langkah 9: Siapkan Layanan Tindakan
Di kotak pencarian, cari layanan "Google Sheets", dan klik ikon Google Sheets.
Langkah 10: Hubungkan ke Google Spreadsheet
Jika Anda belum melakukannya, Anda perlu menghubungkan akun IFTTT Anda ke Google Spreadsheet. Tekan tombol Connect yang ditunjukkan di atas dan ikuti petunjuk di layar.
Langkah 11: Pilih Tindakan
Klik "Tambahkan Baris ke Spreadsheet".
Langkah 12: Siapkan Aksi
Berikan nama di kotak teks "Nama spreadsheet". Saya memilih untuk menggunakan "Data_Logger" untuk konsistensi. Biarkan sisa pengaturan (Anda dapat bereksperimen dengan pengaturan tersebut di lain waktu) dan kemudian tekan tombol "Buat Tindakan" di bagian bawah layar.
Langkah 13: Tinjau dan Selesaikan Applet Anda
Setelah puas dengan konfigurasi applet Anda, tekan tombol "Finish".
Langkah 14: Ambil Informasi Konfigurasi yang Dibutuhkan Nanti
Klik "Webhooks" seperti yang disorot di atas.
Langkah 15: Lanjutkan ke Dokumentasi Webhooks untuk Kunci API
Ini mungkin tampak aneh tetapi klik tautan Dokumentasi di kanan atas untuk melanjutkan ke halaman dengan Kunci API unik Anda.
Langkah 16: Simpan Kunci API
Baris pertama layar Dokumentasi menampilkan Kunci API unik Anda. Salin dan Simpan kunci ini untuk digunakan nanti.
Ini juga merupakan ide yang baik untuk menguji applet di sini. Ingatlah untuk mengubah {event} menjadi Data_Logger atau apa pun yang Anda beri nama acara Anda dan tambahkan beberapa data ke 3 nilai kosong lalu klik tombol "Uji" di bagian bawah halaman. Anda akan melihat pesan hijau yang mengatakan "Acara telah dipicu". Jika demikian, lanjutkan ke Google Documents dan konfirmasikan bahwa data yang Anda masukkan di halaman pengujian muncul di dokumen Google Sheets.
Langkah 17: Kumpulkan Komponen
Anda hanya membutuhkan beberapa bagian.
1) Papan Pengembangan NodeMcu ESP8266
2) Sensor Suhu / Kelembaban DHT11
3) Saklar Buluh Pintu/Jendela
4) Resistor 10k Ohm
5) Kawat Penghubung
Langkah 18: Merakit Komponen
1) Hubungkan salah satu pin 3v3 pada ESP8266 ke pin vcc pada DHT11.
2) Hubungkan salah satu pin ground pada ESP8266 ke pin ground pada DHT11.
3) Hubungkan pin D4 (alias pin 2 pada IDE) pada ESP8266 ke pin data pada DHT11.
4) Hubungkan pin 3v3 lain pada ESP8266 ke satu sisi saklar buluh pintu/jendela.
5) Hubungkan pin D5 (alias pin 14 di IDE) pada ESP8266 ke sisi lain dari saklar buluh pintu/jendela dan hubungkan juga ke salah satu sisi resistor 10k ohm.
6) Hubungkan sisi lain dari resistor 10k ohm ke pin ground lain pada ESP8266.
Untuk pemilihan pin ESP8266 silakan lihat diagram bermanfaat ini atau video yang sangat membantu.
Langkah 19: Tulis Kode Arduino
Salin dan tempel kode di bawah ini ke Arduino IDE Anda.
#sertakan #sertakan #sertakan "DHT.h"
#define DHTPIN 2 // pin digital apa yang kita sambungkan
#define DOORPIN 14 // pin digital sakelar pintu apa.
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
int jumlah = 1;
const char* ssid = "some_ssid"; // ubah ini untuk menggunakan ssid const char* password = "some_password"; // ubah ini untuk menggunakan kata sandi Anda int sleepTime = 100;
// Pembuat Webhook IFTTT
const char* server = "maker.ifttt.com";
// Sumber URL IFTTT
const char* resource = "/trigger/SOME_SERVICE_NAME/with/key/SOME_API_KEY"; //Pastikan untuk menggunakan nama layanan dan kunci api Anda.
String doorStatus = "Tutup";
volatil bool stateChanged = false;
// Jika tidur berjam-jam maka setel interval jam * 60 menit * 60 detik * 1000 milidetik
interval panjang const = 1,0 * 60 * 60 * 1000; // 1 jam unsigned long beforeMillis = 0 - (2 * interval);
batalkan pengaturan () {
Serial.begin(115200); attachInterrupt(digitalPinToInterrupt(DOORPIN), eventTriggered, CHANGE); pinMode(DOORPIN, INPUT); //Sensor Pintu dht.begin(); WiFi.begin(ssid, kata sandi);
Serial.print("\nMenghubungkan..");
while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.print("."); } Serial.print("\n"); }
batal eventDipicu(){
stateChanged = benar; Serial.println("Memeriksa pintu!"); if (digitalRead(DOORPIN)==HIGH) // Periksa apakah pintu terbuka { Serial.println("Pintu tertutup!"); doorStatus = "Tutup"; } else { Serial.println("Pintu terbuka!"); doorStatus = "Dibuka"; } }
batal periksaStatus(){
if (WiFi.status() == WL_CONNECTED) { //Periksa status koneksi WiFi // Membaca suhu atau kelembapan membutuhkan waktu sekitar 250 milidetik! // Pembacaan sensor juga bisa sampai 2 detik 'lama' (sensornya sangat lambat) float h = dht.readHumidity(); // Baca suhu sebagai Celcius (default) float t = dht.readTemperature(); // Baca suhu sebagai Fahrenheit (isFahrenheit = true) float f = dht.readTemperature(true); // Periksa apakah ada pembacaan yang gagal dan keluar lebih awal (untuk mencoba lagi). if (isnan(h) || isnan(t) || isnan(f)) { Serial.println("Gagal membaca dari sensor DHT!"); //Serial.print("."); //Gagal membaca dari sensor DHT! kembali; } // Hitung indeks panas dalam Fahrenheit (default) float hif = dht.computeHeatIndex(f, h); // Hitung indeks panas dalam Celcius (isFahreheit = false) float hic = dht.computeHeatIndex(t, h, false);
Serial.print("\n");
Serial.print("Suhu: "); Serial.print(f); Serial.print(" *F("); Serial.print(t); Serial.print(" *C)"); Serial.print("\t"); Serial.print("Indeks panas: "); Serial.print(hif); Serial.print(" *F("); Serial.print(hic); Serial.print(" *C)%"); Serial.print("\t"); Serial.print("Kelembaban: "); Serial.println(h);
if (digitalRead(DOORPIN)==HIGH) // Periksa apakah pintu terbuka
{ Serial.println("Pintu tertutup!"); doorStatus = "Tutup"; } else { Serial.println("Pintu terbuka!"); doorStatus = "Dibuka"; } String jsonObject = String("{"value1\":\"") + f +"*F (" + t + "*C) / "+ hif +"*F (" + hic + "*C) " + "\", \"nilai2\":\"" + h + "\", \"nilai3\":\"" + doorStatus + " \"}"; HTTPClient http; String completeUrl = "https://maker.ifttt.com/trigger/bme280_readings/with/key/cZFasEvy5_3JlrUSVAxQK9"; http.begin(lengkapUrl); // http.mulai(server); http.addHeader("Tipe-Konten", "aplikasi/json"); http. POST(jsonObject); http.writeToStream(&Serial); http.akhir(); //Tutup koneksi
stateChanged = salah;
int sleepTimeInMinutes = interval / 1000 / 60; Serial.print("\n\nTidur untuk "); Serial.print(sleepTimeInMinutes); Serial.println("menit…"); } }
lingkaran kosong() {
unsigned long currentMillis = milis(); penundaan (4000); //Jika kita melampaui waktu yang telah berlalu maka paksa periksa pintu dan suhu. if(Millis saat ini - Mili sebelumnya >= interval){ stateChanged = true; sebelumnyaMillis = saat iniMillis; Serial.print(jumlah++); Serial.println(") Memeriksa karena waktu yang telah berlalu!"); }else if(stateChanged){ Serial.print(count++); Serial.println(") Memeriksa karena perubahan status!"); }
//Jika keadaan berubah maka periksa pintu dan suhu.
if(stateChanged){ checkStatus(); }
penundaan (waktu tidur);
}
Langkah 20: Hasil
Setelah Anda mengunggah kode sumber pada langkah sebelumnya, Anda akan mendapatkan hasil seperti contoh di atas.
Langkah 21: Kredit
Saya menemukan banyak petunjuk dan tip bermanfaat dari Tutorial Nerd Acak dan ingin mengucapkan terima kasih atas semua bantuan mereka. Terutama tutorial luar biasa mereka tentang ESP32 ESP8266 Publikasikan Pembacaan Sensor ke Google Sheets yang menjadi dasar sebagian besar dari Instructable ini.
Selain itu, DHT11 Instructable dari TheCircuit membantu saya memahami cara menggunakan sensor kecil yang sangat murah namun menarik ini.
Selain itu, ada banyak tutorial yang berhubungan dengan pemantauan pintu Anda seperti Monitor Pintu Garasi dan satu lagi dari Tutorial Nerd Acak. Saya menggunakan potongan-potongan ini untuk membantu saya memahami bagaimana membuat saklar buluh saya bekerja dengan benar.
Akhirnya, dengan informasi ini serta rincian lain yang saya temukan di Internet, saya dapat membuat sistem yang memenuhi kebutuhan saya. Saya harap Anda menemukan Instructable ini berguna dan membangun salah satu dari Anda sendiri.
Direkomendasikan:
Cara Membuat Perekam Data Kelembaban dan Suhu Secara Real Time Dengan Arduino UNO dan SD-Card - Simulasi Data-logger DHT11 di Proteus: 5 Langkah
Cara Membuat Perekam Data Kelembaban dan Suhu Secara Real Time Dengan Arduino UNO dan SD-Card | Simulasi Data-logger DHT11 di Proteus: Pendahuluan: hai, ini Liono Maker, ini tautan YouTube. Kami membuat proyek kreatif dengan Arduino dan bekerja pada sistem tertanam. Data-Logger: Data logger (juga data-logger atau perekam data) adalah perangkat elektronik yang merekam data dari waktu ke waktu dengan
Cara Menggunakan Sensor Suhu DHT11 Dengan Arduino dan Mencetak Suhu Panas dan Kelembaban: 5 Langkah
Cara Menggunakan Sensor Suhu DHT11 Dengan Arduino dan Mencetak Suhu Panas dan Kelembaban: Sensor DHT11 digunakan untuk mengukur suhu dan kelembaban. Mereka adalah penggemar elektronik yang sangat populer. Sensor kelembaban dan suhu DHT11 membuatnya sangat mudah untuk menambahkan data kelembaban dan suhu ke proyek elektronik DIY Anda. Ini per
Dorong Bel Pintu dan Sensor Suhu: 6 Langkah
Dorong Bel Pintu dan Sensor Suhu: Ini meningkatkan bel pintu berkabel standar dengan modul esp-12F (esp8266). Ini dipasang di unit bel itu sendiri untuk menghindari perubahan apa pun pada kabel. Ini menyediakan fungsi-fungsi berikut Mendeteksi bel pintu mendorong Mengirim pemberitahuan ke telepon melalui IFTTTSToko
Lampu Otomatis Terhubung Dengan Pemantauan Pintu dan Pintu.: 5 Langkah
Lampu Otomatis Terhubung Dengan Pemantauan Pintu dan Pintu.: Tampaknya sangat sulit untuk menemukan papan sakelar dalam gelap tetapi proyek ini sangat membantu untuk memecahkan masalah ini. Ikuti langkah-langkah di bawah ini untuk mengetahui solusinya
SENSOR SUHU DENGAN LCD DAN LED (Membuat Sensor Suhu Dengan LCD dan LED): 6 Langkah (Dengan Gambar)
SENSOR SUHU DENGAN LCD DAN LED (Membuat Sensor Suhu Dengan LCD dan LED): hai, saya Devi Rivaldi mahasiswa UNIVERSITAS NUSA PUTRA dari Indonesia, di sini saya akan berbagi cara membuat sensor suhu menggunakan Arduino dengan Output ke LCD dan LED. Ini adalah pembaca suhu dengan desain saya sendiri, dengan sensor ini dan