Monday, March 1, 2021

Arduino Reading The Analog Voltage And Display On The SH1106 OLED GLCD

Overview

Analog Uno has up to six analog input pins ranges from A0 to A5. Since the ADC module of ATMega328P is 10-bit resolution, the digital reading result ranges from 0 to 1023. By default the reference voltage of the Arduino module is internally connected to the +5V VDD.

With the analogRead() function, it return the 10-bit analog reading from any channel between A0 and A5. The argument of this function counts from 0 to 5, representing the A0 to A5 analog channel.

SH1106 OLED GLCD is a modern easy to use with a simple shared library. The interfacing to this display from Arduino requires only four pins.

Arduino Interfacing And Programming

In this example I use the analogRead() function to read the analog input voltage fed to A0. A POT as shown in the picture below varies the input voltage from 0 to 5 V.

Arduino Reading The Analog Voltage And Display On The SH1106 OLED GLCD
A picture of this programming example

Without any voltage divider circuit to scale down the input voltage, the maximum voltage reading is 5 V. I wish to make a simple 100 V DC voltmeter at next post.

Arduino Reading The Analog Voltage And Display On The SH1106 OLED GLCD
Schematic Diagram

I add a by pass capacitor C1 to eliminate noise. The capacitance could be a 10 nF or a 100 nF.

Arduino sketch lists below.

Arduino Reading The Analog Voltage And Display On The SH1106 OLED GLCD
I took a screen shot of sketch due to lack of code formatting in blog

You can click here to download archive of this example.


No comments:

Post a Comment

Search This Blog

Labels

25AA010A (1) 8051 (7) 93AA46B (1) ADC (30) Analog Comparator (1) Arduino (15) ARM (6) AT89C52 (7) ATMega32 (54) AVR (57) CCS PICC (28) DAC (1) DHT11 (2) Display (105) Distance Sensor (3) DS18B20 (3) dsPIC (2) dsPIC30F1010 (2) EEPROM (5) Environment Sensor (4) esp8266 (1) I2C (29) Input/Output (67) Interrupt (19) Keil (5) Keypad (10) LCD (46) Master/Slave (1) MAX7221 (1) MCP23017 (5) MCP23S17 (4) Meter (3) MikroC (2) Motor (15) MPLABX (66) Nokia 5110 LCD (3) OLED (2) One-Wire (6) Oscillator (8) PCB (6) PCD8544 (3) PCF8574 (5) PIC (107) PIC12F (2) PIC16F628A (2) PIC16F630 (1) PIC16F716 (3) PIC16F818 (10) PIC16F818/819 (2) PIC16F84A (15) PIC16F876A (1) PIC16F877A (9) PIC16F88 (1) PIC16F887 (60) PIC18 (19) PIC18F1220 (4) PIC18F2550 (3) PIC18F4550 (12) PWM (11) RTC (8) Sensor (10) SH1106 (1) Shift Register (11) Shift Registers (2) SPI (24) STM32 (6) STM32 Blue Pill (6) STM32CubeIDE (6) STM32F103C8T6 (6) SysTick (3) temperature sensor (11) Thermometer (21) Timer/Counter (30) TM1637 (2) UART (7) Ultrasonic (4) Voltmeter (7) WDT (1) XC16 (2) XC8 (94)