Introduction: Project 1: Demo Video in C Language

About: IBM Data Scientist Hobbyist

Hello fellow hobbyist,

In this project, I wanted to create a small display demo that will serve as a good intro to my lab.

To do so, I have made a great use of the following components on eBay:

- Arduino Nano : https://www.ebay.ca/itm/MINI-USB-Nano-V3-0-ATmega...

- I2C OLED LCD Display: https://www.ebay.ca/itm/0-96-I2C-IIC-Serial-128X6...

- Adhesive Heating Gun : https://www.ebay.ca/itm/20W-Electric-Heating-Melt...

The following are the steps needed to finish this project

Step 1: Solder the Headers to Both the Arduino and LCD Display

Step 2: Bend the JTAG Header on the Arduino Nano That Would Serve As a Mount for Our LCD Display

Step 3: Using the Linked Adhesive Gun, Glue the Small Display Into the Arduino Nano.

Step 4: Make the Right Connections

Now that the whole set up is put together, it is time to make some connections. For that, you will need to establish the below connections.

In doing so, you will also need to shorten the wires, if you are the standard jumpers as shown below. A quick rule of thumb is to twine the wire as such to estimate the exact location for making the cut.

Step 5: After Making the Cuts, You Will Need to Solder the Two Ends of the Jumper Wire As Follow

Step 6: Finish All the Connections. Once That Is Done, It Is Now Time to Program This Little Set Up.

Step 7: Get Ready to Do Some Coding

before putting any code into the Arduino you will need to download a couple of libraries first. The following two links should get you there:

Adafruit-GFX-Library: https://github.com/adafruit/Adafruit-GFX-Library

Adafruit-SSD1306: https://github.com/adafruit/Adafruit_SSD1306

I am assuming that you know how to add a compressed library (.zip) to the Arduino IDE. If otherwise, please use the following link to learn more about the subject :

How to add a .zip library to Arduino IDE: https://www.baldengineer.com/installing-arduino-li...

Step 8: Add More Cool Features to Your Program

This is technically not a step, but in case you want to include more cool features such as adding pictures into your screen, and for more tedious work, may be add a gif to the display you will need to use a couple of links:

Link 1 : https://image.online-convert.com/convert-to-bmp

Link 2: http://marlinfw.org/tools/u8glib/converter.html

The first link, link1, helps you convert an image with ANY size to the appropriate size of 128X64 which represent the dimension for the OLED display. That being said, you can make the conversion to smaller or bigger dimensions based on the final product at hand. As for the second link, it would allow you to convert the image into a bitmap format ( bunch of 0’s and 1’s assorted together into a matrix). Storing this last in the program memory of the Arduino would help display it later using the “display.drawBitmap()” function.

Step 9: Be Creative, Sky Is the Limit

I am linking the my codes to achieve the above video (GitHub link). I am also attaching a slower version of the above video.

link: https://github.com/dafuqdo/Demo-animation-in-C/tree/master

PS: please pay close attention to the processing of the photo before changing them into monochrome images. The end result can be good or bad based on that. I recommend adjusting the contrast to a level that encompasses the threshold filter that is gonna come after.

Feel free to get inspired, change, and use some of the features included.

If you liked this please like, share, and subscribe for more interesting contents.