Не работает Oled дисплей (troyka модуль)

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Feodot, 25 авг 2019.

  1. Feodot

    Feodot Нуб

    Добрый день. Заказал на днях Oled дисплей (troyka модуль). Подключился к iskra nano pro, скачал библиотеку, рекомендованную. Загрузил скетч, из примера к этой библиотеке. Но дисплей не корректно отображает, вместо текста английского - звездное небо (40% случайных пикселей активны). Перепробовал все примеры, статическое изображение не изменяется, все тоже ''звёздное небо''. В чем может быть причина. С уважением Богдан.
     
  2. ИгорьК

    ИгорьК НЕ Модератор

    1. Неисправность.
    2. Ошибка в соединении.
    3. (Менее вероятно) ошибка в коде.
     
  3. Feodot

    Feodot Нуб

    1. Я тоже склоняюсь к тому, что это неисправность. Модуль заказывал на амперке, через интернет с доставкой. Не подскажите как осуществить обмен?
    2. Ну тут, только возможно что на плате ,Iskra nano pro, sda и scl находятся на пинах a4 и a5 и их нужно дополнительно активировать в скетче.
    3. Программно активировать sda, scl вообще нужно если они совмещены с пинами a5 и а4 соответственно.
     
    Последнее редактирование: 25 авг 2019
  4. Feodot

    Feodot Нуб

  5. BAR__MEN

    BAR__MEN Вселенский Няш Администратор

    Hi!
    Подключите дисплей к Iskra и залейте этот скетч
    Код (Text):
    #include <Wire.h>
     
    void setup(){
        Wire.begin();  
     
        Serial.begin(9600);
        while (!Serial);
        Serial.println("\nI2C Scanner");
    }
    void loop(){
        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(" !");
     
                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");
     
        delay(5000);
    }
    Найдет ли он дисплей (он должен вывести адрес дисплея)
    Если адрес отличается от того, что в примере - замените

    Что?
    Не нужно.
    I²C на Iskra Nano Pro на A4(SDA) и A5(SCL), для использования нужна библиотека Wire
     
  6. Feodot

    Feodot Нуб

    Скан I²C проводил, нашёл, адрес совпадает с адресом в скетче примера. Завести дисплей получается, но изображение выводит фрагментированое (звёздная ночь), при изменение скетча на другой пример, все тоже фрагментированое изображение без изменений. Я думаю проблема в контроллере дисплея.
     
  7. BAR__MEN

    BAR__MEN Вселенский Няш Администратор