Stap 6: De arduino
De arduino-code die ik gebruikte is niet moeilijk te begrijpen. het is een basic-code. Hebt u om te controleren als u de servo-bibliotheek op uw computer. Zoniet krijgt u een fout opgetreden bij het uploaden. In de afbeelding hierboven ziet u een arduino nano. eerst wilde ik u één van de maar omdat ze niet kunnen watertoevoer genoeg huidige. Ten slotte gebruikt ik een arduino uno.
Ik heb niet de servo in mijn project, maar de code is klaar voor het zodoende uitproberen op!
Nadat alle code ziet er zo uit:
#include
Servo myservo;
Const int RoodPin = a1 worden verkregen;
Const int GroenPin = A2;
Const int BlauwPin = A3;
Const int RoodmeterPin = A4;
Const int GroenmeterPin = A5;
Const int BlauwmeterPin = A0;
int Roodwaarden;
int Groenwaarden;
int Blauwwaarden;
int pos = 0;
VOID Setup {}
myservo.attach(9);
pinMode (RoodPin, uitvoer);
pinMode (GroenPin, uitvoer);
pinMode (BlauwPin, uitvoer);
}
void loop {}
voor (pos = 0; pos < = 180; pos += 1) {/ / gaat van 0 graden tot 180 graden
myservo.write(POS); servo naar positie in de variabele 'pos' vertellen
Roodwaarden = (kaart (analogRead(RoodmeterPin), 0, 1024, 0, 255));
Blauwwaarden = (kaart (analogRead(BlauwmeterPin), 0, 1024, 0, 255));
Groenwaarden = (kaart (analogRead(GroenmeterPin), 0, 1024, 0, 255));
Serial.Print ("Rood =");
Serial.println(Roodwaarden);
Serial.Print ("Groen =");
Serial.println(Groenwaarden);
Serial.Print ("Blauw =");
Serial.println(blauwwaarden);
Serial.println("");
analogWrite (RoodPin, Roodwaarden);
analogWrite (BlauwPin, Blauwwaarden);
analogWrite (GroenPin, Groenwaarden);
delay(40); wacht 15ms voor de servo te bereiken de positie
}
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
Roodwaarden = (kaart (analogRead(RoodmeterPin), 0, 1024, 0, 255));
Blauwwaarden = (kaart (analogRead(BlauwmeterPin), 0, 1024, 0, 255));
Groenwaarden = (kaart (analogRead(GroenmeterPin), 0, 1024, 0, 255));
Serial.Print ("Rood =");
Serial.println(Roodwaarden);
Serial.Print ("Groen =");
Serial.println(Groenwaarden);
Serial.Print ("Blauw =");
Serial.println(blauwwaarden);
Serial.println("");
analogWrite (RoodPin, Roodwaarden);
analogWrite (BlauwPin, Blauwwaarden);
analogWrite (GroenPin, Groenwaarden);
delay(40); wacht 15ms voor de servo te bereiken de positie
}
}