¿Cuáles son algunas pantallas de tinta electrónica pequeñas y baratas? [cerrado]

11

Estoy buscando una pantalla de tinta electrónica (basada en píxeles) que sea tan barata como sea humanamente posible, y pequeña, pero aún así una pantalla totalmente basada en píxeles que puede actualizarse dentro de cien milisegundos.

Los productos de "pantallas personalizadas" de Aveso son casi a lo que me refiero. Pero son pantallas inmutables, es decir, no basadas en píxeles.

Las pantallas deben ser muy pequeñas, de 1 cm, e idealmente funcionarían con un controlador de múltiples cabezales.

roberto tomás
fuente
55
Extraño: cuando intenté ir a avesodisplays.com, Chrome puso una alerta de malware.
Toybuilder
66
Lo mismo aquí, con Firefox.
Leon Heller
Opera no lo hace por alguna razón.
un bocadillo
@aSandwich, parece que puedes tener un virus que lo acompañe.
Kortuk
@roberto, eliminé el enlace debido a malware.
Daniel Grillo

Respuestas:

6

Durante un breve período de tiempo, consideré la idea de jugar con las pantallas eink; y siguió con e-Ink Corporation. Son las personas que poseen la IP eInk. Me remitieron a PrimeView, que es una empresa de fabricación de LCD bien establecida. (Y mientras busqué en Google para hacer algunas verificaciones de hechos, resulta que PVI ahora ha adquirido EInk).

Pude acceder a algunas hojas de datos y datos de precios. Me temo que no se ve bien para el manitas promedio. Citaban $ 200.00 por pieza para la exhibición. y 4.50 por pieza para el controlador (en cantidades de muestra). Los paneles fueron cotizados a 60.00 / pc para volúmenes de producción. Por supuesto, esa última cita dependería del volumen, ¡y sospecho que Amazon obtiene precios mucho mejores! (Por cierto, esto fue para el panel de 6 ", citado alrededor de diciembre de 2007)

Si realmente lo tomas en serio, ofrecieron su kit de desarrollo por alrededor de $ 3,000.

Dado que la tecnología aún es relativamente nueva y gran parte de la tecnología clave (en comparación con la tecnología habilitadora) está bajo mucha protección de patente, pasará un tiempo antes de que veamos pantallas de tinta electrónica (genéricas).

Constructor de juguetes
fuente
¿Para qué tamaño de pantalla era la cotización?
Kortuk
Eso fue para un 6 ", alrededor de diciembre de 2007. Estoy seguro de que los precios han caído significativamente desde allí, pero no de niveles" muy baratos ".
Actualicé
5

Aquí está mi experiencia con la tinta electrónica SeeedStudio.

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

Seeedstudio E-ink es un escudo compatible con Arduino. (Sin embargo, no es del todo compatible con Arduino. Ver Seeedstudio Forum: http://www.seeedstudio.com/forum/viewtopic.php?p=16432#p16432 )

Aquí está el código 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

En realidad, solo hay dos chips activos en el Shield, una ROM de caracteres y el controlador de tinta electrónica.

El código lee la ROM para obtener los patrones de bits, reorganiza los bits y luego los envía al controlador de tinta electrónica.

¡No pude encontrar el nombre de ningún fabricante en la pantalla de tinta electrónica, a menos que el fabricante se llame 'Buena pantalla'! (Estas son las únicas palabras en la parte posterior, y un número de parte GDE021A1) (EDITAR: Acabo de buscar en Google el número de parte nuevamente, y esta vez encontré al fabricante. ¡Es una buena pantalla!)

Mis pensamientos son que esto es perfecto para la aplicación correcta, solo necesito encontrar esa aplicación.

Buzby
fuente
Se recomienda publicar respuestas con al menos algunos detalles incluidos en la respuesta, por lo que si el enlace alguna vez se corta, la respuesta sigue siendo útil. La descarga del esquema o código de ese sitio también parece requerir un registro, tal vez podría incluir un poco de código en la respuesta y un enlace al esquema en algún lugar disponible públicamente.
PeterJ
1
Hola Peter, perdón por la mala etiqueta, soy nuevo en este sitio. Editaré la respuesta con más detalles. Buzby
Buzby
Acabo de descubrir que Good Display también ofrece una pantalla un poco más pequeña, la GDE0210C1 . Sin cable, las dimensiones exteriores son 59.5 × 26.6 mm. Les envié un mensaje preguntándoles cómo obtener la pantalla y si es posible conectar el cable en la dirección opuesta (reflejada).
feklee
5

PervasiveDisplays 1.44 "e-Paper display cuesta 13.87 USD (8.8 USD por 100pc.) 128 x 96 Pixeles, 111dpi, Dimensión exterior en mm: 40.512 x 28.80 x 1.00. Http://www.pervasivedisplays.com/products/144

Pero: no es tan pequeño como 10x10 mm, y está bastante seguro de que no es tan rápido como se requiere. Pero al menos los precios son significativamente más bajos ahora.

wintifrosch
fuente
2

Seeed Studio ofrece un protector de pantalla de tinta electrónica Arduino por 49.90 USD a partir del 2013-04-16 WEST. La resolución de la pantalla es 172 × 72 píxeles. La huella de PCB es de 68 × 63 mm. A juzgar por las imágenes, el componente de pantalla tiene menos de la mitad de la huella de la PCB.

feklee
fuente
0

Lo siento si llego un poco tarde, pruebe las pantallas SHARP de baja energía, están basadas en píxeles y ofrecen tamaños pequeños. Adafruit lleva estos y funcionan exactamente como las pantallas de tinta. Estos se encuentran en los relojes inteligentes de guijarros originales y con el software adecuado, funcionan de manera sorprendente.

jeff
fuente