Paso 4: Gancho em juntos
Podemos hacerlo mediante la salida serie de Arduino como la entrada para el código de procesamiento.
Ahora tenemos dos piezas de código. El código de Arduino lee el centro flex, hace las lecturas en números útiles y envía los valores al puerto serie.
El código de procesamiento será leer los valores del puerto serial y usar la información para dibujar en la pantalla.
Aquí está un clip de vídeo:
[embeded video]
Aquí está el código:
CÓDIGO DE PROCESAMIENTO
moouth de Pacman se abre/cierra con X de entrada de salida de arduino (flex sensor)
Import processing.serial.*;
Puerto serial;
Float x = 0;
flotador val = 0;
void setup() {}
Size(400,400);
Background(100);
Smooth();
println(serial.List());
String arduinoPort = Serial.list() [1];
puerto = serie nueva (este, arduinoPort, 9600);
}
void draw() {}
Si (port.available() > 0) {}
Val = port.read();
Print(Val);
Val = mouseX;
Print("---");
x = map(val,0,150,0.01,0.5); traducir la entrada de valores a values/println(x) útil;
println(x);
}
Background(100); borrar la última imagen
Arc(200,200,100,100,(x)*PI,PI+(1-x)*PI); dibujar packman, usando radianes... p21
}
Código de Arduino / / /
Se trata de un ejemplo incluido con la descarga del IDE de Arduino.
Control de una posición de servo con un potenciometro (resistencia variable)
por Michal Rinott
MPC - añadido salida serial ' n stuff
Aquí está el cableado:
//
Cableado-
|---Arduino Gnd
Codificador |---analógico 0
|---5V de Arduino
//
//| Amarillo---Digi 9 (PWM)
Servo superior | Rojo---5V
//| Marrón---Gnd
//
//| Amarillo---Digi 10 (PWM)
Servo de fondo | Rojo---5V
//| Brown---
#include; uso de la librería servo
Servo myservo; crear objeto servo para controlar un servo
Servo otherServo;
int potpin = 0; pin analógico utilizado para conectar el potenciómetro
int val; variable para leer el valor del pin analógico
int valComp;
void setup()
{
myservo.Attach(9); se fija el servo en el pin 9 al objeto servo
otherServo.attach(10);
Serial.Begin(9600);
}
void loop()
{
Val = analogRead(potpin); Lee el valor del potenciómetro (valor entre 0 y 1023)
Serial.Print(Val);
Serial.Print("---");
Val = mapa (val, 0,1023, 0,255);
valComp = val;
Serial.println(Val);
Serial.Print(Val,byte);
Delay(10);
Val = mapa (val, 10, 100, 90, 179); la escala a utilizar con el servo (valor entre 0 y 180)
valComp = mapa (valComp, 100, 10, 0, 90);
myservo.Write(Val); ajusta la posición del servo según el valor de escala
Delay(10);
otherServo.write(valComp);
Delay(10); espera a que el servo llegar
}