2017-01-05 (Th) Tough Pi-ano

Each octave of the Tough Pi-ano must be reprogrammable by a non-technical user to become any other octave. This means no complicated steps can be involved which might involve a computer or connectivity. To reprogram the octave all a user will have to do is change the number on a thumbwheel. The number isn’t encoded and doesn’t refer to a reference chart, it simply corresponds to which slot the octave should be placed. That number will also be labeled on the piano itself although they will just be “1,” “2,” “3” and “4” ascending from the left.

There were enough sound files for five octaves. A short video, 39 seconds, was made which cycled through the octaves using a rotating thumb switch and played notes from each octave. Then the thumbwheel was turned backward to demonstrate that any octave could be selected without having to cycle up. The switches ordered for this project had buttons at the top and bottom of the number rather than the rotating wheel but the output will be the same since they’re BCD (Binary Coded Decimal).

Programming could be considered functional but some code needs tuning. For example there is jitter on the key presses so that a note was played several times when the switches were pressed. This may not be an issue with the final switching method, magnets and reed switches, but it should be addressed. Two options were to find debouncing code or write code to find a rising edge and then sleep a fraction of a second. The problem with the sleeping (delay) is that it may ignore keypresses which happen almost simultaneously, like someone hitting the piano with a bat or a fist.

Another code piece which needs to be solved is finding a way to launch the python code automatically. Each time the Tough Pi-ano boots it should launch the Python code without prompting from the user. In this way it is headless software.

Video demonstration of different octaves


This disclaimer must be intact and whole. This disclaimer must be included if a project is distributed.

All information in this blog, or linked by this blog, are not to be taken as advice or solicitation. Anyone attempting to replicate, in whole or in part, is responsible for the outcome and procedure. Any loss of functionality, money, property or similar, is the responsibility of those involved in the replication.

All digital communication regarding the email address 24hourengineer@gmail.com becomes the intellectual property of Brian McEvoy. Any information contained within these messages may be distributed or retained at the discretion of Brian McEvoy. Any email sent to this address, or any email account owned by Brian McEvoy, cannot be used to claim property or assets.

Comments to the blog may be utilized or erased at the discretion of the owner. No one posting may claim claim property or assets based on their post.

This blog, including pictures and text, is copyright to Brian McEvoy.


2016-06-06 (M)

Comments