Go Down

Topic: Porte automatique pour poulailler (Read 67937 times) previous topic - next topic

etibou

Hello,

Dans un test de  boucle, il y a une seule condition qui donne un boolean (True ou False) mais cette condition peut être composée de plusieurs critères.  :)
l'écriture du code est juste.
C'est les conditions qui ne marchent pas. :smiley-confuse:
Le problème est la position intermédiaire de la porte car quand elle est ouverte et qu'elle commence à descendre elle libère le contact. La porte est donc ni ouverte ni fermée.

Il faut coder un scénario de ce type (c'est une suggestion)
Loop
{
Si Porte Ouverte et Lumière faible et Moteur Arrêté = Je donne l'ordre de fermer et je mémorise l'état de mouvement de la porte "En fermeture"
Si En Fermeture = si présence Contact porte fermée = Je donne l'ordre d'arrêt et je mémorise l'état de la porte "Fermée"
Si Porte Fermée et Lumière forte et Moteur Arrêté = Je donne l'ordre d'ouverture et je mémorise l'état de mouvement de la porte "En Ouverture"
Si En Ouverture = si présence Contact porte ouverte = Je donne l'ordre d'arrêt et je mémorise l'état de la porte "Ouverte"
}

Nota : Il faut définir l'état de la porte au démarrage du programme...
Bon courage..

franck_sv

Merci pour ton retour, et désolé pour le délai je n'ai pas eu de notification de réponse ;-)
Je vais tenter ça, mais ça à l'air beaucoup plus compliqué que prévu ^^
Tant pis, on tente on verra bien .
Merci

mathieu07300

Bonjour Etibou,

J'étais à la recherche d'un projet de porte de poulailler à base d'arduino car je dispose de quelques arduino et shield.... Je ne souhaitais pas utiliser le capteur de luminosité en priorité, mais plutôt depuis une base lever/coucher du soleil. Ton projet colle parfaitement, avec en plus le capteur pour encore être plus précis, c'est juste top …

Seulement je dois faire un peu d'adaptation car je dispose d'un arduino mega 2560, ainsi que d'un shield L293D pour la gestion moteur.

Pour le RTC je n'ai pas pour le moment de module. Je pense en commander un sous peu, mais en attendant je vais gérer l'heure manuellement…
Par contre j'ai une question, le schéma électronique en page 1, est-il bon pour le code Poulailler_3.ino ?
Car j'ai essayé de reproduire le schéma, mais sans succès, et je pense qu'il n'est pas complet, comme par exemple l'analyse de de l'état de la batterie…  J'utilise la version 3 car je n'ai pas de moteur pas à pas…
J'aurais besoin de ton aide, et si possible du schéma correspondant.

Merci par avance, et super travail !!!

nimaj

C'est la saison des poulaillers en ce moment !
Bon courage à toi mathieu07300 !

etibou

Bonjour,

Le schéma initial est valable pour les versions 1 à 3. Il diffère un peu pour la version 4 car on remplace le moteur cc par un moteur pas à pas.
Dans la version 4 j'ai supprimé le contrôle de la tension de batterie car le système de contrôle consomme du courant (pont de résistances) et de plus quand l'alarme se déclenchait , je ne l'entendais pas ..

 

mathieu07300

Bonjour,

Merci pour votre retour. Je vais refaire des essais, car entre temps je me suis aperçu que j'ai des cables dupont qui sont defectueux... (Merci aliexpress  :) )


jp28

Bonjour,
retour d'expériences avec la version 4 N°2 :
J'ai constaté des petits bug de fonctionnement après coupure d'alimentation la nuit. (alimentation batterie)
Aussi, pour éviter de travailler "en aveugle" j'ai ajouté un LCD I2C (raccordé en 4 fils directement sur le DS1307 dont les connexions I2C sont doublées).  Le LCD n'est allumé que temporairement, juste pour vérifier que tout est OK.  Le LCD m'indique l'heure, si la porte doit être ouverte ou fermée et l'heure de fermeture.
 Lorsque je téléverse le programme, j'ai un avertissement "La mémoire disponible faible...." peut-être est-ce la cause des bug ?
 Je ne me sens pas de taille pour alléger ce programme des éléments devenus inutiles (ex alimentation DC, horloge, test batterie...)
 Sinon, super programme !  :)
mon matériel : arduino pro-mini, alim 5V, DS1307, LCD I2C, moteur pas à pas et treuil avec embrayage.

etibou

Bjr,

Si il y a un coupure de courant, le système ne connait plus la position de la porte.
Pour traiter ce cas, il est possible de rajouter un contact fin de course porte ouverte et écrire un petit bout de code au démarrage de l'arduino (retour du courant) qui remonte la porte jusqu'à l'activation du contact.
Ainsi le système retrouve la position de la porte et peut la laisser ouverte ou la fermer si besoin..

le message "La mémoire disponible faible...." n'est pas inquiétant, il indique seulement qu'on arrive aux capacités maxi de l'Arduino...(code + mémoire)..
Super que mon code soit utilisé..

Go Up