2019-06-04 (Tu) Electronic Wind Chimes EWC

While looking for information on random number generation in microcontrollers, I found the Entropy library on Hackaday. Generating random numbers rather than Arduino's stock random() function probably won't create any better music, but something is more satisfying to say random instead of pseudo-random or prandom.

Adding the Entropy library did not use much microcontroller storage, two percent more, but the drain on the processor was noticeable. Generating the random numbers required a bit of time to pass for the clock jitter to become evident and spit out those unpredictable digits. Generating a new random number for each note capped the tempo at 112BPM, which is slow compared to many examples already recorded.

Three solutions were enabled to leverage the power of the Entropy library and the speed of Arduino's random() function. First, the randomseed() function was seeded with an Entropic number when the program started. Second, when the reset command was issued, randomseed() was reseeded with another value. Thirdly, for anyone who wants to hear random notes generated on-the-fly, the reset() will toggle between regular operation and a mode where the tempo is capped at 112BPM, but the notes are all entropic.

The video below demonstrated the prandom numbers generated at 300BPM with no hesitation, then switching to the random mode where the tempo dropped to less than 60. Finally, the speed was increased to the max and up to 112BPM of random notes.
(0:25) Prandom high speed to random low speed

The rest of the posts for this project have been arranged by date.

First time here?

Completed projects from year 1
Completed projects from year 2
Completed projects from year 3
Completed projects from year 4
Completed projects from year 5

Disclaimer for http://24hourengineer.blogspot.com and 24HourEngineer.com

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, is 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 property or assets based on their post.

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

2019-06-04

Comments