Skip to main content

Memperdalam Pemahaman Arduino dengan Wokwi

 Memperdalam Pemahaman Arduino dengan Wokwi


Praktik Kerja Lapangan (PKL) bukan hanya kewajiban akademis, tapi juga kesempatan untuk menerapkan teori dan membentuk etos kerja. Di hari ke dua puluh delapan ini, saya ingin berbagi bagaimana satu hari bisa penuh dengan pengalaman, tanggung jawab, dan pencapaian.

Memulai Hari

Hari dimulai pukul 05.30 dengan shalat Subuh, lalu saya menyiapkan diri untuk aktivitas seharian. Setelah sarapan, sekitar pukul 07.00 saya berangkat menuju kampus. Perjalanan ke ISTN kini terasa berbeda, bukan hanya ke kampus, tapi ke tempat kerja nyata. Tepat pukul 07.40 saya sudah tiba, siap untuk melaksanakan piket terlebih dulu.

Pukul 08.00, kegiatan dimulai dengan membersihkan laboratorium komputer. Meski sederhana, pekerjaan ini melatih kerja sama tim dan rasa tanggung jawab terhadap lingkungan kerja. Pukul 08.30, lab sudah rapi dan siap digunakan.

Setelah itu, kami mendapat tugas untuk membuat lampu lalu lintas dengan 4 pasang lampu dan tombol lampu dengan 3 lampu dan 1 tombol reset. Disini kami diminta untuk mempelajari hal tersebut dengan AI. Proses ini berlangsung hingga pukul 11.30 karena hari ini hari jumat dan kami harus shalat jumat.

Istirahat dan Shalat Jum'at

Waktu istirahat kami gunakan untuk makan siang di tepi danau kampus. Suasana yang tenang membuat pikiran kembali segar. Setelah itu, kami menunaikan shalat Jum'at terlebih dulu sebelum melanjutkan tugas kami. 

Pukul 13.00, kami kembali ke laboratorium. Kami pun melanjutkan tugas kami sebelumnya. Dengan arahan pembimbing PKL, kami pun melanjutkan tugas kami hingga menunggu waktu untuk olahraga, karena setiap hari jumat pukul 14.00 kami akan berolahraga hingga jam pulang. 

Akhirnya, sekitar pukul 16.00 olahraga selesai. Sebelum pulang, kami merapikan peralatan dan ruang kerja sebagai wujud profesionalisme hingga akhir waktu kerja.

Penghujung Hari

Hari ini saya belajar banyak dari mulai memperbaiki command pada arduino, belajar membuat prompt, manajemen waktu, dan rasa tanggung jawab. Setiap hari PKL benar-benar menjadi kesempatan berharga untuk berkembang.

Berikut materi dari saya:

Wokwi

Wokwi adalah sebuah simulator online yang digunakan untuk menjalankan dan menguji program mikrokontroler, seperti Arduino, ESP32, Raspberry Pi Pico, dan perangkat elektronik lainnya. Dengan Wokwi, kita bisa merancang rangkaian, menulis kode, dan langsung melihat hasilnya tanpa harus memiliki komponen fisik.

Wokwi sangat populer di kalangan pelajar, mahasiswa, maupun praktisi yang ingin belajar pemrograman mikrokontroler dengan cara yang mudah dan cepat.

Kelebihan Wokwi

  1. Gratis & Online
    Tidak perlu install software atau beli hardware, cukup buka wokwi.com di browser.

  2. Banyak Pilihan Komponen
    Tersedia berbagai komponen seperti LED, resistor, sensor, motor, LCD, hingga WiFi module.

  3. Mendukung Banyak Board
    Bisa digunakan untuk Arduino Uno, Mega, ESP32, Raspberry Pi Pico, dan lainnya.

  4. Mudah Dibagikan
    Hasil project dapat dibagikan dengan link, sehingga memudahkan kolaborasi antar pengguna.

  5. Realtime Simulation
    Kita bisa melihat hasil coding secara langsung dalam bentuk simulasi.


Codingan Wokwi saya :

Codingan lampu lalu lintas 4 pasang:

// Definisi pin lampu lalu lintas
int merah1 = 13, kuning1 = 12, hijau1 = 11;
int merah2 = 10, kuning2 = 9,  hijau2 = 8;
int merah3 = 7,  kuning3 = 6,  hijau3 = 5;
int merah4 = 4,  kuning4 = 3,  hijau4 = 2;

void setup() {
  // Atur semua pin jadi OUTPUT
  pinMode(merah1, OUTPUT);
  pinMode(kuning1, OUTPUT);
  pinMode(hijau1, OUTPUT);

  pinMode(merah2, OUTPUT);
  pinMode(kuning2, OUTPUT);
  pinMode(hijau2, OUTPUT);

  pinMode(merah3, OUTPUT);
  pinMode(kuning3, OUTPUT);
  pinMode(hijau3, OUTPUT);

  pinMode(merah4, OUTPUT);
  pinMode(kuning4, OUTPUT);
  pinMode(hijau4, OUTPUT);
}

void loop() {
  // ---- Fase 1: Lampu 1 hijau ----
  digitalWrite(hijau1, HIGH);
  digitalWrite(merah2, HIGH);
  digitalWrite(merah3, HIGH);
  digitalWrite(merah4, HIGH);
  delay(5000);

  // Lampu 1 kuning
  digitalWrite(hijau1, LOW);
  digitalWrite(kuning1, HIGH);
  delay(2000);
  digitalWrite(kuning1, LOW);
  digitalWrite(merah1, HIGH);

  // ---- Fase 2: Lampu 2 hijau ----
  digitalWrite(merah2, LOW);
  digitalWrite(kuning2, HIGH);
  delay(2000);
  digitalWrite(kuning2, LOW);
  digitalWrite(hijau2, HIGH);
  delay(5000);

  // Lampu 2 kuning
  digitalWrite(hijau2, LOW);
  digitalWrite(kuning2, HIGH);
  delay(2000);
  digitalWrite(kuning2, LOW);
  digitalWrite(merah2, HIGH);

  // ---- Fase 3: Lampu 3 hijau ----
  digitalWrite(merah3, LOW);
  digitalWrite(kuning3, HIGH);
  delay(2000);
  digitalWrite(kuning3, LOW);
  digitalWrite(hijau3, HIGH);
  delay(5000);

  // Lampu 3 kuning
  digitalWrite(hijau3, LOW);
  digitalWrite(kuning3, HIGH);
  delay(2000);
  digitalWrite(kuning3, LOW);
  digitalWrite(merah3, HIGH);

  // ---- Fase 4: Lampu 4 hijau ----
  digitalWrite(merah4, LOW);
  digitalWrite(kuning4, HIGH);
  delay(2000);
  digitalWrite(kuning4, LOW);
  digitalWrite(hijau4, HIGH);
  delay(5000);

  // Lampu 4 kuning
  digitalWrite(hijau4, LOW);
  digitalWrite(kuning4, HIGH);
  delay(2000);
  digitalWrite(kuning4, LOW);
  digitalWrite(merah4, HIGH);
}

Codingan 3 tombol lampu:

// Deklarasi pin
const int tombol1 = 2;
const int tombol2 = 3;
const int tombol3 = 4;
const int tombolReset = 5;

const int ledMerah = 6;
const int ledHijau = 7;
const int ledBiru = 8;
const int buzzer = 9;

bool lock = false;   // untuk mengunci tombol setelah ditekan
int ledAktif = 0;    // untuk menyimpan LED mana yang aktif

void setup() {
  // Tombol pakai internal pullup
  pinMode(tombol1, INPUT_PULLUP);
  pinMode(tombol2, INPUT_PULLUP);
  pinMode(tombol3, INPUT_PULLUP);
  pinMode(tombolReset, INPUT_PULLUP);

  // LED & buzzer sebagai output
  pinMode(ledMerah, OUTPUT);
  pinMode(ledHijau, OUTPUT);
  pinMode(ledBiru, OUTPUT);
  pinMode(buzzer, OUTPUT);

  // Pastikan semua OFF di awal
  digitalWrite(ledMerah, LOW);
  digitalWrite(ledHijau, LOW);
  digitalWrite(ledBiru, LOW);
  digitalWrite(buzzer, LOW);
}

void loop() {
  // Jika belum terkunci, tombol bisa ditekan
  if (!lock) {
    if (digitalRead(tombol1) == LOW) {
      digitalWrite(ledMerah, HIGH);
      lock = true;
      ledAktif = ledMerah;
    }
    else if (digitalRead(tombol2) == LOW) {
      digitalWrite(ledHijau, HIGH);
      lock = true;
      ledAktif = ledHijau;
    }
    else if (digitalRead(tombol3) == LOW) {
      digitalWrite(ledBiru, HIGH);
      lock = true;
      ledAktif = ledBiru;
    }
  }

  // Jika tombol Reset ditekan
  if (digitalRead(tombolReset) == LOW) {
    // Matikan semua LED
    digitalWrite(ledMerah, LOW);
    digitalWrite(ledHijau, LOW);
    digitalWrite(ledBiru, LOW);

    // Hidupkan buzzer sebentar
    digitalWrite(buzzer, HIGH);
    tone(buzzer, 1000, 200);
    delay(500);
    digitalWrite(buzzer, LOW);

    // Reset kondisi lock
    lock = false;
    ledAktif = 0;
  }
}

Berikut file Json nya:

Json dari lampu lalu lintas 4 pasang:

{
  "version": 1,
  "author": "ChatGPT",
  "editor": "wokwi",
  "parts": [
    { "type": "wokwi-arduino-uno", "id": "uno", "top": 0, "left": 0, "attrs": {} },
    {
      "type": "wokwi-led",
      "id": "ledMerah1",
      "top": -120,
      "left": -240,
      "attrs": { "color": "red" }
    },
    {
      "type": "wokwi-led",
      "id": "ledKuning1",
      "top": -60,
      "left": -240,
      "attrs": { "color": "yellow" }
    },
    {
      "type": "wokwi-led",
      "id": "ledHijau1",
      "top": 0,
      "left": -240,
      "attrs": { "color": "green" }
    },
    {
      "type": "wokwi-led",
      "id": "ledMerah2",
      "top": -250,
      "left": -40,
      "attrs": { "color": "red" }
    },
    {
      "type": "wokwi-led",
      "id": "ledKuning2",
      "top": -190,
      "left": -40,
      "attrs": { "color": "yellow" }
    },
    {
      "type": "wokwi-led",
      "id": "ledHijau2",
      "top": -130,
      "left": -40,
      "attrs": { "color": "green" }
    },
    {
      "type": "wokwi-led",
      "id": "ledMerah3",
      "top": -250,
      "left": 160,
      "attrs": { "color": "red" }
    },
    {
      "type": "wokwi-led",
      "id": "ledKuning3",
      "top": -190,
      "left": 160,
      "attrs": { "color": "yellow" }
    },
    {
      "type": "wokwi-led",
      "id": "ledHijau3",
      "top": -130,
      "left": 160,
      "attrs": { "color": "green" }
    },
    {
      "type": "wokwi-led",
      "id": "ledMerah4",
      "top": -120,
      "left": 300,
      "attrs": { "color": "red" }
    },
    {
      "type": "wokwi-led",
      "id": "ledKuning4",
      "top": -61.2,
      "left": 359,
      "attrs": { "color": "yellow" }
    },
    {
      "type": "wokwi-led",
      "id": "ledHijau4",
      "top": 25.2,
      "left": 349.4,
      "attrs": { "color": "green" }
    }
  ],
  "connections": [
    [ "uno:13", "ledMerah1:A", "red", [ "v0" ] ],
    [ "uno:12", "ledKuning1:A", "yellow", [ "v0" ] ],
    [ "uno:11", "ledHijau1:A", "green", [ "v0" ] ],
    [ "uno:10", "ledMerah2:A", "red", [ "v0" ] ],
    [ "uno:9", "ledKuning2:A", "yellow", [ "v0" ] ],
    [ "uno:8", "ledHijau2:A", "green", [ "v0" ] ],
    [ "uno:7", "ledMerah3:A", "red", [ "v0" ] ],
    [ "uno:6", "ledKuning3:A", "yellow", [ "v0" ] ],
    [ "uno:5", "ledHijau3:A", "green", [ "v0" ] ],
    [ "uno:4", "ledMerah4:A", "red", [ "v0" ] ],
    [ "uno:3", "ledKuning4:A", "yellow", [ "v0" ] ],
    [ "uno:2", "ledHijau4:A", "green", [ "v0" ] ],
    [ "ledMerah1:C", "uno:GND", "black", [ "h0" ] ],
    [ "ledKuning1:C", "uno:GND", "black", [ "h0" ] ],
    [ "ledHijau1:C", "uno:GND", "black", [ "h0" ] ],
    [ "ledMerah2:C", "uno:GND", "black", [ "h0" ] ],
    [ "ledKuning2:C", "uno:GND", "black", [ "h0" ] ],
    [ "ledHijau2:C", "uno:GND", "black", [ "h0" ] ],
    [ "ledMerah3:C", "uno:GND", "black", [ "h0" ] ],
    [ "ledKuning3:C", "uno:GND", "black", [ "h0" ] ],
    [ "ledHijau3:C", "uno:GND", "black", [ "h0" ] ],
    [ "ledMerah4:C", "uno:GND", "black", [ "h0" ] ],
    [ "ledKuning4:C", "uno:GND", "black", [ "h0" ] ],
    [ "ledHijau4:C", "uno:GND", "black", [ "h0" ] ],
    [ "ledHijau1:C", "uno:GND.1", "black", [ "v34.8", "h349.8" ] ],
    [ "ledKuning1:C", "uno:GND.1", "black", [ "v0" ] ],
    [ "ledMerah1:C", "uno:GND.1", "black", [ "v39.6", "h330.6" ] ],
    [ "ledHijau2:C", "uno:GND.1", "black", [ "v0" ] ],
    [ "ledKuning2:C", "uno:GND.1", "black", [ "v0" ] ],
    [ "ledMerah2:C", "uno:GND.1", "black", [ "v0" ] ],
    [ "ledHijau3:C", "uno:GND.1", "black", [ "v0" ] ],
    [ "ledKuning3:C", "uno:GND.1", "black", [ "v0" ] ],
    [ "ledMerah3:C", "uno:GND.1", "black", [ "v0" ] ],
    [ "ledMerah4:C", "uno:GND.1", "black", [ "v0" ] ],
    [ "ledKuning4:C", "uno:GND.1", "black", [ "v0" ] ],
    [ "ledHijau4:C", "uno:GND.1", "black", [ "v6", "h-199.8" ] ]
  ],
  "dependencies": {}
} json dari 3 tombol lampu:

{
  "version": 1,
  "author": "Uri Shaked",
  "editor": "wokwi",
  "parts": [
    { "type": "wokwi-arduino-uno", "id": "uno", "top": 192.6, "left": 18.6, "attrs": {} },
    {
      "type": "wokwi-led",
      "id": "led1",
      "top": 63.6,
      "left": 243.8,
      "attrs": { "color": "yellow" }
    },
    {
      "type": "wokwi-led",
      "id": "led2",
      "top": -3.6,
      "left": 253.4,
      "attrs": { "color": "blue" }
    },
    {
      "type": "wokwi-led",
      "id": "led3",
      "top": -80.4,
      "left": 243.8,
      "attrs": { "color": "red" }
    },
    {
      "type": "wokwi-pushbutton",
      "id": "btn1",
      "top": -80.2,
      "left": 0,
      "attrs": { "color": "red", "xray": "1" }
    },
    {
      "type": "wokwi-pushbutton",
      "id": "btn2",
      "top": 121.4,
      "left": 0,
      "attrs": { "color": "grey", "xray": "1" }
    },
    {
      "type": "wokwi-pushbutton",
      "id": "btn3",
      "top": -3.4,
      "left": 0,
      "attrs": { "color": "blue", "xray": "1" }
    },
    {
      "type": "wokwi-pushbutton",
      "id": "btn4",
      "top": 54.2,
      "left": 0,
      "attrs": { "color": "yellow", "xray": "1" }
    },
    {
      "type": "wokwi-buzzer",
      "id": "bz1",
      "top": 50.4,
      "left": 136.2,
      "attrs": { "volume": "0.1" }
    }
  ],
  "connections": [
    [ "btn4:1.l", "uno:GND.1", "black", [ "h-19.2", "v201.6" ] ],
    [ "btn2:1.l", "uno:GND.1", "black", [ "h-19.2", "v67.2" ] ],
    [ "btn3:1.l", "uno:GND.1", "black", [ "h-19.2", "v134.4" ] ],
    [ "btn1:1.l", "uno:GND.1", "black", [ "h-19.2", "v268.8" ] ],
    [ "btn1:2.r", "uno:2", "red", [ "h48.2", "v249.8", "h139.9" ] ],
    [ "btn4:2.r", "uno:3", "gold", [ "h38.6", "v182.6" ] ],
    [ "btn3:2.r", "uno:4", "blue", [ "h29", "v115.4" ] ],
    [ "btn2:2.r", "uno:5", "gray", [ "v48.2", "h159.6" ] ],
    [ "bz1:1", "uno:GND.1", "black", [ "v0" ] ],
    [ "led1:C", "uno:GND.1", "black", [ "h-47.6", "v76.8" ] ],
    [ "led2:C", "uno:GND.1", "black", [ "h-47.6", "v163.2" ] ],
    [ "led3:C", "uno:GND.1", "black", [ "h-47.6", "v240" ] ],
    [ "led3:A", "uno:6", "red", [ "h57.6", "v240" ] ],
    [ "led1:A", "uno:7", "yellow", [ "h38.4", "v163.2" ] ],
    [ "led2:A", "uno:8", "blue", [ "h19.2", "v76.8" ] ],
    [ "bz1:2", "uno:9", "cyan", [ "v0" ] ]
  ],
  "dependencies": {}
}

Berikut foto-foto hasil dari Wokwi saya:





Baik, segitu saja materi saya untuk hari ini. Terimakasih kepada para pembaca yang telah menyempatkan waktunya membaca blog saya. Mohon maaf apabila ada salah kata dan kurangnya penjelasan. saya pamit undur diri sampai bertemu di blog saya yang lainnya.
Azash.

Comments

Popular posts from this blog

Mengawali Aktivitas Dengan Rutinitas

Mengawali Aktivitas Dengan Rutinitas (Foto ketika merakit block) PKL hari ke 15. Hari saya dimulai jauh sebelum matahari terbit, tepatnya pukul 05.30. Bagi saya, memulai hari lebih awal adalah kunci untuk membangun ritme yang produktif. Setelah menunaikan ibadah salat Subuh pada pukul 05.35, pikiran terasa lebih jernih dan siap untuk menyambut tantangan. Rutinitas pagi dilanjutkan dengan mandi, lalu pada pukul 06.20, saya mengisi energi dengan sarapan nasi goreng dan teh hangat. Sembari sarapan, saya memastikan semua peralatan yang mungkin dibutuhkan, seperti obeng dan perangkat lainnya sudah siap di dalam tas. Kesiapan adalah langkah pertama menuju profesionalisme. Pukul 07.20, saya berangkat bersama rekan saya, Daniel. Perjalanan pagi menuju lokasi PKL kami tempuh dalam waktu sekitar 20 menit. Setibanya di sana, beberapa teman lain sudah berkumpul di area parkir. Kami pun bersama-sama menuju laboratorium komputer, ruang kerja kami untuk hari ini, sambil menunggu arahan tugas pertama....

Membuat Prompt Serta Menggunakan AI Dengan Tepat

 Membuat Prompt Serta Menggunakan AI Dengan Tepat Halo semuanyaaa, balik lagi di blog saya. Sebelumnya masih kenal gak nih sama saya? Kenalan lagi deh, Nama saya Mustafidh Rafan Ahyan. Saya sedang melaksnakan PKL di ISTN dan hari ini adalah hari ke dua belas saya PKL di ISTN. Hari ini banyak banget hal barunya, mulai dari belajar bikin buku yang bisa digerakin pake AI sampe menganalisis jurnal pake AI dan banyak lagi deh. Seperti biasa saya mengawali pagi saya bangun pada pukul 05.30, ketika bangun saya meregangkan badan saya terlebih dahulu baru setelah itu ke kamar mandi untuk wudhu. Setelah berwudhu saya pergi kekamar untuk shalat subuh terlebih dahulu. setelah shalat subuh saya melihat jam kembali, terlihat pukul 05.45, saya pun pergi ke dapur untuk membantu ibu menyiapkan bekal. Mendinginkan nasi dari rice cooker, membantu menggoreng ayam dan menumis ati ampela untuk nanti dibawa sebagai bekal. Setelah semuanya matang, saya pergi mengambil handuk untuk pergi mandi. Setelah sel...

Mengambil Pelajaran dari Aktivitas Sehari-hari

  Mengambil pelajaran dari aktivitas sehari hari PKL hari ke 14. Mengawali pagi dengan bangun tepat pukul lima pagi, saat udara masih terasa sejuk dan sebagian besar kota masih terlelap. Setelah menunaikan ibadah Subuh, saya merasakan ketenangan dan fokus yang menjadi fondasi untuk memulai aktivitas. Ritual pagi dilanjutkan dengan mandi untuk menyegarkan diri, lalu sarapan sederhana dengan nasi dengan lauk cumi goreng dan secangkir teh hangat. Bagi saya, ini bukan sekadar rutinitas, melainkan sebuah proses sadar untuk mempersiapkan energi fisik dan mental sebelum melangkah ke dunia yang lebih luas. Berangkat bersama dengan teman saya, yakni daniel dengan motornya pada pukul tujuh pagi adalah jembatan transisi dari suasana rumah ke lingkungan kerja. Setibanya di lokasi PKL sekitar pukul 07.45, suasana mulai hangat dengan kehadiran teman-teman seperjuangan di lab komputer. Sebelum menyelami tugas utama, kami mengawalinya dengan sebuah kegiatan yang membangun kebersamaan: piket pagi. ...