Now featuring sound!
Enjoy 4K responsibly.
Team ACM
Now featuring sound!
Enjoy 4K responsibly.
So here’s our codes detailing how we did things. This ticks the clock, checks if it needs to play a sound, and manages the sound it plays.
So one of the more… complicated things we ran into while programming this thing was being able to play the chime while keeping the clock ticking. The board didn’t have any multi-process support (unless we fancied writing our own scheduler), so we couldn’t just have it run both functions simultaneously. Instead, we got a bit more creative (desperate?) and made it so that while the clock is ticking, it is also checking to see if it should be playing a sound. See lines 30 and on for how we did this. We used ticks to count how long a note should play for (and for extending the DAAAAAAAAH at the end) The extension of the last note in particular was incredibly trying. We found that depending on the amount of ticks we told it to wait, the sound we continue (or not). However, the compiler did not like this solution. Any tick count below 55000 resulted in a short length, and any above 55000 resulted in a just too long length. BUT! adjusting the tick count for the length of the first three notes (which all play for the same amount of time) would in fact actually basically adjust the play time accordingly! We stuck with the long one in the end, but still have no idea why the compiler couldn’t count correctly. Maybe, just maybe, it’s bad :p
Live! (from the past) Actual video footage of our project functioning (partially)!
YOU CAN SEE THE INDIVIDUAL PIXELS!!
(in 4k at least)
So what exactly are we up to? After project v1.0 crashed and burned (figuratively) all efforts have been moved v2.0. Our current project is to construct a cute little binary clock!
Just look at the little guy 😀
Here’s a close up of all that heart-pounding binary counting action!
The big idea here, is that in addition displaying the time in the best way possible, it also blinks the on-board LED’s like the second hand of an analogue (deprecated) clock. It also plays a little *boop* every quarter second (for demo purposes. No self respecting clock should *boop* that often)
Our original plan was to interface with a Trellis board and do some fancy lighty buttony things, but we were unable to successfully communicate with the board from our A3BU. We found great difficulty in finding appropriate documentation for communicating from our A3BU via I2C.
Attempting to establish communication!
The super cool Trellis board!
…That we couldn’t get to work 🙁 All that soldering though…
Team ACM is now moving forward with project v2.0!
Here’s a tease: