В настоящее время я работаю над школьным проектом и использую RasPi B + 3 и дисплей Adafruit 16x2 с клавиатурой.
Я использую их для отображения имен и очков двух игроков, играющих за столом для аэрохоккея. Кому нужно вводить свои имена, используя 5 кнопок (вверх, вниз, вправо, влево, выберите), вверх и вниз управляют символом: если нажимается вверх, измените A на B, B на C при повторном нажатии. Если нажата кнопка вниз, замените C на B, B на A при повторном нажатии. Справа и слева находятся для управления местом символа, который вы меняете: если нажата левая кнопка, переместите символ влево, а если нажата правая, переместитесь к персонажу справа.
Проблема, с которой я столкнулся, заключается в том, что ни одна из вышеуказанных опций не работает, ЖК-дисплей загорается только при запуске кода, но на ЖК-дисплее не отображаются символы
Кто-нибудь знает в чем может быть проблема?
Я использую python3
Это мой код:
import time
import Adafruit_CharLCD as LCD
# Initialize the LCD using the pins
lcd = LCD.Adafruit_CharLCDPlate()
button_1 = (LCD.SELECT, 'Select', (1,1,1))
button_2 = (LCD.LEFT, 'Left' , (1,0,0))
button_3 = (LCD.UP, 'Up' , (1,0,1))
button_4 = (LCD.DOWN, 'Down' , (1,1,0))
button_5 = (LCD.RIGHT, 'Right' , (1,0,1))
while cycle == true:
x = 65
y = 65
part = 1
while True:
#Part 1
#This part is for the name of player1
if part == 1:
if lcd.is_pressed(button_1):
part += 1
#To continue to part2
if lcd.is_pressed(button_3):
lcd.noblink
x += 1
cc=ord(x)
x_2 = cc
if x_2 > 90:
x_2 -= 25
#For moving from Z to A
lcd.message(char(x_2))
#moving the characters up 1 (A, B, C....)
if lcd.is_pressed(button_4):
lcd.noblink
x -= 1
cc=ord(x)
x_2 = cc
if x_2 < 65:
x_2 += 25
#For moving from A to Z
lcd.message(char(x_2))
#moving the characters down 1 Z, X, Y....)
if lcd.is_pressed(button_2):
remove(x_2)
lcd.move_left
x = 65
#moving the editable character to the left
if lcd.is_pressed(button_5):
append(x_2)
lcd.move_right
x = 65
#moving the editable character to the right
#Part 2
#This part is for the name of player2
if part == 2:
if lcd.is_pressed(button_1):
part += 1
#To continue to the next part (visualis the names)
if lcd.is_pressed(button_3):
lcd.noblink
y += 1
cc=ord(y)
y_2 = cc
if y_2 > 90:
y_2 -= 25
#For moving from Z to A
lcd.message(char(y_2))
#moving the characters up 1 (A, B, C....)
if lcd.is_pressed(button_4):
lcd.noblink
y -= 1
cc=ord(y)
y_2 = cc
if y_2 < 65:
y_2 += 25
#For moving from A to Z
lcd.message(char(y_2))
#moving the characters down 1 (Z, X, Y....)
if lcd.is_pressed(button_2):
remove(y_2)
lcd.move_left
y = 65
#moving the editable character to the left
if lcd.is_pressed(button_5):
append(y_2)
lcd.move_right
y = 65
#moving the editable character to the right
#Part 3
#This part is for displaying the first 7 Characters of the names (16/2=8 8-1=7 (this is for the spacing between the names) )
if part == 3:
# here must go the array to display the first and the second name