WeatherDuino Forum

Full Version: LCD nothing displays - RX boards.
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
I've begun to build Weatherduino pro2 RX. I preffer to use a 20X4 LCD.
This is my configuration data:
// --------------------------------------------------------------------------------------
// User configurable options start here.
// --------------------------------------------------------------------------------------

// --- Station ID, use the same value in your TX unit
const byte StationID = 0xA1;

// --- Define Software Operation Mode
#define Work_Mode 0 // Mode 0= Davis VP2 Emulation Mode, Mode 1= EasyWeather Mode

// --- Define your Display type
#define DisplayType 1 // 0= TFT, 1= LCD 20x4, 2= LCD 16x2

// --- Define Backlight timeOut
// --- With RX boards version <= 3.01 without the TFT backlight control mod, always set this value to 0
byte BackLight_Timeout = 0; // Timeout for TFT backlight in minutes (1 to 255). 0 = Always ON

// --- Define Temperature and Wind Display units
byte Temp_Display_Unit = 0; // 0 for ºC, 1 for ºF
byte Wind_Display_Unit = 0; // 0 for Km/h, 1 for mph, 2 for m/s

// --- Fine adjusts for Inside Temperature and Barometer
const int TemperaturaInt_offset = 0; // Inside Temperature Fine Adjust in Tenths of Degree (-4 = -0,4ºC)
const float pressure_offset = -1.0; // Pressure Fine Adjust in mB

// --- Some Data from your Weather Station location
#define LATITUDE 399 // Put here your Station latitude in tenths of degrees North
#define LONGITUDE 326 // Put here your Station longitude in tenths of degrees East
#define ELEVATION 900 // Put here your Station height above sea level in Meters

// --- Define Starting Hour of your Meteorological Day
#define MeteoDay_HStart 0 // Use values from 0 to 23

// --- Define Wind Speed and Wind Gust resolution
#define VP2_WindRes 2 // If set to 2, set Cumulus Wind Speed and Wind Gust multipliers to 0.448. Wind Resolution 0.72 Km/h
// If set to 1, set Cumulus Wind Speed and Wind Gust multipliers to 0.224. Wind Resolution 0.36 Km/h
// WARNING !!! Setting this variable to 1 allows a better wind speed and gust resolution,
// but also limits both of them, to a maximum reading of just 91.8 Km/h
// This setting only have effect when the software is used in Davis VP2 emulation mode

// --- Define type of outside temperature / humidity sensor
#define TH_OutSensor 1 // 0 for SHT21 or HTU21D sensor, 1 for SHT1x or DHT22 sensor,

// ---- Let's define the source of the sensors we want to receive
// ---- If you have all the sensors connected to only one TX board, always select Unit 0

#define TH_OutUnit 0 // 0 for Temp/Hum sensor connected to TX_Unit 0, 1 for Temp/Hum sensor connected to TX_Unit 1
#define WIND_OutUnit 0 // 0 for Wind instruments connected to TX_Unit 0, 1 for TX_Unit 1, 2 for Auriol RF Odometer
#define RAIN_OutUnit 0 // 0 for Rain Gauge connected to TX_Unit 0, 1 for TX_Unit 1, 2 for Auriol RF Rain Gauge
#define SRUV_OutUnit 0 // 0 for Solar Rad / UV sensors connected to TX_Unit 0, 1 for TX_Unit1

// ---------------------------------------------------------------------------------------------------
All parts (include AT45DB011) on the RX board has been mounted and arduino nano programmed. I want to test RX board functions so powered the board. But nothing displayed on the LCD. (I tried all address combinations.)
Any comments, helps please.
Regards.
Recep
HI

Your user config options semms ok.
Almost all serial LCD modules by default use address 0x27.
The best way to find it is using the attached Arduino sketch. It will show the address of all I2C modules in your RX unit.

You should get something like this:

Quote:Scanning...
I2C device found at address 0x27 !
I2C device found at address 0x57 !
I2C device found at address 0x68 !
I2C device found at address 0x77 !
done

0x27 -> LCD module
0x57 -> Eeprom on RTC module
0x68 -> RTC
0x77 -> BMP180 or BMP085 module

Also check if you have not reversed SDA and SCL lines.
Hi,
I found LCD I2C address as 0x3F.
The LCD worked.
Step 1 was passed. Smile
Thanks.

(22-05-2015, 22:11)Werk_AG Wrote: [ -> ]HI

Your user config options semms ok.
Almost all serial LCD modules by default use address 0x27.
The best way to find it is using the attached Arduino sketch. It will show the address of all I2C modules in your RX unit.

You should get something like this:

Quote:Scanning...
I2C device found at address 0x27 !
I2C device found at address 0x57 !
I2C device found at address 0x68 !
I2C device found at address 0x77 !
done

0x27 -> LCD module
0x57 -> Eeprom on RTC module
0x68 -> RTC
0x77 -> BMP180 or BMP085 module

Also check if you have not reversed SDA and SCL lines.
(23-05-2015, 14:28)hamix Wrote: [ -> ]Hi,
I found LCD I2C address as 0x3F.
The LCD worked.
Step 1 was passed. Smile
Thanks.

Hi

Good to know that you have found the correct address. Thank you for reporting back.
Certainly the backpack of your LCD is different from the most comum serial LCD modules, but what is important is that it is working.

Could you post a picture of the back of your LCD? It may help others that had bought a similar LCD.
Hi,
I've attached three photos: Backside of LCD module and i2c to parallel converter module and i2c addresses of PCF8574 familiy.
According to the daha sheet there is a diffrence between PCF8574 and PCF8574A.
A4 and A5 address lines of PCF8574 are 0, but these lines are 1 for PCF8574A.
So, if i2c to parallel module used a PCF8547, the i2c address is 27h (39d) but used a PCF8574A the i2c address must be 3Fh (63d).

Regards.
Thanks for the pics and for the valuable information about the diferences between PCF8574 and PCF8574A.

Just for curiosity: You have added the resistor between A0 and VCC for any purpose, or it already was there?
(24-05-2015, 21:39)Werk_AG Wrote: [ -> ]Just for curiosity: You have added the resistor between A0 and VCC for any purpose, or it already was there?

Just written "Pullup resistors are not needed" at the PCF8547 data sheet from Texas Instruments. But I read this "Pullup resistors are needed" Blush
Anyway there is not any doubt i2c address.
Hello,

I have the PCF8547 model - when I run the serial monitor, only 0x57, 0x68 and 0x77 addresses are detected.

I checked my cabling from the LCD to the board, nothing wrong. The backlight is on.

Any idea? Thanks!
Double check if SDA and SCL lines are not swapped, and if there isn't any broken cable.
If all connections are alright, and the LCD module still is not detected, maybe it is faulty.
(26-06-2015, 19:52)Werk_AG Wrote: [ -> ]Double check if SDA and SCL lines are not swapped, and if there isn't any broken cable.
If all connections are alright, and the LCD module still is not detected, maybe it is faulty.

Thanks - I managed to re-program my RX and now the LCD works!

I reboot the station and now it's gone again Sad
Pages: 1 2