Show Posts
Pages: 1 ... 103 104 [105] 106 107 ... 203
1561  International / Français / Re: [Probleme logiciel] Arduino on: December 16, 2012, 05:16:07 am
Quel OS?
Quel version de machine java?

Edit:
Au fait il faudrait être un peu plus explicite dans le titre du post. Parce que au cas ou tu ne l'aurais pas remarqué, tu es sur le forum Arduino. Alors mettre comme titre de post Problème Arduino.... On pourrait l'appliquer à 3/4 des sujets sur le forum. Je suggère Plantage au lancement de l'IDE.
1562  International / Français / Re: bibliothèque Serial qui ne bloque pas loop on: December 16, 2012, 05:14:46 am
Quote
bibliothèque Serial inclut dans l ide Arduino bloque loop le temps de la communication
Quelle instruction bloque?
Fais voir ton code
1563  International / Français / Re: Problème d'infra rouge on: December 16, 2012, 05:11:21 am
Les télécommandes n'utilisent pas un signal tout ou rien directement. Le signal module une porteuse (généralement à 38kHz).
1564  International / Français / Re: Problème de calcul on: December 15, 2012, 09:21:32 am
Problème de type pour les constantes

Code:
void milli2JHMS()
{
  unsigned long depart;
  depart=millis()/1000;
  depart=(2*86400)+(22*3600L)+(45*60)+39;//254739
  //depart=(2*86400)+(9*3600)+(9*3600)+(4*3600)+(45*60)+39;
  time_start[0]=depart/86400;
  time_start[1]=(depart%86400)/3600;
  time_start[2]=(depart%3600)/60;
  time_start[3]=depart%60;
}
et ça marche

une opération entre 2 int donne un int comme résultat.
9*3600 reste inférieur à 32767 donc il tient dans un int
22*3600 entraîne un débordement car il ne rentre pas dans un int
Pour forcer le calcul en long il faut ajouter L aux constantes comme ça il n'y a pas de surprise.
1565  International / Français / Re: Aide pour Transformer une String (prov.lecture serie) en Int pour arduino ! on: December 14, 2012, 02:13:52 pm
Voilà un code qui fonctionne
Code:
String Txt1 ="aaa23456";
String Txt2 ="";
String Txt3 ="";
char buffer[7];


void setup(void){
 
  Serial.begin(9600);
 
  Txt2=Txt1.substring(0,3);
  Txt3=Txt1.substring(3);
 
  Serial.println(Txt1);
  Serial.println(Txt2);
  Serial.println(Txt3);
  Txt3.toCharArray(buffer,7);
  Serial.println(atoi(buffer));
}


void loop(void){
}

Maintenant, il fonctionne avec un int comme tu l'as demandé. Seulement 123456 c'est plus grand qu'un int (entre -32768 et +32767) ce qui explique peut être le résultat que tu obtenais. Si tu remplaces le atoi par un atol alors le résultat est correct mais tu dois travailler avec des long
1566  International / Français / Re: Communication SPI Matlab on: December 14, 2012, 05:26:38 am
Désolé mais j'ai toujours pas compris quel est le lien physique entre Le PC sur lequel tourne Matlab et la carte Arduino.
On comprend bien que le potentiomètre numérique est relié par SPI avec la carte Arduino. Mais quel est le lien entre le PC et l'Arduino.

Le plus simple serait d'exploiter la liaison série de la carte arduino pour dialoguer avec le PC. Matlab permet d'exploiter les liaisons série sans problème. L'arduino récupèrerait la valeur reçue par la liaison série et la transmettrait par SPI aux potentiomètres numériques.

Ou alors j'ai vraiment rien compris à ton histoire.
1567  International / Français / Re: Communication SPI Matlab on: December 13, 2012, 03:30:28 pm
On ne comprend pas très bien le besoin.
La librairie SPI dont tu parles est une librairie Arduino à ce qu'il me semble. Quel rapport avec Matlab?
Le SPI est utilisé entre le PC et l'Arduino ou entre l'Arduino et tes convertisseurs?

Un petit dessin pour éclaircir ton propos ne serait pas de trop.
1568  International / Français / Re: vitesse transmission liaison série par rapport à l'I2C on: December 13, 2012, 01:53:38 pm
Je transfert dans les 2 sens 60 variables en int. J'ai l'impression que la laiison sature quelques fois.

Ou alors c'est le programme qui exploite ces données qui sature!!

Il manque une info dans ta demande, c'est la récurrence de l'émission de tes paquets de 60 int. Parce que bon envoyer 120 octets c'est pas vraiment le problème. Par contre si tu envoies en permanence des blocs de 120 octets la saturation va vite arriver coté software.
Autre chose si pour chaque int qui arrive tu as un peu de traitement à faire sur les données, tu risques de voir le buffer de réception déborder du fait que les octets arrivent plus vite par la liaison série que tu ne peux les extraire.
1569  International / Français / Re: open energy monitor : AC - AC adapter on: December 13, 2012, 05:56:55 am
C'est effectivement un transformateur. ils l'expliquent là : http://openenergymonitor.org/emon/buildingblocks/measuring-voltage-with-an-acac-power-adapter. Il y a juste après une mise à l’échelle pour adapter la dynamique à celle de l'entrée de l'arduino ainsi qu'un décalage des potentiels pour que le signal soit toujours positif
1570  International / Français / Re: Arduino Esplora & IDE 1.0.3 on: December 11, 2012, 03:41:17 am
Sur le blog ils emploient le futur
Quote
you will find Arduino Esplora at Radioshack’s in its Retail Version (like the one you see on top) and soon on the Arduino Store and from our distributors in both Standard and Retail versions
1571  International / Français / Re: Peut-on conserver la liaison série avec une alim externe ? on: December 11, 2012, 03:31:40 am
Quote
Donc j voudrais savoir si c'est possible d'alimenter tous le circuit et l'arduino avec la batterie, puis de brancher la cable usb pour a voir la liaison pc
Oui c'est possible.

Il y a aussi l'option qui consiste à alimenter l'arduino avec le câble USB et le pont en H avec la batterie ce qui offre une bonne séparation des alimentations (utile en cas de problème lié au bruit sur les alimentations de puissance) pour autant que les masses des alimentations soient réunies.
1572  International / Français / Re: Sauvegarde d'une valeur de variable on: December 10, 2012, 07:44:58 am
comment l'appliquer à ce code qui permet de lire et d'afficher la vitesse rpm :
merci


Code:
unsigned byte rpmcount;
float rpm, rpmFiltre;
// Ajuster la valeur suivante entre 0 et 1.0
// plus la valeur est faible plus la mesure actuelle est prépondérante et donc le résultat suit de plus près les variations de l'entrée
// plus la valeur est élevée plus l'historique est prépondérant et donc les variations rapides de l'entrée sont atténuées
float coef = 0.5;

unsigned long timeold;

 void setup()
 {
   Serial.begin(9600);
   attachInterrupt(0, rpm_fun, RISING);
 }

 void loop() {
   if (rpmcount >= 20) {
     rpm = 60*1000/(millis() - timeold)*rpmcount;
     rpmFiltre = lpfilter(rpm, coef, rpmFiltre );
     timeold = millis();
     rpmcount = 0;
   
         
   Serial.println(rpm);
   }

 void rpm_fun()
 {
   rpmcount++;
   //Each rotation, this interrupt function is run twice
 }


float lpfilter(float data, float filterVal, float filteredVal){
  if (filterVal > 1){
    filterVal = .99;
  }
  else if (filterVal <= 0){
    filterVal = 0;
  }

  filteredVal = (data * (1 - filterVal)) + (filteredVal * filterVal);
  return filteredVal;
}


1573  International / Français / Re: Sauvegarde d'une valeur de variable on: December 10, 2012, 06:58:30 am
C'est pas ipfilter. C'est lpfilter. C'est une fonction elle est dans le code qui se trouve dans le lien que je t'avais mis un peu plus haut.
1574  International / Français / Re: Problème récupération téléinfo on: December 10, 2012, 04:51:30 am
L'information de téléinfo module une porteuse à 50kHz. Ton montage fonctionne correctement si l'optocoupleur est lent, sinon l'arduino reçoit des impulsions supplémentaires et il perd les pédales.
Un montage plus élaboré là : http://www.planete-domotique.com/blog/2010/03/30/la-teleinformation-edf/

Accessoirement, il faut aussi que la sortie de l'information téléinfo soit activée sur ton compteur. Sinon tu ne récupères que l'identifiant du compteur si mes souvenirs sont bons.
1575  International / Français / Re: PROGRAMME URGENT on: December 09, 2012, 09:48:58 am
Quote
Par exemple, je veux que mon moteur aille a 300t/mins pendant 5 mins, dois-je faire comme ça?
Je voudrais pas faire mon désagréable mais dans le post juste au-dessus je t'ai mis un lien vers la référence de la commande delay(). Il y a un exemple commenté qui n'est quand même pas difficile à adapter à ton besoin s'il est aussi basique que ça. Il faudrait peut être lire les exemples et comprendre ce que tu fais. je pense que cela te ferait gagner un temps précieux (et à nous aussi d'ailleurs).
Pages: 1 ... 103 104 [105] 106 107 ... 203