Show Posts
Pages: 1 2 [3]
31  International / Français / Re: Tableau dynamique on: January 13, 2013, 07:57:10 am
merci beaucoup pour vos éclaircissements.

Quote
...
Faire un tableau dynamique de String c'est vraiment pas une bonne idée, sauf si tu veut avoir des bugs aléatoires impossible à résoudre (fragmentation de la mémoire RAM).

Effectivement, dans le petit programme que je vous ai indiqué, le moniteur serie affiche même parfois des lignes du code !

Quote
Explique nous un peu plus ce que tu veut faire au final, ta méthode actuelle n'est vraisemblablement pas la plus adapté

Dans la boucle loop, différents capteurs analogiques sont lus. Pour chacun de ces capteurs une alarme est générée si une ou plusieurs conditions sont réunies. Je souhaitais créer un array[] contenant un message correspondant à chaque alarme et ainsi pouvoir accéder à l'ensemble des messages grace à a quelque chose du genre :

Code:
for (int i = 0; i= sizeof(myarray); i++) {
   Serial.println(myarray[i]);
}

Les erreurs sont stockées dans un tableau affichés grace à l'action d'un interrupteur sur une broche d'interruption. Je ne connais pas le nombre d'erreurs qui ont ête générées dans la boucle loop je ne peux donc pas le dimensionner d'une façon fixe...

les array[] de chaine ont vraiment mauvais caractere...  smiley-mr-green
32  International / Français / Re: Tableau dynamique on: January 13, 2013, 05:12:31 am

merci mais ça ne fonctionne pas. la carte plante à chaque fois ....
un simple prog comme suit :

Code:
String message_alarme[]="";

void setup() {
  Serial.begin(9600); 
}

void loop() {
  for (int i; 0 <10; i++) {
    message_alarme[i] = "alarme ";
    Serial.println(message_alarme[i]);
  }
  delay(10000000);
}

 me donne n'importe quoi dans le moniteur serie et apres qques secondes, l'arduino cesse de fonctionner.
C'est un grand mystere ...

33  International / Français / [Resolu] Tableau dynamique on: January 13, 2013, 04:10:14 am
Bonjour.

Une nouvelle fois je me tourne vers vous. Ma question est la suivante : Est il possible de completer dynamiquement un tableau de taille inconnue ?

Code:
float temperature = 0;
float delta = 0;
int nombre_alarmes = 0;
String message_alarme[] = "";

void setup {
}

void loop {
   ...
  // initier les alarmes

  if (temperature > 25){
    nouvelle_alarme = true;
    message_alarme[nombre_alarmes] = "alarme temperature >>";
    nombre_alarmes++;    
  }

  if (delta > 0.2){
    nouvelle_alarme = true;
    message_alarme[nombre_alarmes] = "alarme delta t°";
    nombre_alarmes++;    
  }
  
etc ...

}

Il n'y a pas d'erreur de compilation mais ça ne fonctionne pas. L'arduino UNO n'aime pas du tout et tout se bloque. Je dois rater qque chose  smiley-confuse.

Je vous remercie par avance
34  International / Français / Re: modification à la volée de analogReference() on: January 08, 2013, 02:45:00 pm
Quote
The first ADC conversion result after switching reference voltage source may
be inaccurate, and the user is advised to discard this result.

J'ai donc modifié ma fonction de lecture analogique en ajoutant :

Code:
...
  int rien = analogRead(pin);        // discard the first result of ADC conversion after switching reference voltage source & waiting a few
  delay(10);                           
...

Confirmation que la première lecture analogRead() après un changement de la tension de référence par analogReference() n'est pas correcte. Le délais semble être nécessaire, inférieur à 5 ms, la lecture n'est pas valable. J'ai mis 10 par sécurité et ça fonctionne parfaitement !

Merci beaucoup  smiley
35  International / Français / [RESOLU] modification à la volée de analogReference() on: January 08, 2013, 01:24:02 pm
Bonjour à tous. Permettez moi de me tourner de nouveau vers vous.

Ma question est dans le titre du post : "est-il possible ( et pertinent ) de modifier la tension de reference grace à analogReference() dans la boucle loop ?"
Y a t-il un delais à respecter entre les modification ? ou autre ... ?

Je vous remercie.
36  International / Français / Re: Conversion PWM en analogique on: January 01, 2013, 09:19:29 am
Quote
dans un montage de ce type
Code:
PWM -------- R1 ( 3.8 K ) ------------ A0
                                          |
                                  C1 ( 33 µF )
                                          |
                                       Gnd

les couples (2,7k + 47µF)  et (5,7k + 22µF) produiront le même signal en sortie = envoyé sur A0, entrée analogique d'un microcontrolleur Arduino.

la forme du signal ne dépend que du produit R.C, pas du rapport R/C tant que le courant allant dans A0 est infime (négligeable)

Merci à tous de vos éclaircissements ...
37  International / Français / Re: Conversion PWM en analogique on: December 29, 2012, 11:06:43 am
Bonjour,

Je fais mes tests avec le PWM Arduino et l'instruction analogWrite(pwmPin, 0 - 255). Je verrai le Fast PWM plus tard  smiley-eek-blue

Voiçi ce que j'ai compris :

freq. PWM Arduino = 490 hZ donc Période = 1/f => P = 2.10-3 sec.

Le produit RC doit être beaucoup plus grand que la période du PWM
R doit être inférieure à 10k

La nouvelle question que je me pose est : Quelles sont les valeurs les plus adaptées à la situation ? Existe-t-il un rapport à respecter entre R et C ?

Je vous remercie
38  International / Français / Re: Conversion PWM en analogique on: December 29, 2012, 05:28:10 am
Bonjour,

c'est tres gentil de m'aider. Quelle est la formule à appliquer pour trouver les bonnes valeurs. j'ai fait des dizaines de tests avant de trouver celles que je vous indique ... et pour etre franc je n'aime pas trop la façon "empirique" de mon montage  smiley-fat

Fréquence du pwm : 490 hz la seule chose dont je sois "sûr" lol

39  International / Français / Conversion PWM en analogique [Résolu] on: December 29, 2012, 05:14:55 am
Bonjour à tous !

Je débute en électronique, vous vous en apercevrez vite smiley-grin

Je souhaite convertir en analogique une sortie pwm. Apres moult recherches sur le net et le forum Arduino, il est apparu que je devais monter un circuit RC entre la sortie PWM et l'entrée analogique. Ce qui fonctionne parfaitement bien. Ma question est la suivante : pourquoi cela fonctionne ? J'ai trouvé les valeurs à employer de façon empirique ...

PWM -------- R1 ( 3.8 K ) ------------ A0
                   |
                  C1 ( 33 µF )
                   |
                   Gnd


Quelle(s) formule(s) dois-je employer pour trouver ces valeurs ?


Je vous remercie de l'aide que vous voudrez bien m'apporter et vous souhaite une tres bonne année ( c'est de saison )
Pages: 1 2 [3]