Ik heb inderdaad het vermoeden dat die andere bytes gebruikt worden, ook al zegt de datasheet dat het om 8x2 knoppen gaat. Dat zou dan maar 4 bytes zijn.Hans1990 schreef op zaterdag 16 augustus 2025 @ 12:35:
Misschien helpt dit iets? https://github.com/maxint...aster/src/TM1628.cpp#L149
Het lijkt er op dat ze 4 buttons per byte encoderen, op bit 0 en 3 van elke byte voor K1 rij, en bit 1 en 4 voor K2 rij. Ik neem aan dat de rest dan don't care is.
Dat er dan 5 bytes zijn zou kunnen verklaren waarom SEG10 toch als tiende kolom wordt gebruikt.
De datasheet is er echter beetje vaag over. Maar dat is wel vaker zo.. veel knip en plak werk en niet altijd alles wordt netjes up-to-date gehouden.
Ik heb zojuist de software een loopje laten lopen langs alle bits en deze ook een korte tijd (~1s) laten vasthouden bij opvolgende scans. Tegelijk hield ik bij wat er op het display getoond zou moeten worden. En bij bit 35 zag ik ineens dat de data naar het display anders was!
Het lijkt er dus op dat bit 35 ervoor zorgt dat het apparaat aan- en uitgeschakeld wordt. Als ik dat nu met een knop vanuit de web UI probeer, hoor ik het apparaat ook schakelen. Ik vermoed dat er iets van een delay in zit waardoor het apparaat niet meteen reageert. Mogelijk voert ie ook eerst nog wat checks uit, want de ventilator gaat nog steeds niet aan.
Met bit 36 is het me ook al gelukt om de waarde op het display te verlagen. Dat is dus wellicht de 'down'-knop.
Die link is overigens om de TM1628 aan te sturen. Ik wil 'm juist emuleren en dus zelf als 'slave' fungeren.
Inmiddels ben ik dus al wat stapjes verder in het ontcijferen van de data en functies. Dat het een eenvoudige schakeling is, wat inderdaad wel duidelijk. Alleen het reverse engineren is toch wat lastiger dan ik dacht.kitao schreef op zaterdag 16 augustus 2025 @ 13:35:
@maikel
Wat ik er zover van begrijp is dat de TM1628 geen programmeerbaar IC is en dan zou de m.i. niet al te gecompliceerde schakeling kunnen worden gedupliceerd omdat er dan geen programma in hoeft te worden gezet. Jammer is daarbij wel dat er zover ik gezien heb geen DIP versie van is maar waarschijnlijk is er wel een adapterboard voor te vinden dat de pinnen makkelijker bereikbaar maakt zonder smd te solderen. Indien de duplicaat versie dan doorgrond is kan er eventueel een nieuw printje gemaakt worden. Heb je daar een schema van of zijn de 'tracks' met het oog te volgen?
Andere optie is misschien om de componenten die duidelijk aangetast zijn te vervangen, zoals de knoppen en de rest goed schoon te maken.
En net als Hans kan ik je een linkje geven dat mogelijk van pas komt.
https://www.onetransistor...ment-display-arduino.html
.
:no_upscale():strip_icc():strip_exif()/f/image/nOOZtNQ87I3yrvK5oJKmFhk3.jpg?f=user_large)
:strip_exif()/f/image/qtzaFVUOV3xqxmYluL2uVHQp.jpg?f=fotoalbum_large)
:strip_exif()/f/image/cYDDQCT2YRSwavk6FlkBgtd5.jpg?f=fotoalbum_large)
:strip_exif()/f/image/omXVOU36cq0sG4w0J3A1CVZN.jpg?f=fotoalbum_large)
:strip_exif()/f/image/YSlVTk6NgXElE8ZE5BgTnovi.jpg?f=fotoalbum_large)
:no_upscale():strip_icc():strip_exif()/f/image/C8X9PPN42BuHEqS6dTYazvsq.jpg?f=user_large)
:strip_exif()/f/image/LQDUT7vbFBkS2BYUbe8IwOqz.jpg?f=fotoalbum_large)
:strip_exif()/f/image/oF4BH5GZAnsDYfDa9y2ot5Cm.jpg?f=fotoalbum_large)
:strip_exif()/f/image/tU8cXvnSYeuStGVhurRPGAZE.jpg?f=fotoalbum_large)
:strip_exif()/f/image/KsrOe0QqubRdG3RZz1AsaTLr.jpg?f=fotoalbum_large)
:strip_exif()/f/image/DxGqKDYR8eJWZAUw1H84EpY9.jpg?f=fotoalbum_large)
:strip_exif()/f/image/A8ga6etJZyFy9qNydvOWKBjY.jpg?f=fotoalbum_large)
:strip_exif()/f/image/d4xyZ5PmOttmgTJsUioO6eXf.jpg?f=fotoalbum_large)
:strip_exif()/f/image/uYs1eytCnFLIAHFPxIrvWpvF.jpg?f=fotoalbum_large)
:strip_exif()/f/image/maytrqsSN5yVd3DpxDucxDw3.jpg?f=fotoalbum_large)
:no_upscale():strip_icc():strip_exif()/f/image/DOKlvHJ5X7ECvRgityjinZKh.jpg?f=user_large)
:strip_exif()/f/image/uwzkhl4GpB4v3myEWGHRVkTM.jpg?f=fotoalbum_large)
:strip_exif()/f/image/MUTWZMjrKSBRm8sXrJaNE88i.jpg?f=fotoalbum_large)
:strip_exif()/f/image/RPnGWUEc1iQomQZaFq20NHC7.jpg?f=fotoalbum_large)
:strip_exif()/f/image/87RuyazXEwTNAxJrof7oP7KR.jpg?f=fotoalbum_large)
:strip_exif()/f/image/U9KQZpbcb6nWEI4EeakxJgCR.jpg?f=fotoalbum_large)
:strip_exif()/f/image/9vIutKhv398SakXWMSOv1xRQ.jpg?f=fotoalbum_large)
:strip_exif()/f/image/wdkt2NoMibehJ9wrwamtSVfX.jpg?f=fotoalbum_large)
/f/image/Z4ZCTeA0t0Wmd1EDV7LU6NB9.png?f=fotoalbum_large)
:strip_exif()/f/image/3tEiOl0nlKnXiCduW3zsCI3k.jpg?f=fotoalbum_large)

:strip_exif()/f/image/83CMt6fnUhrkCDiqwmL7aRHy.jpg?f=fotoalbum_large)
:strip_exif()/f/image/hL6p6tgAJGoYNA3lHyxPIH2D.jpg?f=fotoalbum_large)
:strip_exif()/f/image/EeX2xxUrSXPtaS0ROH8m4Chi.jpg?f=fotoalbum_large)
:strip_exif()/f/image/cfOigaospav3WIHQ4bKdrwih.jpg?f=fotoalbum_large)
:strip_exif()/f/image/cS2ltU2ku2xR9okVVt3yY28a.jpg?f=fotoalbum_large)
:strip_exif()/f/image/EYbF46DJsPQzmaMeEtQIacjG.jpg?f=fotoalbum_large)
:strip_exif()/f/image/iNi0mNLrS6Ax4nIDriPmnZAQ.jpg?f=fotoalbum_large)
:strip_exif()/f/image/fF0UA51QiD4p5ZIZIJ8O3EzL.jpg?f=fotoalbum_large)
:strip_exif()/f/image/gvmqW8Sl3bSAzq68BP3SDZvJ.jpg?f=fotoalbum_large)
:strip_exif()/f/image/AXlIJAW7tudSWyZdN8m1GrPE.jpg?f=fotoalbum_large)
:strip_exif()/f/image/EZoQNDPNC76pAs8unfqy271h.jpg?f=fotoalbum_large)
:strip_exif()/f/image/mp8bhVjGYqXxRZ7zzM4WtePr.jpg?f=fotoalbum_large)
:strip_exif()/f/image/l6NQL3l5iw1ZZqDZy8d2QBSd.jpg?f=fotoalbum_large)
:strip_exif()/f/image/JPGgpfXcXMhWmGRjtOoBGhAx.jpg?f=fotoalbum_large)
:strip_exif()/f/image/PbklrYrBNhkvEf4gv8YzlWEo.jpg?f=fotoalbum_large)
:strip_exif()/f/image/uNYYA0yhwY0QucLdTOokbkvZ.jpg?f=fotoalbum_large)
:no_upscale():strip_icc():strip_exif()/f/image/OBZKvFc7lBYEWv4df0tHVFuG.jpg?f=user_large)
:strip_exif()/f/image/6jg7Q25G2NAOcNjnArFCNYIA.jpg?f=fotoalbum_large)
:strip_exif()/f/image/THqhma2LFKJCypnM8Kfp3wKT.jpg?f=fotoalbum_large)
:strip_exif()/f/image/dIRZeHTNg7J6f4DmeyfRAt0g.jpg?f=fotoalbum_large)
:no_upscale():strip_icc():strip_exif()/f/image/LBKo0oWYMGtJJ5K0jBQfgcET.jpg?f=user_large)
:strip_exif()/f/image/sY2BXq9dfMufdGWRSgi5FbhT.jpg?f=fotoalbum_large)