Türkiye'de ucuz ve minik Grafik gösterge

Başlatan z, 21 Ocak 2016, 16:11:13

z

Alttaki resimdeki karakterler gayet güzel okunuyor.

Sıfırdan karakter tablosu hazırlamakla uğraşmayayım aynı karakterleri kullanmak istiyorum.

Bu karakterler kaca kac pixel.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

MC_Skywalker

h dosyasında 5x7 yazıyor. glcdfont.h içeriği aşağıdaki gibi

/*********************************************************************
This is a library for our Monochrome OLEDs based on SSD1306 drivers

  Pick one up today in the adafruit shop!
  ------> http://www.adafruit.com/category/63_98

These displays use SPI to communicate, 4 or 5 pins are required to  
interface

Adafruit invests time and resources providing this open source code, 
please support Adafruit and open-source hardware by purchasing 
products from Adafruit!

Written by Limor Fried/Ladyada  for Adafruit Industries.  
BSD license, check license.txt for more information
All text above, and the splash screen must be included in any redistribution
*********************************************************************/

/*
 *  Modified by Neal Horman 7/14/2012 for use in LPC1768
 */
 
#ifndef FONT5X7_H
#define FONT5X7_H

// standard ascii 5x7 font

static unsigned char  font[] = {
    0x00, 0x00, 0x00, 0x00, 0x00,   
    0x3E, 0x5B, 0x4F, 0x5B, 0x3E,     
    0x3E, 0x6B, 0x4F, 0x6B, 0x3E,     
    0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 
    0x18, 0x3C, 0x7E, 0x3C, 0x18, 
    0x1C, 0x57, 0x7D, 0x57, 0x1C, 
    0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 
    0x00, 0x18, 0x3C, 0x18, 0x00, 
    0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 
    0x00, 0x18, 0x24, 0x18, 0x00, 
    0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 
    0x30, 0x48, 0x3A, 0x06, 0x0E, 
    0x26, 0x29, 0x79, 0x29, 0x26, 
    0x40, 0x7F, 0x05, 0x05, 0x07, 
    0x40, 0x7F, 0x05, 0x25, 0x3F, 
    0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 
    0x7F, 0x3E, 0x1C, 0x1C, 0x08, 
    0x08, 0x1C, 0x1C, 0x3E, 0x7F, 
    0x14, 0x22, 0x7F, 0x22, 0x14, 
    0x5F, 0x5F, 0x00, 0x5F, 0x5F, 
    0x06, 0x09, 0x7F, 0x01, 0x7F, 
    0x00, 0x66, 0x89, 0x95, 0x6A, 
    0x60, 0x60, 0x60, 0x60, 0x60, 
    0x94, 0xA2, 0xFF, 0xA2, 0x94, 
    0x08, 0x04, 0x7E, 0x04, 0x08, 
    0x10, 0x20, 0x7E, 0x20, 0x10, 
    0x08, 0x08, 0x2A, 0x1C, 0x08, 
    0x08, 0x1C, 0x2A, 0x08, 0x08, 
    0x1E, 0x10, 0x10, 0x10, 0x10, 
    0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 
    0x30, 0x38, 0x3E, 0x38, 0x30, 
    0x06, 0x0E, 0x3E, 0x0E, 0x06, 
    0x00, 0x00, 0x00, 0x00, 0x00, 
    0x00, 0x00, 0x5F, 0x00, 0x00, 
    0x00, 0x07, 0x00, 0x07, 0x00, 
    0x14, 0x7F, 0x14, 0x7F, 0x14, 
    0x24, 0x2A, 0x7F, 0x2A, 0x12, 
    0x23, 0x13, 0x08, 0x64, 0x62, 
    0x36, 0x49, 0x56, 0x20, 0x50, 
    0x00, 0x08, 0x07, 0x03, 0x00, 
    0x00, 0x1C, 0x22, 0x41, 0x00, 
    0x00, 0x41, 0x22, 0x1C, 0x00, 
    0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 
    0x08, 0x08, 0x3E, 0x08, 0x08, 
    0x00, 0x80, 0x70, 0x30, 0x00, 
    0x08, 0x08, 0x08, 0x08, 0x08, 
    0x00, 0x00, 0x60, 0x60, 0x00, 
    0x20, 0x10, 0x08, 0x04, 0x02, 
    0x3E, 0x51, 0x49, 0x45, 0x3E, 
    0x00, 0x42, 0x7F, 0x40, 0x00, 
    0x72, 0x49, 0x49, 0x49, 0x46, 
    0x21, 0x41, 0x49, 0x4D, 0x33, 
    0x18, 0x14, 0x12, 0x7F, 0x10, 
    0x27, 0x45, 0x45, 0x45, 0x39, 
    0x3C, 0x4A, 0x49, 0x49, 0x31, 
    0x41, 0x21, 0x11, 0x09, 0x07, 
    0x36, 0x49, 0x49, 0x49, 0x36, 
    0x46, 0x49, 0x49, 0x29, 0x1E, 
    0x00, 0x00, 0x14, 0x00, 0x00, 
    0x00, 0x40, 0x34, 0x00, 0x00, 
    0x00, 0x08, 0x14, 0x22, 0x41, 
    0x14, 0x14, 0x14, 0x14, 0x14, 
    0x00, 0x41, 0x22, 0x14, 0x08, 
    0x02, 0x01, 0x59, 0x09, 0x06, 
    0x3E, 0x41, 0x5D, 0x59, 0x4E, 
    0x7C, 0x12, 0x11, 0x12, 0x7C, 
    0x7F, 0x49, 0x49, 0x49, 0x36, 
    0x3E, 0x41, 0x41, 0x41, 0x22, 
    0x7F, 0x41, 0x41, 0x41, 0x3E, 
    0x7F, 0x49, 0x49, 0x49, 0x41, 
    0x7F, 0x09, 0x09, 0x09, 0x01, 
    0x3E, 0x41, 0x41, 0x51, 0x73, 
    0x7F, 0x08, 0x08, 0x08, 0x7F, 
    0x00, 0x41, 0x7F, 0x41, 0x00, 
    0x20, 0x40, 0x41, 0x3F, 0x01, 
    0x7F, 0x08, 0x14, 0x22, 0x41, 
    0x7F, 0x40, 0x40, 0x40, 0x40, 
    0x7F, 0x02, 0x1C, 0x02, 0x7F, 
    0x7F, 0x04, 0x08, 0x10, 0x7F, 
    0x3E, 0x41, 0x41, 0x41, 0x3E, 
    0x7F, 0x09, 0x09, 0x09, 0x06, 
    0x3E, 0x41, 0x51, 0x21, 0x5E, 
    0x7F, 0x09, 0x19, 0x29, 0x46, 
    0x26, 0x49, 0x49, 0x49, 0x32, 
    0x03, 0x01, 0x7F, 0x01, 0x03, 
    0x3F, 0x40, 0x40, 0x40, 0x3F, 
    0x1F, 0x20, 0x40, 0x20, 0x1F, 
    0x3F, 0x40, 0x38, 0x40, 0x3F, 
    0x63, 0x14, 0x08, 0x14, 0x63, 
    0x03, 0x04, 0x78, 0x04, 0x03, 
    0x61, 0x59, 0x49, 0x4D, 0x43, 
    0x00, 0x7F, 0x41, 0x41, 0x41, 
    0x02, 0x04, 0x08, 0x10, 0x20, 
    0x00, 0x41, 0x41, 0x41, 0x7F, 
    0x04, 0x02, 0x01, 0x02, 0x04, 
    0x40, 0x40, 0x40, 0x40, 0x40, 
    0x00, 0x03, 0x07, 0x08, 0x00, 
    0x20, 0x54, 0x54, 0x78, 0x40, 
    0x7F, 0x28, 0x44, 0x44, 0x38, 
    0x38, 0x44, 0x44, 0x44, 0x28, 
    0x38, 0x44, 0x44, 0x28, 0x7F, 
    0x38, 0x54, 0x54, 0x54, 0x18, 
    0x00, 0x08, 0x7E, 0x09, 0x02, 
    0x18, 0xA4, 0xA4, 0x9C, 0x78, 
    0x7F, 0x08, 0x04, 0x04, 0x78, 
    0x00, 0x44, 0x7D, 0x40, 0x00, 
    0x20, 0x40, 0x40, 0x3D, 0x00, 
    0x7F, 0x10, 0x28, 0x44, 0x00, 
    0x00, 0x41, 0x7F, 0x40, 0x00, 
    0x7C, 0x04, 0x78, 0x04, 0x78, 
    0x7C, 0x08, 0x04, 0x04, 0x78, 
    0x38, 0x44, 0x44, 0x44, 0x38, 
    0xFC, 0x18, 0x24, 0x24, 0x18, 
    0x18, 0x24, 0x24, 0x18, 0xFC, 
    0x7C, 0x08, 0x04, 0x04, 0x08, 
    0x48, 0x54, 0x54, 0x54, 0x24, 
    0x04, 0x04, 0x3F, 0x44, 0x24, 
    0x3C, 0x40, 0x40, 0x20, 0x7C, 
    0x1C, 0x20, 0x40, 0x20, 0x1C, 
    0x3C, 0x40, 0x30, 0x40, 0x3C, 
    0x44, 0x28, 0x10, 0x28, 0x44, 
    0x4C, 0x90, 0x90, 0x90, 0x7C, 
    0x44, 0x64, 0x54, 0x4C, 0x44, 
    0x00, 0x08, 0x36, 0x41, 0x00, 
    0x00, 0x00, 0x77, 0x00, 0x00, 
    0x00, 0x41, 0x36, 0x08, 0x00, 
    0x02, 0x01, 0x02, 0x04, 0x02, 
    0x3C, 0x26, 0x23, 0x26, 0x3C, 
    0x1E, 0xA1, 0xA1, 0x61, 0x12, 
    0x3A, 0x40, 0x40, 0x20, 0x7A, 
    0x38, 0x54, 0x54, 0x55, 0x59, 
    0x21, 0x55, 0x55, 0x79, 0x41, 
    0x21, 0x54, 0x54, 0x78, 0x41, 
    0x21, 0x55, 0x54, 0x78, 0x40, 
    0x20, 0x54, 0x55, 0x79, 0x40, 
    0x0C, 0x1E, 0x52, 0x72, 0x12, 
    0x39, 0x55, 0x55, 0x55, 0x59, 
    0x39, 0x54, 0x54, 0x54, 0x59, 
    0x39, 0x55, 0x54, 0x54, 0x58, 
    0x00, 0x00, 0x45, 0x7C, 0x41, 
    0x00, 0x02, 0x45, 0x7D, 0x42, 
    0x00, 0x01, 0x45, 0x7C, 0x40, 
    0xF0, 0x29, 0x24, 0x29, 0xF0, 
    0xF0, 0x28, 0x25, 0x28, 0xF0, 
    0x7C, 0x54, 0x55, 0x45, 0x00, 
    0x20, 0x54, 0x54, 0x7C, 0x54, 
    0x7C, 0x0A, 0x09, 0x7F, 0x49, 
    0x32, 0x49, 0x49, 0x49, 0x32, 
    0x32, 0x48, 0x48, 0x48, 0x32, 
    0x32, 0x4A, 0x48, 0x48, 0x30, 
    0x3A, 0x41, 0x41, 0x21, 0x7A, 
    0x3A, 0x42, 0x40, 0x20, 0x78, 
    0x00, 0x9D, 0xA0, 0xA0, 0x7D, 
    0x39, 0x44, 0x44, 0x44, 0x39, 
    0x3D, 0x40, 0x40, 0x40, 0x3D, 
    0x3C, 0x24, 0xFF, 0x24, 0x24, 
    0x48, 0x7E, 0x49, 0x43, 0x66, 
    0x2B, 0x2F, 0xFC, 0x2F, 0x2B, 
    0xFF, 0x09, 0x29, 0xF6, 0x20, 
    0xC0, 0x88, 0x7E, 0x09, 0x03, 
    0x20, 0x54, 0x54, 0x79, 0x41, 
    0x00, 0x00, 0x44, 0x7D, 0x41, 
    0x30, 0x48, 0x48, 0x4A, 0x32, 
    0x38, 0x40, 0x40, 0x22, 0x7A, 
    0x00, 0x7A, 0x0A, 0x0A, 0x72, 
    0x7D, 0x0D, 0x19, 0x31, 0x7D, 
    0x26, 0x29, 0x29, 0x2F, 0x28, 
    0x26, 0x29, 0x29, 0x29, 0x26, 
    0x30, 0x48, 0x4D, 0x40, 0x20, 
    0x38, 0x08, 0x08, 0x08, 0x08, 
    0x08, 0x08, 0x08, 0x08, 0x38, 
    0x2F, 0x10, 0xC8, 0xAC, 0xBA, 
    0x2F, 0x10, 0x28, 0x34, 0xFA, 
    0x00, 0x00, 0x7B, 0x00, 0x00, 
    0x08, 0x14, 0x2A, 0x14, 0x22, 
    0x22, 0x14, 0x2A, 0x14, 0x08, 
    0xAA, 0x00, 0x55, 0x00, 0xAA, 
    0xAA, 0x55, 0xAA, 0x55, 0xAA, 
    0x00, 0x00, 0x00, 0xFF, 0x00, 
    0x10, 0x10, 0x10, 0xFF, 0x00, 
    0x14, 0x14, 0x14, 0xFF, 0x00, 
    0x10, 0x10, 0xFF, 0x00, 0xFF, 
    0x10, 0x10, 0xF0, 0x10, 0xF0, 
    0x14, 0x14, 0x14, 0xFC, 0x00, 
    0x14, 0x14, 0xF7, 0x00, 0xFF, 
    0x00, 0x00, 0xFF, 0x00, 0xFF, 
    0x14, 0x14, 0xF4, 0x04, 0xFC, 
    0x14, 0x14, 0x17, 0x10, 0x1F, 
    0x10, 0x10, 0x1F, 0x10, 0x1F, 
    0x14, 0x14, 0x14, 0x1F, 0x00, 
    0x10, 0x10, 0x10, 0xF0, 0x00, 
    0x00, 0x00, 0x00, 0x1F, 0x10, 
    0x10, 0x10, 0x10, 0x1F, 0x10, 
    0x10, 0x10, 0x10, 0xF0, 0x10, 
    0x00, 0x00, 0x00, 0xFF, 0x10, 
    0x10, 0x10, 0x10, 0x10, 0x10, 
    0x10, 0x10, 0x10, 0xFF, 0x10, 
    0x00, 0x00, 0x00, 0xFF, 0x14, 
    0x00, 0x00, 0xFF, 0x00, 0xFF, 
    0x00, 0x00, 0x1F, 0x10, 0x17, 
    0x00, 0x00, 0xFC, 0x04, 0xF4, 
    0x14, 0x14, 0x17, 0x10, 0x17, 
    0x14, 0x14, 0xF4, 0x04, 0xF4, 
    0x00, 0x00, 0xFF, 0x00, 0xF7, 
    0x14, 0x14, 0x14, 0x14, 0x14, 
    0x14, 0x14, 0xF7, 0x00, 0xF7, 
    0x14, 0x14, 0x14, 0x17, 0x14, 
    0x10, 0x10, 0x1F, 0x10, 0x1F, 
    0x14, 0x14, 0x14, 0xF4, 0x14, 
    0x10, 0x10, 0xF0, 0x10, 0xF0, 
    0x00, 0x00, 0x1F, 0x10, 0x1F, 
    0x00, 0x00, 0x00, 0x1F, 0x14, 
    0x00, 0x00, 0x00, 0xFC, 0x14, 
    0x00, 0x00, 0xF0, 0x10, 0xF0, 
    0x10, 0x10, 0xFF, 0x10, 0xFF, 
    0x14, 0x14, 0x14, 0xFF, 0x14, 
    0x10, 0x10, 0x10, 0x1F, 0x00, 
    0x00, 0x00, 0x00, 0xF0, 0x10, 
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
    0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 
    0xFF, 0xFF, 0xFF, 0x00, 0x00, 
    0x00, 0x00, 0x00, 0xFF, 0xFF, 
    0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 
    0x38, 0x44, 0x44, 0x38, 0x44, 
    0x7C, 0x2A, 0x2A, 0x3E, 0x14, 
    0x7E, 0x02, 0x02, 0x06, 0x06, 
    0x02, 0x7E, 0x02, 0x7E, 0x02, 
    0x63, 0x55, 0x49, 0x41, 0x63, 
    0x38, 0x44, 0x44, 0x3C, 0x04, 
    0x40, 0x7E, 0x20, 0x1E, 0x20, 
    0x06, 0x02, 0x7E, 0x02, 0x02, 
    0x99, 0xA5, 0xE7, 0xA5, 0x99, 
    0x1C, 0x2A, 0x49, 0x2A, 0x1C, 
    0x4C, 0x72, 0x01, 0x72, 0x4C, 
    0x30, 0x4A, 0x4D, 0x4D, 0x30, 
    0x30, 0x48, 0x78, 0x48, 0x30, 
    0xBC, 0x62, 0x5A, 0x46, 0x3D, 
    0x3E, 0x49, 0x49, 0x49, 0x00, 
    0x7E, 0x01, 0x01, 0x01, 0x7E, 
    0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 
    0x44, 0x44, 0x5F, 0x44, 0x44, 
    0x40, 0x51, 0x4A, 0x44, 0x40, 
    0x40, 0x44, 0x4A, 0x51, 0x40, 
    0x00, 0x00, 0xFF, 0x01, 0x03, 
    0xE0, 0x80, 0xFF, 0x00, 0x00, 
    0x08, 0x08, 0x6B, 0x6B, 0x08,
    0x36, 0x12, 0x36, 0x24, 0x36, 
    0x06, 0x0F, 0x09, 0x0F, 0x06, 
    0x00, 0x00, 0x18, 0x18, 0x00, 
    0x00, 0x00, 0x10, 0x10, 0x00, 
    0x30, 0x40, 0xFF, 0x01, 0x01, 
    0x00, 0x1F, 0x01, 0x01, 0x1E, 
    0x00, 0x19, 0x1D, 0x17, 0x12, 
    0x00, 0x3C, 0x3C, 0x3C, 0x3C, 
    0x00, 0x00, 0x00, 0x00, 0x00, 
};
#endif



iyildirim

Alıntı yapılan: z - 26 Ocak 2016, 13:52:15
Satıcının gitti gidiyor sayfasında besleme voltajı için yaptığı açıklamada 3..5v demiş.

Gene satıcı ekranın kontrol çipi için SSD1306 demiş.
Yukarıdaki pdf'e göre besleme voltajı 7...15v olmalı diyor.

Bu ne demek şimdi?

Bu ekranı kullananlar ekranı kaç volt ile besledi?

Hocam SSD 1306 normalde 7.25V ile besleniyor ama, 1-2 ve 3-4 bacaklarına 1uF takarsanız 3.3V dan gerekli gerilimleri 3.3V dan  kendi üretebiliyor.
Kart üzerinde kapasitörler varsa 3.3V ile besleyin.
Kendi adıma hem 3.3V ile kapasitörlü hemde direkt 7.25V denedim.

z

Anlaşıldı.

Ekranların flex kablosunda onlarca iletken görünce kim bağlayacak bunları işlemciye, işlemcimde pin kalmaz düşüncesiyle bugüne kadar bu ekranlarla uğraşmaya hep çekinirdim.

Sanırım boşu boşuna çekinmişim. Her ekran SPI yada I2C sürülebiliyormu? Yoksa sadece paralel bus üzerinden sürülenleri de varmı?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

iyildirim

Chipsete ve chipsetin kaç bacağı flexe çıkartılmışa bakar. Ama geneli paralellin yanında SPI da destekliyor.

SSD1305-6 paralel, I2C, SPI destekliyor. Ne kullanacağını BS1-BS2  pinlerinin durumu belirliyor.

          6800  8080  SPI4W  SPI3W  I2C
BS0      0      0          0          1          0
BS1      0      1          0          0          1
BS2      1      1          0          0          0


veliusta


Bu çok iyi duruyor ama 28$ çok fazla buna.

Geçen sene almıştım bende. I2C olanından o zamanlar ucuzdu 3.3$ idi.


z

SSD1306 da 0x40..0x7F komutlarının ne işe yaradığını anlamadım.

Açıklayabilecek olan varmı?

x=0 y=0 ekranda sol üst nokta olsun.

Buraya düşey 8 nokta yerleştirmek istersem gerekli ayarlamaları yaptıktan sonra 0xFF yollamam yetiyor.

Eğer X=0 Y=1 e 8 noktadan oluşan düşey bir çizgi çizmek istersem tek hamlede bunu yapamıyoruyum?

Bu isteğimi şu anda Page:0 Col:0 da 0xFE ve Page:1 Col:0 da 0x01 yazarak elde ediyorum.

Daha kısa yolu yokmu?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

HeCToR

x1,y1 x2,y2 olarak değer atamıyormusun hocam tamda sorunuzu anlamadım aslında
Bilginin Efendisi Olmak İçin Çalışmanın Kölesi Olmak Gerekir

ferit06

@z hocam,

datasheet sayfa 34 te 3 ayrı adresleme modunun olduğunu yazıyor. Adresleme modunu istediğiniz şekilde ayarladıktan sonra istediğiniz yönde yazdırabilirsiniz.

z

Mesela çipe 0x50 yollarsam çipten ne yapmasını istemiş olurum?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

ferit06

Komut göndermek istiyorsanız, komut tablosunda 0x50 göremedim.

z

0x50 komutu, 0x40...0x7F arasında kalıyor. 0x40 komutunun açıklamasına bakacaksınız.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

ferit06

16. satırı başlangıç adresi göstermiş oluyorsunuz. (10.1.6 Set Display Start Line (40h~7Fh) toplam 64 satırı adresliyor). Burada yatay yazabilirsiniz.

Siz sayfa adresleme veya vertical adresleme kullanarak istediniz şeyi yapabilirsiniz.

z

#44
Display çalışıyor. Pixelleri de koyabiliyorum. Şimdi text yazma işine geldim. 5x7 çalışıyorum. Sorun yok. Page adreslemeyi denedim. Horizantal adreslemeyi denedim.


5x7 modundaki karakterlerle bir alt satıra yazacağım karakteri bir üsttekinden 1 değil de 3 pixel boşlukla yazmak istersem bayağı bir kod yazmam gerekecek.
5x7 modunda karakterin her bir  sutunu zaten bir byte içine sığıyor ve 1 pixel dikey boşluk kendiliğinden oluşuyor. Fakat ben 1 değil 3 pixel boşluk vermek istiyorum.

Bir page, alt alta 8 pixelden oluşuyor. Dediğim gibi 3 pixel boşluk vermek istersem karakterin bir kısmı bir page'de bir kısmı da takip eden page'de oluyor.

Eğer Y adresini  page olarak değil de pixel olarak verme imkanı varsa bu durumda karakteri parçalı page'lere yazmak zorunda kalmayacağım.



Resimden görüldüğü gibi 1 pixel değil de 2 pixel boşluk vermek istersem karakter tablomdaki veriler her page de değişiklik gösterecek.
Hele ki iki karakter arasına 3 pixel boşluk koymak istersem bu kez karakterin bir kısmı bir page'de diğer yarısı diğer page'de kalacak.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com