Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from RPi import GPIO
- class LCD:
- def __init__(self, isVierBits=False, E=20, RS=21, DB7=13, DB6=19, DB5=26, DB4=23, DB3=24, DB2=25, DB1= 12, DB0=16):
- self.isVierBits = isVierBits
- self.RS = RS
- self.DB1 = DB1
- self.DB0 = DB0
- self.DB3 = DB3
- self.E = E
- self.DB2 = DB2
- self.DB5 = DB5
- self.DB4 = DB4
- self.DB7 = DB7
- self.DB6 = DB6
- self.__shortDelay = 1/8
- self.__longDelay = 1
- self.__data_bits = [DB0, DB1, DB2, DB3, DB4, DB5, DB6, DB7]
- def __set_data_bits(self, value):
- for v in range(value):
- GPIO.output(self.E, 0)
- GPIO.output(self.__data_bits[v], value >> v & 1)
- GPIO.output(self.E, 1)
- def __send_instructions(self, value):
- GPIO.output(self.RS, 0)
- self.__set_data_bits(value)
- def send_character(self, value):
- GPIO.output(self.RS, 1)
- self.__set_data_bits(ord(str(value)))
- print(ord(str(value)))
- def init_LCD(self):
- self.initGPIO()
- self.__send_instructions(0b00111000)
- self.__send_instructions(0b00001111)
- self.__send_instructions(0b00000001)
- def initGPIO(self):
- GPIO.setmode(GPIO.BCM)
- GPIO.setup(self.__data_bits, GPIO.OUT)
- GPIO.setup(self.RS, GPIO.OUT)
- GPIO.setup(self.E, GPIO.OUT)
- def write_message(self, value):
- for i in value:
- self.send_character(i)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement