Aller au contenu

ZEUS-2: Gestion aquarium avec Arduino


Messages recommandés

  • Réponses 455
  • Created
  • Dernière réponse

J'ai pris la plus connue, la RF24.

Pour le moment j'ai chargé des scripts de test, ça fonctionne impec.

J'ai juste un gag, faut que j'ouvre et ferme le pin 10 sur la UNO sur 2 televersement, avant que ça fonctionne.

Mais sinon impeccable.

Fait juste chier, ça me rajouté 2 tonnes de connexions et c déjà le méga bordel dans le boîtier.

Lien vers le commentaire
Partager sur d’autres sites

Concernant les osmolations

 

Pis moi, je proposerai un code propre avec des classes et la gestions des events...


Supère idée. Ces exemples m'apportent beaucoup :)

J'avoue que j'ai un peu de mal à décrypter tes intentions d'ensemble. Si j'ai bien compris :
- tu as abandonné l'idée de "sécurité anti clapot" ? En effet, ce n'est pas essentiel : la pompe peu redémarrer et s'arrêter brièvement sans que ce soit un problème. Une fois le niveau max (clapot supérieur) atteint rapidement, il n'y a plus de démarrage intempestif.
- Pourquoi vérifier/empêcher des osmolations rapprochées ( 5 minutes) ? Il me semble que ça se produit parfois et c'est normal. Je préfère d'ailleurs plusieurs osmolations étalées dans le temps que de longs déversements.
- Dans ce dernier cas, il me semble (je ne suis pas sûr de mon coup) que l'osmolation ne s'arrête pas au delà d'une certaine petite durée de l'ordre de 1 à 2 mn. Par exemple lorsqu'on a prélevé de l'eau dans la cuve technique et que l'on souhaite la remettre... ou plus grave, si il y a une fuite par ailleurs, il fut empêcher la pompe de remise à niveau de compenser anormalement. Peut-être faut il étaler les osmolations bien au-delà de 5 minutes (toutes les heures peut-être).
- Pour les interventions, peut-être prévoir un bouton d'arrêt/reprise

Bref, tes commentaires sont détaillées, et merci. L'idée de la gestion des défauts est intéressante. Un petit logigramme général serait le bienvenu ;)

Lien vers le commentaire
Partager sur d’autres sites

 

- tu as abandonné l'idée de "sécurité anti clapot" ?

 

Non, c'est dans le code principal, il faut que le capteur de travail soit activé à 5 sec d'intervalle.

 

 

Pourquoi vérifier/empêcher des osmolations rapprochées ( 5 minutes) ?

 

Une osmolation doit compenser le niveau (calibrée en temps, dans mon code 30 sec))

Si tu refais une osmolation à moins de 5 minute, c'est que t'as première osmolation n'est pas suffisante en terme de temps ou debit.

Je ne l'empêche pas, je note cette alerte, afin que je vois si la pompe n'est pas encrasée, le débit n'a pas un probleme, ou je ne sais quoi d'autre.

 

Dans ce dernier cas, il me semble (je ne suis pas sûr de mon coup) que l'osmolation ne s'arrête pas au delà d'une certaine petite durée de l'ordre de 1 à 2 mn.

 

Si j'en suis à la 3 eme osmolation en moins de 5 min.

1/ je teste si le capteur n'est pas bloqué et coupant les pompes de remontée et en regardant si le capteur est bien passé en mode repos. SI ce n'est pas le cas, j'en déduis que le capteur de travail est bloqué et donc je n'en tiens plus compte durant 1 heure. 

2/si après le coup des pompes, il est bien repassé au repos, c'est que l'osmolation (la pompe par exemple) ne fonctionne plus. Et je note l'alerte.

 

 

- Pour les interventions, peut-être prévoir un bouton d'arrêt/reprise

Oui, faudra que je le fasse.

 

 

Sinon, je viens de cramer ma carte de 8 relais.. J'suis super content...  :-(

Et pire, je ne sais pas pourquoi elle a cramée... :-(

Lien vers le commentaire
Partager sur d’autres sites

Les joies de la bidouille...... :tapemur

 

Déjà pour vous faire rie, ZEUS ressemble de plus en plus à un gros merdier...post-2577-0-42123400-1501599759.jpg

 

 

Et encore, y a 10 fils non connectés qui dépassent et ne sont pas encore branché dans le bestiaux (la nappe qui dépasse).

 

Bon, les enquiquinements du jour.

Je fais discuter la Mega et une UNO sans soucis désormais.

J'étais super content....

Sauf que.... Quand je fais ca, je paume la carte SD qui est aussi sur le bus SPI.

 

Apparemment c'est un truc connu...carte SD et nRF24L01 ne font pas bon ménage.

J'ai tenté toute la journée toutes les biduilles du net :

SDFat,, SoftSPI et j'en passe...... Que dalle....

 

Du coup, je suis coincé.....

J'ai besoin du sans fil et j'ai besoin de la carte SD au moins pour débugger....

Vous n'avez pas rencontré ca les bubulles ?

 

 

Ah ben tiens.... Une solution de bidouille au fer à souder cette fois.. :-)

https://forum.arduino.cc/index.php?topic=360718.0

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Je ne rigole pas, çà ressemble à tous les projets Arduino au début. Mais là vous avez un super niveau que je n'ai pas atteins.

J'apprends avec plaisir en vous lisant ;)

 

Pas de Carte SD pour moi qui utilise l'EEPROM. La SD se trouve dans l'afficheur chez moi (4D systems)

Lien vers le commentaire
Partager sur d’autres sites

Oh l'autre.... Il va nous le faire modestie....  8)

 

J'ai aussi une carte dans l'écran Nextion.

Ca peut être une solution.

Mega >>> les ondes>>>>>Uno>>>>>SD écran.

 

Faut que je vois si je peux écrire dessus.

Parce que la librairie du Nextion... Vache, elle est pas simple à comprendre.

A utiliser ca va, mais quand tu mets le nez dedans, faut y aller avec beaucoup d'aspirine.. :-)

 

Sinon en désespoir de cause j'étais entrain de me dire, que si la bidouille soudure ne fonctionne pas plus, j'allais faire :

MEGA>>>UNO Esclave>>>carte SD.

 

Mais ça veut dire foutre encore une carte UNO dans le boitier.... Là, ca ne va plus tenir.... :horreur

Lien vers le commentaire
Partager sur d’autres sites

Deux modules en spi ne doivent pas poser de probleme, ils doivent avoir chacun leur chip select CS sur des broches séparées ( en principe c'est actif au niveau bas)

Après, chaque driver utilise le bus avec son chip select et il ne doit pas y avoir de problème ...

Lien vers le commentaire
Partager sur d’autres sites

Les joies de la bidouille...... :tapemur

 

Déjà pour vous faire rie, ZEUS ressemble de plus en plus à un gros merdier....

 

J'aimerais bien avoir aussi un gros merdier comme ça. Je me bats plus modestement avec des "Else" qui ne savent plus à quels "If" ils correspondent... et qui chamboulent tout. C'est dire du chemin qui me reste à parcourir :D

Lien vers le commentaire
Partager sur d’autres sites

Ca c'est les joies de la programmation... :-)

Tu as pris Visual studio ?

Ca aide...

 

Au début de mes bidouilles en programmation en php (il y a fort longtemps), je n'avais que des ide de base voir de merde.

je pouvais passer 1 journée complète bloqué.... Avant de trouver que c'est juste parce que j'avais mis une virgule au lieu d'un point virgule.

 

Maintenant normalement ca va mieux.

Pour ton else.

Tu cliques sur une parenthèse, cela t'indique ou est sa copine et donc tui vois si tu es toujours dans le if, ou le else, ou ailleurs...

 

Ah sinon moi j'ai résolé le pb de la carte SD et du transmetteur radio...

Ca avance du coup

Lien vers le commentaire
Partager sur d’autres sites

Super pour ton déblocage.

 

En effet, je passe beaucoup de temps sur des idioties très démotivantes. Toujours sur l'IDE de base, je vais passer sur Visual, en espérant que ça me facilite les choses avec une meilleure visibilité. Je pense aussi que mon code est mal structuré : trop de conditions qui s'imbriquent et du coup vite confuses.

Lien vers le commentaire
Partager sur d’autres sites

Oui, visualiser va bcp t'aider.

Enfin, d'abord tu vas galérer avec l'interface si tu n'as jamais utiliser et ensuite ça va être confort.

 

Pour les conditions, pense à switch case, si c utilisable.

Et si tu veux un coup de main, n'hésite pas à m'envoyer le code. Dès fois un simple regard extérieur, vois la connerie que tu ne vois plus parce que ça fait 2h que tu es dessus.

 

Tu fais quoi la? De l'osmolation?

Lien vers le commentaire
Partager sur d’autres sites

De l'importance de lire la documentation....

Un mec dont je ne citerai pas le nom, mais qu'est ce qu'il est con.... Viens de passer plus d'une heure à tester dans tous les sens l'envoi de données d'une carte Mega à une carte Uno...

Pendant plus d'une heure, il a fait des tests à la con parce que impossible de recevoir certaines données....

 

Et au bout d'une heure, en lisant la doc, il comprend que le transmetteur m'émet que par paquet de 32 bytes maxi....

 

Il est vraiment con ce mec... Pffftttttt

Lien vers le commentaire
Partager sur d’autres sites

Audiard a osé dire ça !!!!!

 

Oui, je suis toujours sur l'osmolation. J'indente, j'indente (quoi que maintenant Visual Studio le fait bien automatiquement). Ma difficulté provient de savoir à quel moment je remets à zéro mes variables de temps pour les tests (anti clapot, anti longue osmolation, temporisation de redémarrage après incident... sans les "delay" bloquants, bien sûr). Je surveille pourtant mon language, mais Arduino est très susceptible. Un rien l'irrite !

 

Une semaine en vadrouille me remettra les idées au clair, j'espère.

Lien vers le commentaire
Partager sur d’autres sites

Si cela peut te donner des idées, j'utilise 2 types de trucs pour éviter les delays :

 

1/ un bête compteur dans la loop:

if (compteur_tempo_niveau > 3000) { // donc ne le fait que toutes les 3 secondes
compteur_tempo_niveau = 0;
niveau.analyse_capteur();
}
compteur_tempo_niveau++;
 
2/ une comparaison avec millis()
 
une procédure par exemple qui lance l'osmolation et qui enregistre le millis
 
j'ouvre le relais l'osmolation et je fais
digitalWrite(le pin, HIGH);
futur_milli = millis();
 
et pour la refermer
dans le loop
 
if ((millis() >= futur_milli) {
 
digitalWrite(le pin, LOW);

}

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.


×
×
  • Créer...

Information importante

En poursuivant votre navigation, vous acceptez l’utilisation des cookies pour vous proposer des contenus adaptés à vos centres d’intérêt et réaliser des mesures pour améliorer votre expérience sur le site. Pour en savoir plus et gérer vos paramètres, cliquez ici