1. SISTEM PARKIR AMAN
# memanfaatkan sensor jarak : HC-SR04 Ultrasonic Distance Sensor
# Kode Program :
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
const int trigPin = 2;
const int echoPin = 3;
const int buzzer = 11;
const int led = 7;
const int button = 6;
int tombol = 0;
LiquidCrystal_I2C lcd(0x27,16,2);
long duration;
int distance;
void setup() {
// Pengaturan Pin
Serial.begin(9600); //Kecepatan pengiriman data 9600 bit per detik
pinMode(trigPin, OUTPUT); //Setting Trigger sebagai output
pinMode(echoPin, INPUT); //Setting Echo sebagai input
pinMode(buzzer, OUTPUT); //Setting Buzzer sebagai output
pinMode(led, OUTPUT); //Setting led sebagai output
pinMode(button, INPUT); //Setting button sebagai input
//Pengaturan LCD
lcd.init(); //LCD mulai menyala
lcd.backlight(); //Settingan agar lampu belakang LCD menyala
lcd.setCursor(0,0); //Posisi karakter akan ditampilkan dalam LCD
lcd.print(" Parkir Aman"); //Karakter yang akan ditampilkan dalam LCD
lcd.setCursor(0,1); //Posisi karakter akan ditampilkan dalam LCD
lcd.print("by Santri Fisika"); //Karakter yang akan ditampilkan dalam LCD
delay(5000); //Durasi waktu karakter tampil dalam LCD yaitu 5 detik
}
void loop() {
// Mengaktifkan sensor jarak
lcd.clear(); //Hapus karakter di layar LCD
digitalWrite(trigPin, LOW); //Trigger off mengirimkan sinyal
delayMicroseconds(2); //Selang waktu 0.002 detik
digitalWrite(trigPin, HIGH); //Trigger on mengirimkan sinyal
delayMicroseconds(10); // Selang waktu 0.01 detik
digitalWrite(trigPin, LOW); //Trigger off mengirimkan sinyal
duration = pulseIn(echoPin, HIGH); //Waktu tempuh sinyal dari dikirim Trigger, memantul, sampai diterima Echo
distance = duration * 0.0343/2; //Jarak = (Waktu x Kecepatan)/2
// Menampilkan Hasil Pada LCD
lcd.setCursor(0,0);
lcd.print("Jarak: ");
lcd.print(distance); //Menampilkan hasil pengukuran jarak
lcd.print(" cm");
delay(1000); //Karakter tampil selama 1 detik
// Mengkondisikan Buzzer dan LED
if(distance <=30){ //Jika jarak benda <= 30 cm
tombol = digitalRead(button); //Membaca kondisi nilai pin digital 1/0
if(tombol == HIGH){ //Jika tombol aktif atau dalam keadaan 1
digitalWrite(led, LOW); //Lampu off
noTone(buzzer); //Buzzer off
delay(1000); //Lampu & buzzer off selama 0.5 detik
digitalWrite(led, HIGH); //lampu on
tone(buzzer, 700); //Buzzer on, f= 0.7 KHz
delay(200); //Lampu & buzzer on selama 0.2 detik
}
if(tombol == LOW){ //Jika tombol dalam keadaan 0
digitalWrite(led, HIGH); //Lampu on
tone(buzzer, 500); //Buzzer on, f = 0.5 KHz
}
lcd.setCursor(0,1); //Menampilkan posisi karakter yang akan ditampilkan dalam LCD
lcd.print("Terlalu Dekat");delay(1000); //Karakter akan tampil pada LCD selama 1 detik
}
if(distance >30){ //Jika jarak benda > 30 cm
digitalWrite(led, LOW); //Lampu off
noTone(buzzer); //Buzzer off
}
}
2. SISTEM LAMPU OTOMATIS
- Menggunakan sensor cahaya : Photoresistor (LDR) Sensor
- Kode Program :
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define led 5
int cahaya;
LiquidCrystal_I2C lcd(0x27,16,2);
if(cahaya > 400){
digitalWrite(led, 1);
lcd.setCursor(0,1);
lcd.print("Terlalu Terang");
delay(500);
}
else {
digitalWrite(led, 0);
lcd.setCursor(0,1);
lcd.print("Perlu Cahaya");
delay(500);
.
3. SISTEM OPERASI KIPAS OTOMATIS
# Menggunakan sensor suhu dan kelembaban : DHT22
# Kode Program :
#include <DHT.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "RGB.h"
#define DHTPIN 11
#define pinRed 3
#define pinGreen 5
#define pinBlue 6
#define pinBuzzer 9
DHT dht(DHTPIN, DHT22);
LiquidCrystal_I2C lcd(0x27,16,2);
float kelembaban, suhu;
void setup() {
lcd.init();
lcd.backlight();
dht.begin();
pinMode(pinBuzzer, OUTPUT);
}
void loop() {
suhu = dht.readTemperature();
kelembaban = dht.readHumidity();
tampilLCD();
indikatorSuhu();
}
void tampilLCD(){
lcd.setCursor(0,0);
lcd.print("Suhu: ");
lcd.print(suhu);
lcd.print(" C");
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("Lembab: ");
lcd.print(kelembaban);
lcd.print(" %");
lcd.print(" ");
delay(200);
}
void indikatorSuhu(){
noTone(pinBuzzer);
if(suhu <= 13){
ledRGB(pinRed, pinGreen, pinBlue, 0, 0, 255);
} else if(suhu > 13 && suhu < 35){
ledRGB(pinRed, pinGreen, pinBlue, 0, 255, 0);
} else if (suhu >=35){
ledRGB(pinRed, pinGreen, pinBlue, 255, 0, 0);
tone(pinBuzzer, 1500);
}
}
Untuk Video Penjelasannya in syaa Allah akan bisa di lihat di :
https://www.youtube.com/c/SantriFisika/
Tidak ada komentar:
Posting Komentar