Rangkaian Keran Air Berhenti Otomatis
Sirkuitnya sangat sederhana. Karena saya telah menggunakan katup solenoid 12v, maka suplai DC 12v dimasukkan ke input. Kemudian ubah 12v menjadi 5v dengan regulator 7805. Di sini saya telah menggunakan transistor daya TIP122 untuk mengontrol katup solenoid. Untuk kran air ini, jika menggunakan solenoid valve tegangan tinggi maka saya akan menyarankan menggunakan modul relay sebagai pengganti transistor.
Komponen yang Diperlukan
- Arduino Nano atau Arduino UNO
- Sensor Ultrasonik HC-SR04
- Katup solenoida 12v
- 7805 5v regulator
- Transistor daya TIP122 NPN
- resistor 1k
- 1N4007 dioda
- LED hijau
- kapasitor 22uF
- Adaptor DC 12v
Program Arduino untuk Sensor Keran Air
// define pins numbers
const int trigPin = 5;
const int echoPin = 4;
const int greenLedPin = 13;
const int switchPin = 2;
// define Trigger Distance in CM
const int trigDistance = 15; //change this value from 2 to 400
// define variables
long duration;
int distance;
void setup() {
pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
pinMode(echoPin, INPUT); // Sets the echoPin as an Input
pinMode(switchPin, OUTPUT); // Sets the greenLedPin as an Output
pinMode(greenLedPin, OUTPUT); // Sets the redLedPin as an Output
Serial.begin(9600); // Starts the serial communication
}
void loop() {
digitalWrite(trigPin, LOW); // Clears the trigPin
delayMicroseconds(2);
digitalWrite(trigPin, HIGH); // Sets the trigPin on HIGH state for 10 micro seconds
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH); // Reads the echoPin, returns the sound wave travel time in microseconds
distance= duration*0.034/2; // Calculating the distance
Serial.print("Distance: "); // Prints the distance on the Serial Monitor
Serial.println(distance);
if (distance < trigDistance){
digitalWrite(switchPin, HIGH); // turn the water switch on
digitalWrite(greenLedPin, HIGH); // turn the green led on
Serial.println("TAP open");
delay(500);
}
else{
digitalWrite(switchPin, LOW); // turn the water switch OFF
digitalWrite(greenLedPin, LOW); // turn the green led OFF
Serial.println("TAP close");
delay(500);
}
}
Posting Komentar