2017-07-09T20:51:53

Operating 3way ventil using mg995 and Arduino Micro

Turning the potentiometer will turn the ventil valve by 0° to 90°.





#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Servo.h>
Servo myservo;
int servo_pos = 0;
LiquidCrystal_I2C lcd(0xbf, 16, 4);
int potenzio_pin = A0;
int potenzio_value = 0;
void setup() {
myservo.attach(9);
myservo.write(servo_pos);
lcd.begin();
lcd.backlight();
lcd.setCursor(0,0);
pinMode(potenzio_pin, INPUT);
read_potenzio();
delay(3000);
}
void read_potenzio() {
potenzio_value = analogRead(potenzio_pin);
potenzio_value = potenzio_value - 10;
if (potenzio_value < 0) {
potenzio_value = 0;
}
if (potenzio_value > 1000) {
potenzio_value = 1000;
}
lcd.setCursor(0,0);
lcd.print("p: " + String(potenzio_value)+" ");
}
void loop() {
read_potenzio();
servo_pos = int((float(potenzio_value)/1000)*9+0.5)*10; // 0 to 90° in 10° steps
lcd.setCursor(0,1);
lcd.print("s: " + String(servo_pos)+String(char(0xDF))+" ");
myservo.write(servo_pos);
delay(100);
}