ich wollte mich mal nach ein paar Dingen erkundigen.
Wenn ich einen TFT Display an die Arduino UNO Platine anschliesse, hab ich dan noch PINS frei um eine Serielle (COM) -Verbindung zu einem anderen Teilnehmer herzustellen?
Ich habe gelesen das jeder Digitale Pin des UNO´s zu Seriellen Verbindung genutzt werden kann...
Habe ich dann mit einem TFT (Farbdisplay) noch etwas über?
Hi,
eine serielle Schnittstelle benötigt 2 Pins, Senden TxD und Empfangen RxD.
Ausserdem muss die Masse der beiden Teilnehmer verbunden werden.
Es gibt eine Library (SoftwareSerial) die Du benutzen kannst.
Der UNO hat eine integrierte serielle Schnittstelle auf Pin 0 und 1.
Diese wird jedoch zur Verbindung mit dem PC benötigt und wird deshalb normalerweise nicht benutzt.
Ein Mega hat mehrere integrierte serielle Schnittstellen.
Ob Du beim Anschluß eines Displays noch Pins frei hast, liegt am Display.
Einige werden parallel angeschlossen und benötigen viele Pins.
Andere werden über einen Bus angeschlossen und kommen mit wenig Pins aus.
Wenn du die Hardwareschnittstelle des UNO am Pin 1 und 0 verwendest, funktioniert anschliessend der Softwareupload nicht mehr, da die selbe Schnittstelle auch dafür verwendet wird. D.h. du müsstest jedes Mal das Display entfernen, wenn du neue Software hochladen willst.
Wenn du die genannte SoftwareSerial Library verwenden willst, kannst du zwei beliebige Pins als zweite (simulierte) Schnittstelle verwenden. Allerdings ist dazu zu sagen, dass eine serielle Schnittstelle in Hardware einiges schneller und zuverlässiger funktioniert.
Das heisst ich muss zwangsläufig auf einen Arduino Mega umsteigen, damit ich ein vernünftiges Konzept habe?
Ich möchte die PC Verbindung erhalten (Pin 1 und 0) und gleichzeitg einen Dispay (vorzugsweise von "SainSmart" falls das etwas sagt) zur Anzeige nutzen und mit einem anderen Teilnehmer kommunizieren.
Felli93:
Das heisst ich muss zwangsläufig auf einen Arduino Mega umsteigen, damit ich ein vernünftiges Konzept habe?
Ich möchte die PC Verbindung erhalten (Pin 1 und 0) und gleichzeitg einen Dispay (vorzugsweise von "SainSmart" falls das etwas sagt) zur Anzeige nutzen und mit einem anderen Teilnehmer kommunizieren.
Leider sind die Angaben zu dem Display so mager dass ich nicht erkennen kann welche Pins am UNO verwendet werden und welche nicht.
Zudem werden durch die Bauform des Displays alle Anschlüsse am UNO abgedeckt.
Um dann evtl. noch freie Pins für andere Aufgaben zu verwenden muss man sich was einfallen lassen.
Kann es sein dass dich der Begriff "seriell" etwas durcheinander bringt? Seriell bedeutet erst einmal nur dass Daten gepackt nacheinander, und nicht alle Signale gleichzeitig (parallel) übertragen werden. Es gibt verschiedene Schnittstellen die seriell arbeiten. Die UART, beim Arduino "Serial" genannt, ist nur ein Beispiel dafür, das sind die TxD und Rxd Anschlüsse beim Uno. Diese wird für die Kommunikation für den PC benötigt, deshalb ist sie etwas unpraktisch zu benutzen. Andere Arduinos haben auch mehrere davon. Darüber kann immer nur ein gerät gleichzeitig kommunizieren.
Wenn bei Displays von "seriell" gesprochen wird ist meist der I²C Bus gemeint, das ist etwas anderes. Je nachdem welchen Uno man verwendet sind das die SDA/SCL pins, oder es werden die Pins 4/5 dafür verwendet. So wie die Uart Schnittstellen beim Arduino auf "Serial" hören, so hört I²C auf "Wire". Über I²C können auch mehrere geräte gleichzeitig kommunizieren, sofern sich ihre Adressen nicht ins Gehege kommen.
Wenn du also vor hast ein "serielles" I²C (oder TWI für TwoWireInterface) Display zu verwenden, dann benötigst du dafür nur zwei Pins und es stört sich überhaupt nicht mit der seriellen Verbindung zum PC.
Ein paralleles Display belegt wesentlich mehr Pins, weil alle Signale -parallel- übertragen werden, genaueres verrät das Datenblatt. Aber auch das sollte noch ein paar Pins des Uno für andere Dinge frei lassen.
Am besten wäre du verlinkst einmal das Display an das du gedacht hast.
Wenn du wegen Display oder Shields nicht mehr von oben an Buchsen heran kommst sind der Fantasie mit dem Lötkolben wenig Grenzen gesetzt. Zum Beispiel Buchsenleisten an die Unterseite löten. Es gibt aber auch shields die einfach noch dazwischen gesteckt werden und die Anschlüsse seitlich heraus führen.
Es nutzt die SPI Schnittstelle.
...
Meine Frage konkret:
Ist es nach Anschluss dieses Displays noch möglich mit einem Teilnehmer über UART zu kommunizieren?
...
Ja das ist möglich.
Die für den UART verwendeten Pins 0 und 1 bleiben beim Anschluss dieses Displays frei weil es die SPI Schnittstelle verwendet.
Wenn du aber UART für einen anderen Teilnehmer brauchst funktioniert die Kommunikation mit dem PC nicht mehr (Sketch Upload und serial Monitor) solange der anderen Teilnehmer mit dem UNO verbunden ist.
Kann der andere Teilnehmer kein SPI?
Denn an SPI kann man gleichzeitig mehrere Geräte anschließen solange die Geräteadressen unterschiedlich sind.
Nja ich muss im Betrieb ja auch nicht FLASHEN/Programmieren.
Es genügt ja den Arduino in seiner Umgebung ans laufen zu bekommen und dann soll er da ja auch nicht so schnell wieder weg.
Sobald ich den COM Anschluss nutze, ist es aber trotzdem (wenn ich den UART Teilnehmer von PIN0/1 abklemme) ohne Änderungen möglich, wieder ein Verbindungsaufbau zu tätigen .. oder?
Wer ist der andere Teilnehmer? SPI kann man notfalls auch in Software machen. Wäre sinnvoll hier mal ein paar mehr Informationen zu liefern, ohne das jeder nachfragen muss.
Zu deiner letzten Frage, JA. Es gibt auch noch die AltSoftSerial
Der andere Teilnehmer spielt hier ersteinmal keine Rolle. Die Rahmenbedingungen sind doch klar
UART für den anderen Teilnehmer und SPI nur für den Display.