nettips.ru

Определение адреса I2C экрана с arduino с помощью библиотеки LiquidCrystal_I2C

На главную Cisco Systems Arduino VoIP Android Умный сетевой хаос дом маршрутизатор Беларусь Asterisk коммутатор Nateks Alcatel MTS Velcom Python Gigaset ZTE Grandstream Huawei админы шутят о сайте Zelax Allied Telesis D-Link Штрихкоды HP
Телефонные номера доступа sip операторов VitebskPets - инфопомощь животным в Витебске Телефонные коды городов и стран мира.

Рейтинг статьи: 2.750/5 Рейтинг 2.75 из 5Рейтинг 2.75 из 5Рейтинг 2.75 из 5Рейтинг 2.75 из 5Рейтинг 2.75 из 5 (24 голосов).

Возникла идея вывести адрес экрана i2c на сам экран, так как случаи бываю разные.

Спонсор этой страницы:

Подключение библиотеки LiquidCrystal_I2C

Столкнулся с тем, что скаченные библиотеки в виде архива и записанные в папку libraries не всегда работают.
Правильно устанавливать библиотеки через "Менеджер библиотек" (Скетч / Подключить библиотеку / Управлять библиотеками).
В этом случае оболчка сама отслеживает изменение версий и предлагает обновиться.

Подключение библиотеки LiquidCrystal_I2C

Скетч для определения адреса экрана 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(){

}

В порт мониторинга выдается более полная информация.

Результат работы.

Вывод на экран i2c его адреса

Arduino Программирование

Пожалуйста, оцените и ВЫ эту статью:

Комментарии к статье:

  • 2021-12-19 09:43:28, yuriy451Гость :

    *****

  • 2021-12-20 22:23:55, Макс :

    Скетч рабочий. Спасибо.


Ваши отзывы и предложения по работе сайта направляйте на форму обратной связи.