Go Down

Topic: [conseil] script senseur lumière IC2 (Read 370 times) previous topic - next topic

Nanonnien

Feb 04, 2013, 07:46 pm Last Edit: Feb 04, 2013, 07:53 pm by Nanonnien Reason: 1
Bonsoir,

j'ai tapé un script (cf-ci dessous) pour mon senseur de lumière. Mais dans le moniteur série la seul valeur que j'obtiens est 213.
Quote


#include <Wire.h>

void setup ()
{
 Wire.begin();
 Wire.beginTransmission(0x23);
 Wire.write(0x13);
 Wire.endTransmission();
 
 Serial.begin(115200);
 
 char adresse = 0x23;
 byte tableauLux[2];
}


void loop ()
{
 byte tableauLux[2];
 
 Wire.begin();
 
 int i = 0;

 Wire.beginTransmission(0x23);
 Wire.requestFrom(0x23,2);
 while(Wire.available());
 {
   tableauLux = Wire.read();  // receive one byte
   i++;
 }
Wire.endTransmission();

  if (i=2)
  {
    int val = 0;
 
    val=((tableauLux[0]<<8)|tableauLux[1])/1.2;
    Serial.print(val,DEC);    
   
    delay(1000);
  }
 
}



Je pense bien que j'ai fait une/des erreurs, je débute encore, mais est ce que vous pourriez m'aidez ? Je suis conscient qu'il y des parties inutile aussi dans ce script ( bon vocabulaire au faite ? ).
Si il manque quelque chose j'espère pouvoir vous le fournir.

Bonne soirée =) !

PS: je me suis inspiré de ça  : http://www.dfrobot.com/wiki/index.php?title=Light_Sensor_(SKU:SEN0097)

papybricol

Bonjour,

Pourquoi Wire.begin() dans la loop?

Il ne manquerait pas un index à "tableauLux" ? ----->tableauLux :smiley-eek-blue: = Wire.read();  // receive one byte

Pour debugger plus facilement, ajoute des Serial.print à chaque étape, voire après chaque instruction, ça permet de situer le début du problème, c'est déjà un grand pas. 
...ils embarquèrent la logique, coupèrent les cordons, alors, libérés de leurs chaînes, une immensité s'ouvrait devant eux...

Go Up