Go Down

Topic: comunicacion I2C con arduino mega (Read 1 time) previous topic - next topic

David_Ardu

la direccion I2C es 0x51 y me dice que la direccion eeprom es 10 entonces lo que quiero es leer la direccion 10 pero no me deja y no se porque
#include <Wire.h>

#define adress 0x51
#define sensitivity 0x10 // tengo que leer 2 byte


int sensitividad_low,sensitividad_high;


void leer_adress();

void leer_adress()
{
  Wire.beginTransmission(adress);
  Wire.send(0);
  Wire.endTransmission();

  Wire.requestFrom(adress,2); // direccion y dos bytes para lectura
  while(Wire.available() < 2);
  sensitividad_high = Wire.receive();
  sensitividad_low = Wire.receive();
  Serial.println("DATO");
  Serial.print(sensitividad_high);
  Serial.println(sensitividad_low);
  Serial.println(" ");
  delay(1000);
}

void setup()
{
 Wire.begin();
 Serial.begin(9600);
}
void loop()
{
 leer_adress();
}



**************************
a ver si me podeis ayudar por favor
Gracias de antemano 8-)

David_Ardu

me auto contesto lo tengo resuelto !!

ASTROCAR

Hola que eeprom esta tratando de leer y si puedes comentar como resolvistes.

Saludos.
Atten.
Alexander Santana.
Venezuela-barcelona.

David_Ardu

Pues queria leer a eeprom del sensor asi que lo hice funcionar pidiendole mas byte al sensor y quedandome aquellos que me interesaban. como era la direccion 10 y 11 pues pedi 12 bytes y me quede con ellos

David_Ardu

Tengo un problema mas resulta que tengo un DS1307 (un reloj RTC)
y su direccion es 0x68 pero me gustaria activar la señal cuadrada que tiene en la direccion 0x07 y tengo que escribir 00010011b entonces no se como hacerlo , es decir, llamo primero al dispositivo y luego mando el byte o como ¿¿¿
os dejo el codigo para saber si esta bien , que ya creo k no


#include <Wire.h>
#define reloj 0x68

void setup()
{
 Wire.begin();
 Serial.begin(9600);
}
void loop()
{
 Wire.beginTransmission(reloj);
 Wire.send(0);
 Wire.endTransmission();
 delay(200);
 Wire.send(0x07,00010011)      //32.768kHz
}

graicas de antemano 8-)

chiva

Los send tienen que ir entre el start y endTransmission
Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

David_Ardu


David_Ardu

Pero gracias ya lo solucione!! ahora tengo otro problema !!

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy