I also have:
1 large solder-less breadboard, 1 small solder-less breadboard, jumper wires, OM meter and other assorted electronic paraphernalia.
I have downloaded the correct libraries for each device.
I have tested each device and they all work normally.
If I put the Touch screen shield onto the UNO, there are no pins left for the LED panel.
If I put the Touch screen shield onto the Mega, I need to change some of the pins for the LED panel. The shield covers digital pins 9-11, and analog pins A0-A3 - which the LED panel needs.
My questions:
Is it possible to change the pins that the LED panel requires?
(So that I can fit the touch screen shield onto the mega and still have enough pins for the LED panel)
Do I have to change the pins in the libraries or can that be done in the sketch/program code?
Should I use the Uno for the Touch screen shield, and the mega for the LED panel?
(I saw on previous forums that there is a way to connect the two; have the Uno as the master and the mega as the slave)
NOTE: I haven't figured out the code part yet, which is why I haven't included it. I thought I would review the examples for the touch screen and go from there. Right now I'm just trying to see if this idea will even work.
I am not sure that you will be able to get a program that runs both the RGB LED panel and the touchscreen to fit on the Uno, so you will be left using the Mega.
Just a hint, all the I2C devices connect on the same two pins. Same for the SPI except the select (CS) pins. Defining pin numbers is dependent on the library you are using.
LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 20 chars a line and 4 line display
LiquidCrystal_I2C lcd(0x26,16,2); // set the LCD address to 0x26 for a 16 chars a line and 2 line display
//initialize the liquid crystal library
//the first parameter is the I2C address (0x27)
//the second parameter is how characters per row are on your screen
//the third parameter is how many lines are on your screen
The above would set up two displays. Each display on the I2C buss needs initializing but no additional pins required. This actually would allow up to 8 displays.
void setup() // Set up 1 display {
lcd.init(0x27); // initialize the lcd
lcd.backlight(); // Turn backlight on
lcd.setCursor(0,0); // Point cursor to row 0 column 0
lcd.print("Hello Gil!"); // Print a message to the LCD.
SPI is somewhat similar but you need a hardware CS for each device.