New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

i2c LCD Display #122

Closed
ollinator2000 opened this Issue Dec 17, 2016 · 28 comments

Comments

Projects
None yet
10 participants
@ollinator2000

ollinator2000 commented Dec 17, 2016

Hi ,
i'm wondering how to control a i2c 20x4 LCD Display out of the box with craftbeerpi 2.2. At the moment i have a 2.1 setup running with the i2c solution from Hobbybrauer.de forum.

i found the parameter in config.json and enabled it, but i guess thats not all .. ;-)

may be i made a mistake.

THX for your help

Gretes from Hamburg
Oliver

@Manuel83

This comment has been minimized.

Show comment
Hide comment
@Manuel83

Manuel83 Dec 20, 2016

Owner

Hi,

can you provide me the code from Hobbybrauer.de forum. I will add it to version 2.2

Please send it to manuel@craftbeerpi.com

Owner

Manuel83 commented Dec 20, 2016

Hi,

can you provide me the code from Hobbybrauer.de forum. I will add it to version 2.2

Please send it to manuel@craftbeerpi.com

@JamFfm

This comment has been minimized.

Show comment
Hide comment
@JamFfm

JamFfm Dec 21, 2016

This would be perfect because 20x4 LCD modul will be my next Project. Will you add it to 2.2 or the master?

JamFfm commented Dec 21, 2016

This would be perfect because 20x4 LCD modul will be my next Project. Will you add it to 2.2 or the master?

@ollinator2000

This comment has been minimized.

Show comment
Hide comment
@ollinator2000

ollinator2000 Dec 22, 2016

Sorry Pre Christmas insanity in the it business.. ;-)
I'll provide the 3 Python Scripts for Manuel , so he can get rid of it.

ollinator2000 commented Dec 22, 2016

Sorry Pre Christmas insanity in the it business.. ;-)
I'll provide the 3 Python Scripts for Manuel , so he can get rid of it.

@BREWERNIE

This comment has been minimized.

Show comment
Hide comment
@BREWERNIE

BREWERNIE Dec 23, 2016

I would like to connect a lcd display too !

Greetings
Ernie

BREWERNIE commented Dec 23, 2016

I would like to connect a lcd display too !

Greetings
Ernie

@Manuel83

This comment has been minimized.

Show comment
Hide comment
@Manuel83

Manuel83 Dec 24, 2016

Owner

Just received the code. I will have a look

Owner

Manuel83 commented Dec 24, 2016

Just received the code. I will have a look

@Manuel83

This comment has been minimized.

Show comment
Hide comment
@Manuel83

Manuel83 Dec 24, 2016

Owner

I have just created a new branch with first LCD test.

The branch name is "lcd"

Unfortunately I have no LCD.
Can someone test the code please?

git clone -b lcd http://github.com/manuel83/craftbeerpi

Futhermore you have to execute the following lines on you PI for installation.

sudo apt-get install python-smbus i2c-tools
sudo modprobe i2c-dev
sudo modprobe i2c-bcm2708

Beginning from line 34 the displayed content can be customized

https://github.com/Manuel83/craftbeerpi/blob/lcd/brewapp/base/lcd/lcddisplay.py

Merry Christmas

Owner

Manuel83 commented Dec 24, 2016

I have just created a new branch with first LCD test.

The branch name is "lcd"

Unfortunately I have no LCD.
Can someone test the code please?

git clone -b lcd http://github.com/manuel83/craftbeerpi

Futhermore you have to execute the following lines on you PI for installation.

sudo apt-get install python-smbus i2c-tools
sudo modprobe i2c-dev
sudo modprobe i2c-bcm2708

Beginning from line 34 the displayed content can be customized

https://github.com/Manuel83/craftbeerpi/blob/lcd/brewapp/base/lcd/lcddisplay.py

Merry Christmas

@blazem

This comment has been minimized.

Show comment
Hide comment
@blazem

blazem Dec 27, 2016

Yep, confirmed working.

Only thing is the LCD does not clear the screen before each screen update.

Perfect timing for me cheers Manuel.

blazem commented Dec 27, 2016

Yep, confirmed working.

Only thing is the LCD does not clear the screen before each screen update.

Perfect timing for me cheers Manuel.

@BREWERNIE

This comment has been minimized.

Show comment
Hide comment
@BREWERNIE

BREWERNIE Dec 28, 2016

Hi all,

it does NOT work !
The I2C Pins on the raspberry are pin 3 (SDA) and pin 5 (SCL).
In the file lcddisplay.py in the try-catch-block the pins are LCD_SCA = 8 LCD_SCL = 9 !?

I changed it but the server starts with errors:
File "/home/pi/craftbeerpi/brewapp/base/lcd/lcddisplay.py", line 34, in init_lcd
lcd.clear();
AttributeError: lcd instance has no attribute 'clear'

Greetings
Ernie

BREWERNIE commented Dec 28, 2016

Hi all,

it does NOT work !
The I2C Pins on the raspberry are pin 3 (SDA) and pin 5 (SCL).
In the file lcddisplay.py in the try-catch-block the pins are LCD_SCA = 8 LCD_SCL = 9 !?

I changed it but the server starts with errors:
File "/home/pi/craftbeerpi/brewapp/base/lcd/lcddisplay.py", line 34, in init_lcd
lcd.clear();
AttributeError: lcd instance has no attribute 'clear'

Greetings
Ernie

@Manuel83

This comment has been minimized.

Show comment
Hide comment
@Manuel83

Manuel83 Dec 28, 2016

Owner

In Line 34 of lcddisplay.py is a python decorator and no invocation of clear().
Can you post your modified code please?
Maybe you missed () after "clear"?

Owner

Manuel83 commented Dec 28, 2016

In Line 34 of lcddisplay.py is a python decorator and no invocation of clear().
Can you post your modified code please?
Maybe you missed () after "clear"?

@BREWERNIE

This comment has been minimized.

Show comment
Hide comment
@BREWERNIE

BREWERNIE Dec 28, 2016

Hi Manuel,

i loaded an new library from here:
git clone https://github.com/the-raspberry-pi-guy/lcd

Now it works !

Greetings
Ernie

BREWERNIE commented Dec 28, 2016

Hi Manuel,

i loaded an new library from here:
git clone https://github.com/the-raspberry-pi-guy/lcd

Now it works !

Greetings
Ernie

@duzvik

This comment has been minimized.

Show comment
Hide comment
@duzvik

duzvik Dec 30, 2016

it supports 2 or 4 line display?

duzvik commented Dec 30, 2016

it supports 2 or 4 line display?

@h44r3k

This comment has been minimized.

Show comment
Hide comment
@h44r3k

h44r3k Dec 30, 2016

It would also be a cool feature to use a rotary click encoder to enable scrolling through a simple menu and to do temp adjustments etc when using lcd

h44r3k commented Dec 30, 2016

It would also be a cool feature to use a rotary click encoder to enable scrolling through a simple menu and to do temp adjustments etc when using lcd

@JamFfm

This comment has been minimized.

Show comment
Hide comment
@JamFfm

JamFfm Jan 4, 2017

Yep, confirmed working. Superb!
I had to enable the I2C in the Raspberry first.
Problem: contrast is very low so that I can nearly notice the letters. There is a screw to adjust the contrast but the highest setting is still too low. LED Power is connected to 3.3 V of the Raspi. (v2)

JamFfm commented Jan 4, 2017

Yep, confirmed working. Superb!
I had to enable the I2C in the Raspberry first.
Problem: contrast is very low so that I can nearly notice the letters. There is a screw to adjust the contrast but the highest setting is still too low. LED Power is connected to 3.3 V of the Raspi. (v2)

@JamFfm

This comment has been minimized.

Show comment
Hide comment
@JamFfm

JamFfm Jan 4, 2017

Looks like I need 5v to operate the LCD clearly. Don 't dare to connect it with 5 V. Ordered a level shifter board like this:
https://www.amazon.de/gp/product/B00JQ0DITU/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1
to protect the GPIO from 5v. Don't know if this makes sense but the save way. Another 3 weeks to wait.

JamFfm commented Jan 4, 2017

Looks like I need 5v to operate the LCD clearly. Don 't dare to connect it with 5 V. Ordered a level shifter board like this:
https://www.amazon.de/gp/product/B00JQ0DITU/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1
to protect the GPIO from 5v. Don't know if this makes sense but the save way. Another 3 weeks to wait.

@JamFfm

This comment has been minimized.

Show comment
Hide comment
@JamFfm

JamFfm Jan 8, 2017

It works with 5v Connection.
Very cool, to be able to watch the temp without a device like PC, iPad etc.
To be sure not to destroy the pi connect a Level Shifter.

JamFfm commented Jan 8, 2017

It works with 5v Connection.
Very cool, to be able to watch the temp without a device like PC, iPad etc.
To be sure not to destroy the pi connect a Level Shifter.

@ollinator2000

This comment has been minimized.

Show comment
Hide comment
@ollinator2000

ollinator2000 Jan 8, 2017

mmhm i can only see the Header on my Display . ( craftbeerpi 2.2 & brewery name )
When i start the automatic Brewtask nothing more is displayed .
Any tips of what i missed ?

THX and Greetings
Olli

ollinator2000 commented Jan 8, 2017

mmhm i can only see the Header on my Display . ( craftbeerpi 2.2 & brewery name )
When i start the automatic Brewtask nothing more is displayed .
Any tips of what i missed ?

THX and Greetings
Olli

@blazem

This comment has been minimized.

Show comment
Hide comment
@blazem

blazem Jan 8, 2017

blazem commented Jan 8, 2017

@ollinator2000

This comment has been minimized.

Show comment
Hide comment
@ollinator2000

ollinator2000 Jan 9, 2017

blazem: yes , and i upgraded the i2c_lib as mentioned before. ( without that step the display shows nothing )
i can run the demo python script and everything works fine. it looks like the code never left lcddisplay.py
[ if (app.brewapp_current_step == None): ]

i guess i have to do some more investigation.. ;-)

ollinator2000 commented Jan 9, 2017

blazem: yes , and i upgraded the i2c_lib as mentioned before. ( without that step the display shows nothing )
i can run the demo python script and everything works fine. it looks like the code never left lcddisplay.py
[ if (app.brewapp_current_step == None): ]

i guess i have to do some more investigation.. ;-)

@ollinator2000

This comment has been minimized.

Show comment
Hide comment
@ollinator2000

ollinator2000 Jan 9, 2017

unfortunately no success. my display shows only the first 2 lines. it stucks in current_step == none Mode. 8(

there are also no error messages..

ERROR:brewapp:Exceptionlcdjob: 0
ERROR:brewapp:Exceptionlcdjob: 0
ERROR:brewapp:Exceptionlcdjob: 0
INFO:socketio:emitting event "temp_udpdate" to all [/brew]
INFO:engineio:df351d6fac6b4dc49d4bc043f790242b: Sending packet MESSAGE data 2/brew,["temp_udpdate",{"2":22.12}]
ERROR:brewapp:Exceptionlcdjob: 0
ERROR:brewapp:Exceptionlcdjob: 0
ERROR:brewapp:Exceptionlcdjob: 0
ERROR:brewapp:Exceptionlcdjob: 0
ERROR:brewapp:Exceptionlcdjob: 0
INFO:socketio:emitting event "temp_udpdate" to all [/brew]
INFO:engineio:df351d6fac6b4dc49d4bc043f790242b: Sending packet MESSAGE data 2/brew,["temp_udpdate",{"2":22.12}]
ERROR:brewapp:Exceptionlcdjob: 0
ERROR:brewapp:Exceptionlcdjob: 0
ERROR:brewapp:Exceptionlcdjob: 0
ERROR:brewapp:Exceptionlcdjob: 0

ollinator2000 commented Jan 9, 2017

unfortunately no success. my display shows only the first 2 lines. it stucks in current_step == none Mode. 8(

there are also no error messages..

ERROR:brewapp:Exceptionlcdjob: 0
ERROR:brewapp:Exceptionlcdjob: 0
ERROR:brewapp:Exceptionlcdjob: 0
INFO:socketio:emitting event "temp_udpdate" to all [/brew]
INFO:engineio:df351d6fac6b4dc49d4bc043f790242b: Sending packet MESSAGE data 2/brew,["temp_udpdate",{"2":22.12}]
ERROR:brewapp:Exceptionlcdjob: 0
ERROR:brewapp:Exceptionlcdjob: 0
ERROR:brewapp:Exceptionlcdjob: 0
ERROR:brewapp:Exceptionlcdjob: 0
ERROR:brewapp:Exceptionlcdjob: 0
INFO:socketio:emitting event "temp_udpdate" to all [/brew]
INFO:engineio:df351d6fac6b4dc49d4bc043f790242b: Sending packet MESSAGE data 2/brew,["temp_udpdate",{"2":22.12}]
ERROR:brewapp:Exceptionlcdjob: 0
ERROR:brewapp:Exceptionlcdjob: 0
ERROR:brewapp:Exceptionlcdjob: 0
ERROR:brewapp:Exceptionlcdjob: 0

@JamFfm

This comment has been minimized.

Show comment
Hide comment
@JamFfm

JamFfm Jan 14, 2017

In /home/pi/craftbeerpi/brewapp/base/lcd i fiddled around with the lcddisplay.py file.
See branch LCD

Now I implemented the wlan IP adress to be shown at the startup screen.
When entering the steps (button "Start" in steps) the display changes to show the daytime in addition to the stepdata.
Furthermore there are no letters of old displays left when changing the mode.
Got very low knowlege of Phyton or programming. So implementation is not perfect.

Things to do: handle the german ß and the degree Symbol
And at least implementation LCD to the master branch
lcddisplay.zip

JamFfm commented Jan 14, 2017

In /home/pi/craftbeerpi/brewapp/base/lcd i fiddled around with the lcddisplay.py file.
See branch LCD

Now I implemented the wlan IP adress to be shown at the startup screen.
When entering the steps (button "Start" in steps) the display changes to show the daytime in addition to the stepdata.
Furthermore there are no letters of old displays left when changing the mode.
Got very low knowlege of Phyton or programming. So implementation is not perfect.

Things to do: handle the german ß and the degree Symbol
And at least implementation LCD to the master branch
lcddisplay.zip

@JamFfm

This comment has been minimized.

Show comment
Hide comment
@JamFfm

JamFfm Feb 5, 2017

update:
° is displayed now.
Fixed issue when a String consists of more than 20 letters than it caused blinking of letters in the next line.
lcddisplay.zip

JamFfm commented Feb 5, 2017

update:
° is displayed now.
Fixed issue when a String consists of more than 20 letters than it caused blinking of letters in the next line.
lcddisplay.zip

@JamFfm

This comment has been minimized.

Show comment
Hide comment
@JamFfm

JamFfm Feb 16, 2017

update:
Fixed issue when Temperature is only shown with one or no digits after the point (like xx.x or xx, should be xxx.xx) the whole displayed temperature is no more in line.

lcddisplay.zip

JamFfm commented Feb 16, 2017

update:
Fixed issue when Temperature is only shown with one or no digits after the point (like xx.x or xx, should be xxx.xx) the whole displayed temperature is no more in line.

lcddisplay.zip

@speedshifter2

This comment has been minimized.

Show comment
Hide comment
@speedshifter2

speedshifter2 Mar 9, 2017

Hi I am having the same thing happen as ollinator2000, with only the first 2 lines showing on the display (craftbeerpi 2.2 & brewery name). When starting a Brew Task, the display does not change.
Is there something that i have missed? Any suggestions?
Thanks.

speedshifter2 commented Mar 9, 2017

Hi I am having the same thing happen as ollinator2000, with only the first 2 lines showing on the display (craftbeerpi 2.2 & brewery name). When starting a Brew Task, the display does not change.
Is there something that i have missed? Any suggestions?
Thanks.

@ollinator2000

This comment has been minimized.

Show comment
Hide comment
@ollinator2000

ollinator2000 Mar 13, 2017

Sorry , i m running the my 20x4 i2c Craftbeerpi Version still on Version 2.1 . I started constructing a new CBP simultanously, so i decided not to analyze he Data anymore. What i know , Version 2.1 is running perfectly with the i2c LCD .

ollinator2000 commented Mar 13, 2017

Sorry , i m running the my 20x4 i2c Craftbeerpi Version still on Version 2.1 . I started constructing a new CBP simultanously, so i decided not to analyze he Data anymore. What i know , Version 2.1 is running perfectly with the i2c LCD .

@blazem

This comment has been minimized.

Show comment
Hide comment
@blazem

blazem Mar 13, 2017

blazem commented Mar 13, 2017

@arcidodo

This comment has been minimized.

Show comment
Hide comment
@arcidodo

arcidodo Apr 16, 2017

Is it possible to get the countdown timer on the LCD?

arcidodo commented Apr 16, 2017

Is it possible to get the countdown timer on the LCD?

@oleost

This comment has been minimized.

Show comment
Hide comment
@oleost

oleost Oct 6, 2017

What is current status with display in craftbeerpi 3?

I've got one of these https://banggood.com/0_96-Inch-4Pin-Blue-Yellow-IIC-I2C-OLED-Display-Module-For-Arduino-p-969144.html laying around, it would be handy to be handle to show Target Temp, Actual Temp and time left.

oleost commented Oct 6, 2017

What is current status with display in craftbeerpi 3?

I've got one of these https://banggood.com/0_96-Inch-4Pin-Blue-Yellow-IIC-I2C-OLED-Display-Module-For-Arduino-p-969144.html laying around, it would be handy to be handle to show Target Temp, Actual Temp and time left.

@ollinator2000

This comment has been minimized.

Show comment
Hide comment
@ollinator2000

ollinator2000 Nov 1, 2017

LCD Display works great with LCD Add-on on CBP3

ollinator2000 commented Nov 1, 2017

LCD Display works great with LCD Add-on on CBP3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment