RE: Arduino und 1.8Zoll Display als Werbetafel

#1 von lj_mike , 13.02.2020 21:27

Hallo zusammen,

ich habe folgendes Problem, ich möchte mit einem Arduino eine Werbetafel aufbauen,aber den Sketch den ich habe
erzeugt nach einer weile nur noch Streifen auf den Display. /(Wobei der Text immer angezeigt wird. myScreen. print ( "Mike's Modellbahn" )

Es wäre schön, wenn jemand mein Problem nachvollziehen könnte und ggf. eine Tipp für mich hat.
Die Bilder sind auf 128*160 24Bit Auflösung, die SD-Karte hat 2Gb.

Bei weitern Fragen.... nicht zögern...

Danke für eure Hilfe.

Anbei den Sketch:

/*
This sketch was created for the DS Tech 1.8" TFT screen
(that uses the ST7735 driver) and the Arduino TFT library

In order to use the screen and the card reader together,
you must use hardware SPI, not software SPI

The pin breakout DS Tech 1.8" TFT screen is as follows:
VCC........5V
GND........GND
GND........
NC.........
NC.........
NC.........
CLK........13 (also called SCK)
SDA........11 (also called MOSI)
RS.........9 (also called DC)
RST........8 (also called RESET)
CS.........10

SD_MISO....12
SD_SCK.....13 (connected to screen CLK above)
SD_MOSI....11 (connected to screen MOSI above)
SD_CS......4

I soldered a four-pin header to the SD connections on
the DS Tech 1.8" TFT screen

The SD card must be 2G or less and formatted as FAT (FAT16)

To fit on the screen, all image files on the card must be pre-sized
to 160 by 128 pixels or less and must be 24-bit RGB BMPs
*/

#include <SPI.h> //.kbv must add these includes
#include <SD.h>
#include <TFT.h> // Arduino LCD library
#include <SoftReset.h>





// Set constants for the pins for the TFT display and SD card
#define CS 10
#define DC 9
#define RESET 8
#define SD_CS 4

// Create the TFT screen called myScreen
TFT myScreen = TFT(CS, DC, RESET);

// Create a picture unit called myPicture
PImage myPicture;

void setup() {
// Initialize the Serial object (for use with card reader)
Serial.begin(9600);

// Initialize the card reader
//pinMode(SD_CS, OUTPUT);
//digitalWrite(SD_CS, HIGH);

// The the next non-comment line replaces the more typical...
//myScreen.begin();
//myScreen.background(0, 0, 0);
// If your screen colours are off, try one of the following:
// If your TFT's plastic wrap has a Black Tab, use the following:
//myScreen.initR(INITR_BLACKTAB); // initialize a ST7735S chip, black tab
// If your TFT's plastic wrap has a Red Tab, use the following:
//myScreen.initR(INITR_REDTAB); // initialize a ST7735R chip, red tab
// If your TFT's plastic wrap has a Green Tab, use the following:
//myScreen.initR(INITR_GREENTAB); // initialize a ST7735R chip, green tab
// Or try
//myScreen.initG(); // initialize a ST7735R chip, green tab

// Initialize the screen
myScreen.initR(INITR_BLACKTAB);

// Set screen orientation (could be 1 or 3 for landscape)
myScreen.setRotation(3);

// Initialize the SD card reader
Serial.print("Initializing SD card...");
if (!SD.begin(SD_CS)) {
Serial.println("failed!");
return;
}
Serial.println("OK!");

}

void loop(void)
{



myScreen.background(0, 0, 0);
delay(500);
myScreen. setTextSize ( 1 ) ;
myScreen. setCursor ( 15 , 50 ) ;
myScreen. setTextColor (ST7735_GREEN) ;
myScreen. print ( "Mike's Modellbahn" ) ;
delay(5000);


myPicture = myScreen.loadImage("2.bmp");
myScreen.image(myPicture, 0, 0);
delay(1000);

myPicture = myScreen.loadImage("1.bmp");
myScreen.image(myPicture, 0, 0);
delay(1000);

myPicture = myScreen.loadImage("3.bmp");
myScreen.image(myPicture, 0, 0);
delay(1000);
myPicture = myScreen.loadImage("4.bmp");
myScreen.image(myPicture, 0, 0);
delay(1000);



// myScreen.background(0, 0, 0);
// myScreen. fillScreen (ST7735_BLACK) ;
// delay(1000);
// soft_restart();



}


CS2 mit M-Boostern, Traincontroller Gold


lj_mike  
lj_mike
RegionalExpress (RE)
Beiträge: 70
Registriert am: 15.04.2009
Spurweite H0
Stromart AC, Digital


RE: Arduino und 1.8Zoll Display als Werbetafel

#2 von md95129 , 14.02.2020 21:22

Du laedst Dein Bild in jeder Schleife neu und bekommst dann einen Speicherueberlauf. Bilder nur einmal im Setup laden und dann mit "screen.image (Name,x,y)" darstellen.


Henner,
ex-Donkey Doktor der EDH Lumber
Schamlose Selbstbeweihräucherung: Eigenbauten eines alten Neulings.
US Waldbahnen/Echtdampf-Eigenbau


 
md95129
EuroCity (EC)
Beiträge: 1.079
Registriert am: 15.01.2017
Ort: Berlin
Gleise IIm Echtdampf,H0m
Steuerung DCC Eigenbau
Stromart Digital


RE: Arduino und 1.8Zoll Display als Werbetafel

#3 von piefke53 , 14.02.2020 22:00

Schau Dir mal diesen Beitrag an: https://forum.arduino.cc/index.php?topic=630955.0


Freundliche Grüße aus Niederösterreich
Fred



Jede Bewegung, die nicht der Fortpflanzung oder Nahrungsaufnahme dient, ist unnötig und hat daher zu unterbleiben.


 
piefke53
InterCity (IC)
Beiträge: 749
Registriert am: 03.01.2020
Ort: Tulln an der Donau
Spurweite H0


RE: Arduino und 1.8Zoll Display als Werbetafel

#4 von fromue , 02.06.2020 08:07

Hi Stummis,

Ihr seid mal wieder Megaklasse.

Vielen Dank für die rasanten Hilfestellungen
und des Sketch.
Werd's probieren.

Bleibt gesund.


Viele Grüße
Jürgen

MIRZ21


 
fromue
InterCity (IC)
Beiträge: 866
Registriert am: 24.02.2013
Ort: Baden-Württemberg
Gleise Märklin C-Gleis
Spurweite H0
Steuerung MS2, CS2 und CS3plus, MirZ21
Stromart AC, Digital


RE: Arduino und 1.8Zoll Display als Werbetafel

#5 von wollekin , 07.09.2020 22:16

Zitat

Du laedst Dein Bild in jeder Schleife neu und bekommst dann einen Speicherueberlauf. Bilder nur einmal im Setup laden und dann mit "screen.image (Name,x,y)" darstellen.


Hallo bin neu hier , habe auch das Problem mit streifen Im display bei Wertetafel . Was trägt man genau ein im Screen. Image ? Kann leider kein Englisch daher verstehe ich es nicht im Beitrag auf Englisch. Danke für Antwort. Gruß Wolfgang


wollekin  
wollekin
S-Bahn (S)
Beiträge: 11
Registriert am: 25.08.2020


RE: Arduino und 1.8Zoll Display als Werbetafel

#6 von md95129 , 08.09.2020 00:09

Wolfgang,
ich kann Dir nur ungetestete Codeschnipsel liefern, da meine ganzen "Spielzeuge" wegen Umzugs in einem Container unterwegs sind. Ich will es mal probieren mit lj_mikes code:

1
2
3
4
5
6
7
8
9
10
11
12
13
 

//Im Setup Einlesen der Bilder von der SD-Karte
myPicture1 = myScreen.loadImage("Sanella.bmp");
myPicture2 = myScreen.loadImage("Wurst.bmp");
myPicture3 = myScreen.loadImage("Schinken.bmp");
// In der loop
myScreen.image(myPicture1, 0, 0);
delay(1000);
myScreen.image(myPicture2, 0, 0);
delay(1000);
myScreen.image(myPicture3, 0, 0);
delay(1000);
 
 


"Sanella.bmp" ist ein File, das auf Deiner SD Karte gespeichert ist und das Du als Erstes darstellen willst. Entsprechend die anderen beiden. Die beiden Zahlen in myScreen.image beziehen sich auf die x/y Koordinaten des Schirms, wo das Bild gemalt wird. Ueblicherweise 0,0 da linke obere Ecke.
Wie gesagt, nicht getestet. Versuche auch mal, ob Du einfachen Text darstellen kannst, um sicherzustellen, dass die Hardware funktioniert.
Regards


Henner,
ex-Donkey Doktor der EDH Lumber
Schamlose Selbstbeweihräucherung: Eigenbauten eines alten Neulings.
US Waldbahnen/Echtdampf-Eigenbau


 
md95129
EuroCity (EC)
Beiträge: 1.079
Registriert am: 15.01.2017
Ort: Berlin
Gleise IIm Echtdampf,H0m
Steuerung DCC Eigenbau
Stromart Digital


RE: Arduino und 1.8Zoll Display als Werbetafel

#7 von wollekin , 08.09.2020 06:21

ok Danke probiere es heute Abend mal aus . Wie gesagt habe Schriftzug ,,mike‘s Modellbau....und danach nur bunte Streifen 3 mal im Wechsel nach unten . Finde auch kein Anschluss Beispiel für mein Display weiß nicht wo AO ran muss steht immer DC , habe kein DC am Display die anderen ja . Gruß


wollekin  
wollekin
S-Bahn (S)
Beiträge: 11
Registriert am: 25.08.2020


RE: Arduino und 1.8Zoll Display als Werbetafel

#8 von piefke53 , 08.09.2020 09:54

Zitat

ok Danke probiere es heute Abend mal aus . Wie gesagt habe Schriftzug ,,mike‘s Modellbau....und danach nur bunte Streifen 3 mal im Wechsel nach unten . Finde auch kein Anschluss Beispiel für mein Display weiß nicht wo AO ran muss steht immer DC , habe kein DC am Display die anderen ja . Gruß



Moin Wolfgang ...

Hilfreich wäre eine genauere Angabe, welches Display Du hast. Meine Glaskugel ist nämlich in der Werkstatt.

Dieses hat die Anschlüsse ...

  • LED
  • SCK
  • SDA
  • A0
  • RESET
  • CS
  • GND
  • VCC

... und wird so angeschlossen:


Freundliche Grüße aus Niederösterreich
Fred



Jede Bewegung, die nicht der Fortpflanzung oder Nahrungsaufnahme dient, ist unnötig und hat daher zu unterbleiben.


 
piefke53
InterCity (IC)
Beiträge: 749
Registriert am: 03.01.2020
Ort: Tulln an der Donau
Spurweite H0


RE: Arduino und 1.8Zoll Display als Werbetafel

#9 von wollekin , 08.09.2020 10:17

danke genau solch ein Display habe ich auch . Danke


wollekin  
wollekin
S-Bahn (S)
Beiträge: 11
Registriert am: 25.08.2020


RE: Arduino und 1.8Zoll Display als Werbetafel

#10 von wollekin , 08.09.2020 19:12

hallo bin wieder da, alles angeschlossen aber weiterhin Display streifen . Mein Board Arduino Uno kompatibles Board mit ATmega328 CH34X USB R3 Chipsatz
Mein Display, 1,8 Zoll TFT LCD Display Modul 128x160 SPI SD ST7735 Arduino Raspberry Pi
DEUTSCHER HÄNDLER. Frage auch wie groß müssen die Bilder sein für Speicherkarte . Habe die als bmp umgesetzt und auf so kopiert. Schriftzug mike‘s Modellbahn steht da aber keine Bilder ? Gruß Wolfgang


wollekin  
wollekin
S-Bahn (S)
Beiträge: 11
Registriert am: 25.08.2020


RE: Arduino und 1.8Zoll Display als Werbetafel

#11 von md95129 , 08.09.2020 22:42

Kannst Du ueber die serielle Schnittstelle ausgeben, ob die SD Karte richtig gelesen wird? Ist die Bildgroesse korrekt ? Ist die Dateigroesse auf der SD-Karte ungefaehr 60kB? Kannst Du mal Deinen Code hier einstellen?
Dabei das </> Icon verwenden.
Regards


Henner,
ex-Donkey Doktor der EDH Lumber
Schamlose Selbstbeweihräucherung: Eigenbauten eines alten Neulings.
US Waldbahnen/Echtdampf-Eigenbau


 
md95129
EuroCity (EC)
Beiträge: 1.079
Registriert am: 15.01.2017
Ort: Berlin
Gleise IIm Echtdampf,H0m
Steuerung DCC Eigenbau
Stromart Digital


RE: Arduino und 1.8Zoll Display als Werbetafel

#12 von wollekin , 09.09.2020 06:27

/*
This sketch was created for the DS Tech 1.8" TFT screen
(that uses the ST7735 driver) and the Arduino TFT library

In order to use the screen and the card reader together,
you must use hardware SPI, not software SPI

The pin breakout DS Tech 1.8" TFT screen is as follows:
VCC........5V
GND........GND
GND........
NC.........
NC.........
NC.........
CLK........13 (also called SCK)
SDA........11 (also called MOSI)
RS.........9 (also called DC)
RST........8 (also called RESET)
CS.........10

SD_MISO....12
SD_SCK.....13 (connected to screen CLK above)
SD_MOSI....11 (connected to screen MOSI above)
SD_CS......4

I soldered a four-pin header to the SD connections on
the DS Tech 1.8" TFT screen

The SD card must be 2G or less and formatted as FAT (FAT16)

To fit on the screen, all image files on the card must be pre-sized
to 160 by 128 pixels or less and must be 24-bit RGB BMPs
*/

#include <SPI.h> //.kbv must add these includes
#include <SD.h>
#include <TFT.h> // Arduino LCD library
#include <SoftReset.h>





// Set constants for the pins for the TFT display and SD card
#define CS 10
#define DC 9
#define RESET 8
#define SD_CS 4

// Create the TFT screen called myScreen
TFT myScreen = TFT(CS, DC, RESET);

// Create a picture unit called myPicture
PImage myPicture;

void setup() {
// Initialize the Serial object (for use with card reader)
Serial.begin(9600);

// Initialize the card reader
//pinMode(SD_CS, OUTPUT);
//digitalWrite(SD_CS, HIGH);

// The the next non-comment line replaces the more typical...
//myScreen.begin();
//myScreen.background(0, 0, 0);
// If your screen colours are off, try one of the following:
// If your TFT's plastic wrap has a Black Tab, use the following:
//myScreen.initR(INITR_BLACKTAB); // initialize a ST7735S chip, black tab
// If your TFT's plastic wrap has a Red Tab, use the following:
//myScreen.initR(INITR_REDTAB); // initialize a ST7735R chip, red tab
// If your TFT's plastic wrap has a Green Tab, use the following:
//myScreen.initR(INITR_GREENTAB); // initialize a ST7735R chip, green tab
// Or try
//myScreen.initG(); // initialize a ST7735R chip, green tab

// Initialize the screen
myScreen.initR(INITR_BLACKTAB);

// Set screen orientation (could be 1 or 3 for landscape)
myScreen.setRotation(3);

// Initialize the SD card reader
Serial.print("Initializing SD card...");
if (!SD.begin(SD_CS)) {
Serial.println("failed!");
return;
}
Serial.println("OK!");

}

void loop(void)
{



myScreen.background(0, 0, 0);
delay(500);
myScreen. setTextSize ( 1 ) ;
myScreen. setCursor ( 15 , 50 ) ;
myScreen. setTextColor (ST7735_GREEN) ;
myScreen. print ( "Mike's Modellbahn" ) ;
delay(5000);


myPicture = myScreen.loadImage("2.bmp");
myScreen.image(myPicture, 0, 0);
delay(1000);

myPicture = myScreen.loadImage("1.bmp");
myScreen.image(myPicture, 0, 0);
delay(1000);

myPicture = myScreen.loadImage("3.bmp");
myScreen.image(myPicture, 0, 0);
delay(1000);
myPicture = myScreen.loadImage("4.bmp");
myScreen.image(myPicture, 0, 0);
delay(1000);



// myScreen.background(0, 0, 0);
// myScreen. fillScreen (ST7735_BLACK) ;
// delay(1000);
// soft_restart();



}
Zb. ..,,
myPicture 1 = myScreen.loadImage("2.bmp"); Wenn ich dort eine 1 vor myPicture setze kommt ein Fehler in rot markiert . Da karte wird im Computer erkannt, im Board anscheinend nicht. Wenn ich da karte raus nehme sind die selben Streifen zusehen . Einmal hatte ich kurz ein verschwimmendes Bild in über Größe. Bild ist in BMP CA. 600 mal 600 . Gruß


wollekin  
wollekin
S-Bahn (S)
Beiträge: 11
Registriert am: 25.08.2020


RE: Arduino und 1.8Zoll Display als Werbetafel

#13 von volkerS , 09.09.2020 07:04

Hallo Wollekin,
du hast das aber gesehen:
To fit on the screen, all image files on the card must be pre-sized
to 160 by 128 pixels or less and must be 24-bit RGB BMPs.
(Zur Darstellung auf dem Bildschirm, alle Bilder müssen als BPM-Dateien mit 160x128 Pixel oder weniger bei 24bit RGB auf der SD-Karte gespeichert sein.)
Demnach sind deine 600x600pixel Dateien zu groß.
Volker


volkerS  
volkerS
ICE-Sprinter
Beiträge: 5.981
Registriert am: 14.10.2014


RE: Arduino und 1.8Zoll Display als Werbetafel

#14 von wollekin , 09.09.2020 14:36

Ok werde versuchen Bilder kleiner zu machen . Ich kann eben kein Englisch daher schwer für mich . Gruß


wollekin  
wollekin
S-Bahn (S)
Beiträge: 11
Registriert am: 25.08.2020


RE: Arduino und 1.8Zoll Display als Werbetafel

#15 von wollekin , 09.09.2020 15:03

so habe Bilder 128*160 bmp 16 Bit auf Speicher karte gespeichert. Immer noch streifen kein Bild . Frage mich warum Sketsche nicht auf deutsch angeboten werden , damit Leute wie ich es verstehen die kein Englisch können. Ich gebe es auf .


wollekin  
wollekin
S-Bahn (S)
Beiträge: 11
Registriert am: 25.08.2020


RE: Arduino und 1.8Zoll Display als Werbetafel

#16 von md95129 , 09.09.2020 17:19

Hallo Wolfgang,
es wird nie Sketche geben, die ganz auf Deutsch sind, da die Elemente der Programmiersprache Englisch sind. Nur die Variablen und die Kommentare kann man dann in Deutsch verfassen (wenn man nicht eine Riesenarbeit in eine Umdefinierung der Sprache stecken will). Offenbar ist Dein Programm identisch mit dem des Threaderstellers lj_mike. Bei ihm funktioniert es wenigstens teilweise. Ich ziehe zur Zeit von den USA nach Deutschland (Berlin) um. Da meine neue Bleibe noch nicht bezugsfertig ist, werde ich bei Verwandten wohnen. Ich habe dann viel Zeit. Du koenntest mir Deine Elektronik schicken und ich bringe sie zum Laufen.
Regards


Henner,
ex-Donkey Doktor der EDH Lumber
Schamlose Selbstbeweihräucherung: Eigenbauten eines alten Neulings.
US Waldbahnen/Echtdampf-Eigenbau


 
md95129
EuroCity (EC)
Beiträge: 1.079
Registriert am: 15.01.2017
Ort: Berlin
Gleise IIm Echtdampf,H0m
Steuerung DCC Eigenbau
Stromart Digital


RE: Arduino und 1.8Zoll Display als Werbetafel

#17 von moppe , 09.09.2020 18:00

Zitat

Ok werde versuchen Bilder kleiner zu machen . Ich kann eben kein Englisch daher schwer für mich . Gruß



Google translate kann oftmals Hilfen.


Klaus


"Meine" Modellbahn:http://www.modelbaneeuropa.dk
Dänisches Bahnforum: http://www.baneforum.dk
PIKO C4 "Horror Gallery": http://moppe.dk/PIKOC4.html


 
moppe
Trans Europ Express (TEE)
Beiträge: 8.729
Registriert am: 07.08.2011
Homepage: Link
Ort: Norddeusche halbinsel
Gleise Roco, PECO, Märklin/Trix, PIKO,
Spurweite H0, H0e, N, Z
Steuerung Z21, Lenz, MpC Gahler+Ringsmeier, Games on Track/Faller
Stromart AC, DC, Digital, Analog


RE: Arduino und 1.8Zoll Display als Werbetafel

#18 von wollekin , 09.09.2020 18:09

Werde es nochmal probieren vielleicht ist ja ein Anschluss falsch oder eine Komma stelle im Sketch. Danke euch allen trotzdem Gruß Wolfgang


wollekin  
wollekin
S-Bahn (S)
Beiträge: 11
Registriert am: 25.08.2020


RE: Arduino und 1.8Zoll Display als Werbetafel

#19 von md95129 , 09.09.2020 19:06

Ich glaube nicht, dass ein Anschluss am Display falsch ist, da Du ja Text anzeigen kannst. Auch ein falsches Komma etc. wuerde Dir eine Fehlermeldung beim Uebersetzen (Compilieren) bringen. Allerdings koennte der Anschluss zur SD Karte falsch sein. Dein Programm zeigt das allerdings an mit einem Text auf dem angeschlossenen PC

1
2
3
4
5
6
7
8
9
 

// Initialize the SD card reader
Serial.print("Initializing SD card...");// Karte wird initialisiert
if (!SD.begin(SD_CS)) {
Serial.println("failed!"); // Karte wurde nicht erkannt
return;
}
Serial.println("OK!"); //Karte wurde erkannt
 
 


Du musst in der Arduino Entwicklungsumgebung den Monitor mit der richtigen Baudrate freigeben.
Wie gesagt, mein Angebot steht (kostet nix).


Henner,
ex-Donkey Doktor der EDH Lumber
Schamlose Selbstbeweihräucherung: Eigenbauten eines alten Neulings.
US Waldbahnen/Echtdampf-Eigenbau


 
md95129
EuroCity (EC)
Beiträge: 1.079
Registriert am: 15.01.2017
Ort: Berlin
Gleise IIm Echtdampf,H0m
Steuerung DCC Eigenbau
Stromart Digital


RE: Arduino und 1.8Zoll Display als Werbetafel

#20 von wollekin , 09.09.2020 20:59

hallo Modellbahn Freunde . Habe Fehler gefunden !
Ich habe vergessen in myscreen (......) die Bilddatei anzugeben .
Zb. Stand (1.bmp) ich muss mein Bild was er finden soll eingeben zb. ( IMG-5050.bmp) . Jetzt geht es , nur das der Bildschirm etwas flackert beim umschalten .wenn Bild steht ist er klar . Aber das bekomme ich auch hin . Danke euch vielmals


wollekin  
wollekin
S-Bahn (S)
Beiträge: 11
Registriert am: 25.08.2020


RE: Arduino und 1.8Zoll Display als Werbetafel

#21 von wollekin , 09.09.2020 21:03

Das meine ich , nochmal für die anderen Programmierer
myPicture = myScreen.loadImage("1.bmp");
Muss so sein !!
myPicture = myScreen.loadImage("IMG-5050.bmp");
Bei meiner Bild Datei . Gruß Wolfgang


wollekin  
wollekin
S-Bahn (S)
Beiträge: 11
Registriert am: 25.08.2020


RE: Arduino und 1.8Zoll Display als Werbetafel

#22 von wollekin , 11.09.2020 21:37

Danke nochmal an moppe , geht einwandfrei.


wollekin  
wollekin
S-Bahn (S)
Beiträge: 11
Registriert am: 25.08.2020


   


  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz