Stap 4: Hook 'em samen
We kunnen dit doen met behulp van de uitgang van de Arduino voor seriële als de input voor de verwerking code.
Nu hebben we twee stukken code. De Arduino code leest het flex-center, maakt de lezingen in nuttige nummers en verzendt de waarden naar de seriële poort.
De verwerking code zal Lees de waarden van de seriële poort en de info gebruiken om te tekenen op het scherm.
Hier is een video clip:
[embeded video]
Hier is de code:
VERWERKING CODE
Pacman moouth opent/sluit met X input van arduino uitvoer (flex-sensor)
importeren van processing.serial.*;
Seriële poort;
float x = 0;
zweven val = 0;
VOID Setup {}
size(400,400);
Background(100);
Smooth();
println(Serial.List());
ArduinoPort koord = Serial.list() [1];
poort = nieuwe Serial (, arduinoPort, 9600);
}
VOID draw() {}
Als (port.available() > 0) {}
Val = port.read();
Print(val);
Val = mouseX;
Print("---");
x = map(val,0,150,0.01,0.5); Translate waarden ingang te nuttig values/println(x);
println(x);
}
Background(100); laatste beeld wissen
Arc(200,200,100,100,(x)*Pi,Pi+(1-x)*PI); tekenen van packman, met behulp van radialen... p21
}
Arduino Code / / /
Dit is van een voorbeeld incl. met Arduino IDE downloaden.
Beheersen een servo-positie met behulp van een potentiometer (variabele weerstand)
door Michal Rinott
MPC - toegevoegd uitgang voor seriële 'n stuff
Hier is de bedrading:
//
Bedrading-
|---Arduino Gnd
Encoder |---analoge 0
|---5V van de Arduino
//
//| Geel---Digi 9 (PWM)
Top servo | Red---5V
//| Bruin---Gnd
//
//| Geel---Digi 10 (PWM)
Onderkant servo | Red---5V
//| Brown---
#include; servo-bibliotheek gebruiken
Servo myservo; maken van servo-object om te bepalen van een servo
Servo otherServo;
int potpin = 0; analoge pin gebruikt voor het aansluiten van de potentiometer
int val; variabele te lezen van de waarde van de analoge pin
int valComp;
VOID Setup
{
myservo.attach(9); de servo op pin 9 hecht aan de servo-object
otherServo.attach(10);
Serial.begin(9600);
}
void loop
{
Val = analogRead(potpin); leest de waarde van de potentiometer (waarde tussen 0 en 1023)
Serial.Print(val);
Serial.Print("---");
Val = kaart (val, 0,1023, 0,255);
valComp = val;
Serial.println(val);
Serial.Print(Val,byte);
delay(10);
Val = kaart (val, 10, 100, 90, 179); schaal om het te gebruiken met de servo (waarde tussen 0 en 180)
valComp = kaart (valComp, 90, 100, 10, 0);
myservo.write(val); stelt u de positie van de servo volgens de geschaalde waarde
delay(10);
otherServo.write(valComp);
delay(10); wacht tot de servo om er te komen
}