Batch22 Code
Batch22 Code
#include <GravityTDS.h>
Adafruit_SSD1306 display(OLED_RESET);
GravityTDS gravityTds;
void setup(void)
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize the SSD1306 OLED display with I2C address
0x3C
display.setTextSize(2);
display.setTextColor(WHITE, BLACK);
display.setCursor(34, 5);
display.setTextSize(1);
display.setTextColor(WHITE, BLACK);
display.setCursor(29, 33);
display.print("Temperature:");
display.setTextSize(2);
display.setCursor(38,7);
gravityTds.setPin(TdsSensorPin);
gravityTds.begin(); //initialization
display.setCursor(40,9);
display.setCursor(0, 0);
display.print("TDS:");
display.print(tdsValue,0);
display.print("PPM");
int ds18b20_temp;
char _buffer[11];
void loop()
{
display.setCursor(1, 50);
if(ds18b20_read(&ds18b20_temp))
else
display.print(_buffer);
else{
display.print(" ERROR ");
display.display();
gravityTds.update();
bool ds18b20_start()
bool ret = 0;
pinMode(DS18B20_PIN, OUTPUT);
pinMode(DS18B20_PIN, INPUT);
if (!digitalRead(DS18B20_PIN))
return(ret);
}
void ds18b20_write_bit(bool value)
digitalWrite(DS18B20_PIN, LOW);
pinMode(DS18B20_PIN, OUTPUT);
delayMicroseconds(2);
digitalWrite(DS18B20_PIN, value);
delayMicroseconds(80);
pinMode(DS18B20_PIN, INPUT);
delayMicroseconds(2);
byte i;
ds18b20_write_bit(bitRead(value, i));
bool ds18b20_read_bit(void)
bool value;
digitalWrite(DS18B20_PIN, LOW);
pinMode(DS18B20_PIN, OUTPUT);
delayMicroseconds(2);
pinMode(DS18B20_PIN, INPUT);
delayMicroseconds(5);
value = digitalRead(DS18B20_PIN);
delayMicroseconds(100);
return value;
byte ds18b20_read_byte(void)
byte i, value;
bitWrite(value, i, ds18b20_read_bit());
return value;
return(0);
*raw_temp_value |= (unsigned int)(ds18b20_read_byte() << 8); // read temperature MSB byte and store
it on raw_temp_value MSB byte
return(1);