Show Posts
Pages: 1 ... 104 105 [106] 107 108 ... 242
1576  International / Français / Re: Petit Prolème avec mon code on: September 06, 2013, 01:44:31 am
Le Serial.print() surtout à 96000 bauds prend un certain temps.
Peut être cela te fait-il rater un événement fugitif sur un discret.
1577  International / Français / Re: Fonction sinus optimisée ? on: September 06, 2013, 01:38:21 am
En même temps avec une Due c'est pas la RAM qui manque. Tu peux très bien avoir en mémoire une table de sinus calculée pendant le setup(). C'est pas ça qui va planter le processeur.
Si tu fais une table de sinus même de 5000 entiers cela ne fera jamais que 10k sur la quantité de RAM disponible ce n'est pas un gros problème.
1578  International / Français / Re: Fonction sinus optimisée ? on: September 05, 2013, 03:40:09 pm
En y réfléchissant, 2µs !! cela me parait un peu trop rapide.
Il faudrait que je vérifie s'il n'y a pas une embrouille avec la fonction micros() sur le Due.
Demain je mettrai un coup d'oscilloscope pour vérifier.
1579  International / Français / Re: Fonction sinus optimisée ? on: September 05, 2013, 02:51:54 pm
Sachant que j'ai mesuré à l'oscilloscope que avec et sans la fonction sinus j'ai un écart de 80ms. Ce qui me fait 5000 * sin() = 80ms.
Je reprecise que la génération des 5000 points du tableau sur 20ms ca ne pose pas de soucis.

Là en fait j'ai un doute. Parce que moi aussi j'ai une Due.
Je n'avais pas eu le temps ces derniers jours mais ce soir je l'ai ressortie et pour faire un tableau de 5000 sinus il me faut 2µs. Alors même en admettant que tu fasses plus que calculer des sinus tu me vois quand même un peu surpris.
N'aurais-tu pas quelques opérations inutiles dans la boucle de calcul.

Le programme en question. Je calcule le sinus et je normalise sur 12 bits comme si j'utilisais un CAN 12 bits.
Code:
void setup() {
  Serial.begin(9600);

}

void loop() {
int tab[5000];
int i;
float val=0,inc;
unsigned long temps1,temps2;

temps1 = micros();
inc = 2*3.1415926/5000;
for(i=0; i<5000;i++){
  tab[i]=(int)(sin(val)*2047.0+2048.0);
  val+=inc;
}
temps2 = micros();
Serial.print("temps1=");
Serial.println(temps1);
Serial.print("temps2=");
Serial.println(temps2);
Serial.println(temps2-temps1);
delay(100);
}
1580  International / Français / Re: Problème USART - ATMega2560 on: September 05, 2013, 02:11:42 pm
Quote
// Lecture des dernieres valeurs x, y
Serial1.flush();
Erreur !!!
Serail.flush attend que le buffer d'émission soit vide voir là --> http://arduino.cc/en/Serial/Flush
1581  International / Français / Re: Problème avec moniteur serie on: September 05, 2013, 10:00:52 am
Pour ton 1er problème:
Le message passe peut être avant que la fenêtre du terminal soit complètement active.
Essaye de faire un reset manuel avec le poussoir de la carte.

Pour le 2nd problème
C'est pas le programme qui se plante c'est plutôt le terminal qui se plante.
J'ai un problème similaire lorsque j'envoie des caractères à la suite sans arrêt.
1582  International / Français / Re: Petit Prolème avec mon code on: September 05, 2013, 02:53:26 am
Vu la structure de ton programme:
    - soit tu n'entres pas dans le premier if (BrassageOK est-il à false?)
    - soit tu ne sors pas de Brassage()
1583  International / Français / Re: Trop if / else if ? on: September 04, 2013, 03:19:16 pm
Quand vous parlez de tableaux de char c'est faire la même chose en utilisant des type char ?
Ce que propose MiGaNuTs c'est de remplacer les Strings par des tableaux de char. Cela utilise moins de mémoire. Les objets Strings sont associés à une librairie conséquente.

De mon coté ce que je suggérais c'était de modifier la structure du programme pour le rendre plus simple, plus lisible.
Tu fais un tableau avec tous les mots clés que tu attends. Si tes mots clés sont des chaînes c'est effectivement un tableau de tableau de char
Une boucle parcourt le tableau et compare la chaîne reçue avec les différents mots clés. Lorsqu'il y a correspondance, l'index courant te permet de retrouver dans un second tableau le message à envoyer.
Au final, tu as juste une boucle et une comparaison de chaînes au lieu d'en avoir plusieurs. Et les tableaux sont plus faciles à maintenir si tu dois faire des modifications.
1584  International / Français / Re: moteur 14A sur controleur 12A ? on: September 04, 2013, 03:07:11 pm
bonjour!
je souhaite acheter un moteur 24v qui consomme 14A. le controleur supporte 12A. y a t'il un risque pour le controleur? merci d'avance!
En général on fait plutôt le contraire. On se donne une bonne marge pour ne pas surcharger le contrôleur.

PS: est ce que quelq'un saurait comment fixer les roues arrieres sur l'axe sans qu'elle bouge? merci!
Cela dépend de la roue et de l'axe choisi. Par exemple:
    - une clavette qui entre dans une rainure faite dans le moyeu de la roue et sur l'axe
    - un axe avec un méplat ayant un plat complémentaire sur le moyeu de la roue
    - une (ou des) broche(s) entraînées par l'axe et qui entre dans des troues sur la roue
1585  Products / Arduino Due / Re: analogRead on DUE produces erratic results when requests are long between on: September 04, 2013, 12:25:30 pm
may be the sample and hold is in hold state between two conversion
1586  International / Français / Re: Trop if / else if ? on: September 04, 2013, 10:19:19 am
Quote
J'ai la même chose, j'en décommente un de plus et ça fonctionne plus
C'est pas pour être blessant mais la méthode des if ... then ... else ..., ça va pour 2 ou 3 cas mais après c'est vraiment bourrin comme procédé.
Je pense qu'avec un tableau tu pourrais faire quelque chose de beaucoup plus propre.
1587  International / Français / Re: Realisation d'un colorimetre avec un TCS3200 on: September 04, 2013, 10:14:22 am
Tu ferais bien d'aller faire un tour là : http://www.ams.com/eng/Products/Light-Sensors/Color-Sensor/TCS3200
Dans les notes d'application (onglet sur la droite de la page) il y a une note d'application qui donne les équations pour le calcul de la température de couleur et ils n'ont pas les mêmes paramètres que toi. Les paramètres donné par AMS doivent être compensés pour la réponse de leur senseurs. Alors que les équations théoriques sont basées sur la réponse de l'oeil si mes souvenirs sont bons.
1588  International / Français / Re: Les détecteurs de luminosité détectent-ils le clignottement d'une LED on: September 04, 2013, 05:53:41 am
Quote
J'ai remarqué qu'une LED présente sur ce même compteur clignote à chaque Wh consommé (soit 10 fois plus de précision)
Non 10x plus de résolution. La précision reste la même.
Un affichage de puissance au watt près est-ce vraiment indispensable....
1589  International / Français / Re: Trop if / else if ? on: September 04, 2013, 01:23:58 am
Quote
bug du compilo ?
Quel bug du compilo?
Le message retourné?
1590  International / Français / Re: Fonction sinus optimisée ? on: September 04, 2013, 01:20:42 am
Quote
Pour faire ça je prépare un tableau de 5000 points que je genere sur 20ms autant de fois que nécessaire avant de passer à la fonction suivante.
20 ms = 50Hz
 50 * 5000 = 250kHz je doute que l'ATmega puisse sortir les points à cette vitesse
Pages: 1 ... 104 105 [106] 107 108 ... 242