Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Servo.h>
- Servo servo;
- int min = 0;
- int max = 180;
- int panDelay = 100;
- void setup() {
- Serial.begin(9600); // start serial port at 9600 bps:
- pinMode(13, OUTPUT);
- digitalWrite(13, LOW);
- servo.attach(2, min, max);
- servo.write(90);
- }
- void loop() {
- String line;
- while( Serial.available()) { // buffer up a line
- char c;
- c = Serial.read();
- line = line + c;
- }
- line = line.trim();
- Serial.flush();
- if (line.indexOf('ON') >= 0) {
- Serial.println("Setting on");
- digitalWrite(13, HIGH);
- moveTo(max);
- }
- if (line.indexOf('OFF') >= 0) {
- Serial.println("Setting off");
- digitalWrite(13, LOW);
- moveTo(min);
- }
- if (line.indexOf('q') >= 0) {
- Serial.println("Down");
- moveTo(servo.read() - 10);
- }
- if (line.indexOf('w') >= 0) {
- Serial.println("Up");
- moveTo(servo.read() + 10);
- }
- delay(1000);
- Serial.print(".");
- }
- void moveTo(int dest) {
- int current = servo.read();
- while (current < dest && dest <= max) {
- current = current + 1;
- Serial.print("Current: ");
- Serial.println(current, DEC);
- servo.write(current);
- delay(panDelay);
- }
- while (current > dest && dest >= min) {
- current = current - 1;
- Serial.print("Current: ");
- Serial.println(current, DEC);
- servo.write(current);
- delay(panDelay);
- }
- }
Add Comment
Please, Sign In to add comment