Sir Boateng Online
  • Home
  • News
  • Technology
  • Entertainment
  • Lifestyle
  • Review
  • GES Resources
    • Download SHS Syllabus in PDF | For Ghana Schools
    • Download free J.H.S Syllabus in PDF
    • Teaching and Learning Resources Free
    • New GES Time Table For Basic Schools
    • New GES Curriculum for Basic Schools
  • NTC Resources
    • How to register for the Licensure exam.
    • Learning materials for NTC Essential Skills
    • Learning materials for NTC Literacy
    • Learning materials for NTC Numeracy
No Result
View All Result
  • Home
  • News
  • Technology
  • Entertainment
  • Lifestyle
  • Review
  • GES Resources
    • Download SHS Syllabus in PDF | For Ghana Schools
    • Download free J.H.S Syllabus in PDF
    • Teaching and Learning Resources Free
    • New GES Time Table For Basic Schools
    • New GES Curriculum for Basic Schools
  • NTC Resources
    • How to register for the Licensure exam.
    • Learning materials for NTC Essential Skills
    • Learning materials for NTC Literacy
    • Learning materials for NTC Numeracy
No Result
View All Result
Sir Boateng Online
No Result
View All Result
Home Technology Electronics

How to connect multiple LCD to Arduino in Proteus

Sir Boat by Sir Boat
20th June 2021
in Electronics
Reading Time: 10 mins read
521 5
0
How to connect multiple lcd to arduino in proteus

Multiple LCD to Arduino Uno

602
SHARES
1.9k
VIEWS
Share on FacebookShare on TwitterShare on WhatsApp

If you have worked with Arduino and LCD (Liquid Crystal Display) for some time now, you would have been wondering how to connect two or more LCD to the Arduino board and perhaps simulate it with the Proteus CAD software. If this is the case, then take a cup of coffee, relax and read this little piece which has been specifically crafted to connect two or more LCD to Arduino in Proteus and other projects.

After going through this article, you should be able to connect up to seven (7) individual LCDs to a single Arduino board (I used Arduino Uno in this tutorial) but you can use any Arduino board you are comfortable with provided it supports I2C protocol. The LCDs does not necessarily need to be the same. In fact, you can connect 16×2 LCD, 20×4 LCD or 128×64 LCD to the single Arduino board at the same time and program them to display different parameters at the same time.

Check the video below:

Demo: Arduino with multiple LCD in Proteus

Read Also: Getting Started with Arduino Programming for Beginners

Table of Contents

      • Things needed for simulation
      • Things needed for real design and implementation
  • Use Proteus to connect the multiple LCD with the Arduino
  • How does it work?
  • Using Real I2C Backpack

Things needed for simulation

  • Proteus ISIS software – Check this video link to install the latest version or fix errors with an existing one. This software will be used to draw the circuit that connects multiple LCD to the Arduino.
  • Arduino Core and Sensor Libraries for Proteus – Get them here or follow this video link to learn how to install them. This includes the Arduino Uno and LCD which can be used to simulate this multiple LCD with Arduino project
  • 16×2, 20×4, or 128×64 Arduino LCD libraries for Proteus
  • PCF8574A 8-bit I/O Expander chip for the I2C bus. This library is part of the default proteus components. The purpose of this component is to connect the LCD to Arduino using the I2C protocol.

Things needed for real design and implementation

  • Arduino Development Board (Uno, Nano, Mega)
  • 16 x 2, 20 x 4, 128 x 64 LCD with I2C Backpack
  • Male to Female Jumper wires

This tutorial (How to connect multiple LCD to Arduino in Proteus) to focus on Proteus simulation, however, the same principle works on real design as well. And believe me, the real design is even much easier than the simulation, therefore, being successful in the simulations means you could build the real circuit too.

First, we will use the PCF8574A 8-bit I/O Expander chip for the I2C bus to connect to the various LCD. As the individual chip configuration allow the connection of up to 8 LCDs, I decided to tinker with it in Proteus to see whether it really works. Here, my primary goal is interface 4 LCDs with two wires: SDA and SCL from an I2C bus. With direct Input / Outputs of a microcontroller, you need at least 48 lines to control all the displays.

Read Also: Arduino 4-Way Traffic system with Pedestrian button in Proteus

This is not feasible with the use of microcontrollers or development boards. For instance, the Arduino Uno is equipped with only 14 digital input/output pins and 6 analog pins. This means, in practice, the total usable pins of the Arduino Uno is 20 which is far less than the required pins of 48 to connect 8 pieces of LCD to the Arduino.

However, the option presented here will not only miraculously reduce the number of pins but also make interfacing, configuration and programming much easier. In fact, we only need two (2) pins of the Arduino to connect the 8 LCD. The funny part of this option is that none of the digital pins is used.

Use Proteus to connect the multiple LCD with the Arduino

Open Proteus and draw the circuit to connect the various LCD to the Arduino Board as shown below.

The circuit to connect multiple LCD to Arduino in proteus
Circuit: How to connect multiple LCD to the Arduino Uno in Proteus

Alternatively, you can download the complete project together with the Arduino Sketch with the link below:

multiple_LCDDownload

The circuit is super simple as can be seen above. Now upload the Arduino sketch and run the simulation. If you don’t know how to upload the Arduino code into the Arduino module in Proteus, or if you are just starting out Proteus please refer to the tutorial below on how to install libraries and run your first Arduino/Proteus project simulation.

Adding Arduino Libraries to Proteus

How does it work?

The trick employed here to connect the multiple LCD to the arduino is the use of the I2C Chip PCF8574A. To get started we have to refer to the I2C to Hexadecimal table.

connect multiple lcd to arduino: I2C PCF8574A hexadecimal table
PCF8574A I2C to Hexadecimal Table

Here 0 correspond to GND (LOW or 0V) and 1 correspond to VCC (HIGH or 5V). This means shorting all the terminals A0, A1 and A2 and connecting them to grounding (GND) give 0 0 0 which correspond to 38 in the Hexadecimal table. Likewise, if all the terminals are connected to VCC or 5V rail, we get 1 1 1 which correspond to 3F on the hexadecimal table. Referring to the image below, it is clear that the I2C chip (PCF8574A) that link the Arduino to the LCD 1 has all configurations pins connected to VCC. This gives it a hexadecimal address value of 3F.

interfacing the PCF8574A to the LCD
addressing the PCF8574A

On the other hand, the PCF8574A chip has its A0 and A1 pins connected to VCC while the A2 pin is connected to GND. This gives a corresponding binary of 0 1 1. From the table, 0 0 1 is 3B.

Using Real I2C Backpack

how to connect multiple LCD to Arduino using I2Cbackpack
connect multiple LCD to Arduino with real I2C backpack

If you want to connect the multiple LCD to the Arduino with a real I2C backpack, you can refer to the image above. For 0 0 0 as your binary address, you solder together the two pins at A0, A1 and A2.

Once we have connected and obtained the corresponding hexadecimal number, we can proceed to the Arduino coding by stating them in the global variables. Check the code below:

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd1(0x3F,20,4);
LiquidCrystal_I2C lcd2(0x3B,16,2);

Since we have defined the individual LCD (LCD1 and LCD 2) we can print any character on both or the individual screen by calling the assigned name to the print function.

lcd1.print("HomeMade");
lcd2.print("Electronics");

As you can see above, the print statement for lcd1 is HomeMade and that of the lcd2 is Electronics. This means when the code is run or simulated, LCD 1 will output “HomeMade” while LCD 2 displays “Electronics”.

Conclusion

In this tutorial, I have demonstrated to you how you can connect multiple LCD to the Arduino. The Arduino Uno can control 8 LCD’s at the same time using the I2C bus. It doesn’t matter whether the LCD is 128×64, 20×4 or 16×2 type. The most important thing is the interpretation of the I2C table given above. If you have any question, suggestion or circuit/simulation request, kindly leave it/them in the comment section. I will be glad to assist you.

Related Posts:

  • How to Fix Proteus Crashing and Install Proteus Latest Version
    How to Fix Proteus Crashing and Install Proteus Latest…
  • Automatic Water Level Monitor & Controller in Proteus | Step By Step With Arduino Source Code
    Automatic Water Level Monitor & Controller in Proteus | Step…
  • Top 8 Arduino Projects in Proteus with Source Code
    Top 8 Arduino Projects in Proteus with Source Code
  • Arduino Sensor Libraries for Proteus Simulation (Updated)
    Arduino Sensor Libraries for Proteus Simulation (Updated)
  • Proteus 8.11 Latest Version Download For Free
    Proteus 8.11 Latest Version Download For Free
  • Automatic Stair Light - Proteus Simulation
    Automatic Stair Light - Proteus Simulation

Get notified when this type of article / resource is uploaded.

Unsubscribe
Previous Post

Proteus Locking System with Keypad and Pincode

Next Post

How to Fix Proteus Crashing and Install Proteus Latest Version

Next Post
fix proteus crashing

How to Fix Proteus Crashing and Install Proteus Latest Version

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Categories

  • Education (8)
  • Electronics (13)
  • Gadget (1)
  • GES Resources (5)
  • Lifestyle (2)
  • News (4)
  • NTC Resources (2)
  • Review (3)
  • Technology (12)
  • Tutorials (9)
  • download proteus 8.11

    Proteus 8.11 Latest Version Download For Free

    60649 shares
    Share 24260 Tweet 15162
  • Arduino Sensor Libraries for Proteus Simulation (Updated)

    10866 shares
    Share 4346 Tweet 2717
  • How to Fix Proteus Crashing and Install Proteus Latest Version

    5572 shares
    Share 2229 Tweet 1393
  • Top 8 Arduino Projects in Proteus with Source Code

    2674 shares
    Share 1070 Tweet 669
  • Automatic Water Level Monitor & Controller in Proteus | Step By Step With Arduino Source Code

    1313 shares
    Share 525 Tweet 328

Recent Posts

  • Remove KA Technologies Logo from the TM1 laptop 12th May 2022
  • How to install all TM1 Laptop drivers 12th May 2022
  • How To Fix TM1 Laptop Sound Drivers 7th May 2022
  • Automatic Stair Light – Proteus Simulation 2nd March 2022
  • How to Register your SIM with Your Ghana Card 30th September 2021
  • GES Sample Letters Free Download in PDF 19th September 2021
  • iTel P37 Pro Review and Full Specification 13th June 2021
  • Gas and Smoke Detection With SMS Notification 9th June 2021

Tags

arduino projects Automatic Stair Light courses in SHS courses in technical institute courses in vocational institutes curriculum education news electronics engineering projeccts Fix TM1 Laptop gas and smoke detection GES gsm arena How to Create Paypal Account infinix itel phones JHS syllabus KG scheme list of engineering projects list of vocational schools news PayPal Account Paypal in Ghana phone review Primary syllabus project ideas proteus simulation review scheme of learning schools in ghana SHS syllabus SIM registration solar battery solar panel subjects in SHS syllabus tecno TM1 audio drivers TM1 drivers TM1 Laptop TM1 Laptop Drivers TM1 Sound Drivers top proteus projects vocational schools vocational schools in ghana
  • About
  • Disclaimer
  • Privacy & Policy
  • Contact

© 2021 Sir Boateng Online by Lizbotech Engineering Services.

No Result
View All Result
  • Home
  • All Articles
  • GES Resources
  • NTC Resources
  • Technology
  • About Me
  • Let’s Chat

© 2021 Sir Boateng Online by Lizbotech Engineering Services.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In