Go Down

Topic: Displaying problems with DS18B20 (Read 3 times) previous topic - next topic

crimson

Hello, the image is not from my project, I have 16x2 LCD


myu project without DS18B20


And with the last code, the simple one, only display and DS18B20










robtillaart

can you post an image of the backside of the panel?
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

crimson

Voltage is 4.95v(read with an inferior class voltmeter-cat2, if you need accurate readings let me know to looc for a cat3)

crimson

#18
Oct 28, 2012, 12:01 am Last Edit: Oct 28, 2012, 12:14 am by crimson Reason: 1
The back side of the LCD?



robtillaart

it was to see the soldering points, sometimes strange chars are caused by wires that short(?) every now and then. Although not sharp it looks like the soldering is not the issue here.

4.95 Volt seems high enough,

I still have the feeling it is some hardware failure as there is an image in which the 75 is in the right place but the rest is wrong. That implies that the bytes are send well to the LCD. Do you have another LCD to test if the cause is in the LCD (+wiring) or in the Arduino + temp sensors?
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

crimson

#20
Oct 28, 2012, 10:12 am Last Edit: Oct 28, 2012, 10:22 am by crimson Reason: 1
I have checked the soldering in the early stages, and there are no "shorts", I can display anything on it without a problem, what bugs me is this:
If I initialize the display with anything else but the DS the screen stays blank as normal, but when the screen is initialized with the DS code it starts all lit up, and then starts displaying random chars even though in the code there is no code for printing something on it... as if the code for the DS is pushing data to the display...

unfortunately I do not have another display for the moment...

update, if I initialize the example for DS without any display code the display lights up and stays lit if sensors are presnt, if they are not present the display stays blank as normal, it's as if the DS code is pushing data to the display.. I'm clueless as of what could cause this

robtillaart


another idea:
Could there be a conflict between the Dallas lib and the LCD lib? shared pin or so?

which version of the dallas lib are you using?
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

crimson

Hello,
tried o couple of different Dallas Temperature Control Library....

right now:
Dallas Temperature Control Library.
VERSION 3.7.2 BETA

onewhire
Version 2.1: Arduino 1.0


liquidCrystal
the default that came with arduino 1.01

crimson

#23
Oct 28, 2012, 11:16 am Last Edit: Oct 28, 2012, 11:59 am by crimson Reason: 1
Hello,

Tried arduino023 with 3.3 Dallas, it's only influencing the first line of the display, if I do not initialize it it first line stays all lit up, if i initialize it it's pushing characters to the first line mostly fffff

Dallas 220, same thing as above...

ok, back 1.0.1
different sensor,

Code: [Select]

#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>


LiquidCrystal lcd(12, 11, 40, 42, 44, 46);
// Data wire is plugged into port 22 on the Arduino
#define ONE_WIRE_BUS 22
#define TEMPERATURE_PRECISION 12
// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
//DeviceAddress  insideThermometer = { 0x28, 0xCE, 0xE4, 0xA7, 0x03, 0x00, 0x00, 0x9C };
//DeviceAddress  outsideThermometer = { 0x28, 0xAB, 0x8E, 0x50, 0x04, 0x00, 0x00, 0x95 };
DeviceAddress insideThermometer = {0x28, 0x42, 0xD6, 0xA7, 0x03, 0x00, 0x00, 0x0C};
void setup(void)
{
 // start serial port
 Serial.begin(9600);
  lcd.begin(16, 2);
   lcd.clear();
 Serial.println("Dallas Temperature IC Control Library Demo");

 // Start up the library
 sensors.begin();
 sensors.setResolution(insideThermometer, TEMPERATURE_PRECISION);
 //sensors.setResolution(outsideThermometer, TEMPERATURE_PRECISION);
}

void loop(void)
{
 // call sensors.requestTemperatures() to issue a global temperature
 // request to all devices on the bus
 Serial.print("Requesting temperatures...");
 sensors.requestTemperatures(); // Send the command to get temperatures
 delay(3000);
 Serial.println("DONE");
float temp1=sensors.getTempC(insideThermometer);
// float temp2=sensors.getTempC(outsideThermometer);
delay(3000);
 Serial.print("Temperature for the device 1 (index 0) is: ");
 //Serial.println(sensors.getTempCByIndex(0));
Serial.println(temp1);
// Serial.print("Temperature for the device 2 (index 1) is: ");
//Serial.println(temp2);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(temp1);
// lcd.setCursor(0, 1);
//lcd.print(temp2);
delay(2000);
}



uploaded the code, it displays bogus starting with 2nd half of 2nd line moning from right to left until it fills 2nd line, then first line, after this cicle it behaves normal... displaying normal temp as in the code on 1st line
if I open serial during bogus the lcd resets and behaves normal...

crimson

same code same display, different sensor and arduino mega board, everything works like a charm
any idea of what could be causing the problem above?

robtillaart

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Go Up