// Inkludieren der benötigten Bibliotheken
#include "i2cmaster.h"
#include "twimaster.c"
#define LM75_ADDR 0x90 // Adresse des LM75-Sensors
void setup() {
// Beginnen der seriellen Kommunikation
Serial.begin(9600);
// Initialisieren des I2C-Bus
i2c_init();
}
void loop() {
// Auslesen der Temperatur vom Sensor
i2c_start_wait(LM75_ADDR+I2C_WRITE);
i2c_write(0x00); // Pointer auf Temperaturregister setzen
i2c_rep_start(LM75_ADDR+I2C_READ);
uint8_t msb = i2c_readAck(); // Lesen des MSB
uint8_t lsb = i2c_readNak(); // Lesen des LSB
i2c_stop();
// Umwandlung der gelesenen Werte in Temperatur
int16_t temp = ((msb << 8) | lsb) >> 7;
float temperature = temp * 0.5;
// Ausgabe der Temperatur auf der seriellen Schnittstelle
Serial.println(temperature);
// Warte eine Sekunde
delay(1000);
}