August 8th is Happy Hacking Day in Japan, because "Happy Hacking" sounds like 8 8.
This year, I explain some ideas behind FSM-55 and show the demonstration of "bricoleur" of mine.
FSM-55 and its applications
The board is FSM-55 (Flying Stone Mini Go! Go!), which I designed in 2014: http://www.seeedstudio.com/depot/FSM55-LED-Matrix-Display-p-2121.html
Originally in 2014, I used it as a board to fly "Hacker Emblem". In 2015, I put a speaker to play a "Tulip" song by Takeshi Inoue.
Since my education was electric engineering in 80's, using MCU for such a control is considered the Wrong Thing for me.
You know, LED Matrix Display can be more accurately controlled by an abstraction of finite-state machine. It can be written by Verilog or VHDL.
It is not needed to use Turing Machine to solve a problem for smaller class. Yet, in a programming language, it is usually not as accurate as the one of finite-state machine abstraction.
Still, people consider it's OK not accurate enough. It is cheap and easy to solve with MCU, wasting gates. Software is flexible.
This year, I learned some students learn BoneScript to control LED blinking by BeagleBone Green. Even for such a simple control, we use full-fledged POSIX system with TCP/IP stack. What a waste of gates and transistors! And since it's so complicated, it's very difficult to accurately control timings. Here, I find the structure of self-generation of problems.
In some sense, I think that it's not an engineering but the methodology of "The Savage Mind"; We construct things using whatever materials are at hand.
Bricoleur by Happy Hacking Keyboard
It reminds me that I have a good demonstration of bricolage.
It is AC100V power control using Happy Hacking Keyboard.
- The AC100V blue LED light is connected to USB-coupled AC Power Tap
- USB-coupled AC Power Tap is connected to the USB Hub of Happy Hacking Keyboard
- Happy Hacking Keyboard is connected to PC
For software part, I use:
And here is the movie.
To turning off the light, I did:
sudo python ./hub_ctrl.py -P 3 -p 0
To turning on the light, I did:
sudo python ./hub_ctrl.py -P 2 -p 1