Show Posts
Pages: [1] 2 3 ... 11
1  International / Français / Re: fonction MAP a la seconde + LCD sans delay on: Today at 04:54:45 am
a par le int on peut utiliser quoi ?
le float ?
2  International / Français / Re: fonction MAP a la seconde + LCD sans delay on: Today at 04:53:36 am
Faudrait quand même essayer de réfléchir 2 sec ....

Un int peut une valeur de -32768 à +32767
Un byte de -128 à +127

S'il est 5h 5*10000=50000 => dépassement capacité d'un int, et encore plus d'un byte ...


oui oui !!!

pour rappel :

je ressent a chaque fois l'agacement de certain dans les réponses qui me sont donner tellement cela semble évident pour eux ...
Mais pas pour moi !

si tu sait tout sa c'est tres bien mais moi je suis la parsque JE NE SAIT PAS !
Donc si tu pouvait me gider en evitant les :
"Faudrait quand même essayer de réfléchir 2 sec .... "
sa serait plus simpa.
3  International / Français / Re: fonction MAP a la seconde + LCD sans delay on: Today at 03:44:44 am
sa marche encore moins
4  International / Français / Re: fonction MAP a la seconde + LCD sans delay on: Today at 03:40:36 am
il faudrait le metre comme sa ?
Code:
byte second,        // 0-59
             byte minute,        // 0-59
             byte hour,          // 1-23

{
5  International / Français / Re: fonction MAP a la seconde + LCD sans delay on: Today at 03:39:08 am
Indice : je paris que H est un int ...
heuuu ...

oui pourquoi ?
on peut faire autrement ?
6  International / Français / Re: fonction MAP a la seconde + LCD sans delay on: Today at 03:38:36 am
par contre j'arive bien a faire varier le pwm a la seconde si je fait :
Code:
M = (minut * 100);
  HMS = (M + seconde);
et apres
Code:
if ((HMS >= 3000) && (HMS  <= 5959)){
    valeurPWM = map(HMS, 3000, 5959, 0, 255);
    analogWrite (soleil, valeurPWM);

Mais le probleme la c'est que je ne peut pas faire cela sur plusieur heure
7  International / Français / Re: fonction MAP a la seconde + LCD sans delay on: Today at 03:33:53 am
je ne comprend pas pourquoi je ne peut pas faire :
Code:
H = (heure * 10000);
  M = (minut * 100);
  HMS = (H + M + seconde);
le calcule affiche - 14****
limité dans les calcule ?
8  International / Français / Re: fonction MAP a la seconde + LCD sans delay on: July 22, 2014, 04:12:43 pm
voila le code
9  International / Français / fonction MAP a la seconde + LCD sans delay on: July 22, 2014, 04:11:10 pm
Bonjour,

Je suis toujours novice dans le domaine de l'arduino
Mes projet tourne toujours autour du récifal.
Je sais également que vous traitez des postes avec des question beaucoup plus technique et que je ressent a chaque fois l'agacement de certain dans les réponses qui me sont donner tellement cela semble évident pour eux ...
Mais pas pour moi !
Je fait pourtant mon maximum a chaque fois et cette fois encore j'ai un petit peu bosser avant de venir ici.
Donc voici se que j'ai fait et se que je souhaiterait faire :

J'ai récupérer le code de base du système de gestion led du TYPHON de BOOSTLED.
Je l'ai modifier afin d'avoir pouvoir l'utiliser via un arduino mega et j'ai rajouter un canal de gestion led passant de 4 a 5 (prévu encore 4 de + plus tard)
Le menu fonctionne c'est déjà une bonne chose.
Par contre je voudrait encore modifier 2 chose :

>La fonction MAP a la seconde (a l'heure actuel elle est a la minute se qui fait des saccade (visuel des led) a certain moment)

> sur la deuxième ligne faire défilé le pourcentage de marche de chaque canal a tour de rôle SANS la fonction delay (cette fonction je la connait mais pas d'autre)

Voila ... je vous colle ou j'en suis dans le code (dans un autre message car trop de caractère) a noté que je l'utilise avec la version arduino 22 car trop de chose a modifier pour l'utiliser avec la version 1.0.5 car trop de chose a modifier que je ne maîtrise pas.

Merci d'avance a tout ceux qui lirons et répondrons a mes question

Cordialement
10  International / Français / Re: rampe led diy 192w de djbouns on: July 10, 2014, 05:32:33 pm
Code:
if(digitalRead(BValider)==LOW || digitalRead(BPlus)==LOW || digitalRead(BMoins)==LOW) {

if (digitalRead(BValider)==LOW) MaVariable^=1; //si Maviable était égale à 1 alors elle passe à zéro et inversement

if (digitalRead(BPlus)==LOW) PWM=1;
if (digitalRead(BMoins)==LOW) PWM=-1;

if(MaVariable) analogWrite(Blanc,constrain(PWMBlanc+PWM,0,250));
else  analogWrite(Bleu,constrain(PWMBleu+PWM,0,255));

while(digitalRead(BValider)==LOW || digitalRead(BPlus)==LOW || digitalRead(BMoins)==LOW);
delay(50);
}

Merci
11  International / Français / Re: rampe led diy 192w de djbouns on: July 10, 2014, 05:31:34 pm
bonjour
petit aparté
j'ai lu ton topic sur "recifal"
tu a commandé en direct tes dissipateurs chez Seem en Normandie ?   smiley-mr-green

Non car pas de reponse de leur part
mais j'ai trouver mieux ... TME electronics super rapide et pas chere
12  International / Français / Re: rampe led diy 192w de djbouns on: July 10, 2014, 03:21:02 am
oui y a rien de compliquer ... quand on connait ... je ne suis pas programmateur et je découvre au fur et a mesure ...
peut tu me transmettre un code utilisant tes dire que je le comprenne stp parsque tes explication ... j'ai pas compris.

Merci
13  International / Français / Re: rampe led diy 192w de djbouns on: July 09, 2014, 05:37:23 pm
Bonsoir ,

Personne pour m'aider ou me dire ou trouver un code qui contient se dont j'ai besoin ?
14  International / Français / rampe led diy 192w de djbouns on: July 08, 2014, 05:34:22 pm
bonsoir,

Apres plusieurs essai de rampe depuis environ 1 ans et demi... la découverte de l'arduino ... et son utilisation pour gérer mon aquarium récifal ( pompe doseuse, osmolation, éclairage, température, ventilation)
je me lance dans une rampe un peu plus sérieuse !

Sa conception est presque fini et je me mais a présent sur le nouveau code pour gérer celle ci.
voici le forum ou vous pouvez suivre l'évolution de mon bac et de la rampe et du boitier pompe dosseuse :
mon bac : http://www.recifal-france.fr/200l-de-djbouns-t15825.html?hilit=djbouns
ma rampe : http://www.recifal-france.fr/rampe-led-diy-192w-de-djbouns-t18238.html?hilit=djbouns
Mes pompes doseuse : http://www.recifal-france.fr/boitier-balling-maison-de-80-t13110.html?hilit=boitier%20balling


la difficulté que je rencontre pour se code est "seulement" l'utilisation de bouton poussoir (en pull up) pour modifier l'intessite de l'eclairage.
je comprend la gestion du code pour l'allumage progressif et afficher les info sur un ecran.

Ce que je "veut"
l'écran affiche l'heure sur la premier ligne et l'intensiter de la rampe bleu et blanc en pourcentage sur la deuxième.
Les boutons (un "+" un "-" un "valide") servent a choisir entre bleu et blanc et a augmenter ou diminuer l'intensiter maximal de la rampe. (la rampe étant sur dimentionner, je pence quelle seras a 60% bleu et 40% blanc). donc a modifier "bleumax" et "blancmax"

je vous colle le debut du code que je veut utiliser sachant que c'est le minimum.
Code:
#include "Wire.h"
#include "DS1307.h"
#include "LiquidCrystal.h"

LiquidCrystal lcd(7, 2, 3, 4, 5, 6);
int bleu1=8;
int bleu2=9;
int bleu3=10;
int blanc1=11;
int blanc2=12;
int valeurPWM1=0;
int valeurPWM2=0;
int minut;
int heure;
int seconde;
int time;
int bleumax;
int blancmax;


void setup() {
  

pinMode(bleu1, OUTPUT);  
pinMode(bleu2, OUTPUT);
pinMode(bleu3, OUTPUT);
pinMode(blanc1, OUTPUT);
pinMode(blanc2, OUTPUT);
lcd.begin(16,2);
Serial.begin(9600);

bleumax = 100;
blancmax = 100;



}
  
  
  void loop(){

 

    
//Récupération de l'heure du DS1307**********************************************************************************************
  heure = RTC.get(DS1307_HR,true);  
  minut = RTC.get(DS1307_MIN,true);
  seconde = RTC.get(DS1307_SEC,true);
  time = (heure * 100) + minut;
  

 //*****Controle des sorties eclairage *********

  
 if ((time >= 930) && (time < 1020)){
    valeurPWM1 = map(time, 930, 1019, 0, bleumax);
    analogWrite (bleu1, valeurPWM1);
    analogWrite (bleu2, valeurPWM1);
    analogWrite (bleu3, valeurPWM1);
 }
    
 else if ((time >= 2230) && (time < 2300)){  
   valeurPWM1 = map(time, 2230, 2259, bleumax, 0);
    analogWrite (bleu1, valeurPWM1);
    analogWrite (bleu2, valeurPWM1);
    analogWrite (bleu3, valeurPWM1);
  }  
  
  else if ((time >= 1020 ) && (time < 2230)) {
    analogWrite(bleu1, bleumax);
    analogWrite(bleu2, bleumax);
    analogWrite(bleu2, bleumax);
  }
else {
    analogWrite(bleu1, 0);
    analogWrite(bleu2, 0);
    analogWrite(bleu3, 0);    
}


if ((time >= 930) && (time < 1020)){
    valeurPWM2 = map(time, 930, 1019, 0, blancmax);
    analogWrite (blanc1, valeurPWM2);
    analogWrite (blanc2, valeurPWM2);
 }
    
 else if ((time >= 2230) && (time < 2300)){  
   valeurPWM2 = map(time, 2230, 2259, blancmax, 0);
    analogWrite (blanc1, valeurPWM2);
    analogWrite (blanc2, valeurPWM2);
 
  }  
  
  else if ((time >= 1020 ) && (time < 2230)) {
    analogWrite(blanc1, bleumax);
    analogWrite(blanc2, bleumax);

  }
else {
    analogWrite(blanc1, 0);
    analogWrite(blanc2, 0);
  
}



 valeurPWM1=( valeurPWM1*100)/255;
 valeurPWM2=( valeurPWM2*100)/255;


   lcd.setCursor(0,0);
   lcd.print("     ");
  if (heure < 10)
  {
    lcd.print("0");
  }
  lcd.print(heure);
  lcd.print("H");
  if (minut < 10)
  {
    lcd.print("0");
  }
  lcd.print(minut);
lcd.print("      ");
  
lcd.setCursor(0,1);
lcd.print("   bleu ");
lcd.print(valeurPWM1);    
lcd.print("%    ");    
delay (5000);    
lcd.setCursor(0,1);
lcd.print("  blanc ");
lcd.print(valeurPWM2);    
lcd.print("%    ");
delay (5000);
    

 }

Merci d'avance
15  International / Français / Re: menu pour réglage pompes doseuses on: March 13, 2014, 04:01:48 pm
ok j'ai fait la modif ... y a plus qu'as surveiller ...
en tout cas, le montage et le code donne un résultat vraiment précis pour cette utilisation.
merci encore bricoleau
Pages: [1] 2 3 ... 11