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

Selasa, 15 April 2025

Cara Membuat Berbagai Macam Project Internet of Things (IoT) dengan Menggunakan ESP32 Dev Module

ESP32 adalah salah satu modul mikrokontroler paling populer untuk pengembangan proyek Internet of Things (IoT). ESP32 menawarkan fitur lebih canggih seperti dual-core processor, Bluetooth, Wi-Fi, dan banyak pin GPIO yang fleksibel.


Langkah-langkah Membuat Berbagai Macam Project Internet of Things (IoT) dengan Menggunakan ESP32 Dev Module

 

1. Persiapan Alat dan Bahan

Sebelum memulai, pastikan Anda memiliki komponen-komponen seperti:  

- ESP32 Dev Module (versi dengan atau tanpa built-in LoRa, sesuai kebutuhan)  

- Breadboard

- Kabel jumper (male-to-male, male-to-female)

- Sensor-sensor (DHT11/DHT22, HC-SR04, PIR, dll.)  

- Aktuator (LED, relay, servo motor, buzzer)  

- Resistor (220Ω, 10kΩ, dll.)  

- Power supply (baterai LiPo atau adaptor USB)  

- Komputer dengan Arduino IDE atau PlatformIO terinstal

2. Instalasi Board ESP32 di Arduino IDE

Sebelum memprogram ESP32, kita perlu menginstal board-nya di Arduino IDE:  

- Buka "Arduino IDE → File → Preferences."  

 


- Masukkan URL berikut di Additional Boards Manager URLs:  

   https://dl.espressif.com/dl/package_esp32_index.json  

 


- Buka "Tools → Board → Boards Manager", cari ESP32, lalu klik Install.  

 

 

- Pilih ESP32 Dev Module dari daftar board.

 


Macam-macam Project Internet of Things (IoT) dengan Menggunakan ESP32 Dev Module

 

Project 1: LED Blink (Hello World IoT)

Tujuan: Menyalakan LED secara berkedip menggunakan ESP32.

Komponen yang Dibutuhkan:

- ESP32 Dev Module  

- LED  

- Resistor 220Ω  

- Breadboard  

- Kabel jumper  

Skema Rangkaian:

- Hubungkan kaki panjang LED (anoda) ke GPIO 2 melalui resistor 220Ω.  

- Hubungkan kaki pendek LED (katoda) ke GND.  

Program (Sketch Arduino IDE):

 

void setup() {  

  pinMode(2, OUTPUT); // Set GPIO 2 sebagai OUTPUT  

}  

void loop() {  

  digitalWrite(2, HIGH); // Nyalakan LED  

  delay(1000);           // Tunggu 1 detik  

  digitalWrite(2, LOW);  // Matikan LED  

  delay(1000);           // Tunggu 1 detik  

}   

 

Upload program dan lihat hasilnya!

Project 2: Monitoring Suhu & Kelembaban dengan DHT11

Tujuan: Membaca data suhu dan kelembaban menggunakan sensor DHT11 dan menampilkannya di Serial Monitor.  

Komponen yang Dibutuhkan:

- ESP32 Dev Module  

- Sensor DHT11  

- Resistor 10kΩ (pull-up)  

- Breadboard  

- Kabel jumper  

Skema Rangkaian:  

- Hubungkan VCC DHT11 ke 3.3V ESP32.  

- Hubungkan GND DHT11 ke GND ESP32.  

- Hubungkan DATA DHT11 ke GPIO 4 dengan resistor pull-up 10kΩ ke VCC.  

 

Program:  

1. Instal library DHT sensor library dari Library Manager.  

2. Gunakan kode berikut:

  

#include <DHT.h>  

#define DHTPIN 4       // Pin data DHT11  

#define DHTTYPE DHT11   // Tipe sensor  

DHT dht(DHTPIN, DHTTYPE);  

void setup() {  

  Serial.begin(115200);  

  dht.begin();  

}  

void loop() {  

  float humidity = dht.readHumidity();  

  float temperature = dht.readTemperature();  

  if (isnan(humidity) || isnan(temperature)) {  

    Serial.println("Gagal membaca sensor!");  

    return;  

  }  

  Serial.print("Suhu: ");  

  Serial.print(temperature);  

  Serial.print("°C | Kelembaban: ");  

  Serial.print(humidity);  

  Serial.println("%");  

  delay(2000);  

}  

 

Buka Serial Monitor (115200 baud) untuk melihat data.

Project 3: IoT Smart Home dengan Relay & Blynk

Tujuan: Mengontrol perangkat listrik (lampu, kipas) melalui smartphone menggunakan aplikasi Blynk.  

Komponen yang Dibutuhkan:

- ESP32 Dev Module  

- Modul Relay 5V  

- Lampu AC/DC  

- Breadboard  

- Kabel jumper  

Skema Rangkaian:

- Hubungkan VCC Relay ke 5V ESP32.  

- Hubungkan GND Relay ke GND ESP32.  

- Hubungkan IN Relay ke GPIO 5.  

- Hubungkan perangkat listrik ke relay.  


Program:

1. Instal library Blynk dari Library Manager.  

2. Buat project di aplikasi Blynk, dapatkan Auth Token.  

3. Gunakan kode berikut:   

 

#define BLYNK_PRINT Serial  

#include <WiFi.h>  

#include <BlynkSimpleEsp32.h>  

char auth[] = "YourAuthToken";  

char ssid[] = "YourWiFiSSID";  

char pass[] = "YourWiFiPassword";  

void setup() {  

  Serial.begin(115200);  

  Blynk.begin(auth, ssid, pass);  

  pinMode(5, OUTPUT);  

}  

void loop() {  

  Blynk.run();  

}  

// Fungsi untuk mengontrol relay dari Blynk  

BLYNK_WRITE(V1) {  

  int relayState = param.asInt();  

  digitalWrite(5, relayState);  

}   

 

Tambahkan Button Widget di Blynk untuk mengontrol relay.

Project 4: GPS Tracker dengan ESP32 & Blynk

Tujuan: Membuat pelacak GPS yang mengirim data lokasi ke smartphone.  

Komponen yang Dibutuhkan:

- ESP32 Dev Module  

- Modul GPS (Neo-6M/Neo-7M)  

- Antena GPS  

- Breadboard  

- Kabel jumper  

Skema Rangkaian:

- Hubungkan VCC GPS ke 3.3V ESP32.  

- Hubungkan GND GPS ke GND ESP32.  

- Hubungkan TX GPS ke RX2 (GPIO 16).  

- Hubungkan RX GPS ke TX2 (GPIO 17).  

Program: 

1. Instal library TinyGPS++ dari Library Manager.  

2. Gunakan kode berikut:  

 

#include <TinyGPS++.h>  

#include <HardwareSerial.h>  

#include <WiFi.h>  

#include <BlynkSimpleEsp32.h>  

TinyGPSPlus gps;  

HardwareSerial SerialGPS(2);  

char auth[] = "YourAuthToken";  

char ssid[] = "YourWiFiSSID";  

char pass[] = "YourWiFiPassword";  

void setup() {  

  Serial.begin(115200);  

  SerialGPS.begin(9600, SERIAL_8N1, 16, 17);  

  Blynk.begin(auth, ssid, pass);  

}  

void loop() {  

  while (SerialGPS.available() > 0) {  

    if (gps.encode(SerialGPS.read())) {  

      if (gps.location.isValid()) {  

        Blynk.virtualWrite(V1, gps.location.lat());  

        Blynk.virtualWrite(V2, gps.location.lng());  

      }  

    }  

  }  

  Blynk.run();  

}   

 

Tambahkan Map Widget di Blynk untuk melihat lokasi.

Project 5: Weather Station dengan ESP32 & Thingspeak

Tujuan: Mengirim data cuaca (suhu, kelembaban, tekanan) ke cloud Thingspeak.  

Komponen yang Dibutuhkan:  

- ESP32 Dev Module  

- Sensor BME280 (suhu, kelembaban, tekanan)  

- Breadboard  

- Kabel jumper  

Skema Rangkaian:  

- Hubungkan VCC BME280 ke 3.3V ESP32.  

- Hubungkan GND BME280 ke GND ESP32.  

- Hubungkan SCL ke GPIO 22.  

- Hubungkan SDA ke GPIO 21.  

Program:

1. Instal library BME280 dan Thingspeak.  

2. Buat channel di Thingspeak, dapatkan API Key.  

3. Gunakan kode berikut:  

 

#include <WiFi.h>  

#include <Wire.h>  

#include <Adafruit_Sensor.h>  

#include <Adafruit_BME280.h>  

#include <ThingSpeak.h>  

Adafruit_BME280 bme;  

WiFiClient client;  

char ssid[] = "YourWiFiSSID";  

char pass[] = "YourWiFiPassword";  

unsigned long channelID = 123456; // Ganti dengan Channel ID Anda  

const char *apiKey = "YourAPIKey";  

void setup() {  

  Serial.begin(115200);  

  WiFi.begin(ssid, pass);  

  ThingSpeak.begin(client);  

  bme.begin(0x76);  

}  

void loop() {  

  float temp = bme.readTemperature();  

  float hum = bme.readHumidity();  

  float pres = bme.readPressure() / 100.0F;  

  ThingSpeak.setField(1, temp);  

  ThingSpeak.setField(2, hum);  

  ThingSpeak.setField(3, pres);  

  ThingSpeak.writeFields(channelID, apiKey);  

  delay(15000); // Kirim data setiap 15 detik  

}  

 

Buka Thingspeak untuk memantau data.

Project 6: Smart Door Lock dengan ESP32 & RFID

Tujuan: Membuka pintu menggunakan kartu RFID yang terdaftar.  

Komponen yang Dibutuhkan:

- ESP32 Dev Module  

- Modul RFID RC522  

- Solenoid Lock 12V  

- Relay  

- Breadboard  

- Kabel jumper  

Skema Rangkaian:

- Hubungkan VCC RC522 ke 3.3V ESP32.  

- Hubungkan GND RC522 ke GND ESP32.  

- Hubungkan SDA RC522 ke GPIO 5.  

- Hubungkan SCK RC522 ke GPIO 18.  

- Hubungkan MOSI RC522 ke GPIO 23.  

- Hubungkan MISO RC522 ke GPIO 19.  

- Hubungkan RST RC522 ke GPIO 4.  

- Hubungkan Relay ke GPIO 2 untuk mengontrol solenoid.  

Program:

1. Instal library MFRC522.  

2. Gunakan kode berikut:  

 

#include <SPI.h>  

#include <MFRC522.h>  

#define RST_PIN 4  

#define SS_PIN 5  

#define RELAY_PIN 2  

MFRC522 mfrc522(SS_PIN, RST_PIN);  

byte authorizedUID[4] = {0x12, 0x34, 0x56, 0x78}; // Ganti dengan UID kartu Anda  

void setup() {  

  Serial.begin(115200);  

  SPI.begin();  

  mfrc522.PCD_Init();  

  pinMode(RELAY_PIN, OUTPUT);  

  digitalWrite(RELAY_PIN, LOW);  

}  

void loop() {  

  if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) {  

    if (mfrc522.uid.uidByte[0] == authorizedUID[0] &&  

        mfrc522.uid.uidByte[1] == authorizedUID[1] &&  

        mfrc522.uid.uidByte[2] == authorizedUID[2] &&  

        mfrc522.uid.uidByte[3] == authorizedUID[3]) {  

      digitalWrite(RELAY_PIN, HIGH);  

      delay(3000);  

      digitalWrite(RELAY_PIN, LOW);  

    }  

  }  

}  

 

Tempelkan kartu RFID terdaftar untuk membuka kunci.

Project 7: IoT Aquarium Controller dengan ESP32

Tujuan: Memantau suhu air, pH, dan mengontrol pompa air secara otomatis.  

Komponen yang Dibutuhkan:

- ESP32 Dev Module  

- Sensor DS18B20 (suhu air)  

- Sensor pH meter  

- Relay untuk pompa air  

- Breadboard  

- Kabel jumper  

Skema Rangkaian:

- Hubungkan DS18B20 ke GPIO 13 (OneWire).  

- Hubungkan pH sensor ke GPIO 34 (Analog).  

- Hubungkan Relay ke GPIO 12 untuk pompa.  

Program:

1. Instal library OneWire dan DallasTemperature.  

2. Gunakan kode berikut:  

 

#include <OneWire.h>  

#include <DallasTemperature.h>  

#define ONE_WIRE_BUS 13  

OneWire oneWire(ONE_WIRE_BUS);  

DallasTemperature sensors(&oneWire);  

#define PUMP_PIN 12  

#define PH_PIN 34  

void setup() {  

  Serial.begin(115200);  

  sensors.begin();  

  pinMode(PUMP_PIN, OUTPUT);  

}  

void loop() {  

  sensors.requestTemperatures();  

  float temp = sensors.getTempCByIndex(0);  

  int pHValue = analogRead(PH_PIN);  

  float pH = map(pHValue, 0, 4095, 0, 14);  

  Serial.print("Suhu Air: "); Serial.print(temp); Serial.println("°C");  

  Serial.print("pH Air: "); Serial.println(pH);  

  if (pH < 6.5 || temp > 30) {  

    digitalWrite(PUMP_PIN, HIGH); // Hidupkan pompa  

  } else {  

    digitalWrite(PUMP_PIN, LOW);  

  }  

  delay(2000);  

}  

 

Pompa akan menyala jika pH terlalu rendah atau suhu terlalu tinggi.

Project 8: Home Security System dengan ESP32 & PIR Sensor

Tujuan: Mendeteksi gerakan dan mengirim notifikasi ke Telegram. 

Komponen yang Dibutuhkan:

- ESP32 Dev Module  

- Sensor PIR  

- Buzzer  

- Breadboard  

- Kabel jumper  

Skema Rangkaian:

- Hubungkan VCC PIR ke 5V ESP32.  

- Hubungkan GND PIR ke GND ESP32.  

- Hubungkan OUT PIR ke GPIO 14.  

- Hubungkan Buzzer ke GPIO 15.  

Program:

1. Instal library Universal Telegram Bot.  

2. Buat bot Telegram, dapatkan Token dan Chat ID.  

3. Gunakan kode berikut:  

 

#include <WiFi.h>  

#include <WiFiClientSecure.h>  

#include <UniversalTelegramBot.h>  

#define PIR_PIN 14  

#define BUZZER_PIN 15  

char ssid[] = "YourWiFiSSID";  

char pass[] = "YourWiFiPassword";  

String botToken = "YourBotToken";  

String chatID = "YourChatID";  

WiFiClientSecure client;  

UniversalTelegramBot bot(botToken, client);  

void setup() {  

  Serial.begin(115200);  

  pinMode(PIR_PIN, INPUT);  

  pinMode(BUZZER_PIN, OUTPUT);  

  WiFi.begin(ssid, pass);  

  client.setInsecure();  

}  

void loop() {  

  if (digitalRead(PIR_PIN) == HIGH) {  

    digitalWrite(BUZZER_PIN, HIGH);  

    bot.sendMessage(chatID, "Peringatan! Gerakan terdeteksi!", "");  

    delay(5000);  

    digitalWrite(BUZZER_PIN, LOW);  

  }  

}  

 

Anda akan menerima notifikasi Telegram saat gerakan terdeteksi.



Siap Mengembangkan Proyek IoT yang Relevan dan Inovatif?

Dapatkan eBook 25 Ide Proyek Internet of Things sekarang dan mulai bangun inovasi kamu sendiri!



SILAHKAN KLIK DISINI!



0 on: "Cara Membuat Berbagai Macam Project Internet of Things (IoT) dengan Menggunakan ESP32 Dev Module"