Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
products:laboratory_iot_c:exp30 [2024/11/15 17:24] – создано labuser30 | products:laboratory_iot_c:exp30 [2024/11/15 17:29] (текущий) – [Программный код эксперимента] labuser30 | ||
---|---|---|---|
Строка 11: | Строка 11: | ||
==== Программный код эксперимента ==== | ==== Программный код эксперимента ==== | ||
- | < | + | < |
- | from machine import I2C, Pin | + | #include < |
- | from esp8266_i2c_lcd import I2cLcd | + | |
- | _init() | + | |
- | DEFAULT_I2C_ADDR | + | # |
- | i2c = I2C(scl=Pin(5), | + | LCDI2C_Generic |
- | lcd = I2cLcd(i2c, DEFAULT_I2C_ADDR, | + | |
- | lcd.backlight_on() | + | |
- | char1 = [ | + | byte char1[8] = { |
- | 0b00000, | + | 0b00000, |
- | 0b00000, | + | 0b00000, |
- | 0b01010, | + | 0b01010, |
- | 0b01010, | + | 0b01010, |
- | 0b00000, | + | 0b00000, |
- | 0b10001, | + | 0b10001, |
- | 0b01110, | + | 0b01110, |
- | 0b00000 | + | 0b00000 |
- | ] | + | }; |
- | char2 = [ | + | byte char2[8] = { |
- | 0b10101, | + | 0b10101, |
- | 0b10101, | + | 0b10101, |
- | 0b10101, | + | 0b10101, |
- | 0b01110, | + | 0b01110, |
- | 0b10101, | + | 0b10101, |
- | 0b10101, | + | 0b10101, |
- | 0b10101, | + | 0b10101, |
- | 0b00000 | + | 0b00000 |
- | ] | + | }; |
- | lcd.custom_char(0, char1) | + | void setup() { |
- | lcd.custom_char(1, char2) | + | |
+ | lcd.setBacklight(0); | ||
+ | lcd.createChar(0, char1); | ||
+ | lcd.createChar(1, char2); | ||
+ | lcd.setCursor(0, | ||
+ | lcd.write(byte(0)); | ||
+ | lcd.write(byte(1)); | ||
+ | } | ||
- | lcd.move_to(0,0) | + | void loop() { |
- | + | } | |
- | lcd.putchar(chr(0)) | + | |
- | lcd.putchar(chr(1)) | + | |
</ | </ | ||
В программе мы как обычно подключили библиотеки, | В программе мы как обычно подключили библиотеки, | ||
- | < | + | < |
- | char1 = [ | + | byte char1[8] = { |
- | 0b00000, | + | 0b00000, |
- | 0b00000, | + | 0b00000, |
- | 0b01010, | + | 0b01010, |
- | 0b01010, | + | 0b01010, |
- | 0b00000, | + | 0b00000, |
- | 0b10001, | + | 0b10001, |
- | 0b01110, | + | 0b01110, |
- | 0b00000 | + | 0b00000 |
- | ] | + | }; |
</ | </ | ||
- | Массив состоит из чисел, записанных в двоичной системе счисления. В этой форме очень удобно записывать, | + | Массив состоит из чисел, записанных в двоичной системе счисления. В этой форме очень удобно записывать, |
Таким же образом мы создаем второй символ. Теперь, | Таким же образом мы создаем второй символ. Теперь, | ||
- | < | + | < |
- | lcd.custom_char(0, char1) | + | lcd.createChar(0, char1); |
- | lcd.custom_char(1, char2) | + | lcd.createChar(1, char2); |
</ | </ | ||
Строка 79: | Строка 80: | ||
Ставим курсор в левый верхний угол, на место первого символа. Это нулевое место нулевой строки так как нумерация мест и строк ведется от нуля: | Ставим курсор в левый верхний угол, на место первого символа. Это нулевое место нулевой строки так как нумерация мест и строк ведется от нуля: | ||
- | < | + | < |
- | lcd.move_to(0,0) | + | lcd.setCursor(0, 0); |
</ | </ | ||
Печатаем на дисплее символы. Они выводятся туда, куда мы поставили курсор: | Печатаем на дисплее символы. Они выводятся туда, куда мы поставили курсор: | ||
- | < | + | < |
- | lcd.putchar(chr(0)) | + | lcd.write(byte(0)); |
- | lcd.putchar(chr(1)) | + | lcd.write(byte(1)); |
</ | </ | ||