Aide avec code pour suiveur solaire

Bonjour à tous, je suis nouveau dans le fórum et je ne suis pas sur de bien poster ce que je veux, désolé je vais essayez.

  • j'ai 6 panneaux posés sur une terrasse au-dessus de mon garage et j'aimerais les faire pivoter pour gagner en rendements pour cela je veux utiliser un moto-reducteur DCPour commander tout ça j'ai faits quelques recherches et j'ai trouvé un code sur arduino qu'il me semble devrais marché , seulement les sortir son pour des servos et j'ai besoin de beaucoup plus de puissance.

Ma question est: pui-je à partir d'une plaque ou shield remplacer les servos par de moteurs sans grands changement au code?

Je sais qu'il y a des codes avec sortie moteurs mais je les trouve trop compliquées et je suis loin d'être un expert dans la programmation arduino.

merci d'avance pour quelque renseignement

  • il me faut une certaine puissance pour faire tourner une tige assez longue et forte fileté pour faire tourner tous les paneaux au memme temps et les assurer à cause du vent. ( dans la mêmme pensée que le comentaire de "Iznobe").

  • le code que j'ai choisi c'est juste parce qu'il marche et je trouve les LDR assez bien en termes de comparaison de luminusité. (j'ai essayée sur protoboard et ça marche niquel), j'ai vu d'autres qui me semblait pas assez precis.

  • En principe j'irai utiliser q'une paire de LDR l'autre axe je le reglerai en manuel ( pour répondre à "Tesla Member" je peut bien monter 3 ou 4 fois par anné pour augmenter au diminuer l'angle par raport au saison).

  • il me faudrait donc deux sorties de l'arduino en 5V au lieu de deux sorties servos pour la rotation droite/gauche du moteur-reducteur, l'inversion je me debroillerai avec un pon H en relés.

  • il me faudrait aussi pouvoir les posicionner à 90 degrés q'und il n'y a pas de soleil ( nuageux) mais je pense que ças será bien plus dificil en programation je suis loin d'être à l'aise avec le C++.

-pour le coût si je le fais moi-même je pense qu'il y a un gain assez conséquent .

-voilá le code en Tinkercad

voilà a peut-prés comme je vois la conception des supports, il y aura bien sur des modif.. et autres adaptations.

https://lh3.googleusercontent.com/proxy/nAp8O8lYSsf_t_fjcnqziMaEY4yUJiYKo_EfOLpkzDVtSD3U1LaVki74PMlGhOWneCUYQLYYK_0IC1EYbJYc-7dx_N5HzqeQ6PyepkYroT2YJam86gRVPjstk-4Ek3mKkS7Yvwvu9ANX3WPeewWJ3w

Voila un deuxieme code qui est bien plus simple mais aussi sortie servo

Je trouve que plus part des codes et chêmas sont destinés au loisirs pour des protobord et pas pour le reél.

Merci pour quelque eventuel aide.

hello
un peu de lecture ICI

edit: modif du lien pour que tu arrives en première page du post

 #include <Servo.h> 
    
    Servo myservo; 
    int pos = 90;   // Posição inicial
    int sens1 = A0; // LRD1 pino
    int sens2 = A1; // LDR2 pino
    int tolerancia = 3; // Valor da variável da tolerância, pode ser aumentada ou diminuída
     
    void setup() 
    { 
      myservo.attach(9);  // Liga o servo ao pino 9 do arduino 
      pinMode(sens1, INPUT);
      pinMode(sens2, INPUT);
      myservo.write(pos);
      delay(3000); //  3 segundos de espera evita o ajuste permanente do painel
    }  
     
    void loop() 
    { 
      int val1 = analogRead(sens1); // faz a leitura do sensor 1
      int val2 = analogRead(sens2); // faz a leitura do sensor 2
     
      if((abs(val1 - val2) <= tolerancia) || (abs(val2 - val1) <= tolerancia)) {
        //nao faz nada se os valores da leitura estão dentro do limite de tolerancia
      } else {    
        if(val1 > val2) { pos = --pos; }
        if(val1 < val2) { pos = ++pos;}
      }    
      if(pos > 180) { pos = 180; } // reset para 180 se for acima
      if(pos < 0) { pos = 0; } // reset para 0 se descer abaixo
      
      myservo.write(pos); // escreve a posição do servo motor
      delay(500);
    }/code]

Pourquoi deux topics pour le même sujet ? ? ?
https://forum.arduino.cc/index.php?topic=677943.0

parce que j'ai mal posté le code, du coup je me suis trompé et j'ai fait un autre au lieu de corriger sur le même. Je ne sais pas comment faire pour effacer le premier, désole.