Programming BlinkyTiles

This discussion was created from comments split from: BlinkyTile Programming.

Comments

  • Hello Blinky makers. I am new to the discussion forum, so please forgive me if I violate any arcane protocols of maker etiquette.

    I am planning to get some BlinkyTiles soon and will probably start by building a dodecahedron. I have downloaded and installed PatternPaint, since it looks like that will be easier to get started with than Processing (or Arduino).

    (BTW - attempting to install the AppImage for PatternPaint 2.3 on my Toshiba Satellite running Ubuntu 14.04 gave me a core dump, but 2.3 installed and seems to run OK.)

    I'm curious about a couple of things:

    1. How do you know what the pattern you draw is going to look like on the BlinkyTile before you upload it? The Output Preview is a little confusing - it looks like there's a column of 55 pixels that can be individually colored. Each pentagonal BlinkyTile has 5 LEDS to a side for a total of 25 LEDs. How do those match up with the output of the preview screen?

    2. Also, How do you use PatternPaint to individually control BlinkyTiles, so they display differen patterns at different times.

    I know I should probably just build it, plug it in and the answer will be intuitively obvious, but I thought I would ask and see if I can experiment a little with the software first.

    Thanks,

    -Jack

    1. You can plug the structure in and see the results in real time. It's unfortunately a little confusing for the BlinkyTile because the program doesn't have a way to tell how you assembled the tiles.
    2. Each row corresponds to the LED on a single BlinkyTile. The BlinkyTiles only have one LED each, located in the center of the tile.
  • Thanks, Matt.

    Actually, I think I've started to get the PatternPaint thing figured out.

    I've also learned a lot by reading the documentation for Daniel Garcia's (https://github.com/focalintent) FastLED library.

    As far as I can tell, it's specifically for Arduino, but conceptually, it's helped me get a better understanding of how LED's are addressed. You probably know all about it, but just in case, here it is:

    https://github.com/focalintent/FastLED-Sparkcore

    http://fastled.io/

  • Another question about BlinkyTile programming (this one actually includes wiring as well):

    I noticed that in Jason Coons' description of using an Arduino to control BlinkyTiles:

    https://github.com/jasoncoon/BlinkyTileFastLED

    he connects 5V, GND and a digital output pin (0) on the Arduino with jumper cables to the power, ground and data sockets on the BlinkyTile adapter cable.

    He specifically mentions that he does not connect to the address socket, but doesn't say why. Presumably addressing takes care of itself somehow. Can someone explain this? And are there circumstances under which you would need to connect an output pin to the address line on the BlinkyTiles? What kind of code would be required to use this pin?

  • The address pin isn't needed to control the tiles- it's only needed if you want to reprogram the DMX channel that an individual BlinkyTile will respond to. We program them ahead of time (to match the number silkscreened on each individual tile), so there's normally no need to reprogram them.

  • Before I start fooling around with PatternPaint uploads to BlinkyTiles, I wanted to ask a couple of questions:

    If I use the "restore firmware" option, will it restore the original programs (with button selection) to the LightBuddy, or is the firmware for the LightBuddy different from the firmware for the BlinkyTape controller? I really like one of the patterns in the default software, and don't want to lose it until I'm more skilled at creating my own.

    Also, if you go to "firmware manager," you have the option of either "default" or "factory." What's the difference?

  • The 'restore firmware' and firmware manager are actually just for the BlinkyTape, they don't (currently) affect the BlinkyTile controller.

    On the BlinkyTape, the patterns are all stored in the same place (in the microcontrollers built-in memory), and the firmware is re-uploaded each time the patterns are saved to the controller. The 'default' firmware is the one that can play back PatternPaint animations, and is uploaded when you save patterns to the controller. The 'factory' firmware is a slightly different one that comes pre-loaded on the BlinkyTape, and has patterns that were written as Arduino programs rather than images.

    On the BlinkyTile controller, the patterns are stored in an external flash chip, so the firmware is not affected during upload. The patterns that are pre-loaded on the controller are also included in PatternPaint (file->examples->blinkytile), so if you overwrite them you can re-load them from there.

Sign In or Register to comment.