3.5 Waveshare Raspberry Pi A — запись команд на ЖК-дисплей

Я включил SPI на Raspberry Pi (через rasps-config) и пишу через SSH на свой Raspberry Pi. Raspberry Pi подключен к ноутбуку, на котором я пишу программы, с помощью USB-кабеля, и я использую Терминал для записи программ на Raspberry Pi, в которые я подключился по ssh. Я прикрепил ЖК-экран к Raspberry PI. Я не знаю, почему моя программа не создает изменений на ЖК-экране. Я использую spidev (Python).

Я не использую данный оверлей, так как я пытаюсь только писать на ЖК-дисплей, а не принимать ввод с сенсорного экрана (который еще не включен). Я также не использую загрузочный драйвер Waveshare. Насколько я понимаю, я могу командовать и писать прямо на ЖК-дисплей.

Как мне диагностировать, что не так? Я предоставил пример кода того, как я пишу на ЖК-дисплей. За этим кодом следует еще одна шестнадцатеричная команда (которую я не включил), которая должна привести к отключению ЖК-экрана. В настоящее время ЖК-экран остается белым, пока он подключен к Raspberry Pi.

Пример кода:

      import spidev
import RPi.GPIO as GPIO
spi = spidev.SpiDev()
bus = 0
device = 0 
spi.open(bus, device)

LCD_CS = 24
LCD_SI = 19
LCD_SCK = 23
LCD_RS = 18
RST = 22

# Set mode
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)

# Configure board
GPIO.setup(RST, GPIO.OUT)

# Set clock
GPIO.setup(LCD_SCK, GPIO.OUT)

# Set chip select
GPIO.setup(LCD_CS, GPIO.OUT)

# Set register select
GPIO.setup(LCD_RS, GPIO.OUT)

# Set slave select
GPIO.setup(LCD_SI, GPIO.OUT)

# Reset
GPIO.output(RST, GPIO.HIGH)
GPIO.output(RST, GPIO.LOW)
GPIO.output(RST, GPIO.HIGH)

# Send signal to slave
GPIO.output(LCD_SI, GPIO.HIGH)

# Send clock signal to LCD
GPIO.output(LCD_SCK, GPIO.HIGH)

# Settings (for example)
spi.bits_per_word = 8
spi.max_speed_hz = 64000000
spi.mode = 0b11
spi.lsbfirst = False
spi.no_cs = False
# spi.cshigh = False
spi.loop = False

spi.threewire = False

# Send signal to chip select 0
GPIO.output(LCD_CS, GPIO.LOW)
# Send signal to register select
GPIO.output(LCD_RS, GPIO.LOW)
# Interface Mode Control
to_send = [0xb0]
spi.writebytes(to_send)
GPIO.output(LCD_RS, GPIO.HIGH)

time.delay(5)
GPIO.output(LCD_CS, GPIO.LOW)
GPIO.output(LCD_RS, GPIO.HIGH)
to_send = [0x00]
spi.writebytes(to_send)
GPIO.output(LCD_RS, GPIO.LOW)


GPIO.output(LCD_CS, GPIO.HIGH)

0 ответов

Другие вопросы по тегам