NEWBIE: how to get text onto 2 lines on a 16x2 lcd display

RobH rob at despammer.com
Thu Sep 26 06:58:15 EDT 2019


On 26/09/2019 11:08, DL Neil wrote:
> On 26/09/19 9:14 PM, RobH wrote:
>> I have some sample/demo python code for scrolling and outputting text 
>> onto a 16x2 lcd display.
>>
>> I would like to put my own message or text outputting to the lcd on 2 
>> lines. I have tried using lcd.message('my message',1) and 
>> lcd.message('my message', 2), but the output says:
>>
>> TypeError: message() takes exactly 2 arguments (3 given)
>>
>> I have also seen this on the, stackexchange site:
>> lcd_string("your text " + str(yourVar), 1)
>>
>> But what is str(yourVar), as I assume it means a variable.
>> If I could have a working example please, that would be great.
> 
> 
> I'm wondering if "lcd_string" should be "lcd.string" (per "lcd.message") 
>   - would it be better to post the actual (not) working code?
> 
> Suggest you fire-up the Python REPR:
> 
>      python3        # on a Linux terminal
> 
> then:
> 
>      import ***whatever the LCD package is called ***
>      help( ***whatever...called *** )
> 
> The output from this will tell you the names of all the entities within 
> the package. Within that you will be able to check for the pertinent 
> class (from which lcd was derived) and see what it says about arguments 
> for the message() and/or string() methods - particularly the number of 
> arguments and their data-type(s).


Thanks, but was is Python REPR.
This my adaptation of non working code. Bodged from the char_lcd.py code:

   GNU nano 2.7.4 
                          File: char_lcd.py 


#!/usr/bin/python
# Example using a character LCD connected to a Raspberry Pi or 
BeagleBone Black.
import time

import Adafruit_CharLCD as LCD


# Raspberry Pi pin configuration:
lcd_rs        = 27  # Note this might need to be changed to 21 for older 
revision Pi's.
lcd_en        = 22
lcd_d4        = 25
lcd_d5        = 24
lcd_d6        = 23
lcd_d7        = 18
lcd_backlight = 4

# BeagleBone Black configuration:
# lcd_rs        = 'P8_8'
# lcd_en        = 'P8_10'
# lcd_d4        = 'P8_18'
# lcd_d5        = 'P8_16'
# lcd_d6        = 'P8_14'
# lcd_d7        = 'P8_12'
# lcd_backlight = 'P8_7'

# Define LCD column and row size for 16x2 LCD.
lcd_columns = 16
lcd_rows    = 2

# Alternatively specify a 20x4 LCD.
# lcd_columns = 20
# lcd_rows    = 4

# Initialize the LCD using the pins above.
lcd = LCD.Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7,
                            lcd_columns, lcd_rows, lcd_backlight)

# Print a two line message
# lcd.message('Hello\nworld!')
lcd.message( "Hello" 1)


# Wait 5 seconds
time.sleep(5.0)

# Demo showing the cursor.
#lcd.clear()
# Wait 5 seconds
time.sleep(5.0)

# Demo showing the cursor.
#lcd.clear()
#lcd.show_cursor(True)
#lcd.message('Show cursor')
lcd.message("Your dental",1)
lcd.message("appointment is",2)

time.sleep(5.0)

# Demo showing the blinking cursor.
lcd.clear()




More information about the Python-list mailing list