Peter S. schrieb:
> Passt dieses Display (die Bezeichnungen der Pins sind etwas anders)?:
>
> Ebay-Artikel Nr. 302917174521
Es sollten derzeit alle preiswerten in China erhältlichen SPI-Displays
mit einem der Controller:
ili9163, ili9340, st7735r, s6d02a1, ili9225 oder st7789
funktionieren.
Für die beiden von dir verlinkten EBAY-Displays mußt du die tftdisplay.h
anpassen (s6d02a1 zu 0 und st7735r zu 1 setzen):
1 | /* ------------------------------------------------------------------
|
2 | Displayauswahl
|
3 |
|
4 | es kann (und muss) nur ein einziges Display ausgewaehlt sein.
|
5 | ------------------------------------------------------------------ */
|
6 |
|
7 | // ----------------------- SPI- Displays ----------------------------
|
8 |
|
9 | #define ili9163 0
|
10 | #define ili9340 0
|
11 | #define st7735r 1
|
12 | #define s6d02a1 0
|
13 | #define ili9225 0
|
14 | #define st7789 0
|
15 | [code]
|
16 |
|
17 | und die Auflösung des Displays anpassen:
|
18 |
|
19 | [code]
|
20 | /* ------------------------------------------------------------
|
21 | Displayaufloesung
|
22 | ------------------------------------------------------------ */
|
23 |
|
24 | #define _xres 128
|
25 | #define _yres 128
|
Manche der älteren 128x128 Displays haben eine "falsch" verdrahteten
Adressraum (und werden angesprochen wie ein 128x160 Display). Sollte die
Anzeige um 32 Pixel verschoben sein (sieht man an einem verrauschten
Streifen auf dem Display) mußt du diese Zeile hier anpassen:
1 | #define tft128 2 // 1: Display ohne Offset (aelter)
|
2 | // 2: Display mit Offset (neuer)
|
Natürlich kann man auch einen Arduino hierfür verwenden, den Sinn darin
allerdings verstehe ich nicht ganz (abgesehen davon, dass man wohl, wenn
man sich mit AVR beschäftigt sowieso einen herumliegen haben sollte),
denn außer den Blockkondensatoren für die Betriebsspannung, einen 16MHz
Quarz und zwei Ziehkondensatoren (ich verwende 29pF) braucht es am
Controller nichts mehr. Wenn du also bspw. einen Arduino Nano besorgen
möchtest (den du wohl in einem Steckbrett oder einen Sockel betreibst),
kann man ebenso gut einen "nackten" Chip verwenden (wenn ein
ISP-Programmer vorhanden ist - wenn nicht: USBASP kaufen)
Wenn du das mit einem Arduino machen möchtest mußt du diesen nicht mit
einem ISP-Tool flashen, der Bootloader kann das auch.
Wenn du einen Arduino-Nano kaufst solltest du aufpassen:
1. Mittlerweile sind die günstigsten Nanos mit einem ATmega168 bestückt.
Hier kannst du den Bootloader NICHT verwenden, weil das Hexfile aufgrund
der vom Bootloader reduzierten Größe nicht mehr hineinpasst
2. Leider kommt es sehr oft vor, dass der Bootloader im Nano mit
falscher Baudrate geflasht ist. Meine Nano's hier haben den Bootloader
vom UNO erhalten
Das Flashen über den Bootloader kannst du das Makefile erledigen lassen,
wenn du im Makefile folgendes abänderst:
Von:
1 | # fuer AVRDUDE
|
2 | PROGRAMMER = usbasp
|
3 | SERPORT = /dev/ttyUSB0
|
4 | BRATE = 115200
|
nach:
[code]
# fuer AVRDUDE
PROGRAMMER = arduino
SERPORT = /dev/ttyUSB0
BRATE = 115200[
/code]
Hier ist für SERPORT der Port anzugeben, an dem er tatsächlich
angeschlossen ist. Unter Windows ist hier der COM-Port anzugeben