Hallo,
Ik ben voor school een useless box aan het maken, dit werk met 2 servos. Wanneer ik mijn programma heb geüpload doen de servo's niets bij een ingangssignaal op pin 3,4,5 of 6.
Zou dit aan mijn circuit of programma liggen?
#include <Servo.h> //Servo library toegevoed
////////////////////////////////////////////////////////////////////////
// Knoppen
#define Knop1 3 //Knop1 op pin 3
#define Knop2 4 //Knop2 op pin 4
#define Knop3 5 //Knop3 op pin 5
#define Knop4 6 //Knop4 op pin 6
int Knopstaat1 = 0; //Knop1 is standaard uit
int Knopstaat2 = 0; //Knop2 is standaard uit
int Knopstaat3 = 0; //Knop3 is standaard uit
int Knopstaat4 = 0; //Knop4 is standaard uit
// Servo's
Servo DraaiServo; //Servo DraaiServo toegevoegd
Servo ArmServo; //Servo ArmSermvo toegevoegd
int Positie1 = 60; //Begin positie Draaiservo is 60
int Positie2 = 0; //Begin positie Armservo is 0
////////////////////////////////////////////////////////////////////////
void setup() {
// Knoppen
pinMode(Knop1, INPUT); //Knop1 is een input
pinMode(Knop2, INPUT); //Knop2 is een input
pinMode(Knop3, INPUT); //Knop3 is een input
pinMode(Knop4, INPUT); //Knop4 is een input
// Servo's
DraaiServo.attach(9); //Servo DraaiServo toegewezen aan pin 9
ArmServo.attach(10); //Servo Armservo toegewezen aan pin 10
DraaiServo.write(60); //Positie DraaiServo bij start op 60
ArmServo.write(0); //Positie ArmServo bij start op 0
}
////////////////////////////////////////////////////////////////////////
void loop() {
Knopstaat1 = digitalRead(Knop1); //Knopstaat1 is digitaal
Knopstaat2 = digitalRead(Knop2); //Knopstaat2 is digitaal
Knopstaat3 = digitalRead(Knop3); //Knopstaat3 is digitaal
Knopstaat4 = digitalRead(Knop4); //Knopstaat4 is digitaal
/////////////////////
{
if (Knopstaat1 == HIGH){ //Wanneer Knopstaat1 hoog is
void KnopPos1(); //Void Knop1 aanroepen
}
}
{
/////////////////////
if (Knopstaat2 == HIGH){ //Wanneer Knopstaat2 hoog is
void KnopPos2(); //Void Knop2 aanroepen
}
}
{
/////////////////////
if (Knopstaat3 == HIGH){ //Wanneer Knopstaat3 hoog is
void KnopPos3(); //Void Knop3 aanroepen
}
}
{
/////////////////////
if (Knopstaat4 == HIGH){ //Wanneer Knopstaat4 hoog is
void KnopPos4(); //Void Knop4 aanroepen
}
}
}
////////////////////////////////////////////////////////////////////////
void KnopPos1 (){
Positie1 = Positie1 - 36; //Startpositie - 36 graden
DraaiServo.write(Positie1); //Schrijf positie naar DraaiServo
delay(1); //Wachten 100ms
Positie2 = Positie2 + 60; //Startpositie + 60 graden
ArmServo.write(Positie2); //Schrijf positie naar Armservo
delay(1); //Wachten 100ms
Positie1 = Positie1 + 36; //Eindpositie + 36 graden
DraaiServo.write(Positie1); //Schrijf positie naar DraaiServo
Positie2 = Positie2 - 60; //Eindpositie - 60 graden
ArmServo.write(Positie2); //Schrijf positie naar ArmServo
}
/////////////////////
void KnopPos2 (){
Positie1 = Positie1 - 12; //Startpositie - 12 graden
DraaiServo.write(Positie1); //Schrijf positie naar DraaiServo
delay(100); //Wachten 100ms
Positie2 = Positie2 + 60; //Startpositie + 60 graden
ArmServo.write(Positie2); //Schrijf positie naar Armservo
delay(100); //Wachten 100ms
Positie1 = Positie1 + 12; //Eindpositie + 12 graden
DraaiServo.write(Positie1); //Schrijf positie naar DraaiServo
Positie2 = Positie2 - 60; //Eindpositie - 60 graden
ArmServo.write(Positie2); //Schrijf positie naar ArmServo
}
/////////////////////
void KnopPos3 (){
Positie1 = Positie1 + 12; //Startpositie + 12 graden
DraaiServo.write(Positie1); //Schrijf positie naar DraaiServo
delay(100); //Wachten 100ms
Positie2 = Positie2 + 60; //Startpositie + 60 graden
ArmServo.write(Positie2); //Schrijf positie naar Armservo
delay(100); //Wachten 100ms
Positie1 = Positie1 - 12; //Eindpositie - 12 graden
DraaiServo.write(Positie1); //Schrijf positie naar DraaiServo
Positie2 = Positie2 - 60; //Eindpositie - 60 graden
ArmServo.write(Positie2); //Schrijf positie naar ArmServo
}
/////////////////////
void KnopPos4 (){
Positie1 = Positie1 - 30; //Startpositie + 36 graden
DraaiServo.write(Positie1); //Schrijf positie naar DraaiServo
delay(100); //Wachten 100ms
Positie2 = Positie2 + 60; //Startpositie + 60 graden
ArmServo.write(Positie2); //Schrijf positie naar Armservo
delay(100); //Wachten 100ms
Positie1 = Positie1 + 30; //Eindpositie - 36 graden
DraaiServo.write(Positie1); //Schrijf positie naar DraaiServo
Positie2 = Positie2 - 60; //Eindpositie - 60 graden
ArmServo.write(Positie2); //Schrijf positie naar ArmServo
}
///////////////////////////////////////////////////////////////
//Maik Bisschop
//Roc Friese Poort
//08-02-2018
//Useless Box
Met vriendelijk groet,
Maik Bisschop