Gen

CannaWeedeur Confirmé
  • Compteur de contenus

    3 764
  • Inscription

  • Dernière visite

  • Jours gagnés

    5

Tout ce qui a été posté par Gen

  1. Salut. J'avais oublié de faire également l'inversion pour les commandes moteurs Voilà chose faite Téléchargement : miniGrowDuinoV1_31.zip Voila, les cartes sont dans vos mains, modifiez le programme comme bon vous semble et amusez-vous bien. ++ GEN
  2. Voila, cela m'a pris moins de temps que prévu la nouvelle archive avec les classes et code principal modifiés afin de permettre le travail avec des platines à relais dont les commandes sont inversées (je vous expliquerai dans le futur le pourquoi de la chose) Téléchargement : miniGrowDuinoV1.3.zip Comment cela marche : Dans le code de l'application, ligne 53 #define invertedRelay true Si c'est à true, les commandes sont inversées Si c'est à false, les commandes ne sont pas inversées attention, comme c'est un #define, pas de signe '=' ni de ';' en fin de ligne
  3. Salut. Je vais modifier le code sous peu pour permettre l'inversion des commandes relais, car certaines platines relais fonctionnent à l'inverse. càd activé à LOW et désactivé à HIGH. Ce qui devrait vous éviter des soucis de compatibilité entre l'arduino et les platines relais ++ GEN
  4. Salut. Logiciel terminé et testé. (version 2) Vous trouverez dans l'archive ci-dessous, le programme complet ainsi que les librairies à jour (j'y ai également ajouté la librairie Keypad, mais normalement celle-ci n'est pas nécessaire car inclue d'office dans l'environnement arduino) Je l'ai écrit de la manière la plus structurée possible en évitant l'usage de pointeurs afin de ne pas compliquer le code pour les néophytes. Editeur utilisé : sublime-text build 3126 Environnement de test : Arduino 1.6.8 Sketch uses 27,662 bytes (10.9%) of 253,952 bytes. Global variables use 2,6
  5. Salut à tous. J'ai terminé le menu, l'intégration des classes, ainsi que la correction de la librairie hysteresis, et tout fonctionne à merveille. Demain j'écris la partie gestion moteurs (intracteur et extracteur) donc sont faits et testés Timer 1 avec différenciation cro/flo Timer 2 idem Cyclic 1 avec différenciation jour/nuit Cyclic 2 idem temp up avec hystérésis temp down avec hystérésis hr up avec hystérésis hr down avec hystérésis A bientôt pour la fin ++ GEN
  6. Yop C'est "trop pas juste" LOL digitalWrite( 1er parametre le n° de pin , 2eme parametre soit HIGH ou LOW); en interne le processeur sait que HIGH = 1 LOW = 0 le processeur sait également que true = 1 false = 0 donc on peut sans problème remplacer HIGH par true LOW par false Or on sait qu'un booléen peut être remplacer par une expression (formule) qui renvoie un booléen voila c'est pas plus compliqué que cela Par contre, avant de continuer plus avant, je te conseille d'étudier la syntaxe C++ car le code suivant ne passera JAMAIS au compilateur
  7. Salut. A question simple, réponse simple : Non. ++ GEN
  8. re: Je t'ai mp un code qui contient moult utilisations de tableaux, de '#define' etc.. edit : voici un exemple de simplification de structure 'if' en utilisant un tableau int temperature = 22; String nomDuTableau[2] = {"chaud","froid"}; cela signifie que je crée un tableau de 2 cases contenant du texte et j'assigne directement les valeurs chaud à l'indice 0 et froid à l'indice 1 de mon tableau. En C++ la première occurrence d'un tableau est toujours référencée par 0 Maintenant voici comment utiliser cela Serial.print(nomDuTableau[ température < 24];
  9. Re, Si tu as des questions, tu sais où me trouver Bon développement ++ GEN
  10. re : Si cela t'intéresses 1 - je ne vois pas pourquoi tu charges la librairie SPI. 2 - les identifiants de pin se déclarent en #define et non en 'int' même si cela prends un peu plus de place en mémoire. Ce qui leurs assurent une sécurité de lecture seule 3 - tu peux simplifier les forêts de 'if' avec l'utilisation de tableau (array) ++ GEN
  11. on peut écrire cela plus simplement digitalWrite(BRASSEURCRO, minute> 30); ou inversement en fonction du type de carte relais car en interne LOW = 0 tout comme false = 0 et HIGH = 1 tout comme true = 1 sachant que une comparaison (minute> 30) renvoie une expression booléenne interprétable par la fontion digitalWrite() ++ GEN
  12. re. Effectivement sur certaines platines, il faut inverser l'état des commandes ++ GEN
  13. wep elvi Ca va, ca va. Je code le programme pour le mini growduino sous le soleil du sud Toutafet ! ++ GEN
  14. yop. J'ai entendu mon nom.. Alors je suis viendu voir. #define DHTTYPE DHT22 #define DHT1_PIN 1 #define DHT2_PIN 2 lors de l'instanciation de classe DHT DHT DHT1(DHT1_PIN, DHTTYPE); DHT DHT2(DHT2_PIN, DHTTYPE); Et vouhala ! ++ GEN
  15. Gen

    DSC 0800

    Depuis l’album : GENDUINO

  16. Gen

    DSC 0801

    Depuis l’album : GENDUINO

  17. re la room. Aujourd'hui j'ai quasi terminé la partie environnement voici les tofs Je devrais normalement avoir terminé le programme ce WE ++ GEN
  18. Gen

    DSC 0798

    Depuis l’album : GENDUINO

  19. Gen

    DSC 0799

    Depuis l’album : GENDUINO

  20. Gen

    DSC 0796

    Depuis l’album : GENDUINO

  21. Gen

    DSC 0797

    Depuis l’album : GENDUINO

  22. re: Quand la fonction est précédée d'un void on parle alors d'une procédure car elle ne renvoie rien mais peut très bien modifier des valeurs de variables globales. Quand un type de valeur en retour est défini on appelle cela une fonction. les fonctions et procédures peuvent contenir des variables définies en interne et dont la visibilité se limite uniquement au corps de celles-ci. On parle alors de : "portée d'une variable". ++ GEN
  23. sortir des variables d'une fonction ??? Kesako ? Une fonction renvoie une expression et rien d'autre Long est le chemin du savoir petit padawan.. ++ GEN
  24. yop. merci... mais il y a pointeurs et pointeurs, il est vrai que référencer une variable et jouer avec un pointeur dessus c'est cool.. Par contre, une fois que l'on rentre dans les listes memoire, liste double chainée, arbre binaire, arbre multi, graph et fonction recursive.. c'est là où bcp commencent à ramer grave... Par contre le grand danger, c'est qu'un pointeur accède directement à la mémoire, si tu te plantes.. ca pardonne pas. mais bon, tout s'apprend.. ++ GEN