Daftar Isi:
- Langkah 1: Bagian yang Dibutuhkan
- Langkah 2: Merakit Bagian
- Langkah 3: Kode
- Langkah 4: Merakit Kotak
Video: Stasiun Pemantauan Partikel Debu Bertenaga Arduino: 4 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Anda dapat dengan mudah membuat perangkat internet hal-hal DIY yang memantau polusi debu di rumah Anda dengan harga kurang dari $ 50 dan mendapatkan pemberitahuan ketika tingkat debu terlalu tinggi sehingga Anda dapat menganginkan ruangan, atau Anda dapat mengaturnya di luar dan mendapatkan pemberitahuan jika itu aman untuk pergi ke luar jika Anda tinggal di daerah yang sangat tercemar.
Saya membuat ini sebagai proyek sekolah, jadi saya tidak punya cukup waktu untuk menemukan layanan yang akan menerima pesan MQTT dan mengirimkannya kepada Anda seperti pemberitahuan atau email.
Perhatikan juga bahwa menjaga sensor tetap menyala setiap saat akan mengurangi masa pakai kipas.
Langkah 1: Bagian yang Dibutuhkan
Apa yang Anda butuhkan?
- Arduino Uno
- Perisai Ethernet Arduino
- Sensor laser partikel (biasanya seharga $10-$30 di eBay/aliexpress)
- Sensor suhu dan kelembaban DHT11 (opsional)
- Papan tempat memotong roti
- Kabel jumper
Langkah 2: Merakit Bagian
Pertama, Anda perlu memasang pelindung ethernet di Arduino
Sensor PM memiliki banyak kabel, tetapi yang kita butuhkan adalah VCC, GND, TX, RX.
Hubungkan VCC dan GND ke + dan - masing-masing pada papan tempat memotong roti.
Arduino memiliki pin RX dan TX perangkat keras, tetapi kami akan menggunakan emulasi perangkat lunak untuk pin RX dan TX masing-masing pada pin 2 dan 3. Pasang RX sensor ke TX Arduino dan TX sensor ke RX Arduino.
Jika Anda akan menggunakan sensor suhu, pasang jalur VCC dan GND ke + dan - di Breadboard dan jalur data ke pin 7.
Langkah 3: Kode
Anda dapat menginstal broker MQTT di raspberry pi atau komputer yang selalu Anda gunakan di rumah, atau menggunakan layanan cloud MQTT, seperti Cloud MQTT. Kemudian Anda dapat menulis skrip yang mengirimkan data sebagai HTTP ke webhook IFTT, karena skrip tersebut belum mendukung webhook MQTT dan mengatur pemberitahuan ketika tingkat debu di rumah Anda terlalu tinggi.
Stasiun udara Arduino
#termasuk |
#termasuk |
#termasuk |
#termasuk |
#termasuk |
#termasuk |
#termasuk |
#termasuk |
#defineDHT11_PIN7 |
#defineRX_PIN2 |
#defineTX_PIN3 |
IPaddress ip(169, 169, 100, 98); |
byte mac = { |
0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 |
}; |
constchar *mqtt_server = "m23.cloudmqtt.com"; |
mqtt_port konstan = 11895; |
constchar *mqtt_user = "jhetjewk"; |
constchar *mqtt_pass = "QB2p9PiMV6pn"; |
constchar *mqtt_client_name = "arduinoClient1"; // Koneksi klien tidak boleh memiliki nama koneksi yang sama |
EthernetClient ethClient; |
Klien PubSubClient(ethClient); |
Perangkat LunakSerial pmSerial(RX_PIN, TX_PIN); |
dht dht; |
int pm1; |
int pm2_5; |
int pm10; |
id panjang yang tidak ditandatangani; |
//File sayaFile; |
string s; |
StaticJsonBuffer<200> jsonBuffer; |
JsonObject& root = jsonBuffer.createObject(); |
voidsetup() { |
Serial.begin(57600); |
pmSerial.begin(9600); |
nomor = 0; |
pm1 = 0; |
pm2_5 = 0; |
pm10 = 0; |
jika (Ethernet.begin(mac) == 0) |
{ |
Serial.println("Gagal mengkonfigurasi Ethernet menggunakan DHCP"); |
// coba dengan ip addr |
Ethernet.begin(mac, ip); |
} |
client.setServer(mqtt_server, mqtt_port); |
client.setCallback(panggilan balik); |
penundaan(2000); |
Serial.println(Ethernet.localIP()); |
client.connect("arduinoClient", mqtt_user, mqtt_pass); |
Serial.print("rc="); |
Serial.print(klien.status()); |
Serial.print("\n"); |
} |
batal () { |
indeks = 0; |
nilai karakter; |
nilai sebelumnya char; |
jika (!klien.terhubung()) |
{ |
if (klien.koneksi("arduinoClient", mqtt_user, mqtt_pass)) { |
Serial.println("terhubung"); |
} |
} |
while (pmSerial.available()) { |
nilai = pmSerial.read(); |
if ((indeks == 0 && nilai != 0x42) || (indeks == 1 && nilai != 0x4d)) { |
Serial.println("Tidak dapat menemukan header data."); |
kembali; |
} |
if (indeks == 4 || indeks == 6 || indeks == 8 || indeks == 10 || indeks == 12 || indeks == 14) { |
nilai sebelumnya = nilai; |
} |
elseif (indeks == 5) { |
pm1 = 256 * nilai sebelumnya + nilai; |
root["pm1"] = abs(pm1); |
} |
elseif (indeks == 7) { |
pm2_5 = 256 * nilai sebelumnya + nilai; |
root["pm2_5"] = abs(pm2_5); |
} |
elseif (indeks == 9) { |
pm10 = 256 * nilai sebelumnya + nilai; |
root["pm10"] = abs(pm10); |
} |
elseif (indeks >15) { |
merusak; |
} |
indeks++; |
} |
while (pmSerial.available()) pmSerial.read(); |
int chk = DHT.read11(DHT11_PIN); |
if (DHT.suhu == -999 || DHT.kelembaban == -999) { |
root["suhu"] = "T/A"; |
root["kelembaban"] = "T/A"; |
} lain { |
root["suhu"] = DHT.suhu; |
root["kelembaban"] = DHT.kelembaban; |
} |
kirimHasil(); |
identitas++; |
penundaan(5000); |
} |
voidsendResults() { |
// publikasikan ke MQTT |
char jsonChar[100]; |
root.printTo(jsonChar); |
Serial.println(client.publish("arduino", jsonChar)); |
// debug ke serial |
root.printTo(Serial); |
Serial.print('\n'); |
} |
// Menangani pesan yang tiba pada topik yang dilanggan |
voidcallback(char* topic, byte* payload, unsignedint length) { |
} |
lihat rawair_quality.ino dihosting dengan ❤ oleh GitHub
Langkah 4: Merakit Kotak
Saya hanya menggunakan kotak yang tergeletak di sekitar dan mengebor lubang untuk sensor untuk mendapatkan udara dari dan memotong lubang untuk kabel keluar (meskipun agak terlalu besar).
Saya menggunakan bantalan lem untuk menempelkan sensor ke kotak, menyelaraskan lubang input sensor dengan lubang bor di kotak.
Akhirnya, saya mencolokkan ethernet dan kabel listrik.
Direkomendasikan:
Stasiun Cuaca NaTaLia: Stasiun Cuaca Bertenaga Surya Arduino Dilakukan dengan Cara yang Benar: 8 Langkah (dengan Gambar)
Stasiun Cuaca NaTaLia: Stasiun Cuaca Bertenaga Surya Arduino Selesai dengan Cara yang Benar: Setelah 1 tahun beroperasi dengan sukses di 2 lokasi berbeda, saya membagikan rencana proyek stasiun cuaca bertenaga surya saya dan menjelaskan bagaimana hal itu berkembang menjadi sistem yang benar-benar dapat bertahan lama periode dari tenaga surya. Jika Anda mengikuti
Stasiun Cuaca DIY & Stasiun Sensor WiFi: 7 Langkah (dengan Gambar)
Stasiun Cuaca DIY & Stasiun Sensor WiFi: Dalam proyek ini saya akan menunjukkan cara membuat stasiun cuaca bersama dengan stasiun sensor WiFi. Stasiun sensor mengukur data suhu dan kelembaban lokal dan mengirimkannya, melalui WiFi, ke stasiun cuaca. Stasiun cuaca kemudian menampilkan
Pemantauan Kualitas Udara Menggunakan Foton Partikel: 11 Langkah (dengan Gambar)
Pemantauan Kualitas Udara Menggunakan Foton Partikel: Dalam proyek ini sensor partikel PPD42NJ digunakan untuk mengukur kualitas udara (PM 2.5) yang ada di udara dengan Foton Partikel. Tidak hanya menampilkan data di Particle console dan dweet.io tetapi juga menunjukkan kualitas udara menggunakan LED RGB dengan mengubahnya
Pemantauan Ruang Konferensi Menggunakan Foton Partikel: 8 Langkah (dengan Gambar)
Pemantauan Ruang Konferensi Menggunakan Foton Partikel: PendahuluanDalam tutorial ini kita akan membuat monitor ruang konferensi menggunakan Foton Partikel. Dalam Particle ini terintegrasi dengan Slack menggunakan Webhooks untuk mendapatkan update real time apakah room tersedia atau tidak. Sensor PIR digunakan untuk
Cara Membangun Stasiun Sensor Pemantauan Kenyamanan: 10 Langkah (dengan Gambar)
Cara Membangun Stasiun Sensor Pemantauan Kenyamanan: Instruksi ini menjelaskan desain dan konstruksi yang disebut Stasiun Pemantauan Kenyamanan CoMoS, perangkat sensor gabungan untuk kondisi sekitar, yang dikembangkan di departemen Lingkungan Buatan di TUK, Technische Universität Ka