educacion
Para poder interactuar con el servo vamos aincorporar unas funciones que nos permitan moverlo desde el PC. Para ello usaremos el puerto Serie conectado al usb y le mandaremos la letra 'a' cuando querramos aumentar 10º o la letra 'z' cuando querramosdecrementar 10º. Ademas con la función constrain nos aseguramos de que el valor no supere los 180 ni baje de los 0.
Para las conexiones simplemente la masa conectada con la del Arduino, la señal delservo(Naranja o blanco) al pin 9 y la alimentación si tenéis un servo pequeño al pin +5v del Arduino , sino tenéis que alimentarlo con alguna fuente externa.
n el programa de Arduino lascondiciones de while significan que se ejecutan mientras la operación que hay dentro del paréntesis sea verdadera, se cambia de un grado en un grado para evitar el pico de intensidad del motor.
En el programade Processing el envió por puerto USB se realiza cuando hay un cambio en los grados asignados para no saturar la comunicación.
Programa Arduino:
#include //Cargamos la librería de control de servobyte val = 0; //Asignamos variable para el valor de grados
Servo servo1; //Asignamos variable del servo
byte pos = 0; //Asignamos variable para el control progresivo
void setup() {
Serial.begin(9600); //Empezamos la comunicación serie y su velocidad
servo1.attach(9); //Asignamos el servo al PIN 9
servo1.write(0); //Movemos el servo a 0 grados
}
void loop() {
if(Serial.available()) { //Condición para ver si a llegado datos al buffer del puerto serie
val = Serial.read(); //Cargamos el valor de grados en val
Serial.flush(); //Limpiamos el buffer
}
while(pos
pos++; // incremento de grados para que sea progresivo (de 1 en 1)
servo1.write(pos); //...
Regístrate para leer el documento completo.