Paso 3: Código Simple
El motor de servo es controlado por el código de Arduino, grandes partes del código se refieren a ejemplo de barrido servo, tenía la intención de alimentar a los peces una vez o dos veces al día, probablemente al mismo tiempo, así que necesito un temporizador, encontré la función millis() muy útil contar la segunda, a la alimentación una vez que todos los días el contador a 86400 segundos , sin necesidad de RTC.
El rodillo de vuelta por el motor servo a 180 grados, lo he comprobado y rollos tres veces deben ser suficiente, la función shake() se llamará tres veces cada 86400 segundos, excepto el agua ahorrar energía!
#include < Servo.h >
Servo myservo; crear objeto servo para controlar un servo / doce objetos servo se pueden crear en la mayoría de las placas
int segundo = 0;
int pos = 0; variable para almacenar la posición del servo
void setup() {}
myservo.Attach(9); se fija el servo en el pin 9 al objeto servo
myservo.Write(POS);
Serial.Begin(9600);
}
void loop() {}
lastTick largo sin signo estático = 0;
Si (millis() - lastTick > = 1000) {}
lastTick = millis();
segundo ++;
Serial.println(Second);
}
Si (segundo > = 86400) {//or 43200 para dos veces al día
Shake();
Delay(100);
Shake();
Delay(100);
Shake();
segundo = 0; reiniciar contador
}
}
void shake() {/ / el rodillo sería mucho mejor, al principio considero a sacudirlo, este ejemplo en el IDE de Arduino
para (pos = 0; pos < = 180; pos += 1) {/ / va desde 0 grados a 180 grados / / en pasos de 1 grado
myservo.Write(POS); Dile el servo a la posición en la variable 'pos'
Delay(15); espera 15ms para el servo a la posición
}
para (pos = 180; pos > = 0; pos-= 1) {/ / va de 180 grados a 0 grados
myservo.Write(POS); Dile el servo a la posición en la variable 'pos'
Delay(15); espera 15ms para el servo a la posición
}
}