I’ve been trying several cablings, but I can’t get any to work. I run the graphicstest sketch and I can see the output in the serial monitor but I get only a white screen on the display.
They posted this in the ad: "Note: This kit requires professional knowledge and skills. Make sure you know how to use it." Without a data sheet it will take a lot of time unless somebody else recognizes it an d has the needed material.
I have used some of these displays before, but only with CPU's that run with 3.3v logic, and they have the touch screen chip installed. For example PJRC sells a version of these that you can use
with their Teensy boards: PJRC Store
When I have played with 5v Arduinos such as the UNO, I prefer to use ones that have the level shifters built in. For example Adafruit sells a couple of ILI9341 displays that can work with either 3.3v or 5v logic. Such as:
The other problem I ahve run into before is not remembering that you need to hook up the backlight pin, to power, probably through a resistor. I believe PJRC recommends something like a 100 ohm resistor.
@KurtE Would you have a cabling schema? I've never used a level shifter.
(Also, I admit this full setup shield from Adafruit looks easy. They say I'll need 10 minutes to have it work! That sounds a bit too nice to be true, but I may give it a try!)
Sorry I usually just wing it, which is easy with some of the Bidirectional ones. For example found one of my TXB0108 breakout boards from Adafruit... Not sure if they still sell them or not. Been sitting in box of test parts... And several months ago, I tried to organize things. So now I can not find anything
But let's say I don't need to use level shifter with these boards. I would connect:
Suppose I am using the Adafruit_ILI9341 library, with the graphic test, I might wire it up like:
Display UNO
VCC VCC or +rv
GND GND
CS 10
Reset 9 (they don't hook it up in this example, also add to constructor
DC 8
SDI/MOSI 11
SCK 13
LED (might try IOPIN or +5v through resister like 100 ohm or such)
SDO/MISO 12
And who knows you might be lucky with your display as it mentions 3.3/5V. I think they put in something like a 100ohm resistor in series to the signal, which limits the current...
But assuming you want to play it safe and have one of these BiDirectional shifters.
You would connect up the VCCA to 3.3v and VCCB to 5v, GND to GND... OE - need to look up to see if high or low...
And then for each of the signals, like CS which goes to PIN 10.
You might connect CS to A1 of the level shifter and Pin 10 of the UNO to B1.
Reset -> A2 B2 ->9
DC -> A3 B3 -> 8
...
I did a quick and dirty hook up this morning, using one of these displays (PJRC version I think), could have been other one from Amazon or Ebay. Also with TXB0108 level converter hooked up to UNO R4 Minima... Don't have an R3... Do have an old old UNO...
Note the display I don't have a full layout of, but just used a simple 1x
connector symbol from a different schematic I have for a different board that
I use these on.
Unclear what the LED pin needs. I believe on mine it actually goes to a transistor which brings it back to VCC voltage. Another option, which I did not do here, is to hook it up to another IO pins (possibly through unused connection of level shifter), And potentially have it use a pin that support PWM. On one of my own boards, I hooked it up to a signal and then depending on how long it has been since the touch screen was touched, it sets a lower duty cycle (analogWrite) which dims the display...
I should mention I am a retired software guy, not an EE and all of the stuff I have built is for my own learning/enjoying... i.e. it is a hobby.
Cool. I'm actually a software guy as well, not yet retired though. And I totally do that for fun!
The final project is to set a console on the handle of my non-electric bike that tells me the speed, the temperature, etc. That's why I need a rather large screen.
Thanks.
It still doesn't work. I still have the white screen.
I've reproduce the cabling according to your schema. I've checked many times, I don't see any mistake. I've also check the continuity of each cable, one by one.
Would you mind to send me the graphictest sketch you're using?
I've edited it on my pc to add the RESET button, but may be I've done something bad.
By the way, what's the version of your display? Mine is v1.2.
FYI, I post the picture of my cabling. May be you'll see something bad.
I don't see anything obvious. Some of the photos looked sort of like the yellow wire was on the OE pin location instead of A8, but others look fine. So you might want to double check.
Also might help to know what sketch and library you are using.
Also showing the constructor being used. For example, you have a wire connected up to the reset pin. Did you pass that pin number to the constructor.
Sometimes with wiring issues, I also run some simple sketch to check to see if I am getting the expected signal at different pins...
Something sort of like:
int last_pin_states[14] = {1};
void setup() {
while (!Serial && millis() < 5000) {}
Serial.begin(115200)l
for (uint8_t pin=2; pin<14; pin++) pinMode(pin, INPUT_PULLUP);
}
void loop() {
for (uint8_t pin = 2; pin < 14; pin++) {
int pin_state = digitalRead(pin);
if (pin_state != last_pin_states[pin]) {
last_pin_states[pin] = pin_state;
Serial.print("Pin: ");
Serial.print(pin);
if (pin_state) Serial.println(" - went High");
else Serial.println(" - went low");
}
}
delay(50);
}
Warning typed in on fly. But the idea is to run a sketch like this that pulls on of the pins high. In this case I only did pins 2-13. And then cycle through and read the state....
So if you run this, with your display removed. And run jumper wire where one side goes to GND.
when you touch the location of each pin on the display, the actual pin number that is connected to it, should change state and display in the Serial terminal... I have used something like this in the past and found sometimes I was off by 1...