Is it possible to use a Hitachi-compatible LCD (as in the Arduino examples) with a RedBearLabs BLE Shield as they both use pins 11 and 12 (MOSI and MISO) but neither use pin 10 (Slave Select). I am using the Arduino UNO.
As I would like to control a lock with my iPhone and print the status of the lock on the screen.
If it is possible I would be very grateful for feedback on how this would be possible.
You can wire the LCD as you like. Don't ask why anybody would ever be so stupid as to wire a plain vanilla Hitachi display to pins 12,11. There may be SPI LCD displays but this is not one of them.
What counts, is the order of the pins in the command
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
they being
RS pin
Enable pin
D4 pin
D5 pin
D6 pin
D7 pin
Try taking the wires off pins 12,11 and put them on 9 and 8, then change the config line
LiquidCrystal lcd(9, 8, 5, 4, 3, 2); i.e. the order of the pins on the display have not changed, just their position on Arduino.
Pin 4 is not the smartest choice either, as it is usually reserved for SD chip select
Thank you very much for the reply.
I rewired the LCD to pins 9, 7, 5, 4, 3, 2 (because of the REQN and RDYN pins on the BLE Shield) and it is now working perfectly with commands from my iPhone.
I still have 2 other PWM connections I need to make for the stepper motor so I think that I will invest in a Mega.
While I'm a Mega fan, I don't think what you have said is a good reason for getting one. You have already taken the initiative and moved enable from pin 11 to pin 7, instead of pin 8 as I recommended, and for the proper reason. But, as I said, you can wire the LCD as you like, so long as the configuration line matches it, and this means you can change them all completely.
So instead of
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
you could try
LiquidCrystal lcd(14, 15, 16, 17, 18, 19);
thereby moving the display to the analogue pins and keeping the digital pins more gainfully employed driving the stepper motors. Yes, the analogue pins can be used as digital.