Show Posts
Pages: 1 ... 100 101 [102] 103 104 ... 242
1516  International / Français / Re: Comment incrémenter ceci 0x0100 on: September 17, 2013, 03:03:36 pm
Je m'excuse mais je travaille pour la premiere fois avec un EEPROM

Mais ceci fais donc la meme chose

EEPROM.write(0x0100, data_len);
EEPROM.write(256, data_len);
Oui c'est la même chose

Ce n'est en aucun cas lié à l'utilisation de l'EEPROM. C'est la syntaxe de base du C voir là : http://arduino.cc/en/Reference/IntegerConstants

Tu n'es pas aller voir le lien que je t'avais donné ou alors tu n'as pas compris.

Lorsque tu écris un chiffre de cette manière 101 c'est du décimal
Lorsque tu écris un chiffre de cette manière 0x101 c'est de l'hexadécimal
Lorsque tu écris un chiffre de cette manière B101 c'est du binaire
Suivant la base utilisé la valeur ne représente évidemment pas la même chose.

Si tu n'es pas à l'aise avec l'hexadécimal, pourquoi te faire du mal. Utilise la notation décimal. De toute façon, le compilateur se fiche complètement de la base que tu utilises pour compter au final il traduit tout ça dans son mode de comptage à lui.

Le fait d'écrire dans l'EEPROM n'impose pas un mode d'écriture particulier pour les valeurs. Les données stockées dans l'EEPROM se présentent comme celles qui sont stockées dans la RAM ou dans la Flash.
1517  International / Français / Re: besoin d un petit coup de main pour un if on: September 17, 2013, 02:16:44 pm
comment faire int temps_perso: ( et que le je déclare l heure en temps réelle de l horloge )
Si tu ne sais pas quoi faire avec, pourquoi as-tu crées cette variable temps_perso??

La fonction displayTime() est appellée à chaque passage dans la boucle donc, tu pourrais faire ça par exemple:
Code:
void displayTime(DateTime dateTime)
{
    lcd.setCursor(0, 1);
    lcd.print(dateTime.hour(), DEC);
    lcd.print(':');
    if (dateTime.minute() <= 9) // Si les second sont inferieur a 10
       {   
           lcd.print ("0"); 
        }
    lcd.print(dateTime.minute(), DEC);
    lcd.print(':');
    if (dateTime.second() <= 9) // Si les second sont inferieur a 10
       {   
           lcd.print ("0"); 
        }
    lcd.print(dateTime.second(), DEC);
    lcd.print(' ');

    temps_perso = dateTime.hour()*100 + dateTime.minute();   // Mise à jour de temps_perso
   }

Il faut aussi changer le test sur l'heure comme je l'avais indiqué.
1518  International / Français / Re: Pile et tas de la carte Mega2560 on: September 17, 2013, 02:04:10 pm
petit regret quand même, le compilateur ne donne pas la RAM dispo une fois le biniou compilé... (on sait vite quelle taille de pile donnera une fonction, avec la connaissance de la prog)
C'est prévu pour une future version de l'ide si je me souviens bien smiley-wink

J'ai chargé il y a peu de temps la version de développement et il y a l'information sur la RAM à la fin de la compilation
1519  International / Français / Re: besoin d un petit coup de main pour un if on: September 17, 2013, 10:06:30 am
Quote
fdunews je debute je ne comprend pas ce que je doit faire
Tu as créé une variable temps_perso et tu ne mets jamais de valeur dedans donc ta comparaison ne peut pas fonctionner.
1520  International / Français / Re: besoin d un petit coup de main pour un if on: September 17, 2013, 08:44:38 am
temps_perso n'est pas initialisé, ni mis à jour.

Autrement la condition s'écrirait plutôt comme ça
Code:
if((temps_perso < moon_on_time < )||(temps_perso > moon_off_time))
    {
      digitalWrite(moon_light, LOW);
    }
  else{
    digitalWrite(moon_light, HIGH);
      }

edit: correction parenthèse manquante
1521  International / Français / Re: Problème de déclaration on: September 17, 2013, 02:19:21 am
C'est la même chose que ta précédente question.
Mettre 2 classes dans un même fichier ne les fait pas se connaitre mutuellement.
Pour qu'une classe puisse utiliser les ressources d'une autre il faut :
  - soit que l'une dérive de l'autre et ainsi hérite des ses propriétés et méthodes
  - soit qu'elle instancie un objet de la classe en question et ainsi puisse appeler les classes et les méthodes de l'objet
1522  International / Français / Re: Teleinfo Arduino on: September 16, 2013, 02:39:38 pm
La fonction  bool xPL_Message::AddCommand(char* _name, char* _value) attend 2 chaînes de caractères en argument
Dans ta ligne msg.AddCommand("hchp",hchp); le second argument est un unsigned long. donc c'est normal que tu ais une erreur.
1523  International / Français / Re: Un Echosondeur sur arduino c'est possible? on: September 16, 2013, 10:35:19 am

Pour la profondeur, 20m max serait pas mal! (60m serait le must!) J'avais donc pensé à une télémétrie par infrarouge, mais je ne sais pas si ça traverse l'eau?!  smiley-confuse


Oublie l'infrarouge dans l'eau http://eduscol.education.fr/orbito/pedago/littoral/lh310.htm

Si tu veux sonder jusqu'à ces profondeurs là il va falloir mettre de la puissance on est plus dans le transducteur à 2 balles.
1524  International / Français / Re: Un Echosondeur sur arduino c'est possible? on: September 16, 2013, 09:50:07 am
On trouve dans le commerce des transducteurs piezo étanches donc cela devrait être possible pour des profondeurs pas trop importantes quand même.
La difficulté sera aussi de déterminer avec suffisament de précision la position du bateau pour placer au bon endroit sur l'écran les résultats des mesures
1525  International / Français / Re: Limite mémoire Mega2560 on: September 16, 2013, 09:39:27 am

1 variable de type int = 4 ko
une variable de type int = 2 octets.
1526  International / Français / Re: Comment incrémenter ceci 0x0100 on: September 16, 2013, 08:37:23 am
Donc je peux aussi remplacer ceci
Code:
#define EPROM_POS 0x0001
#define EPROM_LON 0x0008
#define EPROM_LAT 0x0024
#define EPROM_ALT 0x0040
#define EPROM_TIM 0x0056
#define EPROM_VEL 0x0072
#define EPROM_STA 0x0088
par un truc du genre
Code:
#define EPROM_POS 100
#define EPROM_LON 106
#define EPROM_LAT 132
#define EPROM_ALT 148
#define EPROM_TIM 164
#define EPROM_VEL 180
#define EPROM_STA 196
Ca serait en effet, plus simple pour moi
je ne comprends pas très bien comment tu passes de l'un à l'autre

Pour moi

#define EPROM_POS 0x0001       =    1
#define EPROM_LON 0x0008       =    8
#define EPROM_LAT 0x0024       =   36
#define EPROM_ALT 0x0040       =   64
#define EPROM_TIM 0x0056       =   86
#define EPROM_VEL 0x0072       = 114
#define EPROM_STA 0x0088       = 136
1527  International / Français / Re: Comment incrémenter ceci 0x0100 on: September 16, 2013, 05:31:41 am
Je m'excuse mais je travaille pour la premiere fois avec un EEPROM

Mais ceci fais donc la meme chose

EEPROM.write(0x0100, data_len);
EEPROM.write(256, data_len);
Oui c'est la même chose

Ce n'est en aucun cas lié à l'utilisation de l'EEPROM. C'est la syntaxe de base du C voir là : http://arduino.cc/en/Reference/IntegerConstants
1528  International / Français / Re: Comment incrémenter ceci 0x0100 on: September 16, 2013, 03:04:27 am
J'aimerais l'incrémenter de 100. Soit avoir
0x0100
0x0200
0x0300
0x0400
etc

Donc dans mon code, j'ai ceci
Es-ce que l'on augmente un hexa, comme ceci
Code:
byte hexa = 0x0100;
for(byte y=0;y<=10;y++){
  Serial.println(hexa);
  hexa = hexa + 0x0100;

}
Oui tu incrémenteras de 0x100

J'aimerais pouvoir enregistré des données tous les 100 positions
Là en fait tu enregistrera toutes les 256 positions 0x100 = 256 décimal
1529  International / Français / Re: Problème de déclaration on: September 16, 2013, 01:50:40 am
Les 2 classes n'ont pas connaissance l'une de l'autre.
Il me semble que seule une classe qui hériterait des deux ou plutôt une classe PCF8574Timer qui serait dérivée de la classe PCF8574 pourrait faire ce que tu as en tête.
1530  International / Français / Re: mon arduino affiche l heure puis la temperature hors je veut l et deux a la fois on: September 16, 2013, 01:46:45 am
Pourquoi fais-tu un lcd.begin au début de chaque fonction d'affichage?
Cela réinitialise l'afficheur.
Pages: 1 ... 100 101 [102] 103 104 ... 242