Pages: [1]   Go Down
Author Topic: comunicacion I2C con arduino mega  (Read 933 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 22
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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-)
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 22
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

me auto contesto lo tengo resuelto !!
Logged

Venezuela
Offline Offline
Full Member
***
Karma: 0
Posts: 124
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Saludos.
Atten.
Alexander Santana.
Venezuela-barcelona.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 22
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 22
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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-)
Logged

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Los send tienen que ir entre el start y endTransmission
Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

0
Offline Offline
Newbie
*
Karma: 0
Posts: 22
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

esta asi entre el start y el end
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 22
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Pages: [1]   Go Up
Jump to: