Mikrokontroler
Dosen pengampu : Helmi Wibowo, M.T
Oleh :
B. MATERI
a. ESP 32
ESP32 adalah mikrokontroller berharga rendah dan hemat energi dengan wifi dan dual-mode
bluetooth terintegrasi. Generasi ESP32 menggunakan mikroprosesor Tensilica Xtensa LX6
sebagai inti. Baik dalam mode single-core maupun dual-core. ESP 32 adalah mikrokontroler
yang dikenalkan oleh Espressif System merupakan penerus dari mikrokontroler ESP8266. Pada
mikrokontroler ini sudah tersedia modul wifi dalam chip sehingga sangat mendukung untuk
membuat sistem aplikasi Internet of Things. Berikut spesifikasinya : ESP32 memiliki lebih
banyak fitur daripada ESP8266. Memulai dengan ESP32 ini. Berikut ini daftar beberapa
spesifikasi penting dari ESP32.
Single / Dual-Core 32-bit LX6 Microprocessor with clock frequency up to 240 MHz.
34 Programmable GPIOs.
b. DHT22
DHT22 merupakan sensor yang dapat mengukur suhu dan juga kelembaban, sensor berikut ini
mempunyai keluaran berwujud sinyal digital. Sensor DHT22 ini mempunyai pengaturan yang
sangat akurat dengan bayaran suhu ruang pengaturan dengan nilai yang tersimpan yang ada di
dalam memori OTP terpadu. Dan juga sensor DHT22 memiliki jangkauan pembacaan suhu dan
kelembaban yang lumayan amat luas, Setidaknya sensor DHT22 juga mampu mendistribusikan
sinyal keluaran via kabel dengan panjang hingga mencapai 20 meter sehingga sesuai dan dapat
untuk ditempatkan walau berada jauh di sana. Contoh yang sering di gunakan sensor ini untuk
membaca suhu dan kelembapan ruangan seperti kandang, kamar di rumah, gudang, dan lain-lain.
Selain dapat membaca suhu dan kelembapan ruangan sensor ini juga dapat mengukur suhu dan
kelembapan udara di luar ruangan. memiliki 3 pin yang harus Anda gunakan: GND, Vcc dan
Data.
c. LED
Light Emitting Diode atau sering disingkat dengan 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. LED
juga dapat memancarkan sinar inframerah yang tidak tampak oleh mata seperti yang sering kita
jumpai pada Remote Control TV ataupun Remote Control perangkat elektronik lainnya.
Bentuk LED mirip dengan sebuah bohlam (bola lampu) yang kecil dan dapat
dipasangkan dengan mudah ke dalam berbagai perangkat elektronika. Berbeda dengan Lampu
Pijar, LED tidak memerlukan pembakaran filamen sehingga tidak menimbulkan panas dalam
menghasilkan cahaya. Oleh karena itu, saat ini LED (Light Emitting Diode) yang bentuknya
kecil telah banyak digunakan sebagai lampu penerang dalam LCD TV yang mengganti lampu
tube.
Cara kerjanya pun hampir sama dengan Dioda yang memiliki dua kutub yaitu
kutub Positif (P) dan Kutub Negatif (N). LED hanya akan memancarkan cahaya apabila dialiri
tegangan maju (bias forward) dari Anoda menuju ke Katoda. LED terdiri dari sebuah chip
semikonduktor yang di doping sehingga menciptakan junction P dan N. Yang dimaksud dengan
proses doping dalam semikonduktor adalah proses untuk menambahkan ketidakmurnian
(impurity) pada semikonduktor yang murni sehingga menghasilkan karakteristik kelistrikan yang
diinginkan. 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).
LED atau Light Emitting Diode yang memancarkan cahaya ketika dialiri tegangan maju ini juga
dapat digolongkan sebagai Transduser yang dapat mengubah Energi Listrik menjadi Energi
Cahaya.
d. Relay
Modul relay adalah salah satu piranti yang beroperasi berdasarkan prinsip elektromagnetik untuk
menggerakkan kontaktor guna memindahkan posisi ON ke OFF atau sebaliknya dengan
memanfaatkan tenaga listrik. Peristiwa tertutup dan terbukanya kontaktor ini terjadi akibat adanya
efek induksi magnet yang timbul dari kumparan induksi listrik. Perbedaan yang paling mendasar
antara relay dan sakelar adalah pada saat pemindahan dari posisi ON ke OFF.
Relay melakukan pemindahan-nya secara otomatis dengan arus listrik, sedangkan sakelar
dilakukan dengan cara manual. Pada dasarnya, fungsi modul relay adalah sebagai saklar elektrik.
Dimana ia akan bekerja secara otomatis berdasarkan perintah logika yang diberikan.
Kebanyakan, relay 5 volt DC digunakan untuk membuat project yang salah satu komponennya
butuh tegangan tinggi atau yang sifatnya AC (Alternating Current).
Sedangkan kegunaan relay secara lebih spesifik adalah sebagai berikut:
Untuk dapat memahami prinsip kerja relay, terlebih dahulu kamu wajib tahu kelima fungsi
komponen relay berikut ini.
Penyangga (Armature)
Kumparan (Coil)
Pegas (Spring)
Saklar (Switch Contact)
Inti Besi (Iron Core)
D. RANGKAIAN
a. Simulasi pemrograman dengan kontrol relay
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
BlynkTimer timer;
#define relay 2
int SW_relay = 0;
BLYNK_WRITE(V0)
{
SW_relay = param.asInt();
if (SW_relay ==1){
digitalWrite(relay, HIGH);
Serial.println("Relay terbuka");
Blynk.virtualWrite(V0, HIGH);
}else{
digitalWrite(relay, LOW);
Serial.println("Relay tertutup");
Blynk.virtualWrite(V0, LOW);
}
}
b. Simulasi pemrograman dengan sensor DHT22
#define BLYNK_TEMPLATE_ID "TMPL65c2sR8vK"
#define BLYNK_TEMPLATE_NAME "LED CONTROL"
#define BLYNK_AUTH_TOKEN "D8DmJ0FpL5DH8hmnSDKrYxmAxqISbNa2"
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#include <DHTesp.h> //Library untuk DHT
DHTesp dht;
BlynkTimer timer;
BLYNK_WRITE(V1)
{
value1 = param.asInt();
digitalWrite(LED_Y, value1);
Blynk.virtualWrite(V8, value1);
cekAllLed();
}
BLYNK_WRITE(V2)
{
value2 = param.asInt();
digitalWrite(LED_G, value2);
Blynk.virtualWrite(V9, value2);
cekAllLed();
}
BLYNK_WRITE(V3)
{
value3 = param.asInt();
digitalWrite(LED_B, value3);
Blynk.virtualWrite(V10, value3);
cekAllLed();
}
BLYNK_WRITE(V6)
{
value6 = param.asInt();
digitalWrite(LED_R, value6);
Blynk.virtualWrite(V7, value6);
Blynk.virtualWrite(V0, value6);
digitalWrite(LED_Y, value6);
Blynk.virtualWrite(V8, value6);
Blynk.virtualWrite(V1, value6);
digitalWrite(LED_G, value6);
Blynk.virtualWrite(V9, value6);
Blynk.virtualWrite(V2, value6);
digitalWrite(LED_B, value6);
Blynk.virtualWrite(V10, value6);
Blynk.virtualWrite(V3, value6);
}
void cekAllLed(){
if(value0 == 1 && value1 == 1 && value2 == 1 && value3 == 1){
Blynk.virtualWrite(V6, 1);
}
else{
Blynk.virtualWrite(V6, 0);
}
// if(value0 == 0 && value1 == 0 && value2 == 0 && value3 == 0){
// Blynk.virtualWrite(V6, 0);
// }
}
void setup()
{
// Debug console
Serial.begin(115200); //serial monitor menggunakan bautrate 9600
dht.setup(DHT_PIN, DHTesp::DHT22);
pinMode(LED_R, OUTPUT);
pinMode(LED_Y, OUTPUT);
pinMode(LED_G, OUTPUT);
pinMode(LED_B, OUTPUT);
Blynk.begin(auth, ssid, pass); //memulai Blynk
timer.setInterval(1000, sendSensor); //Mengaktifkan timer untuk
pengiriman data 1000ms
}
void loop()
{
Mulai
Inisialisasi
Input/Output dan
Variabel
Simulasi
dijalankan
LED Menyala
Selesai
b. Simulasi pemrograman dengan sensor DHT22
Mulai
Inisialisasi
Input/Output dan
Variabel
Simulasi
dijalankan
Selesai
G. CARA KERJA