먼지가 싸고 작은 전자 잉크 디스플레이는 무엇입니까? [닫은]


11

저는 사람이 가능한 한 저렴하고 100 밀리 초 이내에 새로 고칠 수있는 완전한 픽셀 기반 디스플레이 인 전자 잉크 디스플레이 (픽셀 기반)를 찾고 있습니다.

Aveso의 "맞춤형 디스플레이"제품은 거의 내가 언급 한 내용입니다. 그러나 이들은 불변의 디스플레이, 즉 픽셀 기반이 아닙니다 .

디스플레이는 1cm의 매우 작아야하며 이상적으로는 멀티 헤드 컨트롤러와 함께 작동합니다.


5
이상한-방금 avesodisplays.com에 가려고 할 때 Chrome에서 악성 코드 경고를 표시했습니다.
Toybuilder

6
Firefox에서도 마찬가지입니다.
레온 헬러

오페라는 어떤 이유로 든 아닙니다.
모래

@aSandwich, 바이러스와 함께 갈 수있는 것 같습니다.
Kortuk

@roberto, 악성 코드로 인해 링크를 제거했습니다.
Daniel Grillo

답변:


6

나는 짧은 시간 동안 eink 디스플레이를 어설프게하는 아이디어를 생각했다. 그리고 e-Ink Corporation이 뒤를이었습니다. 그들은 eInk IP를 소유 한 사람들입니다. 그들은 저를 잘 설립 된 LCD 제조 회사 인 PrimeView를 소개했습니다. (그리고 사실 확인을 위해 구글에서 PVI가 EInk를 인수 한 것으로 나타났습니다.)

데이터 시트 및 가격 데이터에 대해 이야기 할 수있었습니다. 평균 땜장이에게는 좋지 않은 것 같습니다. 그들은 전시를 위해 조각 당 $ 200.00를 인용했다. 및 컨트롤러의 개당 4.50 개 (샘플 수량). 패널은 생산량에 대해 60.00 / pc로 견적되었습니다. 물론, 그 후자의 인용은 볼륨에 달려 있으며 아마존이 훨씬 더 나은 가격을 얻는다고 생각합니다! (BTW, 이것은 6 인치 패널 용이며 2007 년 12 월경에 인용)

정말로 진지한 경우, 약 3,000 달러에 개발 키트를 제공했습니다.

이 기술은 여전히 ​​비교적 새로운 기술이며 많은 핵심 기술 (활성화 기술과 비교)이 많은 특허 보호를 받고 있다는 점을 감안할 때, 상품 (일반) e- 잉크 디스플레이가 표시되기까지는 시간이 걸릴 것입니다.


어떤 크기의 견적을 받았습니까?
Kortuk

2007 년 12 월 무렵 6 인치였습니다. 가격이 크게 떨어졌지만 "저렴한"수준은
아니라고 확신

5

SeeedStudio E-Ink에 대한 나의 경험은 다음과 같습니다.

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

Seeedstudio E-ink는 Arduino 호환 방패입니다. (그러나 Arduino와 완벽하게 호환되지는 않습니다! Seeedstudio 포럼 : http://www.seeedstudio.com/forum/viewtopic.php?p=16432#p16432 )

PICAXE 코드는 다음과 같습니다.

    #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

실드에는 문자 ROM과 E- 잉크 드라이버라는 두 개의 활성 칩만 있습니다.

코드는 비트 패턴을 얻기 위해 ROM을 읽고 비트를 다시 정렬 한 다음 E-ink 드라이버로 보냅니다.

제조업체가 'Good Display'라고 불리지 않으면 E-ink 디스플레이 자체에서 제조업체 이름을 찾을 수 없습니다. (이것은 뒷면의 유일한 단어이며 부품 번호는 GDE021A1입니다.) (편집 : 부품 번호를 다시 검색 한 후 이번에는 제조업체를 찾았습니다. 좋은 표시입니다!)

내 생각은 이것이 올바른 응용 프로그램에 완벽하다는 것입니다. 그 응용 프로그램을 찾아야합니다.


답변에 포함 된 세부 정보가 포함 된 답변을 게시하는 것이 좋습니다. 따라서 링크가 끊어지면 답변이 여전히 유용합니다. 해당 사이트에서 회로도 또는 코드를 다운로드하는 경우 가입이 필요한 것 같습니다. 아마도 답변에 약간의 코드를 포함하고 공개적으로 사용 가능한 회로도에 대한 링크를 포함 할 수 있습니다.
PeterJ

1
안녕하세요 피터, 불쌍한 에티켓에 대해 유감스럽게 생각합니다. 자세한 내용으로 답변을 편집하겠습니다. Buzby
Buzby

Good Display는 약간 더 작은 디스플레이 인 GDE0210C1 도 제공합니다 . 케이블이 없으면 외부 치수는 59.5 × 26.6 mm입니다. 방금 디스플레이를 얻는 방법과 케이블을 반대 방향으로 연결할 수 있는지 묻는 메시지를 보냈습니다 (미러 됨).
feklee

5

PervasiveDisplays 1.44 "전자 종이 디스플레이는 13.87 USD (100pc의 경우 8.8 USD) 128 x 96 픽셀, 111dpi, 외부 치수 (mm) : 40.512 x 28.80 x 1.00. http://www.pervasivedisplays.com/products/144

그러나 10x10mm만큼 작지 않으며 필요한만큼 빠르지 않습니다. 그러나 적어도 가격은 현재 상당히 낮습니다.


2

Seeed Studio 는 2013-04-16 WEST 기준으로 49.90 USD 의 Arduino E-Ink Display Shield 를 제공합니다 . 디스플레이 해상도는 172 × 72 픽셀입니다. PCB의 설치 면적은 68 × 63 mm입니다. 그림으로 볼 때 디스플레이 구성 요소는 PCB 면적의 절반 미만입니다.


0

조금 늦었다면 죄송합니다. 저에너지 디스플레이 SHARP를 사용해보십시오. 픽셀 기반이며 작은 크기를 제공합니다. Adafruit는 이것을 가지고 있으며 e 잉크 디스플레이와 똑같이 작동합니다. 이들은 원래 조약돌 스마트 워치에 있으며 적절한 소프트웨어를 사용하면 놀랍도록 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.