[PROJET] Problème de gestion rentrée/sortie vérin 12V avec le soleil

Bonjour,
J'essaie de m'inspirer des posts existants pour faire une porte automatique (qui s'ouvre avec le soleil, et se ferme avec la nuit).
Le montage est assez simple: pas de capteurs fin de course, une LDR pour la détection de luminosité, un L298P pour le pilotage du vérin 12V, une résistance de 10kohms, une alim DC

Je pense qu'il y a une erreur dans mon code car rien ne se passe lorsque je téléverse le programme sur l'Arduino, que je masque la LDR pour l'assombrir ou pas, le vérin ne bouge pas.

int LuminositePin = A0; // Déclaration broche LDR
int Luminosite = 0; // Variable de la luminosité
int Seuil_Jour = 450; // Variable de luminosité seuil pour le jour
int Seuil_Nuit = 200; // Variable de luminosité seuil pour la nuit
int Tempo_luminosite = 2000; // Temporisation luminosité 20 secondes = 20000ms
boolean mem_h = false, mem_b = false, mem_fdc_ferme = false, mem_fdc_ouvert = false; // Déclaration des mémoires
boolean mem_lumiere = false; // Déclaration de la mémoire lumière
boolean mem_init = false; // Déclaration de la mémoire initialisation
boolean Detecte_lumiere = false; // Déclaration variable détection lumière
boolean Jour = true; // Déclaration variable Jour = 1 | Nuit = 0
boolean Initialisation = false; // Déclaration variable initialisation
boolean tempoActive = false; // État d'activation de la tempo
unsigned long tempoDepart = 0; // Temps à l'activation de la tempo

void setup() {
pinMode(12, OUTPUT);
}

void Rentree_verin(){
 digitalWrite(12, HIGH); // Sortie du vérin
 analogWrite(3, 255); // Vitesse maximale pour le vérin
 delay(10000);
}

void Sortie_verin(){
 digitalWrite(12, LOW); // Rentrée du vérin
 analogWrite(3, 255); // Vitesse maximale pour le vérin
 delay(10000) ;
}

void loop() {
Luminosite = analogRead(LuminositePin);
if (Luminosite >= Seuil_Jour)
{
Detecte_lumiere = true;
}
if (Luminosite <= Seuil_Nuit)
{
Detecte_lumiere = false;
}
if (Detecte_lumiere != mem_lumiere) {
tempoActive = true;
tempoDepart = millis();
}
if (Detecte_lumiere && tempoActive && ((millis() - tempoDepart) >= Tempo_luminosite))
{
Jour = true;
tempoActive = false;
Sortie_verin();
 }
 
 mem_lumiere = Detecte_lumiere;
if (!Detecte_lumiere && tempoActive && (millis() - tempoDepart) >= Tempo_luminosite)
{
Jour = false;
tempoActive = false;
Rentree_verin();
}
mem_lumiere = Detecte_lumiere;
}

Merci d'avance pour votre aide :slight_smile:

Vérifiez le montage du LDR, ça ne se voit pas bien sur la photo mais il semblerait que vous ayez permuté le câble vert qui va sur GND avec le bleu qui va sur A0.
Ajoutez à votre code un:

Serial.print (Luminosite);

vérifier par le moniteur série qu'il fait une lecture correcte.

Merci beaucoup, le montage de la LDR était OK mais j'avais une erreur sur le seuil de luminosité qui fait que le système se croyait toujours en plein jour
Bonne soirée

Bonjour à tous, je reprends ce sujet, je souhaiterais ajouter en // du pilotage automatique par le soleil, un interrupteur 6 broches 3 positions qui permettrait de faire forcer les sorties/rentrées du vérin en manuel. J'ai réalisé le schéma suivant mais j'ai grillé la carte de contrôle des moteurs (la sortie du motor shield n'a pas du apprécier de recevoir du 12V)

Auriez vous une solution simple pour intercaler cet interrupteur sur le circuit? J'imaginais ajouter un deuxième interrupteur 6 broches 2 positions qui choisirait l'alimentation du vérin par l'interrupteur entrée/sortie) ou par l'arduino mais il y a surement mieux:

Merci

Dommage, j'espère que l'autre canal de sortie est sain et que vous n'aurez pas à acheter une autre carte.
Mais... Pourquoi agir sur la sortie?, je pense que cette carte a assez de broches libres pour placer dans l'une d'elles un interrupteur marche/arrêt, (fonctionnement manuel ou automatique), et deux boutons, un pour une direction et un pour l'autre, et tout cela géré par code. Il suffirait de quelques lignes de programme supplémentaires.

Et d’établir un vrai schéma électrique.
Impossible de s’y retrouver dans l’œuvre d’art publiée.

Si comme beaucoup, tu n’es pas à l’aise avec un vrai schéma électrique tu as la solution ftrtzing qui te permet de faire un dessin de cablage "illustré ”.

Une fois le dessin de cablage terminé, tu ne nous l’envoies pas encore. Il faut que tu ailles dans les menus de fritzing et générer le schéma électrique à partir du dessin de cablage. C’est ce schéma electrique qu’il faut que tu envoies.

Nous n’avons pas besoin de photos, mais de rectangles où sont indiqués le nom des connections.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.