Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<Servo.h>
- Servo myservo;
- int count = 0;
- void setup()
- {
- myservo.attach(5);
- Serial.begin(9600);
- pinMode(A2,INPUT);
- pinMode(A3,INPUT);
- pinMode(A4,INPUT);
- pinMode(A5,INPUT);
- pinMode(3,INPUT);
- pinMode(7,INPUT);
- pinMode(2,OUTPUT);
- pinMode(2,OUTPUT);
- pinMode(4,OUTPUT);
- }
- void loop()
- {
- int status = digitalRead(3);
- int light = analogRead(A5);
- int temp = analogRead(A4);
- int soil = analogRead(A3);
- int pot = analogRead(A2);
- int degree = map(pot,0,1023,0,180);
- myservo.write(degree);
- digitalWrite(2,LOW);
- delayMicroseconds(2);
- digitalWrite(2,HIGH);
- delayMicroseconds(10);
- digitalWrite(2,LOW);
- int time = pulseIn(7,HIGH);
- float distance = time/29/2;
- Serial.print("Distance = ");
- Serial.println(distance);
- alert(distance);
- Serial.print("Light = "); Serial.println(light);
- Serial.print("Temp = "); Serial.println(temp);
- Serial.print("Soil = "); Serial.println(soil);
- if(status)
- {
- digitalWrite(2,HIGH);
- Serial.println("LED ON");
- }
- else{
- digitalWrite(2,LOW);
- Serial.println("LED OFF");
- }
- if(soil <80)
- {
- digitalWrite(4,HIGH);
- }
- else
- {
- digitalWrite(4,LOW);
- }
- delay(100);
- }
- void alert(int distance)
- {
- int t = distance/20;
- for (int i = 0; i < 50; i++) { // Generate 50 pulses
- digitalWrite(8, HIGH); // Turn ON buzzer
- delay(t); // ON duration (5ms)
- digitalWrite(8, LOW); // Turn OFF buzzer
- delay(t); // OFF duration (5ms)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement