Distribution automatisée et alertes nourriture [AQUARIUM]

Bonjour, mon projet est sur le point d'être réalisé je souhaite créer un distributeur automatique de nourriture pour poissons, ayant des alertes de niveau de nourriture envoyée via bluetooth à une application mobile créer comportant :

-LED afin d'émettre une luminosité dans le réservoir
-LDR afin de changer sa résistance si la luminosité augmente, donc si le niveau de nourriture dans le réservoir baisse ma LDR le reçoit, et peut envoyer l'alerte sur le téléphone que le niveau 1 de nourriture est abaissé.
Pour cela je vais prendre :

3 LED(s) : http://www.conrad.fr/ce/fr/product/176724/LED-cablee-LED-5-10000W-blanc-rond-5-mm-10000-mcd-20-20-mA-32-V

3 LDR : http://www.lextronic.fr/P1823-photoresistance-7-mm.html

Le distributeur est créer sur solidwork donc les éléments choisis s'installe bien dessus

Ensuite pour gérer la partie distribution, je dois me baser sur le nombre de poissons entrés sur le téléphone, donc recevoir cette information. Pour ensuite le X par mes seuils de temps d'ouverture nécessaire pour cette quantité de poissons ( ex : 1 poissons = 0.2g ; pour distribuer 0.2g = 0.001 s d'ouverture, alors si 20 poissons X 0.001 s )

Pour ouvrir ou fermer je dois commander deux servomoteurs, le premier permet la distribution de nourriture, et le deuxième reste fermer tant que le premier ne l'est pas, afin d'assurer une non pollution de l'eau en cas de coupure de courant. J'aurais donc une sorte de réserve.

SERVOMOTEURS : SM-S2309S

J'ai réussi à envoyer les alertes, et recevoir l'information du nombre de poissons entré sur le téléphone. Mais pour la partie commande des servomoteurs je suis un peu perdu et ne sait pas du tout comment gérer cela.

Ci dessous la base de mon programme arduino :

byte L1 = 2; // broche 2 du micro-contrôleur se nomme maintenant  L1
byte L2 = 4; // broche 4 du micro-contrôleur se nomme maintenant : L2
byte L3 = 6; // broche 6 du micro-contrôleur se nomme maintenant : L3
byte LDR1 = A0; // initialisation de la LDR1 sur l'entrée analogique 0
byte LDR2 = A1; // initialisation de la LDR2 sur l'entrée analogique 1
byte LDR3 = A2; // initialisation de la LDR3 sur l'entrée analogique 2
int LDR1_test; // déclaration variable de la LDR1
int LDR2_test; // déclaration variable de la LDR2
int LDR3_test; // déclaration variable de la LDR3
int nourriture; 
int nourriture2;
int nourriture3;
word F;
long nourrir1 = 1500; // temps d'ouverture en millisecondes
int nourrir;
void setup() //fonction d'initialisation de la carte
{
//contenu de l'initialisation
Serial.begin(9600);
pinMode(L1, OUTPUT); //L1 est une broche de sortie
pinMode(L2, OUTPUT);
pinMode(L3, OUTPUT);
digitalWrite(L1, HIGH); //allumer L1
digitalWrite(L2, HIGH); //allumer L2
digitalWrite(L3, HIGH); //allumer L3
}
void loop() //fonction principale, elle se répète (s’exécute) à l'infini
{ 
 alertes_nourriture();
 nourrir_poissons();
}

void envoyer()
{
Serial.print(nourriture);
Serial.flush();
Serial.print(nourriture2);
Serial.flush();
Serial.print(nourriture3);
Serial.flush();
}

void recevoir()
{
if ( Serial.available())
{ 
 F= Serial.read();
 Serial.flush();
}
}

void alertes_nourriture()
{
//contenu du programme

digitalRead(LDR1_test);
digitalRead(LDR2_test);
digitalRead(LDR3_test);
if ((LDR1_test)<50){
  nourriture = 1; }
else {
nourriture = 0;
}
delay(1000);
envoyer();

 
if ((LDR2_test)<50){
  nourriture2 = 1; }
  else {
nourriture2 = 0;
}
delay(1000);
envoyer();

if ((LDR3_test)<50){  
  nourriture3 = 1; }
  else {
nourriture3 = 0;
}
delay(1000);
envoyer();
}

void nourrir_poissons();
{
recevoir();
nourrir = F * nourrir1;

 
}

hello
va voir l'exemple sweep de la librairie servo

ide Arduino, fichier, exemples, servo,sweep