Stap 10: Arduino set up en programmering.
OK laten we eens een kijkje op onze Arduino en V1 Servo schild, het schild gewoon slots in de bovenkant van de arduino en eindigt in de aangrenzende potten. Wij moeten vervolgens de usb-voorsprong die wordt geleverd met uw versie van het arduino board en plus het in uw laptop. We moeten Arduino installeren vanaf Arduino.cc en verwerking van verwerking, org als wij nog niet hebben beiden zijn geheel gratis te gebruiken... Yay!!! Dan moeten we onze code uploaden. Heres de twee codesets. Maar daarvoor moeten we de servo's invoegen op de juiste poorten op de servo-schild. We zullen met behulp van de analoge servo havens aan het einde van de Raad van bestuur. A0 = MOND; A1 = OGEN OMHOOG / OMLAAG; A2 = OGEN LINKS EN RECHTS. (10.1)
Ziek ook bevatten de bestanden in de stap om op te slaan u doen kopiëren en plakken. Zodra je hebt geüpload naar de arduino code zult moet openen verwerking met de verwerking code voor de muiscontrole te werken zie video (A).
Arduino.
#include
Servo myservo; servo-object om te bepalen van een servo maken / / maximaal acht servo-objecten kan worden gemaakt van Servo myservo1; Servo myservo2; int targ = 0; int pos = 0; variabele op te slaan van de servo positie int pos1 = 0; int pos2 = 0; void setup {Serial.begin(9600); pinMode(A0,OUTPUT); pinMode(A1,OUTPUT); pinMode(A2,OUTPUT); myservo.attach(A0); / / hecht de servo op pin 9 aan de servo-object myservo1.attach(A1); myservo2.attach(A2);} void loop {while(Serial.available() > 0) {targ=Serial.read(); //this leest gegevens in verwerkt (mousePos) wanneer in gebruik} myservo.write(targ); voor (pos = 0; pos < = 180; pos += 1) {/ / gaat van 0 graden tot 180 graden / / in stappen van 1 graad myservo.write(pos); / / servo naar positie in de variabele 'pos' vertellen / / wacht 15ms voor de servo om de positie te bereiken} voor (pos = 180; pos > = 0; pos-= 1) {/ / gaat van 180 graden tot 0 graden myservo.write(pos); / / servo naar positie in de variabele 'pos' vertellen
voor (pos1 = 0; pos1 < = 180; pos1 += 1) {/ / gaat van 0 graden tot 180 graden / / in stappen van 1 graad myservo1.write(pos1); / / servo naar positie in de variabele 'pos' vertellen / / wacht 15ms voor de servo om de positie te bereiken} voor (pos1 = 180; pos1 > = 0; pos1-= 1) {/ / gaat van 180 graden tot 0 graden myservo1.write(pos1); / / servo naar positie in de variabele 'pos' vertellen
voor (pos2 = 0; pos2 < = 180; pos2 += 1) {/ / gaat van 0 graden tot 180 graden / / in stappen van 1 graad myservo2.write(pos2); / / servo naar positie in de variabele 'pos' vertellen / / wacht 15ms voor de servo om de positie te bereiken} voor (pos2 = 180; pos2 > = 0; pos2-= 1) {/ / gaat van 180 graden tot 0 graden myservo2.write(pos2); / / vertellen servo naar positie in de variabele 'pos' delay(5);}} } }
Verwerking:
importeren van processing.serial.*;
Seriële myport;
int targ = 0; int currentpos = 0; int actualPosition = 0; void setup {size(400,400); println(Serial.list()); myport = new Serial(this,Serial.list()[4],9600); //connect aan deze canvas (postcode), verbinden apparaat 0 in de lijst seriële //speak met 9600 baud... moet overeenkomen met op de Arduino while(myport.available() > 0) {actualPosition=myport.read();}}
VOID draw() {background(255,255,255); fill(0,0,0); line(200,200,mouseX,mouseY); targ=int(mouseX/2.2); //scale het scherm aan 0-23 / / targ=int(90+random(20)-random(20)); myport.write(targ); println(targ); while(myport.available() > 0) {actualPosition=myport.read();} / / ellips (actualPosition * 17, 200,10,10); / / println(actualPosition); vertraging(20); / / println(targ); / / / println(actualPosition);}