Рейтинг статьи: 2.750/5 (24 голосов).
Возникла идея вывести адрес экрана i2c на сам экран, так как случаи бываю разные.Спонсор этой страницы:
Подключение библиотеки LiquidCrystal_I2C
Столкнулся с тем, что скаченные библиотеки в виде архива и записанные в папку libraries не всегда работают.
Правильно устанавливать библиотеки через "Менеджер библиотек" (Скетч / Подключить библиотеку / Управлять библиотеками).
В этом случае оболчка сама отслеживает изменение версий и предлагает обновиться.
Скетч для определения адреса экрана i2c с выводом адреса на сам экран.
#include <Wire.h> #include <LiquidCrystal_I2C.h> void setup(){ Wire.begin(); Serial.begin(9600); while (!Serial); Serial.println("\nI2C Scanner"); byte error, address; int nDevices; Serial.println("Scanning..."); nDevices = 0; for(address = 8; address < 127; address++ ){ Wire.beginTransmission(address); error = Wire.endTransmission(); if (error == 0){ Serial.print("I2C device found at address 0x"); if (address<16) Serial.print("0"); Serial.print(address,HEX); Serial.println(" !"); LiquidCrystal_I2C lcd(address, 16, 2); lcd.begin(16, 2); lcd.init(); lcd.backlight(); lcd.setCursor(0, 0); lcd.print("I2C device addr "); lcd.setCursor(0, 1); if (address<16) lcd.print("0"); lcd.print(address,HEX); nDevices++; } else if (error==4) { Serial.print("Unknow error at address 0x"); if (address < 16) Serial.print("0"); Serial.println(address,HEX); } } if (nDevices == 0) Serial.println("No I2C devices found\n"); else Serial.println("done\n"); } void loop(){ }
В порт мониторинга выдается более полная информация.
Результат работы.
Пожалуйста, оцените и ВЫ эту статью:
Комментарии к статье:
-
2021-12-19 09:43:28, yuriy451Гость :
*****
-
2021-12-20 22:23:55, Макс :
Скетч рабочий. Спасибо.