Arduino adalah
kit elektronik atau papan rangkaian elektronik open source yang di dalamnya
terdapat komponen utama yaitu sebuah chip mikrokontroler dengan
jenis AVR dari perusahaan Atmel.
Mikrokontroler
itu sendiri adalah chip atau IC (integrated circuit) yang bisa diprogram
menggunakan komputer. Tujuan menanamkan program pada mikrokontroler adalah agar
rangkaian elektronik dapat membaca input, memproses input tersebut dan kemudian
menghasilkan output sesuai yang diinginkan. Jadi mikrokontroler bertugas
sebagai ‘otak’ yang mengendalikan input, proses dan output sebuah rangkaian
elektronik.
Mikrokontroler ada pada perangkat elektronik di
sekeliling kita. Misalnya handphone, MP3 player, DVD, televisi, AC, dll.
Mikrokontroler juga dipakai untuk keperluan mengendalikan robot. Baik robot
mainan, maupun robot industri.
Berikut Rangkaian Alarm menggunakan Sensor PIR dan ARDUINO :
Daftar Komponen:
1. ARDUINO 1 buah
2. PIR HC-SR05 1 buah
3. LED 1 buah
4. Buzzer 1 buah
5. Resistor 220 Ohm 2 buah
Kode:
int ledPin = 4; // Memilih pin indikator LED
int inputPin = 2; // Memilih output PIR Sensor
int pirState = LOW; // Pada saat mulai, Matikan sensor
int val = 0; // Variable pembaca status pin
int pinSpeaker = 3; // 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);
}
}
int inputPin = 2; // Memilih output PIR Sensor
int pirState = LOW; // Pada saat mulai, Matikan sensor
int val = 0; // Variable pembaca status pin
int pinSpeaker = 3; // 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);
}
}
Berikut Video Tutorial Cara Memproramnya:
2 komentar
SEMOGA MANFAAT NDAN
Kak kenapa bunyi buzerrnya langgsung hidup saat program diupload dan gak bisa berhenti?