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:DigunakanMengirimuntuksinyalmendeteksiultrasonikjarakdarikepalaArduino kelantai saat sujud.sensor.Deteksi Sujud:echoPin:JikaMenerimajarakpantulankurangsinyal dari10objekcmdidandepansebelumnya belum sujud β tambah 1 hitungan sujud.sensor.Hitung Rakaat:pulseIn():SetiapMenghitung2waktusujudpantulandianggapdalam1 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 & sujudsecara 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!