UNIT 3
POTENSIOMETER, RELAY, ESP8266
I. Tujuan Percobaan
1. Mengetahui cara menggunakan Potensiometer 2. Mengetahui Input Analog
3. Mengetahui Ouput PWM
4. Mengetahui cara penggunaan Relay
5. Mengetahui Penggunaan ESP sebagai IoT System
II. Alat Yang Digunakan 1. Laptop
2. Arduino Unor R3 3. ESP8266
4. Kabel Type-B 5. Kabel Micro 6. Potensimeter 7. Relay 5V 8. Led
9. Resistor 220 Ω 10. Bread Board 11. Kabel Jumper 12. Fitting Lampu 13. Lampu 10W 14. Steaker
III. Dasar Teori
Gambar 2.1 Potensiometer
Potentiometer atau potensiometer adalah resistor tiga terminal dengan sambungan geser yang membentuk pembagi tegangan yang nilai resistansinya dapat diatur sesuai keinginan. Potensiometer termasuk salahsatu jenis variable resistor (resistor yang daat diubah-ubah nilai resistansinya). Secara struktur, potensiometer terdiri dari 3 kaki terminal dengan sebuah shaft atau tuas yang berfungsi sebagai pengaturnya. 3 terminal tersebut terbagi menjadi terminal tetap dan satu terminal geser. Jika hanya dua kaki terminal yang digunakan maka terminal yang digunakan adalah satu terminal tetap dan satu terminal geser.
Potensiometer biasanya digunakan untuk mengendalikan perangkat elektronik seperti pengendali suara pada penguat yang sering kita temukan di radio, Handy Talkie atau Walkie Talkie, tape mobil, amplifier sound system dan ekualizer atau mixer.
Potensiometer yang dioperasikan oleh suatu mekanisme dapat digunakan sebagai transduser, misalnya sebagai sensor joystick. Potensiometer juga sering digunakan dalam rangkaian pengatur terang gelapnya lampu dan pengatur tegangan pada power supply. Potensiometer memiliki nilai resistansi yang bermacam-macam mulai dari potensiometer 5k, potensiometer 10k, potensiometer 50k dan potensiometer 100k serta potensiometer juga memiliki beberapa jenis seperti potensiometer digital, potensiometer rotary, dan potensiometer stereo.
Gambar 2.2 Relay
Relay adalah komponen elektronik yang seringkali terlihat sepele tetapi memiliki peran yang sangat penting dalam berbagai sistem elektrik dan elektronik. Relay berfungsi sebagai sakelar elektromagnetik yang dapat mengontrol aliran listrik pada rangkaian.
Cara kerja relay adalah ketika kumparan elektromagnetik yang ada di dalamnya terdapat sebuah feromagnetis yang mendapatkan aliran listrik.
Dengan demikian secara otomatis akan muncul sebuah medan magnet yang sifatnya sementara namun selalu ada. Yang mana magnet tersebut akan menarik tuas armature sehingga dapat merubah posisi dari kontak switch yang awalnya dari NC (Normally Closed) berubah menjadi NO ( Normally Open).NO (Normally Open) adalah sebuah kondisi yang mana relay belum mendapatkan adanya tekanan dan tuas berada di posisi normal. Sedangkan NC ( Normally Closed) adalah kondisi dimana relay sudah mendapatkan adanya tegangan dengan posisi tuas menarik dan kontak tertutup.
Gambar 2.3 ESP8266 (NodeMCU)
ESP8266 merupakan modul wifi yang berfungsi sebagai perangkat tambahan mikrokontroler seperti Arduino agar dapat terhubung langsung dengan wifi dan membuat koneksi TCP/IP.
Modul ini membutuhkan daya sekitar 3.3v dengan memiliki tiga mode wifi yaitu Station, Access Point dan Both (Keduanya). Modul ini juga dilengkapi dengan prosesor, memori dan GPIO dimana jumlah pin bergantung dengan jenis ESP8266 yang kita gunakan. Sehingga modul ini bisa berdiri sendiri tanpa menggunakan mikrokontroler apapun karena sudah memiliki perlengkapan layaknya mikrokontroler.
Pada konsep IoT (internet of things) NodeMCU bertindak sebagai perangkat/device smart things. Devices atau “things” umumnya berkaitan dengan pengambilan data yang bersumber dari lingkungan secara real-time. Tugas ini umumnya
diemban oleh perangkat MCU (Microcontroller Unit — meskipun tidak selalu demikian) yang bertindak sebagai pengendali dan pemroses data. Untuk mendapatkan data dari lingkungan luar MCU dibantu oleh sensor. Sebaliknya, MCU juga dapat mengendalikan perangkat lain yang diistilahkan sebagai aktuator.
IV. Prosedur Percobaan A. Lampu Dimmer
1. Susun rangkaian seperti gambar dibawah ini
2. Buka software Arduino IDE di laptop anda
3. Masukan listing code berikut ke dalam software Arduino IDE
int lampu = 5;
int potensio = A0;
int baca_potensio, mapping;
void setup() {
pinMode(lampu, OUTPUT);
Serial.begin(115200);
}
void loop() {
baca_potensio = analogRead(potensio);
mapping = map(baca_potensio, 0, 1023, 0, 250);
analogWrite(lampu, mapping);
Serial.println(baca_potensio);
delay(300);
}
4. Pilih Tools → pastikan port yang dipilih sesuai dengan port yang digunakan serta board yang dipilih yaitu Arduino UNO
5. Tekan tombol Upload untuk mengupload program ke board Arduino
*Challenge :
Ubahlah program diatas agar putaran servo mengikuti putaran potensiometer
B. Kontrol Lampu IoT
1. Susun rangkaian seperti gambar dibawah ini
2. Buka software Arduino IDE di laptop anda
3. Masukan listing code berikut ke dalam software Arduino IDE
#include "CTBot.h"
CTBot myBot;
String ssid = "Wokwi-GUEST" ; // Isi sesuai dengan nama hotspot kamu
String pass = ""; // Isi sesuai dengan password hotspot String token = "5862037171:AAECRXLL35rvOZvfJUm-LLj-
H6RkHu3uTww" ; // Isi dengan telegram bot Token String pesan="";
int lampu_merah = 23;
int lampu_kuning = 22;
int lampu_hijau= 21;
void setup() {
// initialize the Serial Serial.begin(115200);
Serial.println("Starting TelegramBot...");
pinMode(lampu_merah, OUTPUT);
pinMode(lampu_kuning, OUTPUT);
pinMode(lampu_hijau, OUTPUT);
// connect the ESP8266 to the desired access point myBot.wifiConnect(ssid, pass);
// set the telegram bot token myBot.setTelegramToken(token);
// check if all things are ok if (myBot.testConnection())
Serial.println("\ntestConnection OK");
else
Serial.println("\ntestConnection NOK");
}
void loop() {
// a variable to store telegram message data TBMessage msg;
// if there is an incoming message...
if (CTBotMessageText == myBot.getNewMessage(msg)){
Serial.print("Pesan Masuk: ");
Serial.println(msg.text);
pesan = msg.text;
}
// wait 100 milliseconds delay(100);
if(pesan == "lampu merah"){
digitalWrite(lampu_merah, HIGH);
digitalWrite(lampu_kuning, LOW);
digitalWrite(lampu_hijau, LOW);
}
else if (pesan == "lampu kuning"){
digitalWrite(lampu_merah, LOW);
digitalWrite(lampu_kuning, HIGH);
digitalWrite(lampu_hijau, LOW);
}
else if (pesan == "lampu hijau"){
digitalWrite(lampu_merah, LOW);
digitalWrite(lampu_kuning, LOW);
digitalWrite(lampu_hijau, HIGH);
} }
4. Pilih Tools → pastikan port yang dipilih sesuai dengan port yang digunakan serta board yang dipilih yaitu ESP32
5. Tekan tombol Upload untuk mengupload program ke board ESP
*Challenge :
Ubahlah program diatas agar saat pesan yang dikirimkan selain “lampu hijau/
lampu kuning/ lampu merah” yang terjadi adalah semua lampu menjadi berkedip-kedip atau blink.
C. Kontrol Lampu AC dengan IoT
1. Susun rangkaian seperti gambar dibawah ini
2. Buka software Arduino IDE di laptop anda
3. Masukan listing code berikut ke dalam software Arduino IDE
#include "CTBot.h"
CTBot myBot;
String ssid = "Wokwi-GUEST" ; // Isi sesuai dengan nama hotspot kamu
String pass = ""; // Isi sesuai dengan password hotspot String token = "5862037171:AAECRXLL35rvOZvfJUm-LLj-
H6RkHu3uTww" ; // Isi dengan telegram bot Token String pesan="";
int relay = 23;
void setup() {
// initialize the Serial Serial.begin(115200);
Serial.println("Starting TelegramBot...");
pinMode(relay, OUTPUT);
// connect the ESP8266 to the desired access point myBot.wifiConnect(ssid, pass);
// set the telegram bot token myBot.setTelegramToken(token);
// check if all things are ok
if (myBot.testConnection())
Serial.println("\ntestConnection OK");
else
Serial.println("\ntestConnection NOK");
}
void loop() {
// a variable to store telegram message data TBMessage msg;
// if there is an incoming message...
if (CTBotMessageText == myBot.getNewMessage(msg)){
Serial.print("Pesan Masuk: ");
Serial.println(msg.text);
pesan = msg.text;
}
// wait 100 milliseconds delay(100);
if(pesan == "lampu nyala"){
digitalWrite(relay, HIGH);
} }
4. Pilih Tools → pastikan port yang dipilih sesuai dengan port yang digunakan serta board yang dipilih yaitu ESP32
5. Tekan tombol Upload untuk mengupload program ke board ESP