bazı kir ucuz, küçük e-mürekkep ekranlar nelerdir? [kapalı]


11

İnsanca mümkün olduğunca ucuz bir e-mürekkep ekranı (piksel tabanlı) arıyorum ve yine de yüz milisaniye içinde yenilenebilen tamamen piksel tabanlı bir ekran.

Aveso'nun "özel ekran" ürünleri neredeyse bahsettiğim şeydir. Ancak bunlar değişmez görüntülerdir, yani piksel tabanlı değildir .

Ekranlar çok küçük olmalıdır - 1 cm ve ideal olarak çok kafalı bir denetleyiciyle çalışırlar.


5
Tuhaf - avesodisplays.com'a gitmeye çalıştığımda Chrome bir kötü amaçlı yazılım uyarısı verdi.
Oyuncak Yapımcısı

6
Burada aynı, Firefox ile.
Leon Heller

Opera bir sebepten ötürü değil.
Bir sandviç

@ aSandwich, onunla birlikte gitmek için bir virüs olabilir.
Kortuk

@roberto, kötü amaçlı yazılım nedeniyle bağlantıyı kaldırdım.
Daniel Grillo

Yanıtlar:


6

Kısa bir süre boyunca, eink ekranlarla uğraşma fikrini düşündüm; ve e-Ink Corporation'ı takip etti. Bunlar eInk IP'sini tutan kişilerdir. Beni iyi kurulmuş bir LCD üretim şirketi olan PrimeView'e yönlendirdiler. (Ve ben bazı gerçek kontrolü yapmaya gittiğimde, PVI artık EInk'i satın aldı.)

Bazı veri sayfalarına ve fiyatlandırma verilerine girebildim. Korkarım ortalama tamircilik için iyi görünmüyor. Ekran için parça başına 200,00 dolar teklif ediyorlardı. ve kontrolör için parça başına 4.50 (numune miktarlarında). Paneller, üretim hacimleri için 60.00 / pc'de belirtilmiştir. Tabii ki, bu ikinci alıntı hacme bağlı olacaktır - ve Amazon'un çok daha iyi bir fiyatlandırma aldığından şüpheleniyorum! (BTW, bu, Aralık 2007'de alıntılanan 6 "panel içindi)

Bu konuda gerçekten ciddiyseniz, geliştirme kitlerini yaklaşık 3.000 dolara sundular.

Teknolojinin hala nispeten yeni olduğu ve kilit teknolojinin (etkin teknolojiye karşı) çok fazla patent koruması altında olduğu göz önüne alındığında, emtia (genel) e-mürekkep ekranlarını görmemiz biraz zaman alacak.


teklif hangi boyutta ekran içindi?
Kortuk

Aralık 6 civarında, bu 6 "idi. Eminim fiyatlar oradan önemli ölçüde düştü, ama" kir ucuz "seviyeleri. Bunu yansıtmak için cevabımın ana metnini güncelledim. Teşekkürler.
Toybuilder

5

İşte SeeedStudio E-Mürekkep deneyimim.

http://www.picaxeforum.co.uk/showthread.php?23583-E-ink-on-PICAXE-see-it-now- !

Seeedstudio E-mürekkep, Arduino uyumlu bir kalkantır. (Bununla birlikte, tamamen Arduino uyumlu değildir! Bkz. Seeedstudio Forumu: http://www.seeedstudio.com/forum/viewtopic.php?p=16432#p16432 )

İşte PICAXE kodu:

    #PICAXE 28X2


    Eeprom %00001111, ( %00000000 ) ' %00000000
    Eeprom %00011111, ( %11000000 ) ' %11000000
    Eeprom %00101111, ( %00110000 ) ' %00110000
    Eeprom %00111111, ( %11110000 ) ' %11110000
    Eeprom %01001111, ( %00001100 ) ' %00001100
    Eeprom %01011111, ( %11001100 ) ' %11001100
    Eeprom %01101111, ( %00111100 ) ' %00111100
    Eeprom %01111111, ( %11111100 ) ' %11111100
    Eeprom %10001111, ( %00000011 ) ' %00000011
    Eeprom %10011111, ( %11000011 ) ' %11000011
    Eeprom %10101111, ( %00110011 ) ' %00110011
    Eeprom %10111111, ( %11110011 ) ' %11110011
    Eeprom %11001111, ( %00001111 ) ' %00001111
    Eeprom %11011111, ( %11001111 ) ' %11001111
    Eeprom %11101111, ( %00111111 ) ' %00111111
    Eeprom %11110000, ( %00000000 ) ' %00000000
    Eeprom %11110001, ( %11000000 ) ' %11000000
    Eeprom %11110010, ( %00110000 ) ' %00110000
    Eeprom %11110011, ( %11110000 ) ' %11110000
    Eeprom %11110100, ( %00001100 ) ' %00001100
    Eeprom %11110101, ( %11001100 ) ' %11001100
    Eeprom %11110110, ( %00111100 ) ' %00111100
    Eeprom %11110111, ( %11111100 ) ' %11111100
    Eeprom %11111000, ( %00000011 ) ' %00000011
    Eeprom %11111001, ( %11000011 ) ' %11000011
    Eeprom %11111010, ( %00110011 ) ' %00110011
    Eeprom %11111011, ( %11110011 ) ' %11110011
    Eeprom %11111100, ( %00001111 ) ' %00001111
    Eeprom %11111101, ( %11001111 ) ' %11001111
    Eeprom %11111110, ( %00111111 ) ' %00111111
    Eeprom %11111111, ( %11111111 ) ' %11111111

    pause 5000

    sertxd ("Eink_8",cr,lf)

    setfreq m16

    Symbol Eink_CS1 = S.6           ' Chip select for Eink driver
    Symbol Eink_DC  = S.5           ' Data/Command control for Eink driver
    Symbol GT_CS2   = S.4           ' Chip select for character ROM


    Symbol i           = w4
    Symbol Xs          = b10
    Symbol Xe          = b11
    Symbol Ys          = b12
    Symbol Ye          = b13
    Symbol Char        = b14
    Symbol Char16      = w8
    Symbol Char16Lo    = b16
    Symbol Char16Hi    = b17
    Symbol CommandByte = b18
    Symbol DataByte    = b19 
    Symbol t           = b20


    HIGH Eink_CS1
    HIGH Eink_DC
    HIGH GT_CS2


    hspisetup spimode00e, spimedium
    sertxd ("hspisetup done",cr,lf)

    Gosub initEink
    sertxd ("init done",cr,lf)

    Gosub clearScreen
    sertxd ("clear done",cr,lf)

    Ys = 170

    Xs = 2 : Ys = 179
    for t = 0 to 13
    lookup t, ( "PICAXE RULES !" ),Char
    Ys = Ys - 8 : Gosub displayChar
    next 
    sertxd ("line 1 done",cr,lf)




    Xs = 7 : Ys = 179
    for t = 0 to 20
    lookup t, ( "Eink from Seeedstudio" ),Char
    Ys = Ys - 8 : Gosub displayChar
    next
    sertxd ("line 2 done",cr,lf)



    Xs = 12 : Ys = 179
    for t = 0 to 18
    lookup t, ( "Cheers, from Buzby." ),Char
    Ys = Ys - 8 : Gosub displayChar
    next 
    sertxd ("line 3 done",cr,lf)



    Gosub refreshScreen
    sertxd ("refreshScreen done",cr,lf)
    sertxd ( "Done",cr,lf )

    End



    ' =================================================================

    writeComm:
        LOW  Eink_DC
        LOW  Eink_CS1
        hspiout ( CommandByte )
        HIGH Eink_CS1
    return

    ' =================================================================

    writeData:
        HIGH Eink_DC
        LOW  Eink_CS1
        hspiout ( DataByte )
        HIGH Eink_CS1
    return

    ' =================================================================

    clearScreen: 

        CommandByte = 0x24 : Gosub writeComm

        HIGH Eink_DC
        LOW  Eink_CS1

        For i = 0 to 3095
            hspiout (0xFF)
        Next i

        HIGH Eink_CS1   

        Pause 1000
    return

    ' =================================================================


    initEink:
         CommandByte = 0x10 : Gosub writeComm ' exit deep sleep mode
         DataByte    = 0x00 : Gosub writeData 
         CommandByte = 0x11 : Gosub writeComm ' data enter mode
         DataByte    = 0x03 : Gosub writeData 

         CommandByte = 0x44 : Gosub writeComm ' set RAM x address start/end, in page 36
         DataByte    = 0x00 : Gosub writeData ' RAM x address start at 00h;
         DataByte    = 0x11 : Gosub writeData ' RAM x address end at 11h(17)->72: [because 1F(31)->128 and 12(18)->76] 
         CommandByte = 0x45 : Gosub writeComm ' set RAM y address start/end, in page 37
         DataByte    = 0x00 : Gosub writeData ' RAM y address start at 00h;
         DataByte    = 0xAB : Gosub writeData ' RAM y address start at ABh(171)->172: [because B3(179)->180]
         CommandByte = 0x4E : Gosub writeComm ' set RAM x address count to 0
         DataByte    = 0x00 : Gosub writeData 
         CommandByte = 0x4F : Gosub writeComm ' set RAM y address count to 0
         DataByte    = 0x00 : Gosub writeData 

         CommandByte = 0xF0 : Gosub writeComm ' booster feedback used, in page 37
         DataByte    = 0x1F : Gosub writeData 
         CommandByte = 0x22 : Gosub writeComm ' display updata sequence option ,in page 33
         Databyte    = 0xC0 : Gosub writeData ' enable sequence: clk -> CP

         Gosub configureLUTRegister

         CommandByte = 0x2C : Gosub writeComm ' vcom
         DataByte    = 0xA0 : Gosub writeData 
         CommandByte = 0x3C : Gosub writeComm ' board
         DataByte    = 0x63 : Gosub writeData 
         CommandByte = 0x22 : Gosub writeComm ' display updata sequence option ,in page 33
         DataByte    = 0xC4 : Gosub writeData ' enable sequence: clk -> CP -> LUT -> initial display -> pattern display

    return

    ' =================================================================

    configureLUTRegister:

        CommandByte = 0x32 : Gosub writeComm ' write data to LUT register

        HIGH Eink_DC
        LOW  Eink_CS1

        hspiout ( 0x00,0x00,0x00,0x55,0x00,0x00,0x55,0x55,0x00,0x55, _
                 0x55,0x55,0xAA,0xAA,0xAA,0xAA,0x15,0x15,0x15,0x15, _
                   0x05,0x05,0x05,0x05,0x01,0x01,0x01,0x01,0x00,0x00, _
                   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, _
                   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, _
                   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, _
                   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, _
                   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, _
                     0x22,0xFB,0x22,0x1B,0x00,0x00,0x00,0x00,0x00,0x00 )

        HIGH Eink_CS1   

    return


    ' =================================================================

    refreshScreen:
        CommandByte = 0x20 : Gosub writeComm
        Gosub closeBump
        Pause 2000
    return

    ' =================================================================

    closeBump:
        CommandByte = 0x22 : Gosub writeComm    
        DataByte    = 0x03 : Gosub writeData 
        CommandByte = 0x20 : Gosub writeComm 
    return


    ' =================================================================
    #rem
    Xs --> X start  address   0~17
    Xe --> X end    address   0~17
    Ys --> Y start  address   0~171
    Ye --> Y end    address   0~171

    #endrem  

    setPositionXY:

        LOW  Eink_CS1

        LOW  Eink_DC    
        hspiout ( 0x44 )' set RAM x address start/end  command
        HIGH  Eink_DC
        hspiout ( Xs , Xe )

        LOW  Eink_DC
        hspiout ( 0x45 )' set RAM y address start/end  command
        HIGH  Eink_DC
        hspiout ( Ys , Ye )

        LOW  Eink_DC
        hspiout ( 0x4E )' set RAM x address count to Xs
        HIGH  Eink_DC
        hspiout ( Xs )  

        LOW  Eink_DC
        hspiout ( 0x4F )' set RAM y address count to Ys
        HIGH  Eink_DC
        hspiout ( Ys )  

        HIGH  Eink_CS1

    return

    ' =================================================================
    #rem
    display character in the Eink screen:
    x:the X start address,X value can be 0 to 14;
    y:the Y start  address, Y vlue can  be 171 to 7;
    the charater diplay erea is from x to x+3 in X position and from y to y-7 in Y position
    unicode_char:the character machine code
    */
    void E_ink::displayChar(INT8U x,INT8U y,INT16U unicode_Char)
    {
      INT16U i;
      getCharMatrixData(unicode_Char);
      converCharMatrixData();
      setPositionXY(x,x+3,y,y-7);
      writeComm(0x11);     /*data enter mode command */
      writeData(0x05);     /*set Y-mode:X address is increment and y address decrement */                       
      writeComm(0x24);
      for(i=0;i<32;i++)
      {
          writeData(matrixdata_conver[i]);
       }
    }
    #endrem

    displayChar:


       ' Make address of character in ROM
        Char16 = Char - 0x20 * 16 

        ' Reset scratchpad pointer
        ptr = 0

        ' Get 16 bytes character data from ROM into scratchpad
        LOW GT_CS2
        hspiout (0x03,0,Char16Hi,Char16Lo)
        hspiin  (@ptrinc, @ptrinc, @ptrinc, @ptrinc,@ptrinc, @ptrinc, @ptrinc, @ptrinc, _
                    @ptrinc, @ptrinc, @ptrinc, @ptrinc,@ptrinc, @ptrinc, @ptrinc, @ptrinc )
       HIGH GT_CS2

    #rem

       sertxd ("chardata",cr,lf)
       ptr = 0
        sertxd  (Char, " ", #@ptrinc,",", #@ptrinc,",", #@ptrinc,",", #@ptrinc,",",#@ptrinc,",", #@ptrinc,",", #@ptrinc,",", #@ptrinc,",", _
                    #@ptrinc,",", #@ptrinc,",", #@ptrinc,",", #@ptrinc,",",#@ptrinc,",", #@ptrinc,",", #@ptrinc,",", #@ptrinc, cr, lf )

       for ptr = 0 to 15
           b0 = @ptr
           sertxd (#bit7,#bit6,#bit5,#bit4,#bit3,#bit2,#bit1,#bit0,cr,lf)
       next

    #endrem


       ' Convert data bytes into twos

          for i = 0 to 7

           ptr = i              ' Get single byte
           b0 = @ptr

            ' original in b0, result in w0 - Thanks to hippy !

            b1 = b0 | $0F : Read b1, b1
            b0 = b0 | $F0 : Read b0, b0

           ptr = i + 16 : @ptr = inv b0
           ptr = i + 24 : @ptr = inv b1

        next i


          for i = 8 to 15

           ptr = i              ' Get single byte
           b0 = @ptr

            ' original in b0, result in w0 - Thanks to hippy !

            b1 = b0 | $0F : Read b1, b1
            b0 = b0 | $F0 : Read b0, b0

           ptr = i + 24 : @ptr = inv b0
           ptr = i + 32 : @ptr = inv b1

        next i

        Xe = Xs + 3
        Ye = Ys - 7

        Gosub setPositionXY 

        CommandByte = 0x11 : Gosub writeComm ' /*data enter mode command */
        DataByte    = 0x05 : Gosub writeData ' /*set Y-mode:X address is increment and y address decrement */                       
        CommandByte = 0x24 : Gosub writeComm 

        HIGH Eink_DC
        LOW  Eink_CS1

       for ptr = 16 to 47

           hspiout (@ptr) 

        next

        HIGH Eink_CS1

    return

Kalkan üzerinde gerçekten sadece iki aktif yonga, bir karakter ROM ve E-mürekkep sürücüsü var.

Kod, bit desenlerini almak için ROM'u okur, bitleri yeniden düzenler, sonra E-mürekkep sürücüsüne gönderir.

Üreticiye 'İyi Görüntü' denmedikçe, E-mürekkep ekranının kendisinde herhangi bir üretici adı bulamadım! (Bunlar arkadaki tek kelimeler ve bir parça numarası GDE021A1) (EDIT: Parça numarasını tekrar Googled ve bu kez üreticiyi buldu. İyi Ekran!)

Düşüncelerim bunun doğru uygulama için mükemmel olması, sadece o uygulamayı bulmam gerekiyor.


Yanıt en azından bazı ayrıntılarla birlikte yanıtlar göndermek için teşvik edilir, bu nedenle bağlantı koparsa cevap hala yararlıdır. Bu siteden şemayı veya kodu indirmek için de kaydolmanız gerekiyor gibi görünüyor, belki de cevaba biraz kod ve herkese açık bir yerde şematik için bir bağlantı ekleyebilirsiniz.
PeterJ

1
Merhaba Peter, zavallı görgü kuralları için üzgünüm, bu sitede yeniyim. Cevabı daha ayrıntılı olarak düzenleyeceğim. Buzby
Buzby

Good Display'in biraz daha küçük bir ekran olan GDE0210C1 sunduğunu öğrendim . Kablo olmadan dış boyutlar 59,5 × 26,6 mm'dir. Ekranı nasıl alacağınızı ve kabloyu ters yönde (yansıtılmış) bağlamanın mümkün olup olmadığını soran bir mesaj gönderdim.
feklee

5

PervasiveDisplays 1.44 "e-Kağıt ekranı 13.87 USD (100 adet için 8.8 USD) 128 x 96 Piksel, 111dpi, Dış Ölçüler mm cinsinden: 40.512 x 28.80 x 1.00. Http://www.pervasivedisplays.com/products/144

Ancak: 10x10mm kadar küçük değildir ve gerektiği kadar hızlı olmadığından emin olabilirsiniz. Ama en azından fiyatlar şu anda önemli ölçüde düşük.


2

Seeed Studio , 2013-04-16 WEST itibariyle 49.90 USD karşılığında Arduino E-Ink Ekran Kalkanı sunuyor. Ekran çözünürlüğü 172 × 72 pikseldir. PCB'nin kapladığı alan 68 × 63 mm'dir. Resimlerden yola çıkarak, ekran bileşeni PCB'nin kapladığı alanın yarısından daha azına sahiptir.


0

Biraz geç kaldığım için üzgünüm, SHARP düşük enerjili ekranları deneyin, piksel tabanlı ve küçük boyutlar sunuyorlar. Adafruit bunları taşır ve tam olarak e mürekkep ekranları gibi çalışırlar. Bunlar orijinal çakıl akıllı saatlerde bulunur ve uygun yazılımla şaşırtıcı şekilde çalışırlar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.