[SOLVED] SPI with LDC Backpack - Please Help

Hi All,

Originally posted in the "Display" section but found no help.
I am using the "i2c/SPI LDC Backpack" from adafruit along along with the "Standard LCD 16x2" and the "Feather Huzzah ESP8266". I would like to use the SPI connection to control the LCD. I have the SPI jumper in place on the backpack and the following connections.

Backpack CLK to Feather SCK #14
Backpack DAT to Feather MOSI #13
Backpack LAT to Feather MISO #12
and finally power.

I get a backlight lit but cant get any control. I've been using the "Adafruit_LiquidCrystal->HelloWorld_SPI" example. I tried to change the CLK DAT LAT pins from 3, 4, 5 to 14, 13,12 but had no affect that I could notice.

Anyone that can help would be greatly appreciated been stuck on this for awhile now.
Let me know if I can provide any more information.
Thanks

and finally power.

That’s why we don’t want a description but a wiring diagram (which may be hand-drawn). That power connection may be important in this case, so draw the diagram and post it!

Links to the hardware you actually used may also be necessary.

Also post the actual code you used (don’t forget to use code tags)!

Thank you for the response, below is the info you asked for.

Links to hardware:

Sketch image is attached.

Code:

// include the library code:
#include "Wire.h"
#include "Adafruit_LiquidCrystal.h"

// Connect via SPI. Data pin is #13, Clock is #14 and Latch is #12
Adafruit_LiquidCrystal lcd(13, 14, 12);

void setup() {
  // set up the LCD's number of rows and columns: 
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("hello, world!");
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(millis()/1000);

  lcd.setBacklight(HIGH);
  delay(500);
  lcd.setBacklight(LOW);
  delay(500);
}

Adafruit_LiquidCrystal lcd(13, 14, 12);

For the ESP8266 you have to specify pins as D13, D14 and D12 as the internal numbering is different.

Maybe im not understanding properly what you meant but when I tried the following in the screenshot attached I got the errors attached in the same screenshot.

Maybe im not understanding properly what you meant but when I tried the following in the screenshot attached I got the errors attached in the same screenshot.

Please excuse, my response is only true for other ESP8266 based products, the Feather Huzzah numbers the pins by the GPIOs, so the number can be used directly.

I see one small problem: the Feather Huzzah runs on 3.3V but the display board on 5V. So the signals might be a bit low for the board to react on. But according to the datasheet of the used chip 74LS595D any signal stronger than 2V should be sufficient to drive the inputs.

How do you poser the setup? Maybe the 5V power doesn’t supply enough current for the display?

Did you check the contrast to be high enough? Turn it up until you see the blocks slightly.

Right now im powering the board through my PC USB power so I can tweek the code. I adjusted the contrast as you suggested but still see no text as the code should. But I also never experience the backlight toggling as the last 2 lines of the code show.

 lcd.setBacklight(HIGH);
  delay(500);
  lcd.setBacklight(LOW);
  delay(500);

But I did see this when I tried to control over I2C but also didnt see text on the I2C but this may have been a contrast issue at that time and i never adjusted it.

Figured it out. I was using the wrong pins. Corrected line of code is posted below.

// Connect via SPI. Data pin is #13, Clock is #14 and Latch is #12
Adafruit_LiquidCrystal lcd(19, 5, 18);