Blinkenlight


Home | Pages | Archives


Experiments

Welcome to the Blinkenlight Experiments. Here I document experiments that I did with the Blinkenlight shield for Arduino. The experiments range from simple beginner level light effects to completely unexpected surprises. The goal of my experiments is always to learn something about science and/or technology.

No matter if you are a beginner or advanced you may want to have a look at the Basic Sketches experiments. The basic sketches investigate what happens if all pins are “high Z“, “pulled up“, “low” and “high“. Unless you know the Arduino in depth there probably will be something interesting to learn for you.

Blinkenlight Shield all LEDs on

Blinkenlight Shield all LEDs on

If you are interested in visual effects you may want to start with the Basic Effects section. The first effect is a bouncing ball demo. Then there is the well known Larson scanner aka Knight Rider effect. After some more scanning effects I will go into persistence of vision effects.
Although these effects are simple from a technical point of view they already deliver visually stunning results. I then throw in some generator that will directly generate Arduino POV sketches from pictures. The basic effects section is finished with some simple VU meter and a helipad experiment.

Light Painting

Light Painting

There is an intermezzo sketches that fit nowhere else. They are to investigate one of the most basic aspects of every computer – counting. As it turns out this topic gives some unexpected insights.

In the next set of experiments I will investigate the issue flicker and go on to remove it. There are several different solutions and my experiments are by no means complete. My first solution is to provide a sketch generator written in Python to provide a flicker free version of a glowing bounce. In the next step I get rid of Python by pushing all of the computations into the macro processor and the compiler to achieve a flicker free Knight Rider effect. Just to investigate the limits of this technique I push it one more step further.

If you are more technically inclined then definitely you want to check out the Measurements experiments. The Blinkenlight shield is used to establish a low fidelity camera. Only 20 pixels but think about it for a second — LEDs are supposed to be light emitters. The surprise is not that this is a very good camera but that it detects anything at all.
The shield will also help to investigate Arduino crystal deviations. The unexpected result is that my simple hardware setup can detect crystal deviations. It even works for deviations below 1ppm although this seems quite impossible at first glance. Give it some thought how you would even try with two Arduinos and one Blinkenlight shield before you look up my solution. Actually large deviations are harder to detect but I fix this with an improved setup.
With some cheap externals part I will then push it so far as to use the Blinkenlight shield to monitor the power grid. That is THE electrical power grid.

Power Grid Monitoring

Power Grid Monitoring

The experiments were designed in succession. So some of them might be slightly easier to follow if you read them “front to back”. However I took some care that most of them can be understood without reading the preceding experiments.

If you like my experiments recommend them to a friend. If you do not like my experiments recommend them to a foe.

44 Responses to “Experiments”

  1. Thanks, looking to do an animated led-based art installation and this is very useful.

    By Skillz Flux on November 25, 2011 at 21:48

    1. Great. Tell me details / post a link once you are finished. I love to hear how others benefit from my work 🙂

      By blinkenlightblog on November 25, 2011 at 22:09

  2. Are there any plans to sell them in europe as well as USA?

    By tinkernick on December 3, 2011 at 22:02

    1. This is a very good question indeed. Selling them in Europe is much more complicated than in the US. The reason being RoHS and WEEE regulations. Since I am making almost no money out of the shields the impact of these regulations would imply that I would either lose money (by complying), have ridiculous hight prices (by complying), risk to lose a lot of money (by not complying) or that I need a distributor who is willing to sell them and leave some money for me. Right now this implies also that I will not sell in Europe. I will also not offer to import a batch of them because it would have the same regulatory implications. My only recommendation is to team up with some other hackers and order 5 at a time. Thus you get them at 5% lower price and can split the shipping costs.

      By blinkenlightblog on December 4, 2011 at 10:53

  3. Do you want to mount this on a rotation stage and make these 20 little buggers into awesome POV texts and images? Would be more consistent if you have another arduino control the rotation speed since you used up all the pins.

    By liudr on January 6, 2012 at 21:01

    1. Well, I would not really need another Arduino since I own an ISP. I could switch to external clock freeing one pin. Or I could switch to RC clock giving me one more pin in addition for a total of two pins. However before I will go into this direction I would rather create a dedicated POV from scratch. It would be definitely cheaper/ easier to mount to create a dedicated POV board.

      While we are at it: do you know of a reasonable good way for power transmission to the rotating board? I am always wondering what would be a really good solution. All the solutions I found on the internet so far do not look really convincing or are not really easy to build.

      By blinkenlightblog on January 7, 2012 at 09:38

      1. The best idea for simple, DIY rotational power transfer is using a headphone jack. These are very cheap/salvageable, reasonably low friction and last surprisingly well. You could also use laptop-style power adapters, but I have found these to generally be much higher friction.

        The other way I have done it is using a small metal bearing set inside a larger bearing, then soldering leads to both sides. This provides a very long-lasting solution, but can take considerable effort to find a large enough bearing to make the outer conductor.

        just my 2 cents

        By Brian on March 21, 2012 at 17:08

        1. I think I will try the bearing approach. This sounds definitely better.

          By blinkenlightblog on March 21, 2012 at 18:30

  4. I would love to see your finished rotating power transfer with bearings, I understand the concept but making one from scratch seems a bit daunting yet.

    By Bert on March 26, 2012 at 18:09

    1. I did some measurements with old bearings from my inlines skates. They are very lousy as connectors. Probably I need to get hold of unlubricated bearings.

      By blinkenlightblog on March 26, 2012 at 18:51

      1. This is what you may need for your POV project:
        http://www.adafruit.com/products/775

        By FlorinC on June 30, 2012 at 01:03

        1. Boah – yeah. Now that I have the proper search term Google delivers lots of options. Thanks for this great hint 🙂

          By blinkenlightblog on June 30, 2012 at 10:57

  5. Hey this is a really great project!
    Do you have the Eagle files or any other format available? I live in South Africa and shipping here is painful and just not worth it/

    By Mitchell on April 24, 2012 at 22:17

    1. I decided to not publish the CAD files to avoid copyright / licensing complications. If you want to copy my shield you have to layout it on your own. Sorry for that. In the hardware section you find the schematics and the layout. If you are etching your own boards the graphics published there are sufficient to do so. You might want to edit them slightly with the GIMP or any other graphics program. Please notice that you must neither copy my logo nor the RC logo.

      By blinkenlightblog on April 24, 2012 at 22:56

      1. So in the case of manually copying the board design, are there any right that you still hold, or can I essentially use it for any purpose I see fit?
        Thanks,

        By Mitchell on April 25, 2012 at 11:47

        1. My license conditions are stated here: about. So the board is released under Creative Commons NC-BY-SA 3.0.

          The idea behind this licensing is that I do not want any commercial use without my consent.

          What this implies in your legislation is something that I can not answer. My understanding is that as long as you are not using it for commercial purposes and refer to my original work and release it under CC-BY-NC-SA 3.0 you are always OK. If you do not want to follow these terms I can not tell you what this implies for you. If you just do some private copies nobody will care anyway.

          If you finish your copies send pictures. If you come up with cool experiments on your own please share!

          By blinkenlightblog on April 25, 2012 at 18:01

  6. Rugged Circuits says to go to the product page or assembly instructions; I’m sorry I can’t find them. Please help me. Thanks’ Dick

    By Dick Krause on June 3, 2012 at 02:15

    1. If you purchased the shield there is nothing to assemble. You can just plug it into your Arduino and that’s it. If you purchased the kit then you need to assemble it of course. I will add a page on assembling the kit ASAP. Click here to learn about assembling the kit.

      By blinkenlightblog on June 3, 2012 at 11:26

  7. Ich habe mir ein Shield von Franzis gekauft und bin hoch zufrieden damit. Habe aus Spaß mal den Sketch fuer die Binaer Uhr vom Lillypad installiert (www.arduinoevilgenius.com). Sie funktioniert genial. Pin 18 auf +5V stellt die Uhr. Viel Spaß damit…

    By Thomas on September 15, 2012 at 17:16

    1. Das freut mich. Dumme Frage meinerseits: woher hast Du das Shield? Bei Amazon steht das Shield immer noch auf nicht lieferbar. Meine Autorenexemplare habe ich auch noch nicht bekommen. Du hast folglich eins der allerersten abgegriffen. Aber wo?

      By blinkenlightblog on September 15, 2012 at 17:32

      1. Ich habe es bei http://www.reichelt.de gekauft. Ist gleich um die Ecke von mir.

        By Thomas on September 16, 2012 at 17:37

        1. Wie praktisch 🙂 Dann bin ich ja mal gespannt wann ich meine Exemplare bekomme.

          By blinkenlightblog on September 16, 2012 at 21:06

  8. Hello,
    I have an Arduino Leonardo (New) and Blinkenlight Shield (New too) and a IMAC
    I try all the basic sketches and some basic effects but the first 4 LEDs (Over Reset)
    doesn’t works. What’s wrong ?
    Thank you for help
    Patrick

    By Patrick Bouvry on September 26, 2012 at 20:11

    1. I moved your comment from the privacy/data protection page to the experiments page because I think it fits better here.

      With regard to your question: did you try the all high experiment as well? If so: does this issue show up with it as well? If the Blinkenlight Shield is positioned such that you can read the “Blinkenlight” from left to right, do you talk about the 4 leftmost LEDs?

      Does it make any difference if you wiggle the shield? If you have a voltage meter: which voltage can you measure at the corresponding pins? Which at the LEDs?

      By blinkenlightblog on September 26, 2012 at 20:17

  9. Hi. Nice board, got mine from a local book shop in Germany (Franzis package).
    First simple blinken tests show that LEDs 14 to 19 do not light up on an Mega2560 board. That would be the pins A0 to A5. Is that normal on that board that these pins are not useable as digitalout?
    Thanks!

    By Britzel on December 28, 2012 at 17:51

    1. As I have no Mega2560 board I can not test this. However looking at the pin mapping I would expect that this is normal. I would also expect that you can still use all LEDs of the shield. You would have to adapt the sketches slightly though. Have a look here for the details: http://www.arduino.cc/en/Tutorial/AnalogInputPins.

      By blinkenlightblog on December 29, 2012 at 08:43

      1. Hi, yes, figured that out a while later. Remapped pins 14 to 19 to A0 to A5 and all is fine now. Thanks again for the nice piece of HW and the examples.

        By Britzel on December 30, 2012 at 14:37

  10. Hi, I don’t recognize this well on the picture: does this blinkenlight shield cover all the analog inputs or can you still easily connect a pin? I would like to use this LED bar as a voltmeter (e.g. 10V -> all LEDs on, 5V -> half of them on, 0V -> all dark). Would that be possible?
    Thanks

    By Chris on July 31, 2013 at 16:15

    1. You can not measure 10V with an Arduino without some conversion in between. With regard to the layout you might want to have a look at the layout and the schematics.

      Since the LEDs put additional load on the analog pins they can not be easily used for voltage measurement. Either you need an opamp to decouple the load or you need to cut one of the traces to on of the analog pins. Or you desolder one of the analog pins from the shield which is easy and easy to revert.

      By blinkenlightblog on July 31, 2013 at 18:03

  11. How do you make a regualal Led Flash Light that can be adapted a chase sequence ?

    By Aboubakar on November 5, 2013 at 01:35

    1. You need to be more specific. My chaser experiments cover the software side of creating chasers. What exactly are you missing?

      By blinkenlightblog on November 5, 2013 at 21:25

  12. Where would I be able to buy a sheild like this in Australia?
    thanks,
    Kyle

    By Kyle on July 17, 2014 at 05:52

    1. Right now the shield is distributed by Franzis (Germany). They have exclusive rights for selling it. If you can find anything from “Franzis Verlag” in Australia then ask them if they can order one. Otherwise I have no idea where you could get one. Of course you could order one from Germany (Amazon) but shipping might be expensive. Amazon charges 7 Euro plus 4 Euro / kg for shipping from Germany to Australia.

      By blinkenlightblog on July 17, 2014 at 06:41

    2. Hallo Kyle!
      I found a Reseller in Eutin, Germany who sells via E*** and also would ship to Australia. But You must contact the seller for the costs. Here the Item Number: 361346768351

      By Johann on August 3, 2015 at 21:24

  13. Just a big THANKs to you, Udo! When starting to tinker with Arduinos, your experiments where the first code examples I studied. And I understood nothing at the beginning. I could not believe how little code can create such stunning effects.

    And now arround 2 years later I am doing things like this with leds myself:
    https://www.youtube.com/channel/UCkOEj4gOrUq1rbKElkmdo9g/videos

    By Stefan Petrick aka "Helmuth" on December 2, 2014 at 12:33

    1. Cool stuff. Did you also publish your code somewhere?

      By blinkenlightblog on December 2, 2014 at 20:32

      1. Everything based on the Simplex/Perlin noise functions I will publish within the next days.

        Beside that everything else I showed in the videos is somewhere in here already:
        https://github.com/StefanPetrick/FunkyClouds/blob/master/FunkyClouds

        By Stefan Petrick aka "Helmuth" on December 2, 2014 at 22:31

      2. For now the code for some noise examples is available here:
        https://gist.github.com/StefanPetrick/2f448d2e77e091d6fb1b

        By Stefan Petrick aka "Helmuth" on December 4, 2014 at 19:08

  14. Hi, I am wondering if this would be able to control 150-300 lights, such that a dot would crawl from one end to the other?

    By Dunk on August 26, 2015 at 18:08

    1. Yes, you can control 200-300 lights. But not with this approach. There are not enough IO lines. For this amount of lights there exist dedicated driver chips (aka. multiplexers).

      By blinkenlightblog on August 30, 2015 at 11:51

  15. Hallo Herr Klein, ich nutzen einen Uno und kann Sketches uploaden. Sobald ich den Blinkenlight aufgesetzt haben, funktionieren die Uploads nicht mehr. Woran kann das liegen?

    By Kay Clemens on November 13, 2016 at 16:55

    1. Möglicherweise ist bei den neueren Unos der Ausgang des USB-serielle Schnittstellenwandlers nicht mehr stark genug. Aus diesem Grund gibt es eine Steckbrücke die man für die Dauer der Programmierung entfernen kann. Alternativ kann man auch mit einem ISP (externes Programmiergerät programmieren). Das in der Regel sowieso besser als die billige Lösung mit dem Bootloader.

      By blinkenlightblog on November 13, 2016 at 19:17

  16. I want to make a project wherein when motion is detected in pir the lights turn on and theses lights continue to stay on until i switch it off using my android phone…can u please help me with it..

    By Racsy on September 9, 2017 at 07:00

    1. Of course I will be happy to help. However take notice that this will not be part of my open source efforts. What you want is something called “consulting”. As a consequence I will charge it at a professional rate. If you want consulting please contact me by email.

      By blinkenlightblog on September 11, 2017 at 06:52

Leave a Reply



Mobile Site | Full Site


Get a free blog at WordPress.com Theme: WordPress Mobile Edition by Alex King.