Advertisement
WachidSusilo

PIR_Servo

Jul 4th, 2020
1,362
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.05 KB | None | 0 0
  1. #include <Servo.h>
  2.  
  3. Servo myservo;
  4. int sensorPin = A0;  // pin sensor
  5. int powerPin = 6;    // untuk pengganti VCC
  6. int pos = 0;
  7.  
  8. void setup() {
  9.   myservo.attach(9);
  10.   // pin power sebagai output
  11.   pinMode(powerPin, OUTPUT);
  12.   // default bernilai LOW
  13.   digitalWrite(powerPin, LOW);
  14.   // mulai komunikasi serial
  15.   Serial.begin(9600);
  16. }
  17.  
  18. void loop() {
  19.   Serial.print("Nilai kelembaban: ");
  20.   Serial.println(bacaSensor());
  21.   // baca setiap 5 detik
  22.   delay(300);
  23.   if (objectDetected()) {
  24.     if (bacaSensor() > 50)
  25.     {
  26.       myservo.write(180);
  27.       delay(1000);
  28.       myservo.write(90);
  29.     }
  30.     else {
  31.       myservo.write(0);
  32.       delay(1000);
  33.       myservo.write(90);
  34.     }
  35.   }
  36. }
  37.  
  38. bool objectDetected() {
  39.   return digitalRead(infraredPin);
  40. }
  41.  
  42. int bacaSensor() {
  43.   // hidupkan power
  44.   digitalWrite(powerPin, HIGH);
  45.   delay(500);
  46.   // baca nilai analog dari sensor
  47.   int nilaiSensor = analogRead(sensorPin);
  48.   digitalWrite(powerPin, LOW);
  49.   // makin lembab maka makin tinggi nilai outputnya
  50.   return 1023 - nilaiSensor;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement