PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SPI-TFT Display gesucht für Arduino Mega, nur (!) Pins 50-53 plus Spannung (o.Touch)



HaWe
11.11.2014, 17:35
hallo,
wer kennt ein

SPI-TFT Display für Arduino Mega und Due (5V und 3.3 V tauglich), nur (!) an Pins 50-53 (= SPI-Header) plus Spannung ?

Größe: ab 2,2" aufwärts.


Alle, die ich bisher gefunden habe, nutzen mindestens irgendwelche Pins D12 + D13 mit, das geht aber nicht, weil die bereits in Gebrauch sind (u.a. Timer/pwm) .
Auch die Pins der Reihe 22-49 sind alle für pwm-Encodermotore in Gebrauch, und analog 0-8 wird für analoge Sensoren benötigt.

Es bleiben also nur die reinen SPI-Pins übrig für das SPI-Display.

Touch wird nicht gebraucht und SD-Karte ebenfalls nicht - oder muss über SPI gleichzeitig mit angesprochen werden können falls unbedingt nötig.

Rabenauge
11.11.2014, 18:01
Das sollte eigentlich mit den üblichen TFT`s (Adafruit 1.8" oder auch der China-Clone davon) gehen. Die einzige Leitung, die nämlich zusätzlich benötigt wird, ist nur die CS (chip select)-Leitung. Die muss auf LOW gesetzt werden für den jeweiligen Slave. Wenn du die also fest auf Masse legst, hast du zwar keinen wirklichen Bus mehr (weil _immer_ mit dem Display geredet wird) aber funktionieren sollte das.
Dürfte dann sogar mit den normalen Treibern (von Ada oder so) klappen, du musst dir halt da nur was überlegen, wie du das CS-Signal, was die ja automatisch produzieren, austricksen kannst bzw. lahmlegst.
Eventuell die Bibliothek entsprechend anpassen.

HaWe
11.11.2014, 18:21
"sollte eigentlich mit den üblichen TFT`s..." ist etwas sehr vage - was heißt schon "sollte eigentlich"?

1,8" ist aber sowieso zu klein - ich kenne aber kein einziges für 50-53, schick doch mal nen Link zu enem 2,2" oder größer, das mit 50-53 arbeitet.
1 pin für CS wäre nicht so schlimm, wenn er irgendwo liegen kann, vllt Analog 9 oder so, aber "austricksen" ist nicht - es muss seitens der libs so designed sein, dass es mit 50-53 funktioniert, ich bin schließlich kein low-level-Progger.

Rabenauge
11.11.2014, 19:10
"sollte eigentlich" heisst genau das: im Prinzip müsst es funktionieren.

Unterschreiben wird dir das wohl keiner, gewöhnlich denkt man erst, und baut dann. Du machst es immer wieder falschrum....
:cool:
Eventuell solltest du dir mal die Doku deiner Komponenten antun?
Oder dich mal erkundigen, was die SPI ist? gibt da schöne Seiten dazu-auch auf deutsch.

Deiner Antwort ist klar zu entnehmen, dass du das nicht getan hast- du hast nicht mal ne Ahnung vom Grundprinzip. Dann nämlich wärst du auf meinen Vorschlag selber gekommen und wüsstest zudem, dass es vollkommen Wurst ist, wo man den CS anschliesst- so lange er auf LOW gesetzt wird, wenn man mit dem Slave kommuniziert!

Dass du nen grösseres Display brauchst, hattest du nicht gesagt-ich persönlich halte es ab einer gewissen Grösse für hirnrissig am Arduino- kannst mal drüber nachdenken, wieso.
Ändert aber am Prinzip der Schnittstelle rein gar nix.
Und wenn du die mal kapiert hast, weisst du auch, ob und wie es geht.

HaWe
11.11.2014, 19:15
wo ist der Link?
Bitte keine Essays, sondern Suchergebnisse.
Bitte lies noch mal den TOP.
(u.a. :
Größe: ab 2,2" aufwärts.)

Was du für hirnrissig hältst, ist übrigens völlig nebensächlich.

wenn du eine Lösung im Sinne des TOPs kennst: nenn bitte Ross und Reiter.
Ansonsten bitte keine Diskussionen über des Kaisers Bart.

HeXPloreR
11.11.2014, 19:53
Lieber HaWe,

Du bst nun der erste bei dem ich schon einige Themen mitgelesen habe und mich einmalig dazu hinreisen liess dir einen gut gemeinten Rat und Tipp zu geben wie man verschieden Problemstellungen z.B. bezüglich Materialsuche lösen könnte. Du bist auch der erste den ich hier nachdem gefühlten "einmal alle rundrum anschreihen" auf meine Ignor-Konto setze.
Warum das? - nun, das braucht dich nicht mehr zu interessieren.

Du hast es bei mir in 32 Tagen geschafft - das ist schon ein ganz guter Schnitt =D>
Schauen wir mal wie lange der Rest der Community braucht um Deine absoluten Fragestellungen herauszufiltern.

Viele Grüße und Gute Besserung :pray:
Jörg

Rabenauge
11.11.2014, 20:26
Tja- mein lieber HaWe.
Nun hörste es auch mal von anderen: mach doch deinen Krempel alleine.

Wüsst nicht, warum ich, um _deine_ Probleme zu lösen, googlen sollte..bei mir tauchen solche, wie du sie hast, irgendwie nicht auf...8-[
Falls doch, löse ich sie und jammere nich rum...

Meine Güte noch mal- wie du dich seinerzeit im Mindstorms-Forum aufgeführt hast (ist Jahre her, aber rate wieso ich dort verschwunden bin) mag vergessen sein, dass du im Arduino-Forum auch keine vernünftigen Antworten mehr bekommst, mag dich vielleicht auch nicht stören aber hier dienst du auch nur noch der Erheiterung- fällt dir noch immer nix auf?
Wahrscheinlich nicht...

Bin schon gespannt, woraus du als nächstes ein unlösbares Problem konstruieren wirst. :cool:
In diesem Sinne- versuch mal Baldrian, das beruhigt.

HaWe
11.11.2014, 20:54
ich kenne nun deine Mindstorms-Geschichtchen, die du seinerzeit von dir gegeben hast, ja auch noch in aller epischer Breite, nach dem Motto " denn ich _will_ es einfach so"

wer wie du nicht den Willen hat, das Problem zu verstehen, braucht nicht zu posten, und Allgemeinplätze wie "sollte eigentlich funktionieren" kannst du dir schenken.
Also ob ich nicht schon selber gesucht hätte, kommst du daher und meinst wohl du hättest die Weisheit mit Löffeln gegessen. Zeige mir ein einziges Adafruit Display, das nachweislich mit seinen Arduino-libs und mit den reinen SPI-Headern von Mega und Due funktioniert (und nicht nur "eigentlich funktonieren sollte"), und ich nehme alles zurück - aber diesen Nachweis bist du bisher schuldig geblieben.

Wenn ich also eine Frage stelle, hat das schon seinen Grund, warum ich sie so und nicht anders stelle, darauf kannst du dich verlassen. Da brauche ich niemanden, der Halbweisheiten von sich gibt, und stattdessen versucht, mich mit Allgemeinplätzen zu missionieren. Das gilt im wesentlichen auch für Hexplorer.

PS, edit:
gerade Adafruit-2,2"-Dispays verlangen zwingend Pins 11 oder 12+13:
"Ich betreibe das Teil an einem Arduino Uno, und habe es wie folgt angeschlossen (SD-Slot ist nicht aktiviert):
SCK = D13, MOSI = D11, CS = D4, RST = D2, D/C = D3 und natürlich VIN = +5V und GND = Masse
SCK und MOSI an D13 und D12 sind zwingend, D2, D3 und D4 können auch andere Datenpins sein."
(sicher irgendein Tippfehler, denn MOSI ist ja angeblich an 11)
Quelle: http://www.amazon.de/Adafruit-18-bit-Farb-TFT-Display-Arduino/dp/B00F8JAVD4/ref=sr_1_4?ie=UTF8&qid=1415739639&sr=8-4&keywords=Adafruit+TFT

(Im übrigen ist SPI ein Bus für mehr als nur 1 Gerät, warum also Chip-select permanent auf Masse ziehen?)

Rabenauge
11.11.2014, 21:37
Mach mal....ich werd dir jetzt nicht auch noch die Unterschiede zwischen Uno und Mega erklären.
Findest du bestimmt auch in der Amazon-"Wiki" was drüber...](*,)

Mit meinen 1.8er TFT`s (bin grad nicht sicher, weil ich die 2.2er nich hab, aber ist das nicht die gleiche lib?) funktionierts. Glaub es oder eben nicht, mir doch egal.

Sebas
11.11.2014, 21:39
Hallo HaWe,
auch mir ist dein äußerst unfreundlicher Ton aufgefallen(nicht nur in diesem Thread).
Hier sind wir nunmal ein Bastlerforum und kein Kindergarten. Hier füttert dir niemand Lösungen außer dem was die Leute wissen. Wenn du was anderes brauchst lerne zu kombinieren und lese (mehr) Datenblätter.
Sly und Jörg sind hier ja auch schon länger unterwegs, die haben Ahnung von der ich mich teils auch schon inPersona überzeugen lassen konnte. Also bitte etwas ruhiger.

Zum Display wurden glaub ich genug Lösungen genannt.

Viele Grüße,
Sebastian

HaWe
12.11.2014, 08:32
meine Eingangsfrage war doch nicht schwer zu verstehen, oder?

wer kennt ein
SPI-TFT Display für Arduino Mega und Due (5V und 3.3 V tauglich), nur (!) an Pins 50-53 (= SPI-Header) plus Spannung ?
Größe: ab 2,2" aufwärts.

Eine klare, prägnante, sachliche Frage - was ist daran unfreundlich?
Nur bei Antworten wie "sollte eigentlich" reagiere ich empfindlich, und bei Äußerungen wie

Wüsst nicht, warum ich, um _deine_ Probleme zu lösen, googlen sollte..bei mir tauchen solche, wie du sie hast, irgendwie nicht auf.


es war weder danach gefragt, ob jemand für mich googlen kann, noch interessiert mich, bei wem "meine Probleme" nicht auftauchten.
Gefragt war, ob wer was kennt, und das ist mit einem einfachen
"ja, ich kenne eines: dieses hier:...."
zu beantworten und erfordert ansonsten überhaupt keine weiteren Aktivierungen sonst ungenutzter Hirnwindungen.

Sollte hingegen das Zitat mit dem Uno-Link nicht auf den Mega /Due derart absolut übertragbar sein, wäre auch hier eine einfache (freundliche) Erklärung hilfreich.
ok, wer nicht helfen will, soll es gerne lassen - aber dann auch bitte die (unfreundliche) Klappe halten.

denn wenn überhaupt etwas unfreundlich ist, dann Anmache wie

du hast nicht mal ne Ahnung vom Grundprinzip.
und

..ich werd dir jetzt nicht auch noch die Unterschiede zwischen Uno und Mega erklären

- oder wie siehst du das?

PICture
12.11.2014, 09:04
Hallo!

Sorry, falls das für dich nix ist, aber ich habe mich mal erfolgreich bemüht mit kleiner Zusatzhardware diverse standart Displays über nur zwei Pins (ausser Versorgung) zu steuern. Nur als Beispiel: https://www.roboternetz.de/phpBB2/viewtopic.php?t=13685 . ;)

HaWe
12.11.2014, 09:23
hallo,
Matrixdisplay ist mir jetzt nicht so geläufig - ich brauche eine Auflösung von mindstens 140x100 Punkten.
geht deine Lösung über i2c? (i2c ist/sind bei mir als slave(s) verplant)

über SPI wäre es sicher eher möglich

PICture
12.11.2014, 09:35
Nein, das ist für I²C nicht vorgesehen, man müsste es dafür adaptieren. Es geht aber genauso für graphische Displays (GLCD).

HaWe
12.11.2014, 09:43
da bin ich jetzt überfragt, ob es dann geht, denn ich habe wie gesagt nur analoge (ab A8 aufwärts) und SPI frei (evtl.!! auch 1 aus D0-D10 aber das wird schon schwierig, es darf keiner sein, der irgendwie mit Timern assoziiert ist).

- - - Aktualisiert - - -

was hältst du denn von der Frage, ob man einfach beim Mega etc. 51+52 für MOSI/SCK etc. nehmen kann, wenn für den Uno "angeblich zwingend" pins 10 und 11 (oder 12) plus "normale D-Pins" von der lib vorgesehen sind ?
Kann man dann trotzdem auch dür die anderem digi-pins die aus dem SPI-Header (insb. RST) nehmen?
MISO (50) wird ja wohl nicht oder nur für die SD-Karte gebraucht. CS muss man sehen. (Was ist mit SS=53 ?)
?

PICture
12.11.2014, 09:49
Meine damalige Hardware hat nix mit Timern zu tun und das Display kann auf beliebigen etntsprechend definierten und programmierten Pins von µC "hängen".

Sorry, aber ich über AVR fast k.A. habe.

HaWe
12.11.2014, 10:00
beim Mega sind ja viele Pins mit Timern assoziiert und die nutze ich bereits für Timer-IRQs oder pwms (2-13 und 44-46).

// setup for motor/data pins
// notice: for Uno/Duemilanove, use pwm only for pins 3,5,6,9,10,11 !
// for Arduino Mega pwm pins are all from 2-13, and 44,45,46
// for Arduino Mega interfering timer interrupt pins are:
// timer 0 (pin 13, 4) 1 ( pin 12, 11) 2 ( pin 10, 9)
// timer 3 ( pin 5, 3, 2) 4 ( pin 8, 7, 6) 5 (pin 44-46)
// timer interrupt 1 for 250µs rotation encounter readings
// timer interrupts 0 + 4 + 5 for motor pwm control
// timer interrupt 3 for keyboard interface
// pins 50-53 reserved for SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS)
// pins 3+4 reserved for PS2 keyboard interface

von den wenigen, die ungenutzt bleiben, benötige ich 16 für Taster.
8 analoge (A0-A7) gehen für ADC-Sensoren drauf, ebenso i2c für ein i2c-Interface.

daher der magere Rest fürs Display:
SPI (soll ja auch ein SPI Display sein, allein schon wegen Geschwindigkeit, und TFT-SPI soll eben zu Mega-SPI passen)
und A8-A11 sind auch frei.

Damit müsste also deine Lösung funktonieren.

PICture
12.11.2014, 10:06
Ich habe es zwar nicht probiert, aber es könnte Interruptsperre während Displayausgabe nötig sein. ;)

HaWe
12.11.2014, 10:11
das ist schwierig, da nur 1 Hardware-Timer zulässig ist und der auch nicht gesperrt werden darf, nämlich IRQ1 (alle 250µs), sonst fürchte ich um meine realtime-Encoder-Readings für die 6 (-8 ) Rotationsencoder.
Unterm Strich würde ich also sagen:

SPI-Lösung für die SPI-Header ist ok, alles andere eher nicht.

PICture
12.11.2014, 10:16
Trotzdem wünsche ich dir vieeel Erfolg, obwohl ich nicht weiter helfen kann. :D

HaWe
12.11.2014, 10:29
dankeschön :)