Alternative zu Relais an CYD

#7851098
Lesenswert?

Hallo,

wie fange ich an... für ein Bastelprojekt möchte ich an einem CYD (Cheap Yellow Display JC2432W328C) mit kapazitivem Touchpanel eine Berührungssperre bauen. Das Touchpanel hat 6 Kontakte und ich möchte das mit nur einem Taster machen (im besten Fall ein Kontakt, der auf GND zieht, wenn er betätigt wird). Ohne Betätigung soll das Touchpanel inaktiv sein, bei gedrücktem Taster soll es funktionieren, also Taster gedrückt = alle 6 Kontakte verbunden.

Nun habe ich schon versucht, nur den GND-Pin vom Flachbandkabel des Touchpanels zu trennen (das wäre meine liebste Lösung gewesen, weil dann keine weitere Schaltung außer dem Taster selbst nötig gewesen wäre). Dabei bleibt das Panel allerdings leider aktiv. Ziehe ich das ganze Folienkabel, deaktiviert sich das Panel - ich arbeite also an der richtigen Stelle.

Nun hat der FPC-Connector ja 6 Pins. Ich überlege, einfach alle 6 Pins zu schalten, möchte das aber nur mit einem Taster machen und habe keinen Platz für einen riesigen 6UM-Taster. Da dachte ich an ein sehr kleines Relais mit 6 Kontakten, aber das zeiht für meine Anwendung zu viel Strom, schätze ich. Apropos Strom: Das kapazitive Touchpanel wird sicher auch nur mit dehr kleinen Strömen in den Signalleitungen arbeiten. Die zu schaltenden Kontakte müssen also nur wenige µA abkönnen. Gibt es eine elektronische Lösung mit wenig Stromverbraucht auf 5V-Spannungsniveau, mit dem ich mir da behelfen kann?

Bin absoluter Elektroniklaie und kann nur nach vorgefertigten Schaltplänen Platinen ätzen/fräsen und bestücken. Entwerfen kann ich die Schaltungen nicht. Macht man sowas mit Optokopplern? Vielleicht kann ich auch fertige Module dafür einsetzen (gibt ja Optokopplerbausteine mit 1,2,4,8,... Schaltkontakten). Oder geht da der Einsatz von Reedrelais - gibt es die mir 8 oder mehr Kontakten?

Kann mir jemand Helfen?

#7851116
Lesenswert?

Harald K. schrieb:

Dann beschaff Dir das Datenblatt des Bausteins, der das Touchpanel abfragt, und finde raus, ob der irgendeinen Enable-Eingang hat, oder ob man das Interface zwischen diesem Baustein und dem ESP32 abklemmen kann.

Das Ding kommt aus China. dazu haben schon viele Leute Supportanfragen gestellt und keine Antwort erhalten.

Optokoppler sind wohl keine gute Idee? Oder Photomos oder Reedrelais?

#7851158
Lesenswert?

Ich habe ein CYD mit kapazitivem Touch. Es ist das JC2432W328C. Die Pins von der RGB-LED sind bereits aufgebraucht und werden anderweitig verwendet.

Es geht mir nicht darum, das Display auszuschalten, sondern nur das Touchinterface. Also ich möchte unterbinden, dass versehentlich ein Touchinput generiert wird, ohne dass der Taster gedrückt gehalten wird.

#7851188
Lesenswert?

Capacitive touch driver: The chip is CST820 and there are CST820.h and CST820.c files in the documentation. I am using PlatformIO so I just created the CST820 folder inside lib and copied the files. https://github.com/witnessmenow/ESP32-Cheap-Yellow-Display/discussions/200

Wie wäre es dann einfach den CS vom Touch zu steuern? #define ST7789_DRIVER #define TFT_RGB_ORDER TFT_BGR #define TFT_WIDTH 240 #define TFT_HEIGHT 320 #define TFT_INVERSION_OFF #define ESP32_DMA #define TFT_MOSI 13 #define TFT_SCLK 14 #define TFT_CS 15 #define TFT_DC 2 #define TFT_RST -1 #define TFT_BL 27 #define TOUCH_CS 33

Laut der Doku. PIN 33 TOUCH_CS

#7851203
Lesenswert?

Der ESP32 wird den CS vom Touch IC steuern, alles andere macht ja keinen Sinn. Kannst du mit einem Osci messen sofern du einen hast. Dann Leitung auftrennen und schaltbar machen. Da du keinerlei Elektronik Kenntnisse hast wird selbst so etwas schwieriger werden. Wie weit reicht dein Veständnis / Fähigkeiten? traust du dir zu die Leitung aufzutrennen? und Tests durchzuführen? also die Verbinding zwischen ESP32 und dem Touch controller auftrennen wäre mal der erste Schritt.

#7851228
Lesenswert?

Nein, kannst du messen, ist aber bei einem DMM eher unsinnig. Was soll der Messwert dir sagen? Also, wenn PIN 33 abgetrennt ist dann sollte das andere Ende der Leitung am Touch IC enden. Der Pin sollte jetzt spannungsfrei sein. Legst du diese CS Leitung auf 1 dann darf kein Touch mehr funktionieren.

#7851303
Lesenswert?

M. B. schrieb:

Was heißt auf 1 legen?

M. B. schrieb:

Sollte ich lieber 0V zuerst probieren, aus Angst, dass der IC 3V3 nicht verträgt?

Hast du Grundlagenwissen von irgendetwas im Bereich Elektronik oder Informatik?

M. B. schrieb:

Bin absoluter Elektroniklaie und kann nur nach vorgefertigten Schaltplänen Platinen ätzen/fräsen und bestücken.

Höchste Zeit daran mal was zu Ändern. Lege mal das CYD beiseite und führe dir z.B. mal

https://www.elektronik-kompendium.de/sites/grd/index.htm

https://www.elektronik-kompendium.de/sites/dig/2905121.htm

zu Gemüte.

M. B. schrieb:

Die Pins von der RGB-LED sind bereits aufgebraucht und werden anderweitig verwendet.

Wie hast du es geschafft alle GPIOs zu verwenden? Evtl. gibt es da einen Ansatz das ganze Konzept zu überdenken.

#7851316
Lesenswert?

Obelix X. schrieb:

Hast du Grundlagenwissen von irgendetwas im Bereich Elektronik oder Informatik?

Elektrik geht, in Elektronik und Informatik bin ich eine Niete.

Mit der Frage, was die 1 bedeutet ging es mir darum, ob ich 5V oder 3,3V nehme. Dass logisch 0 = GND ist und logisch 1 = 3,3V oder 5V wusste ich. In der TTL ist doch die 0 unter 1V und die 1 über 3V oder so ähnlich. Da wären ja auch 5V in Frage gekommen.

Obelix X. schrieb:

Wie hast du es geschafft alle GPIOs zu verwenden? Evtl. gibt es da einen Ansatz das ganze Konzept zu überdenken.

Das Projekt baue ich einfach nach und versuche es um eine Tasten- und Displaysperre zu erweitern. Am CYD sind kaum GPIOs ungenutzt, sodass ich da keine Wahl habe.

#7851327
Lesenswert?

M. B. schrieb:

Mit der Frage, was die 1 bedeutet ging es mir darum, ob ich 5V oder 3,3V nehme. Dass logisch 0 = GND ist und logisch 1 = 3,3V oder 5V wusste ich. In der TTL ist doch die 0 unter 1V und die 1 über 3V oder so ähnlich. Da wären ja auch 5V in Frage gekommen.

Dann Frage dich, mit welcher Betriebsspannung arbeitet der ESP bzw. der Touchcontroller -> Datenblatt oder Schaltplan vom CYD schauen und was Pull-up /-down Widerstände sind.

https://www.elektronik-kompendium.de/public/schaerer/pullr.htm

#7851391
Lesenswert?

Obelix X. schrieb:

Harald K. schrieb:

M. B. schrieb:

Am CYD sind kaum GPIOs ungenutzt, sodass ich da keine Wahl habe.

Kaum heißt nicht keine. Was jetzt?

So wie MB fragt gehe ich davon aus, dass er die Software nicht ändern kann. Es ist also egal, ob GPIOs frei sind oder nicht. Der Taster soll dann wohl direkt mit dem Touch-CS verbunden werden.

Ja, ich habe keine Ahnung von der Software (bei mir langt es nur zum flashen).

#7851395
Lesenswert?

N. M. schrieb:

Ist halt die Frage was das Programm bzw der Touch Treiber macht wenn er nach Auftrennung nur Nullen oder Einsen bekommt.

Deswegen hatte ich gehofft, dass nach Auftrennen der GPIO33 das Touchpanel schon deaktiviert ist und beim Verbinden per Taster einfach wieder mit mir spricht, aber nach Auftrennen geht es ja trotzdem noch.

Wie dem auch sein: Heute Abend teste ich mal was passiert, wenn ich den Touch_CS mit 0 oder 1 verbinde.

#7851430
Lesenswert?

M. B. schrieb:

N. M. schrieb:

Ist halt die Frage was das Programm bzw der Touch Treiber macht wenn er nach Auftrennung nur Nullen oder Einsen bekommt.

Deswegen hatte ich gehofft, dass nach Auftrennen der GPIO33 das Touchpanel schon deaktiviert ist und beim Verbinden per Taster einfach wieder mit mir spricht, aber nach Auftrennen geht es ja trotzdem noch.

Wie dem auch sein: Heute Abend teste ich mal was passiert, wenn ich den Touch_CS mit 0 oder 1 verbinde.

Das ist auch der wesentliche Test. Chip Select CS meint eben der Touch Baustein ist an oder aus.

#7851651
Lesenswert?

Bernd N. schrieb:

Hier der Schaltplan. https://oshwlab.com/mariusmym/esp32_cyd_cheap_yellow_display

Das ist das resistive Board. Sieht man auch am XPT2046. Das ist ein resistiver Touch Controller.

Bernd N. schrieb:

Capacitive touch driver: The chip is CST820 and there are CST820.h and CST820.c files in the documentation. I am using PlatformIO so I just created the CST820 folder inside lib and copied the files. https://github.com/witnessmenow/ESP32-Cheap-Yellow-Display/discussions/200

Übersehen ich was? Der Ali Link spricht von einem 3248S035. Der TO von einem JC2432W328C. Das ist doch das falsche Board.

Hier findet man eine Übersicht der Boards: https://github.com/rzeldent/platformio-espressif32-sunton

In der Tabelle der Supported boards wird von einem CST816S als Touch Controller geredet. Das wäre dann I2C, kein SPI! https://www.waveshare.com/w/upload/5/51/CST816S_Datasheet_EN.pdf Sieht man auch in der Config Datei: https://github.com/rzeldent/platformio-espressif32-sunton/blob/main/esp32-2432W328C.json

Scheint aber auch Port 32/33 zu sein:

1
 "'-D CST816S_I2C_CONFIG_SDA_IO_NUM=33'",
2
      "'-D CST816S_I2C_CONFIG_SCL_IO_NUM=32'",
#7851672
Lesenswert?

Ich denke du hast recht. Leider habe ich kein Datenblatt für den Touch Controller gefunden. Aber man findet bei den Code Beispielen:

1
#include <lvgl.h>
2
#include <TFT_eSPI.h>
3
#include "CST820.h"
4
#include <demos/lv_demos.h>
5

6
/*Bildschirmauflösung ändern*/
7
static const uint16_t screenWidth = 240;
8
static const uint16_t screenHeight = 320;
9

10
/*Touchscreen-Pins definieren*/
11
#define I2C_SDA 33
12
#define I2C_SCL 32
13
#define TP_RST 25
14
#define TP_INT 21

Footprint habe ich auch gefunden sofern es passt? Bild im Anhang. Das ist ziemlich eindeutig I2C. Man könnte den Reset PIN versuchen oder ggfs die Interrupt Leitung unterbrechen sofern diese im Code ausgewertet wird.

Angehängte Dateien:
#7851680
Lesenswert?

Bernd N. schrieb:

Ich denke du hast recht. Leider habe ich kein Datenblatt für den Touch Controller gefunden.

Du meinst von dem Board selbst, oder? Da habe ich auch nichts gefunden. In der Sammlung auf GitHub fehlt das Schematic für das Board auch.

Den Touch hatte ich oben doch verlinkt.

N. M. schrieb:

Das wäre dann I2C, kein SPI! https://www.waveshare.com/w/upload/5/51/CST816S_Datasheet_EN.pdf

#7851695
Lesenswert?

N. M. schrieb:

In der Tabelle der Supported boards wird von einem CST816S als Touch Controller geredet. Das wäre dann I2C, kein SPI!

Ich habe grad ein Foto vom Touch-Controller gemacht. Es handelt sich um einen CST820. Dazu habe ich gefunden: "The touch controller is in fact a CST820 but this is upward compatible with the CST816S"

Angehängte Dateien:
#7851707
Lesenswert?

N. M. schrieb:

Bernd N. schrieb:

Ich denke du hast recht. Leider habe ich kein Datenblatt für den Touch Controller gefunden.

Du meinst von dem Board selbst, oder? Da habe ich auch nichts gefunden. In der Sammlung auf GitHub fehlt das Schematic für das Board auch.

Den Touch hatte ich oben doch verlinkt.

N. M. schrieb:

Das wäre dann I2C, kein SPI! https://www.waveshare.com/w/upload/5/51/CST816S_Datasheet_EN.pdf

Das Pinout stimmt aber nicht. Auf dem Foto selbst sehe ich 6 PINs pro Seite, im PDF sind es 5. Gesucht wird also der PIN Reset bzw. Interrupt vom CST820.

Sollte die Software in den Interrupt vom CST820 auswerten dann genügt es diese Leitung zu unterbrechen. Kein Interrupt sollte dann keine Touch Auswertung ergeben. 2te Möglichkeit der Reset PIN. Wenn der auf Reset steht sollte der Touch Baustein auch ohne Funktion sein. Datenblatt würde hoer helfen.

#7851719
Lesenswert?

Power on/Reset The built-in power-on reset module will keep the chip in reset until the voltage is normal. When the voltage is lower than a certain threshold, the chip will also be reset. When the external reset pin RSTn is low, the whole chip will be reset. This pin has a built-in pull-up resistor and RC filter, and the built-in watchdog ensures the chip can return to normal operation within the specified time when an abnormal situation occurs.

Interrupt Mode The touch chip only informs the host to read valid data through the IRQ pin when it detects a valid touch and needs to report it to the host, so as to improve the efficiency and reduce CPU load. The interrupt edge can be configured as a rising edge or a falling edge as needed. The IRQ pin is also used to wake up the host when matching predefined gestures in standby mode.

Ist die Software geheim oder kann man da einen Blick reinwerfen?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren