MIDI ve OLED kütüphaneleri
  • Merhabalar...

    Elimde bulunan 128*64 (SPI) OLED displayi kullanarak, MIDI kodları gönderen bir proje yapıyorum.

    tüm grafik çizimlerini, görsellerini hazırladım ve sorunsuz çalışıyor.

    Fakat ne zaman MIDI kütüphanesini eklersem ekran görselleri bozulmaya başlıyor.

    Displayin hiç bir pini TX'e bağlı değil.

    Bu konu hakkında bir bilgiye sahip olan var mı?

    Teşekkürler...

    Projedeki Kütüphaneler;

    #include Wire.h
    #include Adafruit_GFX.h
    #include Adafruit_SSD1306.h
    #include Keypad_I2C.h
    #include Keypad.h
    #include EEPROM.h
    #include MIDI.h

    ve tanımlamalar;

    #define OLED_DC 4
    #define OLED_CS 6
    #define OLED_CLK 3
    #define OLED_MOSI 2
    #define OLED_RESET 5
    Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);

  • Sanırım bu konu hakkında kimsenin bir bilgisi yok...

    geldiğim noktayı açıklamak istiyorum belki o zaman, bir fikir veren olacaktır.

    Adafruitin Adafruit_SSD1306 OLED kütüphanesi ile çalışıyorum.

    Midi kütüphanesini kaldırıp, gerekli olan midi kodlarını kendim yazdım.

    Sonradan gördüm ki;

    Ne zaman serial.write(0xXX) diyorum, OLED Sapıtmaya başlıyor.

    Örnek;

    #include Wire.h
    #include Adafruit_GFX.h
    #include Adafruit_SSD1306.h
    boolean ayarim=false;
    void setup() {
    Serial.begin(31250);
    display.begin(SSD1306_SWITCHCAPVCC,61);
    display.display();
    delay(2000);
    display.clearDisplay();
    display.display();

    }
    void loop(){

    if(ayarim!=true){
    if(d==64){d=14;koma(d,'D');}
    else{d=64;koma(d,'D');}}
    }

    void koma(uint8_t seviye, char tus)

    {
    // Midi için göndermem gereken kodlar
    Serial.write(0xF0);
    Serial.write(0x43);
    Serial.write(0x10);
    Serial.write(0x4C);
    Serial.write(0x08);
    Serial.write(0x00);
    if(tus=='C'){Serial.write(0x41);}
    if(tus=='1'){Serial.write(0x42);}
    if(tus=='D'){Serial.write(0x43);}
    if(tus=='2'){Serial.write(0x44);}
    if(tus=='E'){Serial.write(0x45);}
    if(tus=='F'){Serial.write(0x46);}
    if(tus=='3'){Serial.write(0x47);}
    if(tus=='G'){Serial.write(0x48);}
    if(tus=='4'){Serial.write(0x49);}
    if(tus=='A'){Serial.write(0x4A);}
    if(tus=='5'){Serial.write(0x4B);}
    if(tus=='B'){Serial.write(0x4C);}
    Serial.write(lowByte(seviye));
    Serial.write(0xF7);


    }

    ne zaman Serial.write() desem, program ya reset atıyor, ya ekran donuyor ya da karakterler bozuluyor.

    bu Serial.write 'ın doanıma bir etkisi var mı?

    teşekkürler...

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.