Senin, 03 Agustus 2026

belajar arduino untuk pemula,

 Rencana Belajar


Kita akan belajar bertahap:


✅ Mengenal Arduino dan Wokwi.

LED berkedip (Blink).

Tombol (Push Button).

Sensor HC-SR04.

LCD I2C.

Buzzer.

Servo.

Membuat proyek lengkap.

Mendesain PCB di Fritzing.


Jangan terburu-buru. Yang penting paham.


Sensor HC-SR04 memiliki 4 pin:


Pin Fungsi

VCC Daya 5V

GND Ground

TRIG Mengirim gelombang ultrasonik

ECHO Menerima pantulan gelombang


Arduino

    │

    ├── TRIG ─────► Sensor mengirim suara

    │

    │              ▓▓▓▓▓▓▓▓▓►

    │                      Tembok

    │              ◄▓▓▓▓▓▓▓▓▓

    │

    └── ECHO ◄──── Sensor memberi tahu berapa lama pantulannya , Arduino tidak langsung mengetahui jarak. Arduino hanya mengetahui lama waktu pantulan. Dari waktu tersebut, program menghitung jaraknya.

Pelajaran 4 - Memahami pulseIn()

Perhatikan baris berikut:

duration = pulseIn(echoPin, HIGH);

Ini adalah salah satu fungsi yang paling penting saat menggunakan HC-SR04.

Artinya:

"Arduino menghitung berapa lama pin ECHO berada pada kondisi HIGH."

Misalnya hasilnya:

duration = 1500;

Angka 1500 bukan berarti 1500 cm.

Tetapi artinya:

1500 mikrodetik (µs)


Kenapa harus menghitung waktu?

Sensor HC-SR04 bekerja seperti kelelawar.

Bayangkan Anda berdiri di depan tembok.

Anda berteriak:

HALO !!!

Suara pergi menuju tembok.

Lalu memantul kembali.

Kalau pantulannya cepat berarti tembok dekat.

Kalau pantulannya lama berarti tembok jauh.

HC-SR04 melakukan hal yang sama, tetapi menggunakan gelombang ultrasonik.

Arduino
   │
TRIG
   │
   ▼
HC-SR04  ))))))))))))))))
                    |
                    |
                 Tembok
                    |
                    |
<<<<<<<<<<<<<<<<<<<<<
        ECHO

Mengubah waktu menjadi jarak

Lihat rumus berikut.

distance = duration * 0.0343 / 2;

Jangan takut melihat angka.

Kita pecah.

Kenapa 0.0343?

Kecepatan suara adalah sekitar

343 meter/detik

Kalau diubah menjadi

0.0343 cm/mikrodetik

Maka muncul angka

0.0343

Kenapa dibagi 2?

Karena gelombang suara melakukan perjalanan:

Sensor
   │
   │----------►
               Tembok
   ◄----------

Yang dihitung sensor adalah:

Pergi + Pulang

Padahal kita hanya ingin:

Pergi saja

Makanya harus

/2 . 

Contoh Perhitungan

Misalnya duration = 1000; Maka    1000 × 0.0343 = 34.3


34.3 / 2 = 17.15 cm

Jadi objek berada sekitar 17 cm .


Latiahan soal

Latihan

Sekarang coba ubah kode ini:

Serial.print("Jarak : ");
Serial.print(distance);
Serial.println(" cm");

menjadi:

===== SENSOR HC-SR04 =====
Jarak = 25.31 cm

Petunjuk:

  • Gunakan Serial.println() untuk membuat baris baru.
  • Gunakan Serial.print() untuk mencetak teks dan nilai dalam satu baris.

Coba kerjakan dulu. Setelah itu kirimkan kode yang Anda buat. Kalau ada yang kurang tepat, saya akan bantu perbaiki dan kita lanjut ke materi berikutnya tentang if, sehingga nanti kita bisa membuat program seperti:

"Jika jarak kurang dari 20 cm, nyalakan LED atau bunyikan buzzer."

Itu adalah dasar dari hampir semua proyek Arduino.



coba ini

const int trigPin = 3;
const int echoPin = 2;

long duration;
float distance;

void setup() {
  Serial.begin(9600);

  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}

void loop() {

  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);

  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);

  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH);

  distance = duration * 0.0343 / 2;

  Serial.println("===== SENSOR HC-SR04 =====");
  Serial.print("Jarak =25 ");
  Serial.print(distance);
  Serial.println(" cm");

  delay(500);
}

Serial.print("Arduino");
Serial.printin("Arduino");

perbedaan dari tulisan itu adalah jika print saja maka garis tidak berubah, kalau printin garis berubah seperti enter di word

Serial.println("Halo");
Serial.println("Arifin");

Hasilnya:

Halo
Arifin

Karena setiap println() akan pindah ke baris berikutnya



Artikel Terkait:

0 Comments:

Posting Komentar

Monggo sarannya