FLOW. CONNECT. INNOVATE.
← KEMBALI KE DAFTAR MATERI
KONTROL DENGAN TIMER

Kontrol servo dengan timer

Visualisasi antarmuka di atas mendeskripsikan proyek servo_control_timer berbasis mikrokontroler ESP32 (DevKit). Sistem ini menggunakan pewaktu (timer) otomatis untuk mengendalikan pergerakan motor servo dan memantau nilainya secara terintegrasi.

Fungsi Utama Node

Alur Kerja Sistem

  1. Inisialisasi: Node const_run memicu input Run/Pause pada timer_sweep.

  2. Hitung Maju: Timer mulai melakukan Count Up dari 0 hingga batas durasi target (5 detik).

  3. Penyebaran Sinyal: Nilai/sinyal dari timer dialirkan secara langsung ke tiga jalur:

    • Menggerakkan sudut Servo Motor (Pin 13).

    • Menampilkan pembacaan angka secara real-time di Gauge Display.

    • Menyala-redupkan indikator Light Bulb.

  4. Reset Otomatis: Ketika siklus timer tercapai, sinyal diteruskan ke Delay (1000 ms). Setelah jeda 1 detik berakhir, sinyal dialirkan ke port Reset milik timer_sweep untuk mengulang kembali proses perhitungan dari awal.

ARDUFLOW CODE SNIPPET
{
  "name": "servo_control_timer",
  "board": "esp32",
  "nodes": [
    {
      "id": "const_run",
      "type": "constant",
      "position": {
        "x": 63.30096844459281,
        "y": 289.7386201532812
      },
      "data": {
        "value": true
      },
      "measured": {
        "width": 160,
        "height": 106
      },
      "selected": false,
      "dragging": false
    },
    {
      "id": "timer_sweep",
      "type": "timer",
      "position": {
        "x": 283.11852899366534,
        "y": 169.29604136500777
      },
      "data": {
        "mode": "up",
        "value": 2591,
        "currentTime": 2591,
        "lastTick": 1788138018483,
        "targetSec": 5
      },
      "measured": {
        "width": 318,
        "height": 201
      },
      "selected": false,
      "dragging": false
    },
    {
      "id": "delay_reset",
      "type": "delay",
      "position": {
        "x": 297.46880829795754,
        "y": 431.3044077949083
      },
      "data": {
        "value": 0,
        "pendingValue": 2551,
        "targetTime": 1788138019483,
        "delayMs": 1000
      },
      "measured": {
        "width": 210,
        "height": 154
      },
      "selected": false,
      "dragging": false
    },
    {
      "id": "servo_output",
      "type": "servo",
      "position": {
        "x": 698.15427854415,
        "y": 432.8162274555676
      },
      "data": {
        "pin": "13",
        "value": 180,
        "lastWritten": 180
      },
      "measured": {
        "width": 168,
        "height": 161
      },
      "selected": false,
      "dragging": false
    },
    {
      "id": "gauge_monitor",
      "type": "gauge",
      "position": {
        "x": 692.0671256872276,
        "y": 105.89262642318025
      },
      "data": {
        "value": 2551,
        "max": 180
      },
      "measured": {
        "width": 326,
        "height": 294
      },
      "selected": false,
      "dragging": false
    },
    {
      "id": "bulb-1788137720747",
      "type": "bulb",
      "position": {
        "x": 906.1576724673164,
        "y": 440.36565200106224
      },
      "data": {
        "value": 2551,
        "pin": "0"
      },
      "measured": {
        "width": 160,
        "height": 148
      },
      "selected": true,
      "dragging": false
    }
  ],
  "edges": [
    {
      "id": "e-const_run-timer_sweep-run",
      "source": "const_run",
      "target": "timer_sweep",
      "targetHandle": "run"
    },
    {
      "id": "e-timer_sweep-delay_reset-default",
      "source": "timer_sweep",
      "target": "delay_reset",
      "targetHandle": "default"
    },
    {
      "id": "e-delay_reset-timer_sweep-reset",
      "source": "delay_reset",
      "target": "timer_sweep",
      "targetHandle": "reset"
    },
    {
      "id": "e-timer_sweep-servo_output-default",
      "source": "timer_sweep",
      "target": "servo_output",
      "targetHandle": "default"
    },
    {
      "id": "e-timer_sweep-gauge_monitor-default",
      "source": "timer_sweep",
      "target": "gauge_monitor",
      "targetHandle": "default"
    },
    {
      "style": {
        "strokeWidth": 2,
        "stroke": "#8496b0"
      },
      "source": "timer_sweep",
      "sourceHandle": "default",
      "target": "bulb-1788137720747",
      "targetHandle": "default",
      "id": "xy-edge__timer_sweepdefault-bulb-1788137720747default"
    }
  ]
}

SIAP MENCOBA MATERI INI?

Buka Arduflow IDE sekarang dan implementasikan logika program di atas tanpa ribet!