• Augmented Life…

[ARDUINO] Pilotare un servocomando
by admin

Ecco uno sketch per pilotare la rotazione di un servo e la sua velocità…
Componenti:

  • 1 Arduino UNO
  • 1 servo Hitech HS-311
  • 1 potenziometro
  • 2 pulsanti

Utilizza i due pulsanti per la direzione di rotazione ed il potenziometro per regolare la velocità

Clicca sull’immagine per vedere lo schema a dimensione reale

Questo è invece il codice:

#include <Servo.h>

const int  incSwitch = 3;
const int  decSwitch = 2;
const int  servoPin = 9;
const int potpin = 0;
int val;

int angle = 90;
int change = 2; // this value determines how much the angle changes each time through the loop

Servo servo;

void setup(){

  pinMode(incSwitch, INPUT);  // initialize pins
  pinMode(decSwitch, INPUT);

  digitalWrite(incSwitch, HIGH); // set internal pull up resistors
  digitalWrite(decSwitch, HIGH);

  servo.attach(servoPin);
}

void loop(){
  val = analogRead(potpin);
  val = map(val, 0, 1023, 15, 90);
  if( digitalRead(incSwitch) == LOW) {
    // here if increment switch pressed
    angle = angle + change;
  }
  if( digitalRead(decSwitch) == LOW) {
    // here if decrement switch pressed
    angle = angle - change;
  }  
  angle = constrain(angle, 0, 180); // limit value of angle
  servo.write(angle);
  delay(val);
}

Lascia un commento

Photo

giugno 3rd

17:52
arduino