Blog Archive

Arduino Indonesia. Gambar tema oleh Storman. Diberdayakan oleh Blogger.

Supported by Electronics 3 in 1

1. Jasa pencetakan PCB single layer dengan harga paling murah.

(Metode Pembuatan dengan Transfer Toner)
>PCB design sendiri (siap cetak) : Rp.150,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

(Metode Sablon Full Masking dan Silk Screen minimal pemesanan 100 Pcs)
>PCB design sendiri (siap cetak) : Rp.200,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

2. Jasa perancangan, perakitan, dan pembuatan trainer pembelajaran elektronika untuk SMK dan Mahasiswa.

3. Jasa perancangan, perakitan, dan pembuatan berbagai macam kontroller, sensor, aktuator, dan tranduser.
>Design Rangkaian / Sistem Elektronika
>Design Rangkaian / Sistem Instrumentasi
>Design Rangkaian / Sistem Kendali
>Kerjasama Riset (data atau peralatan)
>Kerjasama Produksi Produk-Produk KIT Elektronika
>Produksi Instrumentasi Elektronika

4. Jasa Pembuatan Proyek, Tugas Akhir, Tugas Laboratorium, PKM, Karya Ilmiah, SKRIPSI, dll

Like My Facebook

Popular Posts

Rabu, 31 Juli 2024

Panduan: Prototipe Alat Pemantau Kualitas Udara dengan Arduino

Alat pemantau kualitas udara dengan Arduino adalah perangkat yang dirancang untuk mengukur dan memantau kualitas udara menggunakan platform mikrokontroler Arduino. Arduino berperan untuk mengumpulkan data dari sensor dan mengolahnya untuk ditampilkan pada layar atau dikirim ke perangkat lain agar dapat dianalisis lebih lanjut. Pengguna dapat memprogram Arduino untuk memberikan peringatan jika kualitas udara mencapai level berbahaya. Perangkat ini biasanya dilengkapi dengan sensor yang dapat mendeteksi berbagai parameter kualitas udara seperti PM2.5 dan PM10, gas serta suhu dan kelembaban.



Baca juga : Menggunakan Arduino untuk Prototipe Perangkat Kesehatan

 

Alat dan Bahan

1. Arduino Uno

2. Sensor gas MQ-135 untuk mendeteksi gas-gas seperti CO2, NH3, NOx, alkohol, benzena, asap dan gas berbahaya lainnya.

3. Sensor suhu dan kelembaban DHT22 untuk mengukur suhu dan kelembaban udara.

4. Layar OLED 0.96 untuk menampilkan data yang dikumpulkan oleh sensor.

5. Module Wi-Fi ESP8266 untuk mengirim data ke platform IoT.

6. Breadboard dan kabel jumper untuk merangkai komponen.

7. Adaptor daya untuk menyuplai daya ke Arduino.

Prinsip Kerja

Prototipe ini bekerja dengan cara mendeteksi konsentrasi gas berbahaya menggunakan sensor MQ-135 dan mengukur suhu serta kelembaban menggunakan sensor DHT22. Data yang diperoleh akan ditampilkan pada layar OLED dan dikirim ke platform IoT melalui module Wi-Fi ESP8266 untuk pemantauan jarak jauh.

Langkah-langkah Pembuatan Prototipe Alat Pemantau Kuliatas Udara dengan Arduino

1. Merangkai Komponen

• Hubungkan pin VCC sensor MQ-135 ke 5V pada Arduino.

• Hubungkan pin GND sensor MQ-135 ke GND pada Arduino.

• Hubungkan pin A0 sensor MQ-135 ke pin A0 pada Arduino.

• Hubungkan pin VCC sensor DHT22 ke 5V pada Arduino.

• Hubungkan pin GND sensor DHT22 ke GND pada Arduino.

• Hubungkan pin DATA sensor DHT22 ke pin digital 2 pada Arduino.

• Hubungkan pin VCC layar OLED ke 3.3V pada Arduino.

• Hubungkan pin GND layar OLED ke GND pada Arduino.

• Hubungkan pin SDA layar OLED ke pin SDA pada Arduino (A4).

• Hubungkan pin SCL layar OLED ke pin SCL pada Arduino (A5).

• Hubungkan pin VCC module Wi-Fi ke 3.3V pada Arduino.

• Hubungkan pin GND module Wi-Fi ke GND pada Arduino.

• Hubungkan pin TX module Wi-Fi ke pin RX pada Arduino.

• Hubungkan pin RX module Wi-Fi ke pin TX pada Arduino.

2. Memprogram Arduino

Kode Program Sederhana


#include <Adafruit_Sensor.h>

#include <DHT.h>

#include <DHT_U.h>

#include <Wire.h>

#include <Adafruit_GFX.h>

#include <Adafruit_SSD1306.h>

#include <ESP8266WiFi.h>

#include <ESP8266HTTPClient.h>

// Define pins

#define DHTPIN 2

#define DHTTYPE DHT22

#define MQ135PIN A0

// Define OLED display

#define SCREEN_WIDTH 128

#define SCREEN_HEIGHT 64

// Create instances for sensors and display

DHT dht(DHTPIN, DHTTYPE);

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

// WiFi credentials

const char* ssid = "YOUR_SSID";

const char* password = "YOUR_PASSWORD";

// Server endpoint

const char* serverName = "http://example.com/post-data";

// Variables to store sensor data

float temperature;

float humidity;

int airQuality;

void setup() {

  // Initialize serial communication

  Serial.begin(115200);

  // Initialize sensors

  dht.begin();

  // Initialize OLED display

  if (!display.begin(SSD1306_I2C_ADDRESS, SCREEN_WIDTH, SCREEN_HEIGHT)) {

    Serial.println(F("SSD1306 allocation failed"));

    for (;;);

  }

  display.display();

  delay(2000);

  display.clearDisplay();

  display.setTextSize(1);

  display.setTextColor(SSD1306_WHITE);

  // Initialize Wi-Fi

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {

    delay(1000);

    Serial.println("Connecting to WiFi...");

  }

  Serial.println("Connected to WiFi");

}

void loop() {

  // Read sensor data

  temperature = dht.readTemperature();

  humidity = dht.readHumidity();

  airQuality = analogRead(MQ135PIN);

  // Check if any reads failed and exit early (to try again).

  if (isnan(temperature) || isnan(humidity) || airQuality == 0) {

    Serial.println(F("Failed to read from sensors!"));

    return;

  }

  // Display data on OLED

  display.clearDisplay();

  display.setCursor(0, 0);

  display.print("Temp: ");

  display.print(temperature);

  display.println(" *C");

  display.print("Humidity: ");

  display.print(humidity);

  display.println(" %");

  display.print("Air Quality: ");

  display.print(airQuality);

  display.display();

  // Send data to server

  if (WiFi.status() == WL_CONNECTED) {

    HTTPClient http;

    String serverPath = serverName + String("?temperature=") + String(temperature)

                      + "&humidity=" + String(humidity)

                      + "&airQuality=" + String(airQuality);

    http.begin(serverPath.c_str());

    int httpResponseCode = http.GET();

    if (httpResponseCode > 0) {

      String response = http.getString();

      Serial.println(httpResponseCode);

      Serial.println(response);

    } else {

      Serial.print("Error on sending GET Request: ");

      Serial.println(httpResponseCode);

    }

    http.end();

  }

  // Wait before the next loop

  delay(2000);

}

 

Penjelasan Kode

• Library: Mengimpor library untuk sensor DHT22, layar OLED, dan module Wi-Fi ESP8266.

• Definisi Pin: Mendefinisikan pin yang digunakan oleh sensor dan layar.

• Inisialisasi: Inisialisasi sensor, layar OLED, dan koneksi Wi-Fi.

• Pembacaan Data: Membaca data dari sensor dan menampilkan hasilnya pada layar OLED.

• Pengiriman Data: Mengirim data sensor ke server melalui module Wi-Fi ESP8266.

3. Menguji Prototipe

Setelah memprogram Arduino, unggah kode tersebut ke board Arduino Anda. Pastikan Anda telah mengatur koneksi Wi-Fi dengan benar. Anda dapat memantau hasil pembacaan sensor melalui Serial Monitor di Arduino IDE dan melihat data yang ditampilkan pada layar OLED. Jika koneksi Wi-Fi berfungsi, data juga akan dikirim ke server yang ditentukan.

4. Mengatur Server

Untuk menerima data dari alat pemantau kualitas udara, Anda perlu mengatur server yang dapat menangani HTTP GET request. Anda dapat menggunakan layanan seperti ThingSpeak, Blynk, atau membuat server sendiri menggunakan PHP dan MySQL. Berikut ini contoh skrip PHP sederhana untuk menerima data:

 

<?php

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "database";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {

  die("Connection failed: " . $conn->connect_error);

}

$temperature = $_GET['temperature'];

$humidity = $_GET['humidity'];

$airQuality = $_GET['airQuality'];

$sql = "INSERT INTO air_quality_data (temperature, humidity, airQuality)

VALUES ('$temperature', '$humidity', '$airQuality')";

if ($conn->query($sql) === TRUE) {

  echo "New record created successfully";

} else {

  echo "Error: " . $sql . "<br>" . $conn->error;

}

$conn->close();

?>

 

Pengembangan Lanjutan


1. Kirim notifikasi ke pengguna jika kualitas udara mencapai level berbahaya.

2. Gunakan platform IoT untuk menampilkan grafik dan analisis data kualitas udara dari waktu ke waktu.

3. Tambahkan proses kalibrasi untuk meningkatkan akurasi sensor.

4. Simpan data secara lokal menggunakan kartu SD jika koneksi internet terputus.

 

Baca juga : Tutorial Lengkap: Prototipe Sistem Otomatisasi Rumah dengan Arduino

 

 

 

 

 

 

Siap Untuk Membuat Proyek Impianmu Menjadi Kenyataan?

Klik di sini untuk chat langsung via WhatsApp dan dapatkan dukungan langsung dari tim ahli kami!

 

0 on: "Panduan: Prototipe Alat Pemantau Kualitas Udara dengan Arduino"