MENGAKSES TIGA SENSOR SEKALIGUS DENGAN KELUARAN YANG BERBEDA MENGGUNAKAN ARDUINO UNO
Alat dan komponen:
- Arduino UNO
- Sensor PIR
- Sensor Ultrasonik
- Sensor Suhu
- Led
- Motor DC
- Buzzer
Langkah kerja:
- pertama rangkailah komponen seperti Gambar di bawah ini:
- setelah siap merangkai komponen seperti gambar di atas, arahkan kursor pada toggle code editor.
- pada jendela toggle code editor pilih text dan akan tampil lembar editing program.
- setelah lembar prograng tampil, ketikkan program seperti berikut:
#include<LiquidCrystal.h>
int sensorPin = 0;
int echoPin= 6;
int trigPin= 7;
int distanceCm;
int inputPin = 2;
int pirState = LOW;
int val = 0;
int pinSpeaker = 4;
void setup()
{
pinMode (8, OUTPUT);
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(13, OUTPUT);
pinMode(inputPin, INPUT);
pinMode(pinSpeaker, OUTPUT);
Serial.begin(9600);
}
void loop(){
val = digitalRead(inputPin);
if (val == HIGH) {
playTone(300, 160);
delay(150);
if (pirState == LOW) {
Serial.println("Terdeteksi suatu pergerakan!");
pirState = HIGH;
}
} else {
playTone(0, 0);
delay(300);
if (pirState == HIGH){
Serial.println("Motion ended!");
pirState = LOW;
}
}
int reading = analogRead(sensorPin);
float voltage = reading * 5.0;
voltage /=1024.0;
float tempC = (voltage - 0.5) * 100;
if (tempC > 30)
{
digitalWrite (8, HIGH);
}
if (tempC < 30)
{
digitalWrite (8, LOW);
}
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin,
LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance <= 50) {
digitalWrite(13, HIGH);
}
else { digitalWrite(13,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);
}
}
- lalu tekan tombol "Start Simulation" pada sudut atas kanan laman tinkercad
- rangkaian Sensor siap diguakan.
No comments:
Post a Comment