Flipdots

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Zur Navigation springenZur Suche springen
2x3 Panele ca 90x 50 cm gross


muccc

guthub

bytewerk doku

youtube vom 30c3

Bastelerfahrung von Mathias

Pins von Interesse:

  • 3 ROW_DATA
  • 5 STROBE
  • 7 BLACK_OUTPUT_ENABLE
  • 9 WHITE_OUTPUT_ENABLE
  • 11 COL_CLOCK
  • 13 ROW_CLOCK
  • 15 COL_DATA
  • 17 ROW_DATA_OUT (zum Kaskadieren)

Einfach gesagt wählt man eine Reihe aus indem man in ROW (pro Panel) 24bit hineinschiebt. Die aktive Reihe wird 1 gesetzt, der Rest 0.

 for(i=0;i<24;i++){
  change_pin(ROW_DATA,i==row);
  toggle_pin(ROW_CLOCK);
 }

Dann kann man gleichzeitig 16-bit in eine Spalte schreiben.

 for(i=0;i<16;i++){
  change_pin (COL_DATA,(data>>i)&1);
  toggle_pin(COL_CLOCK);
 }

Jetzt muss man einmal die Ausgänge im Display mit strobe updaten:

 toggle_pin(STROBE);

Und nun wählt man ob die Pixel, welche man in der Spalte vorher gesetzt hat, nach schwarz oder weiß setzt:

 change_pin(BLACK_OUTPUT_ENABLE,!color);
 change_pin(WHITE_OUTPUT_ENABLE,color);
 _delay_us(color?1500:3000);
 change_pin(BLACK_OUTPUT_ENABLE,0);
 change_pin(WHITE_OUTPUT_ENABLE,0);

Und eine Spalte zu beschreiben kann man also die Spalte einmal komplett auf schwarz setzen und dann die weißen Pixel setzen die man will:

 set_row(row,65535,0);
 set_row(row,pixel_mask,1);

oder unauffälliger einfach die toggeln, die man toggeln will.

 mask=old_pixel_mask ^ pixel_mask;
 set_row(row, old_pixel_mask & mask, 0);
 set_row(row, pixel_mask & mask, 1);

Spannungsversorgung

Achtung, das Panel braucht beim Schalten extrem viel Strom! Unsere Netzteile hier schaffen das nicht. Mit einem ausreichend großen Kondensator sollte man das ausgleichen können.

And some simple math about the current draw… the panel takes 1.6A while updating for two seconds. You need 3ms per row to switch. It is assumed that the current through the solenoids rise linear. And there are 20 rows. That’s 10 rows per second which means a duty cycle of 0.03 (Ton/Toff). For a short moment the panel pulls 50Amps averaged and 100Amps peak. That's almost impossible to handle for SMPS supply without nice caps. And a very rough estimation about the inductance of one coil: There are 16 coils per row which means one coil pulls 6.25Amps peak. I=U/L*t -> 6.25=24/L*0.003 -> L=22uH

Bastelerfahrung von leyrer

I just played around with Netzteil, Treiberplatine und rpi that came in the yellow box.

  • Thanks to maclemon, the Raspberry Pi for the Flipdots display now has the static IP4 address: 10.20.42.253 (so just connect it to the ethernet and ssh into it). Username/password are the raspbian defaults.
  • The spi-setup script already ran.
  • Watch out that you connect the power ot the panel to the correct pins of the Treiberplatine, otherwise the fuse will blow.


/home/pi/leyrer/flipdots/rpi-demo/demo had a "one-off" error. Finally got it working. :D http://youtu.be/mN7yumsafPY

Now working on the udp-receiver.

Want: http://youtu.be/7oSH-aZKyU8 & http://youtu.be/x3jkoIyJgoc