-
-
Save HectorTorres/62153de9e59c176a4508fe7d212cd8f2 to your computer and use it in GitHub Desktop.
tmp102
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <Wire.h> | |
#include <LiquidCrystal.h> | |
#define COLS 16 // Columnas del LCD | |
#define ROWS 2 // Filas del LCD | |
LiquidCrystal lcd(12, 11, 10, 9, 8, 7); | |
void setup() | |
{ | |
Serial.begin(9600); | |
pinMode (4, OUTPUT); // Salida que funcionara como alarma | |
Wire.begin(); //se inicializa la comunicacion i2c | |
lcd.begin(16, 2); //se inicializa el display lcd | |
lcd.setCursor(0, 0); | |
lcd.write("TEMPERATURA (C): "); | |
} | |
void loop() | |
{ | |
double TMP = sensorRead(); //llamar a la funcion sensorRead | |
lcd.setCursor(0, 1); | |
lcd.print(TMP); //imprimir la temperatura en el display | |
delay(500); //esperar 1/2 segundo | |
if(TMP > 32) //si se eleva mas de 32° la condicion se cumple | |
{ | |
digitalWrite(4, HIGH); //la salida se mandara a estado alto | |
} | |
else | |
digitalWrite(4, LOW); | |
} | |
double sensorRead(void) | |
{ | |
uint8_t temp[2]; | |
int16_t tempc; | |
Wire.beginTransmission(0x49); //Inicializa la transmisión con el dispositivo 0x49 | |
Wire.write(0x00); //escribe en el dispositivo | |
Wire.endTransmission(); //Finaliza la trnasmisión | |
Wire.requestFrom(0x49, 2); //Pide 2 bytes al dispositivo "0x49" | |
if (2 <= Wire.available()) //Retorna el numero de bytes disponibles | |
{ | |
temp[0] = Wire.read(); //Recibe el bytes como caracter | |
temp[1] = Wire.read(); | |
temp[1] = temp[1] >> 4; | |
tempc = ((temp[0] << 4) | temp [1] ); //Se realiza una funcion OR con los 2 bytes para mostrar el resultado | |
return tempc* 0.0625; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment