Output Devices

This week I wanted to become familiar with using screens as output devices. I selected an SSD1306 device. I want to incorporate this device into my final project.

I started by trying to run test code on the SSD1306 device. This proved challenging because I struggled to find the proper compiler. Eventually this one worked:

U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);

This resulted in a series of cool animations

SSD1306 test code

Animation results from SSD1306 test code.

From this point it was pretty easy to edit the code to display what I wanted. I made the following screens in contribution to my final project.

Loading/Initializing Screen:

Loading/Initializing screen

Loading/Initializing screen display.

Sensor Heating Screen:

Sensor heating screen

Sensor heating screen display.

Screen Indicating the Device is Ready for Breath Input:

Device ready for breath input

Screen display when ready for breath input.

This is the code I used:

Arduino code for SSD1306

Code used to program the SSD1306 device.

Reflection

I had to be home this week, so I wasn't able to complete the group part of the assignment. This was an enjoyable week because coding the OLED screen could work in contribution to my final project.