Week 6: Embedded Programming
Week 6 was more of a continuation of what we worked on in the week prior. We continued to develop our knowledge on using the BBC Microbit, trying to get an OLED screen to work with the Microbit, to try and get it to tell the temperature. Sounds simple, but there was a lot of work that went into actually getting it to work and getting to understand the OLED screen, and specifically how it works in reference to the Microbit.
To get started, we were given a code to copy and make in MakeCode which I mentioned in week 5. For the most part this code was correct from what I understood, but when it came to implementing it, and actually getting to use it to make an OLED screen work, there were some issues.
We were using the OLED screen to help us tell the temperature of the room we were in. This would make use of the internal thermometer in the Microbit. Through the tutorial we had, I made an unholy amount of attempts to make the OLED work, below is an image of the number of saves I made as I was iterating and changing around the code.
sss Some of the things I learned about this specific OLED, is that it works as a grid, in terms of where I can have text or numbers show. I believe it is an 8×6 grid. But an issue with this OLED is that the first and last rows are cut off, so any text which I set for those parts of the grid, simply do not show. I did not find this out on my own, a lot of the credit goes to my peer Kyle who has a lot of experience with technology like the Microbit.
I learned that the Microbit can be very finicky in terms of how I would change one small variable, and it would affect the outcome of what shows on the OLED massively. Below are the before and after videos of what my many attempts at working with the OLED led to.
FIRST ATTEMPT OLED TEMPERATURE VIDEO
FINAL ATTEMPT OLED TEMPERATURE VIDEO
I managed to change the static line that was showing in the first attempt into a signal saying MIN or MAX to signify that the number showing is the minimum temperature when it shows MIN, or the maximum temperature when it shows max.