Advertisement
tuvok81

cbfunk dnt auslesen

Jun 25th, 2025
13
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.89 KB | None | 0 0
  1. So kannst du bei der DNT Carat Exclusive die Kanalanzeige abgreifen
  2. đŸ§© 1. Displayart & Steuerung
  3.  
  4. Die Anzeige nutzt zwei 7-Segment-LEDs.
  5.  
  6. Die Steuerung erfolgt multiplexed, d. h. die Stellen (Digit 1 & 2) werden nacheinander aktiviert, und es gibt gemeinsame Segmentleitungen (A bis G).
  7.  
  8. Meist sitzt auf der RĂŒckseite kein eigener Treiber-IC (wie HT16K33), sondern die Anzeige wird direkt vom Mainboard oder einem Mikrocontroller gesteuert.
  9.  
  10. 🔍 2. Vorgehen
  11. 🛠 A. Signale ausmessen
  12.  
  13. Du brauchst:
  14.  
  15. Logic Analyzer (z. B. Saleae Clone) oder Oszilloskop
  16.  
  17. Oder Multimeter + Geduld
  18.  
  19. Gehe folgendermaßen vor:
  20.  
  21. Öffne das GerĂ€t.
  22.  
  23. Miss bei eingeschaltetem GerĂ€t die Spannung an den 7-Segment-Leitungen (RĂŒckseite der Anzeige).
  24.  
  25. Identifiziere:
  26.  
  27. Segmentleitungen A–G (+ evtl. DP)
  28.  
  29. Digit-Steuerleitungen (Digit 1, Digit 2)
  30.  
  31. Typisch sieht das so aus:
  32.  
  33. 8–9 Leitungen vom Board zur Anzeige.
  34.  
  35. Immer nur eine Stelle aktiv → die Segmente fĂŒr diese Stelle zeigen dann einen Zahlencode.
  36.  
  37. Beispiel Multiplexing-Logik:
  38.  
  39. Digit 1 → aktiv → Segmente leuchten fĂŒr "3"
  40.  
  41. Digit 2 → aktiv → Segmente leuchten fĂŒr "1"
  42. → Anzeige: "13"
  43.  
  44. 🧰 B. Abgriff mit ESP32
  45.  
  46. Du brauchst:
  47.  
  48. ESP32 (mit mind. 9 GPIOs fĂŒr A–G + 2 Digit-Pins)
  49.  
  50. GND-Verbindung zur FunkgerÀt-Platine
  51.  
  52. Eventuell Spannungsteiler, falls dort >3.3V anliegt!
  53.  
  54. Dann:
  55.  
  56. Alle Segmentleitungen an ESP32-EingĂ€nge anschließen
  57.  
  58. Die Digit-Leitung als Trigger verwenden (z. B. Interrupt, oder sehr schneller Polling-Takt mit micros())
  59.  
  60. Ziel:
  61.  
  62. Wenn Digit1 aktiv → speichere Segmentzustand als digit1_value
  63.  
  64. Wenn Digit2 aktiv → speichere Segmentzustand als digit2_value
  65.  
  66. Setze beide Ziffern zu Kanalnummer zusammen
  67.  
  68. 🧠 C. Segment-Decoder-Tabelle (Beispiel)
  69.  
  70. // Segment A-G → Bitfolge
  71. const byte segmentTable[10] = {
  72. B0111111, // 0
  73. B0000110, // 1
  74. B1011011, // 2
  75. B1001111, // 3
  76. B1100110, // 4
  77. B1101101, // 5
  78. B1111101, // 6
  79. B0000111, // 7
  80. B1111111, // 8
  81. B1101111 // 9
  82. };
  83.  
  84. đŸ§Ș D. Matching
  85.  
  86. Vergleiche das gemessene Segment-Muster mit der Tabelle – so bekommst du die Ziffern.
  87. 🌐 3. Übertragung z. B. per FTP oder MQTT
  88.  
  89. Sobald der Kanal als int kanal = 19; erkannt ist, kannst du:
  90.  
  91. FTP-Datei schreiben
  92.  
  93. MQTT-Broker publizieren
  94.  
  95. REST-API/HTTP-GET an deinen Webserver schicken
  96.  
  97. oder lokal .txt auf SD-Karte schreiben
  98.  
  99. Beispiel FTP (wie oben):
  100.  
  101. ftp.NewFile("kanal.txt");
  102. ftp.Write("Aktueller Kanal: " + String(kanal));
  103.  
  104. đŸ“· Bonus: Bilder zur VerfĂŒgung?
  105.  
  106. Wenn du ein Foto vom Display-PCB (RĂŒckseite der Anzeige, am besten mit Sicht auf Lötpunkte oder Flachband) machst, kann ich dir exakt sagen:
  107.  
  108. welche Leitung Segment A–G ist
  109.  
  110. welche Pins du nehmen solltest
  111.  
  112. ob evtl. ein einfacher Decoder-Chip (wie 74HC147) helfen könnte
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement