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

Refleksi Diri Dari Kegiatan Sehari-hari

 Refleksi Diri Dari Kegiatan Sehari-hari Hari ke 32, Pagi ini saya memulai aktivitas dengan bangun pukul 05.00, ketika udara masih segar dan suasana sekitar masih tenang. Setelah menunaikan ibadah Subuh, saya meluangkan waktu sejenak untuk menenangkan pikiran sambil menata rencana kegiatan hari ini. Rutinitas pagi saya lanjutkan dengan mandi untuk menyegarkan tubuh, kemudian sarapan sederhana berupa nasi, telur dadar, dan teh hangat. Bagi saya, kegiatan ini bukan hanya sekadar rutinitas, melainkan langkah awal untuk membangun energi dan semangat sebelum berangkat ke tempat Praktik Kerja Lapangan (PKL). Sekitar pukul 07.00, saya berangkat bersama rekan saya, Daniel, menggunakan motor menuju lokasi PKL. Perjalanan di pagi hari selalu menjadi momen transisi yang menyenangkan antara suasana rumah yang tenang dengan dunia kerja yang penuh dinamika. Kami tiba di lokasi sekitar pukul 07.45 dan langsung disambut suasana hangat di laboratorium komputer. Sebelum memulai pekerjaan, kami mela...

Mengasah Imajinasi Dengan Membuat Karya Sastra

 Mengasah Imajinasi Dengan Membuat Karya Sastra Hari ke 37, Pagi ini saya memulai aktivitas dengan bangun pukul 05.00, ketika udara masih segar dan suasana sekitar masih tenang. Setelah menunaikan ibadah Subuh, saya meluangkan waktu sejenak untuk menenangkan pikiran sambil menata rencana kegiatan hari ini. Rutinitas pagi saya lanjutkan dengan mandi untuk menyegarkan tubuh, kemudian sarapan sederhana berupa nasi, telur dadar, dan teh hangat. Bagi saya, kegiatan ini bukan hanya sekadar rutinitas, melainkan langkah awal untuk membangun energi dan semangat sebelum berangkat ke tempat Praktik Kerja Lapangan (PKL). Sekitar pukul 07.00, saya berangkat bersama rekan saya, Daniel, menggunakan motor menuju lokasi PKL. Perjalanan di pagi hari selalu menjadi momen transisi yang menyenangkan antara suasana rumah yang tenang dengan dunia kerja yang penuh dinamika. Kami tiba di lokasi sekitar pukul 07.45 dan langsung disambut suasana hangat di laboratorium komputer. Sebelum memulai pekerjaan, kam...

Kreatifitas, Sejauh Mata Melihat dan Sebanyak Warna Yang ada di Dunia

 Kreatifitas, Sejauh Mata Melihat dan Sebanyak Warna Yang ada di Dunia Hari ke 40, Pagi ini saya memulai aktivitas dengan bangun pukul 05.00, ketika udara masih segar dan suasana sekitar masih tenang. Setelah menunaikan ibadah Subuh, saya meluangkan waktu sejenak untuk menenangkan pikiran sambil menata rencana kegiatan hari ini. Rutinitas pagi saya lanjutkan dengan mandi untuk menyegarkan tubuh, kemudian sarapan sederhana berupa nasi, telur dadar, dan teh hangat. Bagi saya, kegiatan ini bukan hanya sekadar rutinitas, melainkan langkah awal untuk membangun energi dan semangat sebelum berangkat ke tempat Praktik Kerja Lapangan (PKL). Sekitar pukul 07.00, saya berangkat bersama rekan saya, Daniel, menggunakan motor menuju lokasi PKL. Perjalanan di pagi hari selalu menjadi momen transisi yang menyenangkan antara suasana rumah yang tenang dengan dunia kerja yang penuh dinamika. Kami tiba di lokasi sekitar pukul 07.45 dan langsung disambut suasana hangat di laboratorium komputer. Sebelum...