Hacker Socotel S63 à touches

Bonjour à tous,

Je travaille actuellement sur un projet domotique où j'aimerais utiliser un vieux téléphone à touches, un Socotel S63, pour détecter les pressions de touches et contrôler divers appareils, comme des lumières. Mon but est d'utiliser un ESP ou un Arduino pour intercepter les signaux de touches, mais ce téléphone utilise des signaux DTMF (il me semble), ce qui complique l’interception des touches pressées.

D’après mes recherches, plusieurs projets similaires ont été réalisés avec la version précédente de ce téléphone, celle à cadran. Cependant, mon modèle possède un clavier, ce qui rend l’approche un peu différente. Je n’ai trouvé qu’un fil de discussion abordant le même modèle : ici

Objectifs et contraintes :

  • But principal : détecter les touches pressées et, à terme, les utiliser pour déclencher des actions en domotique.
  • Circuit du téléphone : d'après mes recherches, le circuit semble fonctionner avec une matrice de touches et encode les pressions en signaux DTMF.
  • Alimentation : idéalement, je souhaiterais faire fonctionner ce circuit avec une alimentation en 3V ou 5V.

Questions :

  1. Est-il possible d'alimenter uniquement le circuit du clavier en basse tension (3V ou 5V) pour détecter les touches, sans passer par la ligne téléphonique ?
  2. Y a-t-il un moyen d’intercepter les pressions de touches avant qu'elles soient transformées en signaux DTMF ?
  3. Est-ce qu’il existe des astuces pour « écouter » directement la matrice des boutons et savoir quelle touche est pressée, ou devrais-je utiliser un décodeur DTMF pour lire les signaux générés ? Et dans ce cas, le téléphone doit t'il être brancher en secteur ? (Je préfèrerais une autre solution)

bonsoir

si ton clavier sort du dtmf pas besoin de l'eclater suffit d'acheter un module decodeur dtmf dans les 1 a 3 € uivant conditions d'achat
il fait le boulot et toi tu as juste a decoder les 4 bits de sortie

https://fr.aliexpress.com/item/32226651145.html

Pas vraiment envie d'acheter un module sur AliExpress et attendre 1/2 semaines, je ne saurais même pas ou le brancher, et il me semble qu'il faudrait dans ce cas que le téléphone soit alimenter... J'aimerais si possible plutôt récuperer les signaux directement ou avec un esp. (J'ai modifié mon post initial avec plus d'informations et des photos)

Bonsoir

une piste : décodage par ESP32 le DTMF issu du TCM5089 de la carte

Récupérer sur le net la datasheet du circuit intégré Texas Instruments TCM5089 (repère MA2 sur la carte)
https://pdf.datasheetcatalog.com/datasheets2/33/339125_1.pdf

Etudier le schéma d'application proposé par Texas Instruments

Ce circuit gère le clavier matriciel et génère sur sa patte 16 le signal DTMF
ATTENTION : +3V3 sur VDD, broche 1 donc flèche à l'envers dans le schéma ci-dessous

Sans raccorder le téléphone au réseau alimenter le TCM5089 en 3,3V (Texas Instruments indique qu'il accepte de 3 à 10V). Le schéma du téléphone permettrait de voir s'il y a des précautions à prendre avant d'alimenter de l'extérieur le TCM5089

Relier la sortie DTMF du TCM5089 à une entrée analogique de l'ESP32

Tester le décodage DTMF par ESP32 avec cet exemple (ou un autre utillisant l'algorithme de Goertzel , efficace pour détecter la présence de fréquences connues dans un signal )

:exclamation:code non testé....... Le résultat n'est peut être pas à la hauteur de celui obtenu avec un circuit intégré spécialisé réputé comme le MT8870 reçevant le signal TONE OUPUT du TCM5089
@alex32 Tu peux toujours tester la solution ESP32 en attendant de recevoir le module avec un MT8870 :wink:

Bonjour,

Une autre piste qui me semble basique.

Puisque les signaux "lignes/colonnes" sont regroupés au niveau du circuit integré TCM5089 du télephone, pourquoi pas les connecter à l'ESP pour faire soi même le décodage.

Quelques mesures au multimétre devraient confirmer ou non la faisabilité du bazar.

Oui @jef59 c'est basique, avec plus de fils à câbler.

C'est particulièrement simple ici puisque le TCM5089 ne procède pas par balayage de la matrice du clavier , il est associé à un clavier où chaque touche ferme deux contacts (DPST)

Lors d'un appui L'une des 4 entrées COLUMN et l'une des 4 entrées ROW sont à l'état bas , les autres entrées tirées vers VDD par un pull-up interne au TCM5089

Bonus : utiliser la sortie KEYBOARD ACTIVE du TCM5089 pour informer l'ESP32 qu'une touche est activée (pull-up à ajouter et interruption sur front descendant)
On voit dans la doc (texte , schéma et table de vérité) que cette sortie passe à l'état bas dès qu'une entrée COLUMN est mise à l'état bas par action sur une des touches du clavier
image

Il ne reste plus que alimenter le minimum necessaire dans le telephone.

C'est une option qui répond aux cahier des charge je crois.

A suivre.

:exclamation:En supposant que le schéma du téléphone de @alex32 suivait le schéma proposé par Texas Instruments pour son TCM5089 j'ai oublié la photo du clavier imprimé (cf message #1) où l'on voit des contacts simples montés en matrice.......

ce n'est donc pas aussi simple qu'indiqué au message #6 :worried:

Le schéma du téléphone Matra S63 ne serait pas de trop pour avancer sur une base solide

la piste 'décodage DTMF par ESP32' (message #4) pourrait reprendre de l'avantage....

Merci pour toutes vos réponses, le simple décodage par multimètre est l'option que j'ai essayer de suivre au début, mais au vu de la complexité des connections j'ai décidé d'arreter cette piste. (+ ou brancher la borne + dans ce cas pour récupérer le voltage avec un multimètre ?)

Malheureusement sur le schéma ci-dessus on ne voit pas le détail du bloc 'Clavier à fréquences vocales', (touches + électronique de gestion des touches + génération du signal analogique DTMF)

Il faudrait le schéma détaillé de la carte :
image

Bonjour,

Est'il possible de mesurer ceci à l'Ohmétre pour voir quel genre de matrice il s'agit

Peut être que cela peut marcher moyennant quelques modifs sur le telephone.

La résistance passe de 58.8 kohms à 49 kohms quand un bouton est pressé (ça marche pour les 2 exemples)

Etonnant, et en inversant les fils de l'ohmétre?

en fait je viens de remarquer que c'est tous les cols qui passent a 48k quand un des boutons de la colonne est pressé, l'inversion des fils ne change rien

Bonjour alex32

As tu essayé d'alimenter ton téléphone en 24 Volts, tension plus "standard" que le 48V. habituel, pour voir si le générateur DTMF fonctionne, tu pourrais alimenter ça, depuis du 5V. par un power step up.
Si ça fonctionne, il te "suffirait" de te repiquer sur la sortie tone output du TCM5089 et de décoder ça avec un ESP32 comme suggéré par @al1fch au post#4. Ainsi tu touches un minimum au téléphone, souder un fil de signal + un fil de GND.
Pour décoder le DTMF, il y a aussi la proposition de ChatGPT (pas essayé) qui utilises la FFT (Transformée de Fourier Rapide).

Dans tout les cas, sujet intéressant :wink:

Cordialement
jpbbricole

ne suffirait t'il pas de donner 3v au TCM5089 ?

Autre suggestion, si tu veux "repiquer" la matrice du clavier pour la gérer avec un Arduino, est de dessouder le TCM5089.
Ainsi, si je m'en réfère au schéma du post #4, tu as, sur les broches ROW 1-4 et COL 1-4, des contacts "secs", donc utilisables tels quels sur l'Arduino.

Oui, ça pourrait être envisagé, mais, il ne faut pas oublier qu'il y a déjà un circuit d'alimentation et tu "t'introduit" dedans....
En l'absence de schéma, je suppose que c'est ce transistor qui fait la régulation:


Eventuellement le déconnecter.
As tu encore moyen de connecter cette station sur une prise FT pour mesurer les tensions sur la carte. (En suisse on a plus que du numérique)

Hors tension, mesures à l'ohmmètre, as tu une connexion directe entre:


E ou C de ce transistor avec l'alimentation du TCM5089 VSS:

ce schéma est il me semble à compléter avec celui du message #6 où Texas Instruments précise que le TCM5089 est conçu pour des contacts de touches DPST, lignes et colonnes étant reliées à des entrées du circuit intégré

je suis donc intrigué par la contradiction apparente entre la vue du clavier (#1) et la ce que dit la datasheet des contacts (=DPST) : lignes et colonnes toutes en entrées = pas de balayage actif d'une matrice de contacts simples