Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
| 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)); |
| </ | </ | ||