Code Sensor pir arduino - Hallo sahabat safeanythink, Pada Artikel kali ini yang berjudul Code Sensor pir arduino, kami berusaha mempersiapkan artikel ini dengan sebaik baiknya untuk anda baca dan ambil informasi didalamnya. Semoga isi postingan Artikel sketch arduino, yang kami tulis ini dapat dengan mudah anda pahami. baiklah, selamat membaca.
Judul : Code Sensor pir arduino
link : Code Sensor pir arduino
Code Sensor pir arduino
/*
Script ini berasal dari
http://roboticbasics.blogspot.com
Dan telah dimodifikasi oleh Muhammad Syafi'i pada tanggal 15 Agustus 2017
dan resmi menjadi bagian dari blog Jalanambrol
*/
int ledPin = 13;
// Memilih pin untuk LED
int inputPin = 2;
// Memilih input pin (untuk sensor PIR)
int pirState = LOW;
// Kita mulai, dengan asumsi tidak ada gerakan terdeteksi
int nilaisensor = 0;
// Variabel untuk membaca status pin
int pinSpeaker = 10; // Mengatur pembicara pada pin PWM (digital 9, 10, atau 11)
void setup()
{
pinMode(ledPin, OUTPUT); //Mendeklarasikan LED sebagai output
pinMode(inputPin, INPUT); // Mendeklarasikan sensor sebagai input
pinMode(pinSpeaker, OUTPUT);
Serial.begin(9600);
}
void loop(){
val = digitalRead(inputPin); // Membaca nilai masukan
if (nilaisensor == HIGH) { // Memeriksa apakah input adalah TINGGI
digitalWrite(ledPin, HIGH); // Hidupkan LED ONplayTone(300, 160);delay(150);
if (pirState == LOW) {
//jika status pir sama dengan 0(nol)
Serial.println("gerakan terdeteksi!");// menampilkan tulisan "gerakan terdeteksi ""di serial monitor
pirState = HIGH;//membuat status pir menjadi 1
}
}
else { //jika tidak
digitalWrite(ledPin, LOW); //
playTone(0, 0);
delay(300);
if (pirState == HIGH){
// Jika status sensor pir = high/1
Serial.println("gerakan berhenti!");// Menampilkan tulisan gerakan berhenti pada serial monitor
pirState = LOW;
}
}
}// Durasi msecs dalam, hertz Frekuensi
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);
}
}
Tidak ada komentar:
Posting Komentar