PENGHITUNG RAKAAT SHALAT
π₯ VIDEO TUTORIAL LENGKAP
Pengen bikin alat pengukuryang jarakbisa digitalbantu denganngitung Arduino?rakaat saat shalat? Simak dulu video berikutini biar makin paham dasaralurnya penggunaannya!sebelum ngetik kodenya:
π WIRING ATAU RANGKAIAN
Gak perlu nebak-nebak!tebak-tebakan kabel! Skema pemasangan lengkap bisa kamu lihat di sinihalaman berikut ini: π WIRING MAKE KIT ULTRASONIC
π» SOURCE CODE: METERAN DIGITALCODE
Yuk kita masuk ke bagian utama: source code! Kode berikut akan membaca jarak dari sensor HC-SR04ultrasonik dan menampilkannyamenghitung kerakaat Serialberdasarkan Monitor.jumlah Praktissujud. danCukup cocokpraktis bangetuntuk buatdigunakan belajarsaat dasarlatihan sensoratau ultrasonik!pembelajaran. π
#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;
// KirimBaca sinyaljarak dari sensor ultrasonik
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.03430343) / 2;
Serial.// Tampilkan jarak di LCD baris 1
lcd.setCursor(0, 0);
lcd.print("Jarak: ");
Serial.lcd.print(distance)distance, 1);
Serial.println(lcd.print(" cm"cm ");
// Deteksi sujud (misalnya kepala <10 cm dari sensor)
if (distance < 10 && !isSujud) {
sujudCount++;
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(500)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 siap?di-copy? TinggalSekarang tinggal upload ke Arduino-mu!board KalauArduino butuhkamu! Untuk panduan lengkap cara upload,upload bisaprogram, buka di sini πbuka: SEMUA TENTANG ARDUINO IDE
π§ PENJELASAN PROGRAM
trigPin:Sensor Ultrasonik:MengirimDigunakansinyaluntukultrasonikmendeteksidarijarakArduinokepala kesensor.lantai saat sujud.echoPin:Deteksi Sujud:MenerimaJikapantulanjaraksinyalkurang dariobjek10dicmdepandansensor.sebelumnya belum sujud β tambah 1 hitungan sujud.pulseIn():Hitung Rakaat:MenghitungSetiapwaktu2pantulansujuddalamdianggapmikrodetik.1 rakaat. Jumlah rakaat otomatis bertambah.Konversi:LCDWaktu dikalikan kecepatan suara (0.0343 cm/Β΅s) lalu dibagi dua karena sinyal bolak-balik.Serial Monitor:16x2: Menampilkanhasiljarakpengukuran+jarakstatus rakaat & sujud secara real-time.- Buzzer: Memberi bunyi tiap selesai 1 rakaat, jumlah beep sesuai jumlah rakaat.
β¨ Alat ini cocok bangetuntuk latihan shalat mandiri, pembelajaran anak-anak, atau bahan eksperimen AIoT berbasis gesture sederhana. Cukup andal untuk dijadikandigunakan proyeksebagai awalpelatihan belajarlogika sensormikrokontroler jarak.juga!
Semoga Bisa dimodifikasi juga jadi pengukur tinggi badan, detektor benda,bermanfaat, dan sebagainya.semoga Selamatibadahmu mencoba!makin khusyuk dan teknologinya makin canggih! ππ€