Это старая версия документа!


Эксперимент 30. Пользовательские символы LCD

Иногда на дисплее требуется отобразить символы, которых нет в стандартном знакогенераторе. Для таких случаев дисплей поддерживает функцию пользовательских символов. В дисплей встроена память для размещения 8 пользовательских символов. Сначала пользователь записывает в дисплей информацию о дополнительных символах, а потом может использовать их для отображения. Попробуем создать пару своих символов. Вот таких:

Смайлик и буква Ж. На символе смайлика мы подписали цифры 0 и 1. 0 соответствует выключеному пикселю, а 1 - включенному. Теперь, когда мы знаем какими должны быть наши символы, мы можем запрограммировать их и отобразить.

Схема эксперимента

Рисунок 1. Монтажная схема эксперимента

Программный код эксперимента

Exp30.py
  1. from machine import I2C, Pin
  2. from esp8266_i2c_lcd import I2cLcd
  3. _init()
  4.  
  5. DEFAULT_I2C_ADDR = 0x3F
  6.  
  7. i2c = I2C(scl=Pin(5), sda=Pin(4), freq=400000)
  8. lcd = I2cLcd(i2c, DEFAULT_I2C_ADDR, 2, 16)
  9. lcd.backlight_on()
  10.  
  11. char1 = [
  12. 0b00000,
  13. 0b00000,
  14. 0b01010,
  15. 0b01010,
  16. 0b00000,
  17. 0b10001,
  18. 0b01110,
  19. 0b00000
  20. ]
  21.  
  22. char2 = [
  23. 0b10101,
  24. 0b10101,
  25. 0b10101,
  26. 0b01110,
  27. 0b10101,
  28. 0b10101,
  29. 0b10101,
  30. 0b00000
  31. ]
  32.  
  33. lcd.custom_char(0, char1)
  34. lcd.custom_char(1, char2)
  35.  
  36. lcd.move_to(0,0)
  37.  
  38. lcd.putchar(chr(0))
  39. lcd.putchar(chr(1))