Show Posts
Pages: 1 ... 100 101 [102] 103 104 ... 201
1516  International / Français / Re: transfert de variable entre fonction on: December 26, 2012, 03:17:15 am
Dans une partie de ton code, il y a ça:
Quote
envoie_linknx("Lumiere_Cuisine_Spots_Cmd" , "on");
dans une autre, tu as ça:
Quote
arg2=="lumiere_cuisine_plafond_on"

Tu n'aurais pas quelques problèmes de majuscule/minuscule par hasard?
1517  International / Français / Re: Plantage au lancement de l'IDE on: December 26, 2012, 03:09:57 am
Je ne sais pas s'il y a encore une console facilement accessible sous seven, je n'utilise plus Windows depuis un bon moment.
S'il y en a une, il serait intéressant de lancer l'IDE dans une console afin de voir si Java retourne des messages d'erreur.
1518  International / Français / Re: transfert de variable entre fonction on: December 25, 2012, 09:16:53 am
On a pas tous la même configuration que toi, donc si tu nous expliquais ce qui coince dans ton système ce serait quand même plus simple pour t'aider.
Qu'attends-tu?
Qu'obtiens-tu?
1519  International / Français / Re: Réalisation d'un afficheur de vitesse pour voiture on: December 23, 2012, 04:22:25 am
Autre chose il serait prudent de mettre une zener pour protéger l'entrée de mesure.
Il faudra sans doute faire un filtrage sur le résultat  car il y a toujours une petite fluctuation sur ce genre de mesure. Une moyenne glissante ou un filtrage en:
Mesure * a + résultat précédent * (1-a)
Peut régler le problème.
1520  International / Français / Re: Réalisation d'un afficheur de vitesse pour voiture on: December 23, 2012, 04:12:37 am
L'erreur peut aussi être causée par le fait que c'est la période et non la demi periode qui porte l'information. Tu pourrais essayer d'utiliser l'instruction pulsin() pour faire ta mesure. Il faut penser à mettre un hors  temps  afin de sortir de la fonction lorsque la voiture est à l'arrêt
1521  International / Français / Re: PROGRAMME URGENT on: December 20, 2012, 03:14:43 pm
Quote
Là, est ce que je suis en dehors du While?
C'est pas compliqué de la savoir. Dans l'IDE arduino, lorsque le curseur se trouve après une accolade fermante ou ouvrante il met en surbrillance l'accolade correspondante (donc ouvrante ou fermante)

Code:
const byte PIN_VITESSE = 3; // Broche de contrôle du moteur par PWM
int compteur = 0; // on met le compteur a zero
int x = 1; // x est le nombre de recommencement de boucle pour y et z
int y = 12; // y est la vitesse en tour minutes
int z = 300; // z est le temps de marche du moteur pour y

// Fonction d'initialisation hardware
void setup() {
    pinMode(PIN_VITESSE, OUTPUT); // Mise en sortie de la broche connecté au moteur
}
void loop() {
while(compteur < x) {     <----------------------------------------------------------  Si tu places le curseur ici
analogWrite(PIN_VITESSE, y); // Génération d'un signal PWM contrôlant la vitesse du moteur a 300t/mins
delay(z); // le moteur reste allumé 5mins
compteur++;
}                         <----------------------------------------------------------  Il met cette accolade en surbrillance donc analogWrite est bien hors du while
analogWrite(PIN_VITESSE, 0);
}

Il fait la même chose pour les parenthèses
1522  International / Français / Re: Arduino Mega et Relais on: December 20, 2012, 09:23:58 am
@B@tto: tu es distrait, il a dit qu'il n'activait qu'un relais à la fois.
1523  International / Français / Re: Arduino Mega et Relais on: December 20, 2012, 07:12:44 am
Dans la spécification de l'ATmega2560 ces 40mA sont donnés comme absolute maximum rating (donc une valeur à ne jamais franchir).
La spécification dit aussi que, à température ambiante, pour 20mA il y a environ 0.5V de chute dans les sorties. La courbe s'arrête à 20mA mais si on extrapole à 40mA cela donne au mieux 1V de chute.
Donc à mon sens tu es un peu trop près des limites. La prudence voudrait que tu mettes un transistor pour piloter les relais. D'autant que si la chute de tension est un peu plus importante que prévu, tu risques d'être en dessous de la tension d'enclenchement des relais.
1524  International / Français / Re: Probleme i2c : blockage pendant un endTransmission on: December 19, 2012, 03:15:25 pm
Ton code fonctionne. Je viens de l'essayer. Regarde le câblage de ton bus.

Un code que j'ai fait et qui réalise la même fonction. Avec une présentation du résultat plus pratique.

Code:
// Wire Scanner
//
//
// Demonstrates use of the Wire library
// Ping all valid adresses on the I²C bus
// and the answer to see if there is a slave
// Print an 8 x 16 array with the results

// Created by fdufnews 2012 december 14th

// This example code is in the public domain.


#include <Wire.h>

void setup()
{
  Wire.begin();         // join i2c bus (address optional for master)
  Serial.begin(9600);   // start serial for output
  Serial.println();     // Print a banner
  Serial.println();
  Serial.println("I2C slave scanner");
  Serial.println("   reserved adress");
  Serial.println(".  no slave detected");
  Serial.println("X  slave detected");
  Serial.println();
  Serial.println();
  int result;
  Serial.println("   0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F");
  // Scan only valid addresses (8 to 0x7B)
  // 0-7 and 7C-7F are reserved ones
  unsigned char devices=0;                  // holds how many devices found
  for (unsigned char ad=0; ad<0x7C;ad++){
    if(ad%16==0){                           // If at start of a row
      Serial.print(ad>>4,HEX);              // Display high order bit address
      Serial.print(" ");
    }
    if (ad>7){                              // skip address from 0 to 7
      Wire.beginTransmission(ad);           // start transmission
      result = Wire.endTransmission();      // end transmission and store answer
      if (!result) devices++;               // add a device to the count if ACK
      Serial.print(" ");
      Serial.print(result==0?"X ":". ");    // If ACK there is a guy at this address
    }
    else{
      Serial.print("   ");                  // Sorry nobody here
    }
    if(ad%16==15) Serial.println();         // end of the row add a new line
  }
  Serial.println();
  Serial.println();
  Serial.println();
  Serial.print(devices, DEC);
  Serial.print(" device");
  Serial.print(devices>1?"s":"");
  Serial.println(" found on the bus");
}

void loop()
{

}
1525  International / Français / Re: escalier qui s'eclaire on: December 19, 2012, 04:59:11 am
Quote
comment tu veux mettre la résistance pour avoir plusieurs mosfet en parallèle

Attention la mise en parallèle de plusieurs mosFET peut être problématique. La capacité Grille-Source de l'IRF520 est donnée pour 360pF, avec un temps de monté l'ordre de 100ns (ce qui est sans doute sous estimé) en appliquant I=C*dU/dT pour un échelon de 5V donne déjà un courant de l'ordre de 18mA. Si on en met plusieurs en parallèle ce courant va rapidement devenir prohibitif.
1526  International / Français / Re: Pin 13 - tension ? on: December 18, 2012, 06:52:09 am
Toutes les IO de l'Arduino Mega sont en 5V
1527  International / Français / Re: Uno Chrono Interupt on: December 18, 2012, 02:24:33 am
delayMicrosecond ne bloque peut être pas les interruptions mais comme tu es déjà dans une routine de traitement d'interruption elles sont masquées.
Il serait largement préférable de lever un drapeau et de le traiter le comportement de la LED dans loop.
Même chose pour le write2i2c qui est exécuté sous interruption
De manière générale sous interruption on positionne des drapeaux, on initialise des variables. Les traitements plus long, les communications sont gérées à temps perdu dans la boucle principale lorsqu'un drapeau particulier est détecté.
Penser à déclarer volatile les variables modifiées dans les routines de traitement d'interruption
1528  International / Français / Re: Peut-on utiliser Telnet pour communiquer à une carte Arduino ? on: December 17, 2012, 04:41:49 pm
Un exemple : http://www.panu.it/ardupower/
1529  International / Français / Re: Compteur + afficheur LCD + Bouton on: December 17, 2012, 02:52:27 pm
J'ai testé et le programme fonctionne parfaitement comme attendu.

Je pense que tu dois avoir des interrupteurs fermés au repos.
Le programme devrait fonctionner si tu changes dans loop les LOW par des HIGH pour les 2 if et les 2 while
1530  International / Français / Re: [Problème] Communication arduino <-> processing via port USB on: December 17, 2012, 11:14:20 am
Quote
ce qu'il reçoit renvoi presque toujours des "ÿ" alors que je m'attendrais à voir apparaitre la lettre a, b ou c,
Problème de vitesse? en même temps personnellement, j'éviterais le 115200 bauds avec un arduino. Tu devrais commencer avec une vitesse plus faible.

Code arduino
Code:
if(Serial.available()==true)
à remplacer par ça
Code:
if(Serial.available()>0)

Pages: 1 ... 100 101 [102] 103 104 ... 201