AT24C16/AT24C08/AT24Cxx EEPROM write and read analog sensor values
i want store lm35 temperature sensor values in at24c16 eeprom.
but can store 0-255 values lm35.
i want store 0-1023 values lm35.
my code work for 28 celsius.
#include <wire.h>
#include <liquidcrystal.h>
int data=0;
byte high=0x00 , low=0x00;
int val;
float temperature;
int getval;
liquidcrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
wire.begin();
lcd.begin(16,2);
analogreference(internal1v1);
}
void loop()
{
val=analogread(0);
temperature=val/9.31;
wire.begintransmission(b01010000);
wire.write(high);
wire.write(low);
wire.write(val);
wire.endtransmission();
delay(10);
wire.begintransmission(b01010000);
wire.write(high);
wire.write(low);
wire.endtransmission();
wire.requestfrom(b01010000,1);
delay(10);
getval=int(wire.read());
lcd.clear();
lcd.print(getval/9.31);
lcd.print(" ");
lcd.print(int(high));
lcd.print(" ");
lcd.print(int(low));
lcd.setcursor(0,1);
lcd.print(temperature);
lcd.print(" ");
lcd.print(val);
lcd.print(" ");
lcd.print(getval);
data++;
if (data > 255){
data=0;
}
if (low==255){
high++;
}
low++;
}
but can store 0-255 values lm35.
i want store 0-1023 values lm35.
my code work for 28 celsius.
#include <wire.h>
#include <liquidcrystal.h>
int data=0;
byte high=0x00 , low=0x00;
int val;
float temperature;
int getval;
liquidcrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
wire.begin();
lcd.begin(16,2);
analogreference(internal1v1);
}
void loop()
{
val=analogread(0);
temperature=val/9.31;
wire.begintransmission(b01010000);
wire.write(high);
wire.write(low);
wire.write(val);
wire.endtransmission();
delay(10);
wire.begintransmission(b01010000);
wire.write(high);
wire.write(low);
wire.endtransmission();
wire.requestfrom(b01010000,1);
delay(10);
getval=int(wire.read());
lcd.clear();
lcd.print(getval/9.31);
lcd.print(" ");
lcd.print(int(high));
lcd.print(" ");
lcd.print(int(low));
lcd.setcursor(0,1);
lcd.print(temperature);
lcd.print(" ");
lcd.print(val);
lcd.print(" ");
lcd.print(getval);
data++;
if (data > 255){
data=0;
}
if (low==255){
high++;
}
low++;
}
quote
but can store 0-255 values lm35.
do have idea why?
quote
i want store 0-1023 values lm35.
highbyte() , lowbyte() come mind.
Arduino Forum > Using Arduino > Programming Questions > AT24C16/AT24C08/AT24Cxx EEPROM write and read analog sensor values
arduino
Comments
Post a Comment