Selasa, 26 Mei 2026

projek 53



1. Alarm Motor Anti Maling

Fungsi

Motor akan berbunyi alarm jika ada getaran atau motor digoyang saat kondisi terkunci.

Komponen

  • Arduino Uno

  • Sensor getar SW-420

  • Buzzer

  • Relay mini

  • LED

  • Saklar

Cara Kerja

  • Saat mode keamanan aktif:

    • Sensor mendeteksi getaran

    • Arduino menyalakan buzzer/alarm

    • LED berkedip

Tingkat Kesulitan

⭐ Pemula

Pengembangan

  • Tambah notifikasi HP

  • Tambah RFID starter


2. Lampu Sein Otomatis Saat Belok

Fungsi

Lampu sein otomatis menyala berdasarkan kemiringan motor.

Komponen

  • Arduino Uno

  • Sensor MPU6050 (gyro + accelerometer)

  • LED kanan/kiri

  • Relay

Cara Kerja

Jika motor miring ke kanan → sein kanan menyala
Jika miring ke kiri → sein kiri menyala

Tingkat Kesulitan

⭐⭐ Menengah

Yang Dipelajari

  • Sensor gyro

  • Pembacaan sudut

  • Logika otomatisasi


3. Sensor Jarak Aman Motor

Fungsi

Memberi peringatan jika jarak dengan kendaraan depan terlalu dekat.

Komponen

  • Arduino Uno

  • Sensor ultrasonik HC-SR04

  • Buzzer

  • LCD 16x2

Cara Kerja

Arduino mengukur jarak:

  • Aman → tidak bunyi

  • Terlalu dekat → buzzer bunyi cepat

Konsep Sensor

d = \frac{v \times t}{2}

Tingkat Kesulitan

⭐ Pemula

Cocok Untuk

Simulasi keselamatan berkendara


4. Reminder Helm Pengendara

Fungsi

Motor tidak bisa distarter jika helm belum dipakai.

Komponen

  • Arduino Uno

  • Sensor sentuh / magnetic switch

  • Relay starter

  • LED indikator

Cara Kerja

  • Helm dipakai → relay aktif → motor bisa starter

  • Helm tidak dipakai → starter mati

Tingkat Kesulitan

⭐⭐ Menengah

Nilai Edukasi

Keselamatan berkendara modern


5. Speed Warning / Pembatas Kecepatan

Fungsi

Memberi peringatan jika kecepatan motor melebihi batas.

Komponen

  • Arduino Uno

  • Sensor hall effect

  • Magnet roda

  • Buzzer

  • OLED/LCD

Cara Kerja

Sensor membaca putaran roda lalu menghitung kecepatan.

Rumus Kecepatan

v = \frac{s}{t}

Tingkat Kesulitan

⭐⭐⭐ Menengah

Pengembangan

  • Speed limiter

  • Data logger perjalanan


Rekomendasi Projek Termudah Untuk Pemula

Urutan paling mudah:

  1. Alarm anti maling

  2. Sensor jarak aman

  3. Reminder helm

  4. Sein otomatis

  5. Speed warning


Estimasi Biaya Projek

ProjekEstimasi
Alarm anti malingRp80rb–150rb
Sensor jarak amanRp100rb–200rb
Reminder helmRp120rb–200rb
Sein otomatisRp150rb–300rb
Speed warningRp200rb–400rb

Kalau mau, saya juga bisa bantu:

  • Skema wiring lengkap

  • Coding Arduino siap upload

  • Simulasi Wokwi

  • Desain box projek

  • Modul pembelajaran siswa

  • Presentasi MGMP otomatis siap pakai

  • ## Skema Wiring Projek 1 — Alarm Motor Anti Maling Arduino

### Komponen

* Arduino Uno
* Sensor getar SW-420
* Buzzer aktif
* LED merah
* Resistor 220Ω
* Saklar ON/OFF
* Breadboard
* Kabel jumper

---

# Wiring Lengkap

## 1. Sensor Getar SW-420

| SW-420 | Arduino Uno |
| ------ | ----------- |
| VCC | 5V |
| GND | GND |
| DO | Pin D2 |

---

## 2. Buzzer

| Buzzer | Arduino Uno |
| ------ | ----------- |
| (+) | Pin D8 |
| (-) | GND |

---

## 3. LED Indikator

| LED | Arduino Uno |
| ---------- | --------------------------- |
| Anoda (+) | Pin D13 lewat resistor 220Ω |
| Katoda (-) | GND |

---

## 4. Saklar Sistem

| Saklar | Arduino Uno |
| --------- | ----------- |
| Satu kaki | 5V |
| Satu kaki | Pin D4 |

Tambahkan resistor pull-down 10K dari D4 ke GND.

---

# Diagram Sederhana

```text
         +-------------------+
         | Arduino UNO |
         | |
D2 <----| Sensor SW420 DO |
D8 ---->| Buzzer + |
D13 ---->| LED + |
D4 <----| Saklar |
5V ---->| VCC Sensor |
GND ---->| Semua Ground |
         +-------------------+
```

---

# Cara Kerja

* Saklar ON → sistem aktif
* Jika sensor mendeteksi getaran:

  * buzzer bunyi
  * LED berkedip

---

# Coding Arduino

```cpp
int sensorPin = 2;
int buzzer = 8;
int led = 13;
int saklar = 4;

void setup() {
  pinMode(sensorPin, INPUT);
  pinMode(buzzer, OUTPUT);
  pinMode(led, OUTPUT);
  pinMode(saklar, INPUT);

  Serial.begin(9600);
}

void loop() {

  int mode = digitalRead(saklar);

  if(mode == HIGH) {

    int sensorValue = digitalRead(sensorPin);

    if(sensorValue == HIGH) {

      digitalWrite(buzzer, HIGH);
      digitalWrite(led, HIGH);

      Serial.println("GETARAN TERDETEKSI!");

    } else {

      digitalWrite(buzzer, LOW);
      digitalWrite(led, LOW);

    }

  } else {

    digitalWrite(buzzer, LOW);
    digitalWrite(led, LOW);

  }

}
```

---

# Hasil Projek

✅ Alarm berbunyi saat motor digoyang
✅ Bisa digunakan simulasi keamanan

estimasi 

# Resume Sensor & Komponen Projek Arduino Motor Keselamatan

Berikut daftar sensor, fungsi, dan estimasi total anggaran jika Anda ingin membuat kelima projek sekaligus menggunakan Arduino Uno.

---

# 1. Alarm Motor Anti Maling

## Sensor & Komponen

| Komponen | Fungsi | Estimasi |
| ------------------ | --------------- | -------- |
| Arduino Uno | Kontrol utama | Rp80rb |
| Sensor SW-420 | Deteksi getaran | Rp10rb |
| Buzzer aktif | Alarm suara | Rp8rb |
| LED + resistor | Indikator | Rp5rb |
| Saklar | Aktivasi sistem | Rp5rb |
| Breadboard + kabel | Wiring | Rp20rb |

### Total

≈ Rp128.000

---

# 2. Sensor Jarak Aman Motor

## Sensor & Komponen

| Komponen | Fungsi | Estimasi |
| ------------ | -------------- | -------- |
| Arduino Uno | Kontrol utama | Rp80rb |
| HC-SR04 | Sensor jarak | Rp20rb |
| LCD I2C 16x2 | Tampilan jarak | Rp35rb |
| Buzzer | Peringatan | Rp8rb |
| Kabel jumper | Wiring | Rp15rb |

### Total

≈ Rp158.000

---

# 3. Reminder Helm Pengendara

## Sensor & Komponen

| Komponen | Fungsi | Estimasi |
| ----------------------------- | --------------- | -------- |
| Arduino Uno | Kontrol utama | Rp80rb |
| Magnetic switch / reed switch | Deteksi helm | Rp15rb |
| Relay 5V | Kontrol starter | Rp20rb |
| LED indikator | Status | Rp5rb |
| Kabel & terminal | Wiring | Rp15rb |

### Total

≈ Rp135.000

---

# 4. Sein Otomatis

## Sensor & Komponen

| Komponen | Fungsi | Estimasi |
| ------------ | ------------------ | -------- |
| Arduino Uno | Kontrol utama | Rp80rb |
| MPU6050 | Sensor kemiringan | Rp25rb |
| Relay | Kontrol lampu sein | Rp20rb |
| LED sein | Output simulasi | Rp10rb |
| Kabel jumper | Wiring | Rp15rb |

### Total

≈ Rp150.000

---

# 5. Speed Warning

## Sensor & Komponen

| Komponen | Fungsi | Estimasi |
| ------------------ | -------------------- | -------- |
| Arduino Uno | Kontrol utama | Rp80rb |
| Hall Effect Sensor | Deteksi putaran roda | Rp15rb |
| Magnet | Pemicu sensor | Rp5rb |
| OLED Display | Tampilan speed | Rp40rb |
| Buzzer | Alarm kecepatan | Rp8rb |
| Kabel jumper | Wiring | Rp15rb |

### Total

≈ Rp163.000

---

# Komponen Pengaman & Backup (Sangat Disarankan)

| Komponen | Jumlah | Estimasi |
| ---------------- | ------ | -------- |
| LM2596 Step Down | 2 pcs | Rp30rb |
| Fuse/Sekring | 5 pcs | Rp10rb |
| Dioda 1N4007 | 10 pcs | Rp10rb |
| Kapasitor 470uF | 5 pcs | Rp10rb |
| Kabel tambahan | - | Rp20rb |
| Arduino cadangan | 1 pcs | Rp80rb |

### Total Backup

≈ Rp160.000

---

# Total Keseluruhan Projek

| Kategori | Total |
| ----------------- | ----------- |
| 5 Projek utama | ≈ Rp734.000 |
| Backup & pengaman | ≈ Rp160.000 |

# GRAND TOTAL

# ≈ Rp900.000
ongkir blm termasuk 
---

# Sensor yang Akan Dipelajari

| Sensor | Fungsi |
| ----------- | ----------------- |
| SW-420 | Deteksi getaran |
| HC-SR04 | Ukur jarak |
| MPU6050 | Kemiringan & gyro |
| Hall Effect | Putaran roda |
| Reed Switch | Deteksi helm |
| Relay | Saklar otomatis |

---

# Skill yang Didapat

✅ Pemrograman Arduino
✅ Sistem keselamatan motor
✅ Sensor otomotif
✅ Wiring kendaraan
✅ Otomasi elektronik
✅ Dasar IoT kendaraan

---

# Rekomendasi Untuk SMK/TBSM

Jika untuk pembelajaran siswa:

### Paket Termudah

* Alarm anti maling
* Sensor jarak aman

### Paket Menengah

* Reminder helm
* Sein otomatis

### Paket Advanced

* Speed warning
* IoT monitoring

---

Kalau mau, saya juga bisa bantu:

* daftar belanja lengkap per toko
* paket hemat Shopee
* skema wiring semua projek
* coding lengkap tiap projek
* modul pembelajaran siswa
* simulasi Wokwi siap pakai
* desain PCB
* box projek motor SMK profesional

ref

Berikut skema sederhana **Sein Otomatis Motor Berbasis Arduino Nano + Sensor Sudut Kemudi + Relay 2 Channel**.

## 1. Diagram Blok Sistem

```text
          AKI 12V
              │
      ┌───────┴────────┐
      │ │
      ▼ ▼
   LM2596 Lampu Sein
 (12V → 5V) 12V
      │ ▲
      ▼ │
 Arduino Nano ──► Relay 2 Channel
      ▲
      │
Sensor Sudut
Kemudi
```

---

## 2. Koneksi Arduino

### Sensor Potensiometer 10K

```text
Potensio
─────────────
Kaki 1 → 5V Arduino
Kaki 2 → A0 Arduino
Kaki 3 → GND Arduino
```

---

### Relay 2 Channel

```text
Relay Arduino
──────────────────
VCC → 5V
GND → GND
IN1 → D8 (Sein Kiri)
IN2 → D9 (Sein Kanan)
```

---

## 3. Jalur Kelistrikan Motor

### Sein Kiri

```text
Aki +12V
    │
Sekring 5A
    │
COM Relay 1
    │
NO Relay 1
    │
Lampu Sein Kiri
    │
Ground Motor
```

### Sein Kanan

```text
Aki +12V
    │
Sekring 5A
    │
COM Relay 2
    │
NO Relay 2
    │
Lampu Sein Kanan
    │
Ground Motor
```

---

## 4. Jalur Power Arduino

```text
Aki +12V
     │
   LM2596
     │
     ├── 5V Arduino
     ├── Relay VCC
     └── Sensor Kemudi

Aki (-)
     │
     ├── GND Arduino
     ├── GND Relay
     └── GND Sensor
```

---

## 5. Logika Program

```text
Kemudi Belok Kiri > 20°
        │
        ▼
Relay Kiri ON
Lampu Sein Kiri Berkedip

Kemudi Lurus
        │
 Tunggu 3 detik
        │
Relay OFF
```

```text
Kemudi Belok Kanan > 20°
        │
        ▼
Relay Kanan ON
Lampu Sein Kanan Berkedip

Kemudi Lurus
        │
 Tunggu 3 detik
        │
Relay OFF
```

---

## Daftar Komponen

| Komponen | Jumlah |
| ------------------------ | ---------- |
| Arduino Nano | 1 |
| Modul Relay 2 Channel 5V | 1 |
| LM2596 Step Down | 1 |
| Potensiometer 10K | 1 |
| Sekring 5A | 1 |
| Kabel | Secukupnya |
| Box Arduino | 1 |

Estimasi biaya sekitar **Rp100.000–150.000**.

Untuk proyek SMK yang lebih realistis, saya sarankan menambahkan **saklar sein manual bawaan motor sebagai override**, sehingga jika Arduino mati atau rusak, sein tetap bisa digunakan secara normal. Ini juga akan menambah nilai aspek keselamatan dan otomotif pada proyek Anda.




Jumat, 01 Mei 2026

lomba lks SMK setiagama

kelistrikan 
Gambar yang Anda kirim adalah **trainer kelistrikan sistem penerangan sepeda motor (Honda Beat / sejenis)** yang biasa dipakai di TBSM untuk praktik rangkaian lampu. Saya bantu analisis dulu, lalu cara merangkainya.

---

## 🔍 **ANALISIS KOMPONEN PADA PANEL**

Dari tampilan, panel ini terdiri dari beberapa bagian utama:

### 1. **Sumber Daya (Baterai)**

* Terminal: **R (Red / +)** dan **G (Green / Ground / -)**
* Ini adalah sumber listrik utama (aki)

---

### 2. **Kunci Kontak (Ignition Switch)**

* Biasanya ada terminal:

  * **B (Battery / input)**
  * **IG (output setelah ON)**
* Fungsi: menghidupkan sistem

---

### 3. **Fuse / Sekring**

* Melindungi rangkaian dari arus berlebih

---

### 4. **Flasher (Relay Sein)**

* Ditandai kaki:

  * **B / 30 (input dari aki)**
  * **L (output ke lampu sein)**
  * **E / G (ground)**

---

### 5. **Switch / Saklar**

* **Switch lampu utama**
* **Switch sein (kiri/kanan)**
* **Switch rem**

---

### 6. **Lampu**

* **Lampu utama (Hi/Lo)** → biasanya: W, LB, dll
* **Lampu sein** → kanan/kiri
* **Lampu rem**
* **Lampu kota / posisi**

---

### 7. **Kode Warna Kabel**

Umumnya:

* **R (Red)** = + aki
* **G (Green)** = massa
* **B (Black)** = setelah kontak
* **Y (Yellow)** = lampu
* **Bu (Blue)** = lampu jauh
* **O (Orange)** = sein kiri
* **Lb (Light Blue)** = sein kanan

---

## ⚡ **CARA MERANGKAI (STEP BY STEP)**

### 🔧 1. Rangkaian Dasar (Power)

1. Hubungkan:

   * **Baterai (+) → Fuse → Kunci kontak (B)**
2. Dari kunci kontak:

   * **IG → jalur utama (B / hitam)**

---

### 💡 2. Rangkaian Lampu Utama

1. Dari **IG (hitam)** → ke **switch lampu**
2. Dari switch:

   * **Low beam → lampu dekat**
   * **High beam → lampu jauh**
3. Semua lampu:

   * Ujung satunya ke **ground (G)**

---

### 🔁 3. Rangkaian Sein

1. Dari **IG → Flasher (B)**
2. Dari **Flasher (L)** → ke **switch sein**
3. Dari switch:

   * Kiri → **O (orange)**
   * Kanan → **Lb (light blue)**
4. Lampu sein → ke **ground**

---

### 🛑 4. Rangkaian Lampu Rem

1. Dari **IG → switch rem**
2. Dari switch → **lampu rem**
3. Lampu → **ground**

---

### 🔌 5. Grounding (PENTING)

Semua komponen:

* Lampu
* Flasher
* Relay

➡️ Harus terhubung ke **G (ground)**

---

## ⚠️ **KESALAHAN YANG SERING TERJADI (buat bahan ajar siswa)**

* Tidak menyambung ground → lampu tidak nyala
* Salah masuk flasher → sein tidak kedip
* Tidak lewat kunci kontak → sistem selalu hidup
* Sekring dilewati → rawan korslet

---

## 🎯 **STRATEGI MENGAJAR (BIAR SISWA PAHAM)**

Sesuai masalah Anda sebelumnya (siswa kurang minat), gunakan cara ini:

1. **Mulai dari 1 sistem saja**

   * Misalnya hanya lampu utama dulu

2. **Gunakan metode “Pointing & Calling”**

   * “Ini sumber → ini saklar → ini beban”

3. **Bikin tantangan**

   * “Siapa bisa bikin sein nyala duluan?”

---

## 🔥 KESIMPULAN SINGKAT

Alur utama rangkaian:

```
Aki → Sekring → Kunci Kontak → (Cabang ke):
  → Lampu utama
  → Sein (via flasher)
  → Lampu rem
Semua kembali ke Ground
```

---

Kalau Anda mau, saya bisa bantu:
✅ Buat **diagram wiring versi gambar (rapi & jela
2.
3. penggunaan borgauge disini

Mantap, ini levelnya sudah **trainer “Answer Back System” (alarm + starter + klakson)**. Saya jelaskan **cara perakitan step-by-step** supaya bisa langsung dipakai di kelas 👇

---

# 🔧 **1. PAHAMI BLOK UTAMA**

Dari panel yang Anda kirim, sistem terbagi jadi:

1. **Baterai (aki)**
2. **Kunci kontak**
3. **Module Answer Back (ECU kecil)**
4. **Starter**
5. **Horn (klakson)**
6. **Lampu sein (feedback answer back)**
7. **Switch Engine ON/OFF**
8. **Ground (G)**

---

# ⚡ **2. URUTAN PERAKITAN (WAJIB BERURUTAN)**

## 🔴 STEP 1 — Sumber Daya

Hubungkan:

* **(+ Baterai / R / merah)** → ke **input module**
* **(- Baterai / G / hijau)** → ke semua **ground**

➡️ Ini pondasi, kalau salah di sini semua tidak akan hidup

---

## 🔑 STEP 2 — Kunci Kontak

* Dari **baterai (+)** → ke **kunci kontak**
* Output kunci kontak:

  * **ON (hitam / B)** → ke sistem:

    * Module
    * Starter
    * Horn

---

## 🧠 STEP 3 — Module Answer Back

Perhatikan kaki modul (di panel kiri atas):

Umumnya:

* **B/R** → dari baterai (langsung)
* **Bu / O / Lb** → output ke lampu sein
* **G** → ground
* **P / ON** → kontrol dari kunci kontak

Hubungkan:

* **Power masuk → B/R**
* **Ground → G**
* **Output → ke lampu sein kiri & kanan**

---

## 🔔 STEP 4 — Rangkaian Horn (Klakson)

Hubungkan:

1. Dari **output module / atau jalur ON**
2. → ke **horn (+)**
3. Horn (-) → **ground (G)**

➡️ Saat answer back aktif → horn bunyi

---

## 🔁 STEP 5 — Lampu Sein (Feedback)**

Dari module:

* **O (orange)** → sein kiri
* **Lb (biru muda)** → sein kanan

Lalu:

* Semua lampu → **ground**

➡️ Ini yang bikin lampu kedip saat remote ditekan

---

## 🔘 STEP 6 — Switch Starter

Hubungkan:

1. Dari **kunci ON**
2. → ke **switch starter**
3. Output → ke **motor starter / indikator**

➡️ Biasanya:

* **Bu / biru** = jalur starter

---

## 🟢 STEP 7 — Engine ON / OFF Switch

* **Engine ON**

  * Menghubungkan arus ke sistem
* **Engine OFF**

  * Memutus arus / kill switch

Hubungkan:

* Dari **kunci kontak → switch**
* Output → ke sistem pengapian / module

---

## 💡 STEP 8 — Lampu Indikator (S.R dll)

* Dari module / jalur ON
* → ke lampu indikator
* → ke ground

---

# 🔌 **3. GROUNDING (INI PALING PENTING)**

Semua komponen harus ke:

* **G (hijau / massa)**

❌ Kalau tidak:

* Horn tidak bunyi
* Lampu tidak nyala
* Starter tidak respon

---

# 🔄 **4. ALUR SEDERHANA SISTEM**

```id="flow1"
Baterai → Kunci Kontak → Module Answer Back → 
  → Sein (kedip)
  → Horn (bunyi)
  → Starter (opsional)
Semua kembali ke Ground
```

---

# ⚠️ **KESALAHAN YANG SERING TERJADI (COCOK BUAT SOAL SISWA)**

1. Salah pasang **B/R (power utama)** → sistem mati total
2. Tidak sambung ground → sistem hidup tapi tidak bekerja
3. Salah jalur sein → kiri kanan terbalik
4. Starter tidak lewat kunci → berbahaya (bisa nyala sendiri)

---

# 🎯 **TIPS MENGAJAR BIAR SISWA PAHAM**

Coba pakai metode ini:

### 🎮 MODE GAME

* Tantangan 1: “Bikin horn bunyi”
* Tantangan 2: “Bikin sein kedip”
* Tantangan 3: “Starter hidup”

---

# 🔥 KESIMPULAN INTI

* Mulai dari **baterai**
* Lewat **kunci kontak**
* Masuk ke **module**
* Output ke:

  * **sein**
  * **horn**
  * **starter**

---

Kalau Anda mau, saya bisa lanjut bantu:
✅ Buat **modul praktikum lengkap (lembar kerja siswa + penilaian)**
✅ Buat **simulasi kerusakan (biar siswa troubleshooting)**
✅ Buat **script mengajar biar kelas hidup**

Tinggal bilang 👍
Bisa banget 👍 — ini justru ide bagus untuk bikin siswa **belajar interaktif (drag–connect wiring)**.

Saya buatkan versi **web sederhana (HTML + CSS + JS)** yang bisa langsung Anda jalankan di Gemini / browser.

---

# 💻 🔧 **FITUR SIMULASI**

* Klik terminal → sambungkan kabel
* Warna kabel sesuai standar
* Ada validasi sederhana (benar / salah)
* Cocok untuk latihan siswa

---

# 🧠 **CARA PAKAI**

1. Copy semua kode di bawah
2. Simpan: `simulator.html`
3. Buka di browser / Gemini

---

# 📄 **KODE HTML SIMULATOR**

```html
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<title>Simulator Wiring Answer Back</title>
<style>
body {
  font-family: Arial;
  text-align: center;
  background: #f4f4f4;
}

h2 {
  margin-top: 20px;
}

.board {
  width: 800px;
  margin: auto;
  padding: 20px;
  background: white;
  border: 3px solid red;
  border-radius: 10px;
  position: relative;
}

.node {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 15px;
  cursor: pointer;
  color: white;
  font-weight: bold;
}

.red { background: red; }
.green { background: green; }
.blue { background: blue; }
.orange { background: orange; }
.black { background: black; }

.line {
  position: absolute;
  height: 4px;
  background: black;
  transform-origin: left;
}

#status {
  margin-top: 20px;
  font-size: 18px;
}
</style>
</head>

<body>

<h2>🔧 Simulator Wiring Answer Back</h2>

<div class="board" id="board">

  <!-- Baterai -->
  <div class="node red" data-name="battery">B+</div>
  <div class="node green" data-name="ground">G</div>

  <!-- Kunci Kontak -->
  <div class="node black" data-name="ignition">ON</div>

  <!-- Module -->
  <div class="node blue" data-name="module">MOD</div>

  <!-- Horn -->
  <div class="node orange" data-name="horn">HORN</div>

  <!-- Sein -->
  <div class="node orange" data-name="sein_kiri">L</div>
  <div class="node blue" data-name="sein_kanan">R</div>

</div>

<div id="status">Klik 2 titik untuk menyambung kabel</div>

<script>
let selected = null;
let connections = [];

const correctConnections = [
  ["battery", "ignition"],
  ["ignition", "module"],
  ["module", "horn"],
  ["module", "sein_kiri"],
  ["module", "sein_kanan"],
  ["ground", "horn"],
  ["ground", "sein_kiri"],
  ["ground", "sein_kanan"]
];

document.querySelectorAll(".node").forEach(node => {
  node.addEventListener("click", () => {

    if (!selected) {
      selected = node;
      node.style.border = "3px solid yellow";
    } else {
      drawLine(selected, node);
      connections.push([selected.dataset.name, node.dataset.name]);

      selected.style.border = "none";
      selected = null;

      checkResult();
    }

  });
});

function drawLine(a, b) {
  const line = document.createElement("div");
  line.className = "line";

  const rectA = a.getBoundingClientRect();
  const rectB = b.getBoundingClientRect();

  const x1 = rectA.left + rectA.width/2;
  const y1 = rectA.top + rectA.height/2;
  const x2 = rectB.left + rectB.width/2;
  const y2 = rectB.top + rectB.height/2;

  const length = Math.hypot(x2-x1, y2-y1);
  const angle = Math.atan2(y2-y1, x2-x1) * 180 / Math.PI;

  line.style.width = length + "px";
  line.style.left = x1 + "px";
  line.style.top = y1 + "px";
  line.style.transform = `rotate(${angle}deg)`;

  document.body.appendChild(line);
}

function checkResult() {
  let correct = 0;

  correctConnections.forEach(pair => {
    if (connections.some(c =>
      (c[0] === pair[0] && c[1] === pair[1]) ||
      (c[0] === pair[1] && c[1] === pair[0])
    )) {
      correct++;
    }
  });

  if (correct === correctConnections.length) {
    document.getElementById("status").innerText = "✅ Rangkaian BENAR!";
  } else {
    document.getElementById("status").innerText =
      "Progress: " + correct + "/" + correctConnections.length;
  }
}
</script>

</body>
</html>
```

---

# 🚀 **PENGEMBANGAN (NEXT LEVEL)**

Kalau mau dibuat lebih “wow” untuk siswa:

### 🔥 Tambahin:

* Drag kabel (bukan klik)
* Suara horn 🔊
* Lampu sein berkedip 💡
* Mode soal (error troubleshooting)

---

# 🎯 STRATEGI BIAR SISWA KETAGIH

Bikin jadi game:

* Level 1: nyalakan horn
* Level 2: nyalakan sein
* Level 3: full sistem answer back

---

Kalau Anda mau, saya bisa upgrade jadi:
✅ versi **Android APK (Kodular)**
✅ versi **game seperti puzzle listrik**
✅ versi **terhubung ke trainer asli (IoT)**

Tinggal bilang: **"upgrade level"** 😄




projek 2 SMK negeri 53

## Estimasi Anggaran Versi Edukasi SMK | Komponen | Qty | Harga Satuan | Total | | --------------------------- | --...