Blank screen with arduino nano

Hello !
I've a problem to display something on my tft screen.
The screen is : url to the product screen

I test the code with the arduino Uno and no problem. It works.
But when I want to run the code with my Nano, I've a white screen and I don't understand why.
I do on my NANO :
3.3v => 3.3v
SCK => D13
SDA MOSI => D11
A0 => D9
RESET => D8
CS => D10
GND => GND
VCC => 5V

My code is like this :

#include <TFT.h>  // Arduino LCD library
#include <SPI.h>

// pin definition for the Uno
#define cs   10
#define dc   9
#define rst  8

TFT TFTscreen = TFT(cs, dc, rst);


void setup() {

  TFTscreen.begin();

  TFTscreen.background(0, 0, 0);
  TFTscreen.stroke(255, 255, 255);
  TFTscreen.setTextSize(2);
  TFTscreen.text("Hello word :\n ", 0, 0);
  TFTscreen.setTextSize(5);
}

void loop() {
}

I've you got any idea ? I think I don't do the right connection pin with my nano and when I initialize the TFT with the CS / DC and reset pin it fails. But I don't know how to do the right connection.

Thanks a lot for your help !

Look at the pictures in the Amazon link.

5th picture shows how to connect to a Uno/Nano via a level-shifter module.

These Red SPI displays require 3.3V logic.
You can use the wiring in the 5th picture.

Or use 4k7+10k resistors to make voltage divider.
Or just use 10k series resistors.

There are lots of projects that use these Red SPI displays.
And many Tutorials that show how to wire them to 5V boards like Nano.

Of course you don't need any level shifters at all if you use a proper 3.3V board like Zero, Due, Teensy3.x, ...

I strongly advise you to install and use the proper Adafruit_ST7735.h library. Forget about the horrible TFT.h library.

David.

Google Translate says:

Yeah TFT is just to check that everything is fine.
Thank you for your reply ! But I have a connection to you. I am a software developer BUT in electronics I am not really good and I cannot find a good example for nano! The Uno that I have but with the nano impossible to find a good tutorial. If you've got this ... because everything I've been doing for the past few days is failing. Ah ah. Pity.

There is nothing different between a Nano and a Uno.
The pins are marked 0-13 and A0-A5 on a Uno
The pins are marked D0-D13 and A0-A7 on a Nano

The current Nano Bootloader gives the same amount of Flash memory as the Uno.
The Old Nano Bootloader gave smaller Flash memory.

All Nano-328 boards are 5V logic.

David.

Hi ! Thanks for your answer.
Yeah TFT lib was just to check that all is ok. Agree with you for Adafruit_ST7735.h library.

But sorry I'm a software developer and the electronic seems not really easy for me. Do you have a great tutorial with breadboard schema for the uno and this type of screen ? Because all I found since few days fails.
I don't know why with the arduino Uno all is ok and not the nano but your answer help me. But if you have a great tutorial which explain where to connect the resistor ect it will be amazing !

Just Google for "ST7735 Uno"

Make sure that they have "level shifter" of some description. i.e. with components that you already own.

Most people have some resistors. You should feel happy with the French / English Tutorial.
Ask if you want help. say what resistors you have available i.e what values.

David.

hI, beany_sv
It seems that you are using a sketch for a LCD. The ST7735 is a TFT display!
Put this at the beginning of your sketch:

#define sclk 13
#define mosi 11
#define cs   10
#define dc   9
#define rst  8  

#include <Adafruit_GFX.h>    // Core graphics library
#include <Adafruit_ST7735.h> // Hardware-specific library
#include <SPI.h>

Adafruit_ST7735 tft = Adafruit_ST7735(cs, dc, rst); // constructor

and in setup:

  Serial.begin (9600);  
  tft.initR(INITR_BLACKTAB);   // initialize a ST7735S chip, black tab
  Serial.println("TFT initialized");

  // prepare the TFT
  tft.setTextColor(ST7735_WHITE);
  tft.fillScreen(ST7735_RED);
  tft.setCursor(30, 15);
  tft.setTextSize(2);
  tft.println("Hello World!");

success, photoncatcher

#include <TFT.h>  // Arduino LCD library
#include <SPI.h>

It seems that you are using a sketch for a LCD. The ST7735 is a TFT display!

TFT.h is a library for ST7735 TFT. Hint. Look at the name.

TFT stands for Thin-film-transistor liquid-crystal display

Having said that. TFT.h is a completely crap TFT library that is packaged with the Arduino IDE.
I strongly advise you to use Adafruit_ST7735.h or similar third party library.

David.

This topic was automatically closed after 50 days. New replies are no longer allowed.