Comencem comprovant com funciona el servomotor estàndard
Connecta’l al Pin D9.
Per tal de controlar els servos, utilitzarem una llibreria anomenada Servo. Una llibreria és un fragment de codi que ja ha estat escrit i que es pots cridar cada vegada que necessitis usar-lo. Enlloc d’haver d’escriure tot el codi, només has d’afegir aquesta línia de codi #include <Servo.h>
al teu programa.
Escriu el següent al teu Arduino IDE:
include <Servo.h> Servo myservo; void setup() { myservo.attach(9); } void loop() { myservo.write(0); delay(1000); myservo.write(180); delay(1000); }
#include <Servo.h>
: Inclou el codi que realment utilitzem per a controlar els motors.Servo myservo
: Crea un objecte servomyservo
. És el que utilitzes per a controlar el motor.myservo.attach(pinNumber)
: Aquí és on indiques a quin Pin connectes el servo.myservo.write(degrees)
: Ordena al servo a quina posició girar. Com que només pot girar 180 graus, aquest valor varia de 0 a 180.
El programa fa girar el servo a una posició de 0 graus, espera 1 segon i després el gira a una posició de 180 graus.
Continua experimentant!
- Canvia l’angle del servo modificant-ne el valor dins de la funció
write
. Prova d’afegir més posicions al programa. Observa què passa si canvies el temps de retard. - Tal i com pots veure, els moviments del servo són molt sobtats, especialment si hi ha un gran salt entre dos posicions. Això succeeix perquè el servo canvia la posició pràcticament de manera instantània. Tens alguna idea de com fer els moviments més suaus? Enlloc de fer que el servo salti directament d’una posició a l’altra, pots augmentar la posició poc a poc.
- Intenta escriure un programa que permeti que el servo faci un escombratge d’un costat a l’altre de manera suau. (SUGGERIMENT: mira l’exemple Arxiu -> Exemples -> Servo -> Sweep)