Skip to main content

PENGHITUNG RAKAAT SHALAT

πŸŽ₯ VIDEO TUTORIAL LENGKAP

Pengen bikin alat yangpengukur bisajarak bantudigital ngitungdengan rakaat saat shalat?Arduino? Simak dulu video iniberikut biar makin paham alurnyadasar sebelum ngetik kodenya:penggunaannya!


πŸ”Œ WIRING ATAU RANGKAIAN

Gak perlu tebak-tebakan kabel!nebak-nebak! Skema pemasangan lengkap bisa kamu lihat di halaman berikut ini:sini πŸ‘‰ WIRING MAKE KIT ULTRASONIC


πŸ’» SOURCE CODECODE: METERAN DIGITAL

Yuk kita masuk ke bagian utama: source code! Kode berikut akan membaca jarak dari sensor ultrasonikHC-SR04 dan menghitungmenampilkannya rakaatke berdasarkanSerial jumlahMonitor. sujud.Praktis Cukupdan praktiscocok untukbanget digunakanbuat saatbelajar latihandasar atausensor pembelajaran. πŸš€ultrasonik!

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

#define trigPin 9
#define echoPin 10

#define buzzerPin 8

LiquidCrystal_I2C lcd(0x27, 16, 2);

int sujudCount = 0;
int rakaatCount = 0;
bool isSujud = false; // status sebelumnya

void setup() {
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(buzzerPin, OUTPUT);
  
  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("Hitung Rakaat");
  delay(1500);
  lcd.clear();
}

void loop() {
  long duration;
  float distance;

  // BacaKirim jarak dari sensor ultrasoniksinyal
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // Terima pantulan
  duration = pulseIn(echoPin, HIGH);

  // Konversi ke cm
  distance = (duration * 0.0343)0343 / 2;

  // Tampilkan jarak di LCD baris 1
  lcd.setCursor(0, 0);
  lcd.Serial.print("Jarak: ");
  lcd.Serial.print(distance, 1)distance);
  lcd.print(Serial.println(" cm   "cm");

  // Deteksi sujud (misalnya kepala <10 cm dari sensor)
  if (distance < 10 && !isSujud) {
    sujudCount++delay(500);
    tampilkanSujud(sujudCount);
    isSujud = true;

    // Cek jika sudah genap 2 sujud => 1 rakaat
    if (sujudCount % 2 == 0) {
      rakaatCount++;
      tampilkanRakaat(rakaatCount);
      bunyikanBeep(rakaatCount);
    }
  }

  // Reset status saat tidak sujud (jarak lebih dari threshold)
  if (distance > 30) {
    isSujud = false;
  }

  delay(100);
}

void tampilkanRakaat(int rakaat) {
  lcd.setCursor(0, 1);
  lcd.print("Rakaat: ");
  lcd.print(rakaat);
  lcd.print("   ");
}

void tampilkanSujud(int sujud) {
  lcd.setCursor(13, 1);
  lcd.print("S");
  lcd.print(sujud);
  lcd.print("   ");
}

void bunyikanBeep(int jumlah) {
  for (int i = 0; i < jumlah; i++) {
    tone(buzzerPin, 1000);
    delay(200);
    noTone(buzzerPin);
    delay(200);
  }
}

πŸ“¦ Sudah di-copy?siap? Sekarang tinggalTinggal upload ke boardArduino-mu! ArduinoKalau kamu! Untukbutuh panduan lengkap cara uploadupload, program,bisa buka:buka di sini πŸ‘‰ SEMUA TENTANG ARDUINO IDE


🧠 PENJELASAN PROGRAM

  • Sensor Ultrasonik:trigPin: DigunakanMengirim untuksinyal mendeteksiultrasonik jarakdari kepalaArduino ke lantai saat sujud.sensor.
  • Deteksi Sujud:echoPin: JikaMenerima jarakpantulan kurangsinyal dari 10objek cmdi dandepan sebelumnya belum sujud β†’ tambah 1 hitungan sujud.sensor.
  • Hitung Rakaat:pulseIn(): SetiapMenghitung 2waktu sujudpantulan dianggapdalam 1 rakaat. Jumlah rakaat otomatis bertambah.mikrodetik.
  • LCDKonversi: 16x2:Waktu dikalikan kecepatan suara (0.0343 cm/Β΅s) lalu dibagi dua karena sinyal bolak-balik.
  • Serial Monitor: Menampilkan hasil pengukuran jarak + status rakaat & sujud secara real-time.
  • Buzzer: Memberi bunyi tiap selesai 1 rakaat, jumlah beep sesuai jumlah rakaat.

✨ Alat ini cocok untuk latihan shalat mandiri, pembelajaran anak-anak, atau bahan eksperimen AIoT berbasis gesture sederhana. Cukup andalbanget untuk digunakandijadikan sebagaiproyek pelatihanawal logikabelajar mikrokontrolersensor juga!


Semogajarak. bermanfaat,Bisa dimodifikasi juga jadi pengukur tinggi badan, detektor benda, dan semogasebagainya. ibadahmuSelamat makin khusyuk dan teknologinya makin canggih! πŸŒ™πŸ€–mencoba!