Stap 7: Volledige Code
#include < Servo.h >#include < stdio.h >
Servo bigServo;
Servo smallServo;
int SmallServoPin = A13;
int BigServoPin = A15;
int pos = 0;
int wakeUp = 0;
int moveBeds = 0;
int lightChange = 0;
int val = 0;
int count;
int de tijd;
int BlackGreenPin = 24;
int RedBluePin = 22;
int lightThreshold = 500;
int stappen = 70;
int stepDelay = 100;
VOID Setup
{
Serial.begin(9600);
bigServo.attach(BigServoPin);
smallServo.attach(SmallServoPin);
POS = 110;
Graaf = 0;
PIN besturingselementen
pinMode (BlackGreenPin, uitvoer);
pinMode (RedBluePin, uitvoer);
pinMode (A2, INPUT);
}
void loop
{
Serial.println(Serial.List());
Serial.println();
Val = analogRead(A2);
Serial.Print ("licht waarde =");
Serial.println(val);
if(Val > lightThreshold)
{
wakeUp = 1;
if(lightChange == 1)
{
moveBeds = 1;
lightChange = 0;
}
}
anders
{
wakeUp = 0;
if(lightChange == 0)
{
moveBeds = 1;
lightChange = 1;
}
}
if(wakeUp == 0)
{
voor (pos; pos > = 110; pos-= 1)
{
bigServo.write(pos);
smallServo.write(pos-70);
delay(15);
}
if(moveBeds == 1)
{
moveBeds = 0;
Move(0);
}
}
if(wakeUp == 1)
{
if(moveBeds == 1)
{
moveBeds = 0;
Move(1);
}
voor (pos < 179, pos; pos += 1)
{
bigServo.write(pos);
smallServo.write(pos-70);
delay(15);
}
}
delay(1000);
}
VOID verplaatsen (int omhoog)
{
Als (omhoog == 1)
{
for (int i = 0; ik < stappen; i ++)
{
digitalWrite (BlackGreenPin, hoge);
delay(stepDelay);
digitalWrite (RedBluePin, laag);
delay(stepDelay);
digitalWrite (BlackGreenPin, laag);
delay(stepDelay);
digitalWrite (RedBluePin, hoge);
delay(stepDelay);
}
}
anders als (tot == 0)
{
for (int i = 0; ik < stappen; i ++)
{
digitalWrite (BlackGreenPin, hoge);
delay(stepDelay);
digitalWrite (RedBluePin, hoge);
delay(stepDelay);
digitalWrite (BlackGreenPin, laag);
delay(stepDelay);
digitalWrite (RedBluePin, laag);
delay(stepDelay);
}
}
anders
{
Serial.Print ("fout bij verplaatsen functie. Onverwachte waarde - ");
Serial.println(up);
}
}