mgdevereux / FlipDots

Processing sketch for draw/animate and control FlipDot displays

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FlipDot display

This repo contains a Processing sketch to control FlipDot panels from AlfaZeta. It uses a virtual display you can draw and animate on that then gets cast to your FlipDot display panels.

Note: if you don't have a FlipDot display you can still use this software as a FlipDot simulator.

FlipDot Controller simulator

FlipDot-Processing.mp4

What are FlipDot displays?

Flip-dots or Flip-disc, are made of small disks with a permanent magnetic that physically flip back and forth revealing one side or the other. Powered by a small electromagnetic to flip it retains its state even after power is disconnected. Click here if you’d like to know more.

The AlfaZeta XY5 FlipDot display includes its own controller board that communicates over a RS485 serial connection using its own protocol. This repo simplifies connecting and streaming images to the FlipDot display.

Hardware requirements

Remember if you don't have a FlipDot display you can still use this software as a FlipDot simulator.

Setup

Each 28x14 panel is made up of two 7x28 panels on one board, each with their controller we need to daisy chain together.
!SAFETY PRECAUTION! If you don't know what you're doing, ask for help. 24V might not kill you but it will hurt and break your equipment.

1) Wiring

FlipDot control board

  • Connect 24V power supply to the 23V DC in screw terminals
  • Connect RS485 +/- with a JR11 plug or the screw terminals

2) DIP switches

Each controller has two DIP switches that need to be set. 3-pin Baud-rate and 8-pin Panel address

FlipDot DIP pins

Baud-rate (3-pin DIP)

Communication transfer rate is set as follows. For my setup I went with the fastest value of 57600 ↓↑↑ as I found 9600 too slow to handle 20fps.

Value ON Baud rate
0 ↓↓↓ N/A
1 ↑↓↓ N/A
2 ↓↑↓ N/A
3 ↑↑↓ 9600
4 ↓↓↑ 19200
5 ↑↓↑ 38400
6 ↓↑↑ 57600
7 ↑↑↑ 9600
OFF

Address (8-pin DIP)

This is the address ID used when pushing out the image data, each panel listens for its data.

Pins Description
0-5 Address in binary code (natural)
6 Magnetising time: OFF: 500μs(default), ON: 450μs
7 Test mode: ON/OFF. OFF = normal operation

Note: Reducing the magnetising time to 450μs will flip the dots faster but runs the risk of them not flipping at all.

3) Serial data

To send frame data from your computer to the display you can do so over ETH or USB. For small display USB is fine but larger display will require an ETH solution.
See suggested serial products above.

ETH convertor

PC > ETH > ETH-RS485 convertor > FlipDot panels

For an ETH solution set the following settings in config.pde
Set castOver to 1
List all ETH convertor IP addresses and port numbers in netAdapters

USB convertor

PC > USB-RS485 convertor > FlipDot panels

For an USB solution set the following settings in config.pde
Set castOver to 2
List all USB convertor COMs port address and baud rate serialAdapters

4) Processing

Install Processing 4 for your system and launch FlipDot/FlipDot.pde

config.pde
Make sure you have set your convertor type as shown above.

Set config_cast to true to cast data.

Next set the FlipDot panels and display settings config.pde. For a Single 28x14 panel you can leave config.pde as it is.
Add a config line for each FlipDot panel you have:
panels[0] = new Panel(0, 1, 0, 0);

  1. Adapter ID (see net/serialAdapters)
  2. Panel ID (set on the 3-pin DIP switch)
  3. X-position in total display
  4. Y-position in total display

Finally set the number of panels you have in the following line: Panel[] panels = new Panel[2];

See config.pde for more example and layouts.

5) Coding animations

Now you can draw and animation whatever you want! Everything gets drawn to virtualDisplay, I recommend looking at example_anim.pde and example_blips.pde for some example on coding animations.

Don't forget to share your creations with me @motus_art on IG/TW

FlipDot.mp4

About

Processing sketch for draw/animate and control FlipDot displays

License:GNU General Public License v3.0


Languages

Language:Processing 61.7%Language:JavaScript 36.4%Language:HTML 1.7%Language:CSS 0.2%