Anda di halaman 1dari 7

FT UNP Padang Lembaran : Job Sheet 11

Jurusan : Pendidikan Teknik Matakuliah : Perangkat Lunak


Elektronika Elektronika
Waktu : 3 x 50 Menit Topik : Software Wokwi Simulator IoT

Kode : ELA.61.4309 Judul : Mikrokontroler ESP 32

Simulasi rangkaian elektronika


Menggunakan Pemograman Mikrokontroler ESP32 dengan Wokwi dan Telegram
menggunakan Led

A. TUJUAN PRAKTIKUM
a. Mahasiswa dapat mengenal software Wokwi sebagai salah satu aplikasi untuk
simulasi rangkaian elektronika.
b. Mahasiswa mampu menggunakan Wokwi untuk menggambar dan melakukan
simulasi terhadap rangkaian elektronika.
B. TEORI SINGKAT
Wokwi adalah simulator elektronik online, Fanbot dapat menggunakannya
untuk mensimulasikan Arduino, ESP32, dan banyak papan, suku cadang, dan sensor
populer lainnya. Wokwi memiliki beberapa fitur diantaranya :
a. WiFi simulation – Menghubungkan proyek simulasi ke internet. Fanbot dapat
menggunakan MQTT, HTTP, NTP, dan banyak protokol jaringan lainnya.
b. Virtual Logic Analyzer – Menangkap sinyal digital dalam simulasi Fanbot
(misalnya UART, I2C, SPI) dan menganalisisnya di komputer.
c. Advanced debugging with GDB – Debugger Arduino dan Raspberry Pi Pico yang
tangguh untuk pengguna tingkat lanjut.
d. SD card simulation – Simpan dan ambil file maupun direktori dari kode Fanbot.
Club member juga dapat mengunggah file biner.
C. Alat dan Bahan :
a. Komputer atau Laptop

b. Browser (Google Chrome, Bing, Mozila Firefox, dsb)


D. Perakitan dan Pemrograman Dasar

1. Menggambar Rangkaian

Rangkaian Kontrol Led menggunakan Telegram.

Langkah – Langkah simulasi Rangkaian pada Wokwi:


a. Buka browser di Laptop/Komputer masing – masing lalu ketikkan
https://wokwi.com/ pada bar pencarian.
b. Login dengan akun google masing – masing lalu klik My Project.
c. Kemudian, klik New Project dan pilih “ESP32” pada pilihan projectnya.
d. Setelah tampil halaman berikut, klik Library Manager.

e. Lalu install library berikut:

f. Setelah itu, kembali ke halaman Sketch.ino, lalu rangkai komponen seperti


gambar berikut:
g. Selanjutnya ketik program berikut pada bagian program:

#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>

#define LED 5

#define WIFI_SSID "Wokwi-GUEST"


#define WIFI_PASSWORD ""

#define BOT_TOKEN "YOUR BOT TOKEN"


#define CHAT_ID "YOUR CHAT ID "

const unsigned long BOT_MTBS = 1000;


unsigned long bot_lasttime;

WiFiClientSecure secured_client;
UniversalTelegramBot bot (BOT_TOKEN, secured_client);

void setup()
{
pinMode(LED, OUTPUT);
Serial.begin(115200);
while (!Serial) {} //Start running when the serial is open
delay(3000);
Serial.print("Connecting WiFi.");
Serial.print(WIFI_SSID);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
secured_client.setCACert(TELEGRAM_CERTIFICATE_ROOT);
while (WiFi.status() != WL_CONNECTED)
{
Serial.print(".");
delay(500);
}
Serial.println("");
Serial.println("WiFi connected");
}
void loop() {
if (millis() - bot_lasttime > BOT_MTBS)
{
int numNewMessages = bot.getUpdates(bot.last_message_received + 1);
while (numNewMessages)
{
Serial.println("got response");
handleNewMessages(numNewMessages);
numNewMessages = bot.getUpdates(bot.last_message_received + 1);
}
bot_lasttime = millis();
}
}

void handleNewMessages(int numNewMessages)


{
Serial.print("handleNewMessages ");
Serial.println(numNewMessages);
for (int i = 0; i < numNewMessages; i++)
{
String chat_id = String(bot.messages[i].chat_id);
if (chat_id != CHAT_ID )
{
bot.sendMessage(chat_id, "Unauthorized user", "");
}
else
{
String text = bot.messages[i].text;
String from_name = bot.messages[i].from_name;
if (from_name == "")
from_name = "Guest";
if (text == "/on")
{
digitalWrite(LED, HIGH);
String msg = "LED Status: Hidup";
bot.sendMessage(chat_id,msg, "");
}
if (text == "/off")
{
digitalWrite(LED, LOW);
String msg = "LED Status: Mati";
bot.sendMessage(chat_id,msg, "");
}
if (text == "/start")
{
String welcome = "Blinking LED With ESP32\n";
welcome += "/on : Hidupkan LED \n";
welcome += "/off : Matikan LED\n";
bot.sendMessage(chat_id, welcome, "Markdown");
}
}
}
}
(Catatan: Ganti BOT_TOKEN dan CHAT_ID sesuai dengan yang diberikan
oleh bot father)
h. Buat sebuah bot telegram dengan cara mengirimkan chat seperti berikut ke
BotFather

Catatan: Jika pada saat anda memberikan nama bot terdapat pesan “Already
exist” maka ganti kode belakang nama bot seperti: BlinkingLedV2 dst sampai
BotFather menampilkan pesan “Good” dan berikan juga “_bot” pada akhir
command.
i. Dapatkan Chat ID anda dengan mengirimkan pesan kepada IDBot atau Get
My ID seperti berikut:
j. Simulasikan project anda dengan cara klik “Start The Simulation”, Setelah
muncul status WiFi connected, buka chat bot yang telah anda buat dan
kirimkan pesan seperti berikut:
E. Project
Rancanglah sebuah project menghidupkan dan mematikan LED dan Buzzer dengan
telegram web dan ESP32. Perancangan dimulai dari latar belakang, desain blok
diagram, flow chart. Rangkaian per item dan juga rangkaian keseluruhan beserta hasil
dari perancangan. Bukti hasil dibuat dalam bentuk video.

***IKA***

Anda mungkin juga menyukai