I've succeeded in taming the LED matrix with the FastLED library. That's a new one for me. Because of how I chose to install the LED array, and how I'd like to depict symbols to be almost-human-readable in the firmware as a 2-D array, I had to rotate the image CW 90 degrees when translating from the "monochrome screen memory" array to the display. Here's what this progress looks like.
Hopefully that's recognizable... I need work on my shutter tech skills to capture the OLED without letting the electronic shutter mess it up.
I've begun implementing the core memory control, at the lowest level. I'm working on an approach that is flexible, but still abstracted enough to make it easy to follow the logic. This is one of the parts of the project that I think would be a highlight for someone wanting to get into the nitty gritty of core memory control schemes. Because none of the decoding is in hardware, you get to configure it however you'd like in the firmware!
Also had another eureka moment, maybe. I've been considering adding a few more magnetic features, since the theme of this project is fundamentally magnetism. I wonder if I can put in a small speaker and have it serve all of these functions, depending on how the coil is driven:
- Audio (in the human range and beyond)
- Vibration for haptic feedback
- Nearfield Magnetic Induction (NFMI) two-way communication between adjacent boards (send AND receive with the same coil)
I'll be chewing on that and experimenting in the near future to see how far that concept might go.
Oh, and I 3D printed a stylus with a small magnet on the end. It works well with the other 4x8 core shield, and I expect it'll work well for this arrangement. The cores are almost exactly twice as far apart now, which should make them more discretely controllable. In the other shield concept the magnetism from the stylus was fairly wide spread and would often affect cores outside of the one you wanted to control.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.