128x64 LCD Ekran MCP23017 I2C Modülü Kullanamıyorum

Gokrtl

Gökhan Kartal (TeknoDay)
Staff member
Katılım
27 Şubat 2019
Mesajlar
12,203
Daha önce 128x64 LCD Ekran alıp I2C modül olmadan kullanmıştım.
20210520_231420.jpg


Daha sonradan buna bir tane MCP23017 I2C modül aldım. Bu modül ile klasik olarak 2 kablo kullanarak karmaşadan kurtulacaktım.
Saat 15:30 dan beri deneme yapıyorum yüklemediğim kütüphane kalmadı ama ekrana tek satır bir şey yazamadım.
Bütün kütüphanelerin example dosyalarını da denedim nafile. Var mı bir fikri olan?

20220311_220202.jpg
 
Arkadaki kontrast ayarın doğru mu?
Doğru.
Başka bir sıkıntı var.
Netteki bütün araştırmalar şuraya gönderiyor Kaynak
Buradaki adımları harfiyen uyguladım ama ekranda tek gördüğüm saçma sapan şekilde dizilmiş pikseller.
Bu konuda çok sıkıntı yaşayan var sanırım. Kaynaklar ingilizce olduğundan tam çözemedim işi.
Şöyle bir yorum buldum mesela;
"I purchased this to use it with 128x64 lcd screen but the screen has the ST7920 controller which offers SPI interface. So finally I will look for a different use to this module as a GPIO extender"

"Bunu 128x64 lcd ekran ile kullanmak için satın aldım ancak ekranda SPI arayüzü sunan ST7920 denetleyicisi var. Sonunda bu modül için bir GPIO genişletici olarak farklı bir kullanım arayacağım."
 
Bu modülü kullansam iyi olurdu ama gerçekten işin içinden çıkabilecek birini bulamazsam aşağıdaki linkteki gibi mümkün olan en az kablo ile deneme yapacağım. Burada 3 kablo kullanıldığından bahsetmiş. geri kalan kablolar gnd, tpot, vcc gibi görünüyor. Sanırım bunun için Bir PCB yapıp o harici kabloları ve tpotu üzerinde toplayabilirim. sonrada pin header ile ekrana sabitlerim. Kısacası keni I2C mi çipsiz olarak yapacağım gibi görünüyor.

 
Ben "float" yazdırmak istiyorum o "int" kabul ediyor.
Bunu kandırmanın bir yolu var mı?

float.png
 
modül ı2c hattına bağlıyken ı2c scanner çalıştırın modülden adres alabiliyor musunuz bir bakın
 
modül ı2c hattına bağlıyken ı2c scanner çalıştırın modülden adres alabiliyor musunuz bir bakın
0x20 Adres alabiliyorum ama bir türlü kullanamadım. Zaten gerekte kalmadı sayılır.

20220312_205954.jpg
 
bir güç kaynağı projesi için fazla büyük bir display değil mi
Bilmem. iyi gibi. Diğer 2 satırlar gözüme hoş görünmüyor. Ve onlar satır bazlı olduğu için çizim yapamıyorum. Bu 128x64 piksel. İstediğim gibi oynayabilyorum. Tabi bunların oled filan olanları var daha küçük ama o zamanlar bunun fiyatı uygundu.
 
Ekran bence gayet iyi olmuş. Büyük ekran çalışırken okunabilir olması bakimindan önemli.
 
Bir de W bölümü doğru mu, daha doğrusu neyi ifade ediyor. Ayarlı gücü mü yoksa çekilen gerçek gücü mü?
 
Bir de W bölümü doğru mu, daha doğrusu neyi ifade ediyor. Ayarlı gücü mü yoksa çekilen gerçek gücü mü?
W bölümü watt'ı simgeliyor. Oradaki görünen 20.00w test için girdiğim bir string. Gerçek değil yani.
Akım ölçen opamdan analogRead ile aldığım değeri volt ile çarpıp oraya yazdırıyorum. Yani anlık çekilen değer.
Eğer akımı sınırlarsam, voltajda değişim oluyor. Yine aynı mantığa çıkıyor. Voltaj ile, sabitlediğim akımı çarpıp watt bölümüne yazdırıyorum.

Kod:
// Watt hesaplama ve ekrana yazdırma
  value=(I * vIN);  
  if (value<0){
    u8g2.setFont(u8g2_font_chikita_tr);
    u8g2.drawStr(119,60,"W");
    u8g2.setFont(u8g2_font_profont10_tn);
    u8g2.drawStr(93,58,"0.00");
  }else{
    u8g2.setFont(u8g2_font_chikita_tr);
    u8g2.drawStr(119,60,"W");
    u8g2.setFont(u8g2_font_profont10_tn);
    u8g2.setCursor(93, 58);
    u8g2.print(value);
  }
 
Şu şekilde daha kısa yazabilirsin:

Kod:
double value = (I * vIN < 0) ? 0.00 : I * vIN;

u8g2.setFont(u8g2_font_chikita_tr);
u8g2.drawStr(119,60,"W");
u8g2.setFont(u8g2_font_profont10_tn);
u8g2.setCursor(93, 58);
u8g2.print(value);
 
Bilmem. iyi gibi. Diğer 2 satırlar gözüme hoş görünmüyor. Ve onlar satır bazlı olduğu için çizim yapamıyorum. Bu 128x64 piksel. İstediğim gibi oynayabilyorum. Tabi bunların oled filan olanları var daha küçük ama o zamanlar bunun fiyatı uygundu.
proje artık şekil almış ama rgb 1.8ınch spi oled ekranlar var onunla daha iyi olurdu gibi geldi bana ama bunun görüntüsü ve boyutu avantajı var
 
Şu şekilde daha kısa yazabilirsin:

Kod:
double value = (I * vIN < 0) ? 0.00 : I * vIN;

u8g2.setFont(u8g2_font_chikita_tr);
u8g2.drawStr(119,60,"W");
u8g2.setFont(u8g2_font_profont10_tn);
u8g2.setCursor(93, 58);
u8g2.print(value);
Bu iyi oldu teşekkürler. Mevcut haliyle nanoyu 97% kullanıyorum.
proje artık şekil almış ama rgb 1.8ınch spi oled ekranlar var onunla daha iyi olurdu gibi geldi bana ama bunun görüntüsü ve boyutu avantajı var
Kafamı kaldırınca net göreyim, küçücük ekranı aramasın gözlerim dedim. :)
 

Forum istatistikleri

Konular
7,632
Mesajlar
127,365
Üyeler
3,086
Son üye
tb5byo

Son kaynaklar

Son profil mesajları

Python Geliştirmeye eklediğim yapay zeka sunucusu, yeni başlayanlar için roket etkisi
Bir insanın zeka seviyesinin en kolay tesbiti, sorduğu sorulardır.
yapay zeka interneti yedi bitirdi, arama motoru kullanan, forumlara yazan kaldı mı ?
Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
az bilgili çok meraklı
Back
Top