0% menganggap dokumen ini bermanfaat (0 suara)
166 tayangan1 halaman

Sensor Gerak dengan LED dan Buzzer

Program ini menggunakan sensor PIR dan LED untuk mendeteksi gerakan, serta memberikan tanda suara jika terdeteksi gerakan. Program mengatur pin LED, sensor PIR, dan buzzer sebagai output. Ketika sensor mendeteksi gerakan, LED akan menyala dan buzzer akan berbunyi selama 150 ms. Kemudian program akan mencetak pesan "Terdeteksi suatu pergerakan!" jika terjadi perubahan status dari LOW ke HIGH.

Diunggah oleh

Tedk Stembase
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOC, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
166 tayangan1 halaman

Sensor Gerak dengan LED dan Buzzer

Program ini menggunakan sensor PIR dan LED untuk mendeteksi gerakan, serta memberikan tanda suara jika terdeteksi gerakan. Program mengatur pin LED, sensor PIR, dan buzzer sebagai output. Ketika sensor mendeteksi gerakan, LED akan menyala dan buzzer akan berbunyi selama 150 ms. Kemudian program akan mencetak pesan "Terdeteksi suatu pergerakan!" jika terjadi perubahan status dari LOW ke HIGH.

Diunggah oleh

Tedk Stembase
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOC, PDF, TXT atau baca online di Scribd

int ledPin = 13;                                           // Memilih pin indikator LED

int inputPin = 2;                                         // Memilih input PIR Sensor


int pirState = LOW;                                 // Pada saat mulai, Matikan sensor
int val = 0;                                               // Variable pembaca status pin
int pinSpeaker = 10;                               // Memilih pin buzzer, dengan pin PWM
void setup() {
  pinMode(ledPin, OUTPUT);                // jadikan LED sebagai Output
  pinMode(inputPin, INPUT);               // jadikan Sensor sebagai Input
  pinMode(pinSpeaker, OUTPUT);      // jadikan buzzer sebagai output
  Serial.begin(9600);
}
void loop(){
  val = digitalRead(inputPin);
  if (val == HIGH) {
    digitalWrite(ledPin, HIGH);
    playTone(300, 160);
    delay(150);
  
    if (pirState == LOW) {
      Serial.println("Terdeteksi suatu pergerakan!");
      pirState = HIGH;
  }
  } else {
      digitalWrite(ledPin, LOW);
      playTone(0, 0);
      delay(300);   
      if (pirState == HIGH){
      Serial.println("Motion ended!");
      pirState = LOW;
  }
 }
}
void playTone(long duration, int freq) {
    duration *= 1000;
    int period = (1.0 / freq) * 1000000;
    long elapsed_time = 0;
    while (elapsed_time < duration) {
        digitalWrite(pinSpeaker,HIGH);
        delayMicroseconds(period / 2);
        digitalWrite(pinSpeaker, LOW);
        delayMicroseconds(period / 2);
        elapsed_time += (period);
  }
}

Anda mungkin juga menyukai