preloader

ANTARMUKA DENGAN LED, BUZZER DAN RELAY

ANTARMUKA DENGAN LED, BUZZER DAN RELAY

Pada modul ini akan membahas mengenai antarmuka dengan LED (Light Emitting Diode), Buzzer dan Relay dengan proyek mengontrol Device dengan aplikasi IoT KIT.

Pengenalan LED

Light Emitting Diode atau LED adalah komponen elektronika yang dapat memancarkan  cahaya monokromatik ketika diberikan tegangan maju. LED merupakan keluarga Dioda yang terbuat dari bahan semikonduktor. Warna-warna Cahaya yang dipancarkan oleh LED tergantung pada jenis bahan semikonduktor yang dipergunakannya.

Gambar Simbol dan Bentuk LED

Ketika LED dialiri tegangan maju atau bias forward yaitu dari Anoda (P) menuju ke Katoda (K), kelebihan elektron pada N-Type material akan berpindah ke wilayah yang kelebihan hole (lubang) yaitu wilayah yang bermuatan positif (P-Type material). Saat elektron berjumpa dengan hole akan melepaskan photon dan memancarkan cahaya monokromatik (satu warna).

Spesifikasi LED :

  • Tegangan kerja : 1.2 – 4.0 Volt (Berdasarkan warna)
  • Arus Kerja : 20 mA
  • Panjang Gelombang : 430 – 940 nm (Berdasarkan warna)

Pengenalan Buzzer

Buzzer adalah sebuah komponen elektronika yang dapat mengubah sinyal listrik menjadi getaran suara. Buzzer yang merupakan sebuah perangkat audio yang sering digunakan pada rangkaian alarm anti-maling, Bel Rumah dan alat peringatan bahaya lainnya. Jenis Buzzer yang sering ditemukan dan digunakan adalah Buzzer yang berjenis Piezoelectric. Buzzer bekerja dengan baik dalam menghasilkan frekuensi di kisaran 1 – 5 kHz hingga 100 kHz.

Buzzer bekerja dengan tegangan listrik yang diberikan ke bahan Piezoelectric menyebabkan gerakan mekanis, gerakan tersebut kemudian diubah menjadi suara atau bunyi yang dapat didengar oleh telinga manusia dengan menggunakan diafragma dan resonator.

Spesifikasi Buzzer:

  1. Tegangan kerja 3 – 12 Volt
  2. Tahanan dalam 16 Ohm
  3. Output suara 80-85 dB

Gambar Simbol dan bentuk buzzer

Pengenalan Relay

Relay adalah Saklar (Switch) yang dioperasikan secara listrik dan merupakan komponen Elektromekanikal yang terdiri dari dua bagian utama yakni Elektromagnet (Coil) dan Mekanikal (Kontak Saklar/Switch). Relay menggunakan prinsip elektromagnetik untuk menggerakkan kontak saklar sehingga dengan arus listrik yang kecil (low power) dapat menghantarkan listrik dengan tegangan lebih tinggi. Misalnya saklar listrik 220V AC.

 

Gambar Simbol dan bentuk relay

Kontak Poin (Contact Point) Relay 5 pin terdiri dari 2 bagian yaitu :

  1. Normally Close (NC) yaitu kondisi awal sebelum diaktifkan akan selalu berada di posisi CLOSE (tertutup)
  2. Normally Open (NO) yaitu kondisi awal sebelum diaktifkan akan selalu berada di posisi OPEN (terbuka)

Kumparan Coil jika diberikan arus listrik, maka akan timbul gaya Elektromagnet yang kemudian menarik kontak sakelar untuk berpindah dari Posisi sebelumnya (NC) ke posisi baru (NO) sehingga menjadi Saklar yang dapat menghantarkan arus listrik pada posisi barunya (NO). Pada saat tidak dialiri arus listrik, kontak sakelar akan kembali lagi ke posisi Awal (NC). Coil yang digunakan oleh relay untuk menarik kontak sakelar ke Posisi (NO) pada umumnya hanya membutuhkan arus listrik yang relatif kecil.

Relay 1 pada trainer dapat digunakan untuk tegangan dengan output DC 12V sedangkan pada relay 2 untuk sakelar tegangan DC maupun AC 220V.

Perangkat yang Dibutuhkan

1.ESP32 DEVKIT V11 Buah
2.LED1 Buah
3.Buzzer1 Buah
4.Relay1 Buah
5.Kabel Jumper Female-Female3 Buah

Wiring Diagram dan Penyesuaian Aplikasi

Gambar Wiring Diagram dan Penyesuaian Aplikasi

Rangkaian pada gambar dapat diimplementasikan pada trainer dan aplikasi IoT KIT dengan mengikuti tabel berikut:

HEADER I/OHEADER MCU
L1PIN 2
BUZZPIN 4
RL1PIN 5

Pengaturan Aplikasi:

VISIBILITASLABELNILAI MAKSSATUAN
Sakelar 1LED--
Sakelar 2Buzzer--
Sakelar 3Relay--

Petunjuk Praktikum:

  1. Hubungkan kabel jumper dari header LED, BUZZ dan RL1 ke header MCU sesuai dengan tabel rangkaian.
  2. Hubungkan kabel USB.
  3. Buka aplikasi IoT KIT, atur sesuai dengan tabel pengaturan aplikasi.
  4. Buat listing program dengan mengikuti contoh program di bawah.
  5. Pilih board DOIT ESP32 DEVKIT V1 pada Tools > Board > esp32 > DOIT ESP32 DEVKIT V1.
  6. Pilih port yang terhubung pada Tools > Port > COM x.
  7. Verify (compile) dan Upload

Contoh dan Penjelasan Program

				
					/* Antarmuka dengan LED, Buzzer dan Relay - Basic IoT Kit ESP32
 * Project : Mengontrol Device dengan Aplikasi IoT KIT
 * Created By Electins.id
 * https://www.electins.id | https://www.instagram.com/electins.id/
 */

// Library ESP32 WiFi dan Firebase ESP32
#include <WiFi.h>
#include <FirebaseESP32.h>

// SSID dan Password WiFi
#define WIFI_SSID "SSID_WIFI"
#define WIFI_PASSWORD "PASS_WIFI"

// URL Firebase dan Token Database
#define DATABASE_URL "project_id.firebaseio.com"
#define API_KEY "database_secret"

// Firebase objek dengan nama fbdo
FirebaseData fbdo;

// Nama pengguna pada Aplikasi IoT KIT
String user = "user_id";

// PIN LED, Buzzer dan relay
#define LED_PIN   2
#define BUZZ_PIN  4
#define RELAY_PIN 5

void setup() {
  // Serial Monitor pada baudrate 115200
  Serial.begin(115200);

  // Mengatur PIN LED, Buzzer dan Relay sebagai OUTPUT
  pinMode(LED_PIN,  OUTPUT); 
  pinMode(BUZZ_PIN, OUTPUT); 
  pinMode(RELAY_PIN,OUTPUT); 

  // Memulai koneksi WiFi
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  Serial.print("Connecting to Wi-Fi");
  while (WiFi.status() != WL_CONNECTED)
  {
    Serial.print(".");
    delay(300);
  }
  // Menampilkan status koneksi dan alamat IP
  Serial.println();
  Serial.print("Connected with IP: ");
  Serial.println(WiFi.localIP());
  Serial.println();
  
  // Menampilkan versi client firebase
  Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION);
  // Memulai koneksi dengan dengan database
  // Re-koneksi jika WiFi terputus
  Firebase.begin(DATABASE_URL, API_KEY);
  Firebase.reconnectWiFi(true);
}

void loop() {
  // Membaca database pada alamat */user/switch1
  // Jika bernilai true LED ON
  // Jika bernilai false LED OFF
  if(Firebase.getString(fbdo, "/" + user +  "/switch1")) {
    if(fbdo.to<bool>() == true){
      digitalWrite(LED_PIN, HIGH);
      Serial.println("LED ON");
    }else{
      Serial.println("LED OFF");
      digitalWrite(LED_PIN, LOW);
    }
  }
  // Membaca database pada alamat */user/switch2
  // Jika bernilai true Buzzer ON
  // Jika bernilai false Buzzer OFF
  if(Firebase.getString(fbdo, "/" + user + "/switch2")) {
    if(fbdo.to<bool>() == true){
      digitalWrite(BUZZ_PIN, HIGH);
      Serial.println("Buzzer ON");
    }else{
      Serial.println("Buzzer OFF");
      digitalWrite(BUZZ_PIN, LOW);
    }
  }
  // Membaca database pada alamat user/switch3
  // Jika bernilai true Relay ON
  // Jika bernilai false Relay OFF
  if(Firebase.getString(fbdo, "/" + user +  "/switch3")) {
    if(fbdo.to<bool>() == true){
      digitalWrite(RELAY_PIN, HIGH);
      Serial.println("Relay ON");
    }else{
      Serial.println("Relay OFF");
      digitalWrite(RELAY_PIN, LOW);
    }
  }
}

				
			

Related Post

Leave a Reply

Your email address will not be published.