Что такое грязные дешевые электронные дисплеи? [закрыто]


11

Я ищу дисплей e-ink (основанный на пикселях), который будет настолько дешевым, насколько это возможно для человека, и крошечным, но при этом будет полностью основанным на пикселях дисплеем, который может обновляться в течение ста миллисекунд.

Продукты "Custom Display" от Aveso - это почти то, что я имею в виду. Но они являются неизменными дисплеями, т.е. не основаны на пикселях.

Дисплеи должны быть очень маленькими - 1 см, и в идеале они должны работать с контроллером с несколькими головками.


5
Странно - когда я только пытался зайти на avesodisplays.com, Chrome выдает предупреждение о вредоносном ПО.
Toybuilder

6
То же самое и с Firefox.
Леон Хеллер

Опера не по какой-то причине.
бутерброд

@aSandwich, кажется, у тебя может быть вирус, чтобы пойти с ним.
Кортук

@roberto, я удалил ссылку из-за вредоносного ПО.
Даниэль Грилло

Ответы:


6

В течение короткого периода времени я размышлял над идеей возиться с эинк-дисплеями; и продолжил с E-Ink Corporation. Это люди, владеющие IP-адресом eInk. Они направили меня в PrimeView, хорошо известную компанию по производству ЖК-дисплеев. (И когда я погуглил, чтобы сделать некоторую проверку фактов, оказалось, что PVI теперь приобрел EInk.)

Я смог рассказать о себе в некоторых таблицах и ценовых данных. Боюсь, это не выглядит хорошо для среднего тинкера. Они указывали 200,00 долларов за штуку для показа. и 4,50 за штуку для контроллера (в количествах пробы). Панели были оценены в 60,00 / шт для объемов производства. Конечно, эта последняя цитата будет зависеть от объема - и я подозреваю, что Amazon получает гораздо лучшие цены! (Кстати, это было для 6 "панели, цитируется примерно в декабре 2007 года)

Если вы действительно серьезно относитесь к этому, они предложили свой комплект разработки примерно за 3000 долларов.

Учитывая, что технология все еще относительно нова, и многие ключевые технологии (по сравнению с технологией поддержки) находятся под значительной патентной защитой, пройдет некоторое время, прежде чем мы увидим обычные (общие) дисплеи для электронных чернил.


какой размер дисплея был для цитаты?
Кортук

Это было для 6 ", примерно в декабре 2007 года. Я уверен, что цены значительно упали оттуда, но не на" очень дешевые "уровни. Я обновил основной текст своего ответа, чтобы отразить это. Спасибо.
Toybuilder

5

Вот мой опыт использования электронных чернил SeeedStudio.

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

Электронные чернила Seeedstudio - это 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

На экране действительно только две активные микросхемы, символьное ПЗУ и драйвер E-ink.

Код считывает ПЗУ для получения битовых комбинаций, переупорядочивает биты, а затем отправляет драйвер E-ink.

Я не смог найти название какого-либо производителя на самом дисплее E-ink, если производитель не называется «Good Display»! (Это единственные слова на обороте и номер детали GDE021A1) (РЕДАКТИРОВАТЬ: Я просто погуглил номер детали еще раз, и на этот раз он нашел производителя. Это хороший дисплей!)

Я думаю, что это идеально подходит для правильного применения, мне просто нужно найти это приложение.


Рекомендуется публиковать ответы, по крайней мере, с некоторыми деталями, включенными в ответ, поэтому, если ссылка когда-либо станет мертвой, ответ все равно будет полезен. Загрузка схемы или кода с этого сайта также требует регистрации, может быть, вы могли бы добавить немного кода в ответ и ссылку на схему где-нибудь в открытом доступе.
PeterJ

1
Привет, Питер, извини за плохой этикет, я новичок на этом сайте. Я отредактирую ответ с более подробной информацией. Бузби
Бузби

Просто обнаружил, что Good Display также предлагает немного меньший дисплей, GDE0210C1 . Внешние размеры без кабеля 59,5 × 26,6 мм. Я просто отправил им сообщение с вопросом, как получить дисплей и можно ли подключить кабель в противоположном направлении (зеркально).
февраля

5

PervasiveDisplays 1,44 "дисплей электронной бумаги составляет 13,87 долларов США (8,8 долларов США за 100 шт.) 128 х 96 пикселей, 111 точек на дюйм, внешний размер в мм: 40,512 х 28,80 х 1,00. Http://www.pervasivedisplays.com/products/144

Но: он не такой маленький, как 10x10 мм, и уверен, что он не такой быстрый, как требуется. Но, по крайней мере, цены сейчас значительно ниже.


2

Seeed Studio предлагает экран для электронных чернил Arduino за 49,90 долларов США по состоянию на 2013-04-16 WEST. Разрешение экрана составляет 172 × 72 пикселя. Размер печатной платы составляет 68 × 63 мм. Судя по изображениям, компонент дисплея занимает менее половины площади печатной платы.


0

Извините, если я немного опоздал, попробуйте дисплеи SHARP с низким энергопотреблением, они основаны на пикселях и имеют небольшие размеры. Adafruit несет их, и они работают точно так же, как электронные дисплеи. Они найдены в оригинальных умных часах с камешками, и с соответствующим программным обеспечением они работают потрясающе.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.