Table des matières:

Interfacer un cadran téléphonique rotatif avec un Arduino : 6 étapes (avec photos)
Interfacer un cadran téléphonique rotatif avec un Arduino : 6 étapes (avec photos)

Vidéo: Interfacer un cadran téléphonique rotatif avec un Arduino : 6 étapes (avec photos)

Vidéo: Interfacer un cadran téléphonique rotatif avec un Arduino : 6 étapes (avec photos)
Vidéo: LDmicro 6: Arduino nano Breadboard Circuit (Microcontroller PLC Ladder Programming with LDmicro) 2024, Novembre
Anonim
Interfacer un cadran téléphonique rotatif avec un Arduino
Interfacer un cadran téléphonique rotatif avec un Arduino
Interfacer un cadran téléphonique rotatif avec un Arduino
Interfacer un cadran téléphonique rotatif avec un Arduino

Un ancien téléphone à cadran peut être utilisé à diverses fins dans vos projets Arduino - utilisez-le comme nouveau périphérique d'entrée ou utilisez l'Arduino pour interfacer un téléphone à cadran à votre ordinateur. Il s'agit d'un guide très basique décrivant comment interfacer le cadran à un Arduino et obtenez le numéro composé transmis à un ordinateur via la liaison série de l'Arduino.

Étape 1: Supprimer le cadran du téléphone

Supprimer le cadran du téléphone
Supprimer le cadran du téléphone
Supprimer le cadran du téléphone
Supprimer le cadran du téléphone
Supprimer le cadran du téléphone
Supprimer le cadran du téléphone

La première étape consiste à retirer l'unité de numérotation du téléphone. J'utilise un téléphone GPO des années 1970. Sur ce téléphone, le cadran est sorti tout droit - j'avais juste besoin de le tirer. Si ce n'est pas le cas, vous devrez peut-être ouvrir le téléphone et trouver comment le retirer. Il y avait cinq câbles connectés à l'arrière de l'unité de numérotation. Sur mon téléphone, il s'agissait de connexions à fourche normales, j'ai donc desserré les vis et les ai retirées. Si vous souhaitez réassembler votre téléphone, n'oubliez pas d'enregistrer quelle couleur de fil va à quelle connexion.

Étape 2: Identifiez le commutateur

Identifier le commutateur
Identifier le commutateur

Une fois le cadran sorti, il devrait être relativement facile de voir comment le cadran convertit le mouvement rotatif en impulsions. Essayez de faire tourner le cadran à la main et de regarder le mouvement au dos. Vous devriez voir un interrupteur faire et couper un circuit rapidement - donc si vous composez le « 9 », l'interrupteur devrait s'enclencher neuf fois. allez le numéro et laissez-le revenir en arrière. J'ai documenté comment cela fonctionne pour mon téléphone dans les notes de la photo ci-dessous. Il y a aussi une vidéo floue du fonctionnement du mécanisme.

Étape 3: faire le circuit

Faire le circuit
Faire le circuit
Faire le circuit
Faire le circuit

Une fois que vous avez trouvé le commutateur en cours de fabrication et de rupture, vous devriez être en mesure d'identifier les connexions en suivant les fils jusqu'aux bornes de connexion. Dans mon cas, les deux côtés du commutateur sont connectés aux deux bornes les plus à gauche. Branchez ces bornes à des câbles de démarrage et lancez le prototypage ! L'interrupteur de mon cadran est toujours allumé et est cassé à chaque impulsion lors de la numérotation, j'ai donc utilisé le circuit très simple ci-dessous. La broche 2 deviendra HAUT pour chaque impulsion pendant que le cadran tourne. Lorsque le téléphone n'est pas composé, le commutateur de l'unité de numérotation est fermé (un commutateur dit NORMALEMENT FERMÉ, pour des raisons évidentes) de sorte que le circuit connecte la broche 2 à la terre (qui pour l'Arduino est FAIBLE). C'est parce qu'il y a beaucoup moins de résistance à travers la résistance de 470 ohms que la résistance de 10K. Lorsque le téléphone est composé, le commutateur s'ouvre et se ferme rapidement (pour un 9, il s'ouvrira et se refermera neuf fois, rappelez-vous). Lorsque l'interrupteur est ouvert, la broche 2 n'est pas connectée à la terre - à la place, elle est connectée à l'alimentation 5V via une résistance de 10470 ohms. Ceci est interprété par l'Arduino comme un HAUT. Si votre cadran a un commutateur NORMALEMENT OUVERT, alors échanger les positions de la résistance 10K et le cadran devrait faire l'affaire.

Étape 4: Développer le code

Développer le code
Développer le code

Maintenant, nous avons besoin d'un code pour que l'Arduino compte les impulsions et envoie le nombre total par numéro composé via le port série. Mon code est ci-dessous. Comme nous traitons ici de mécanique, la vôtre peut différer. Essayez de jouer avec la constante anti-rebond et la constante "combien de temps attendons-nous avant de supposer que le cadran a fini de tourner". J'ai essayé de la commenter aussi précisément que possible. Espérons que c'est assez simple.int needToPrint = 0;int count;int in = 2;int lastState = LOW;int trueState = LOW;long lastStateChangeTime = 0;int cleared = 0;// constantsint dialHasFinishedRotatingAfterMs = 100;int debounceDelay = 10; void setup(){ Serial.begin(9600); pinMode(in, INPUT);}void loop(){ int reading = digitalRead(in); if ((millis() - lastStateChangeTime) > dialHasFinishedRotatingAfterMs) { // le numéro n'est pas composé, ou vient de finir d'être composé. if (needToPrint) { // s'il vient juste d'être composé, nous devons envoyer le numéro sur la ligne // série et réinitialiser le compte. Nous modifions le compte par 10 car '0' enverra 10 impulsions. Serial.print (compter % 10, DEC); besoinPourImprimer = 0; compte = 0; effacé = 0; } } if (lecture != lastState) { lastStateChangeTime = millis(); } if ((millis() - lastStateChangeTime) > debounceDelay) { // debounce - cela se produit une fois qu'il est stabilisé if (reading != trueState) { // cela signifie que le commutateur vient de passer de fermé-> ouvert ou vice versa. trueState = lecture; if (trueState == HIGH) { // incrémente le nombre d'impulsions s'il est élevé. compte++; besoinPourImprimer = 1; // nous aurons besoin d'imprimer ce numéro (une fois que le cadran aura fini de tourner) } } } lastState = read;}

Étape 5: Vérifiez que cela fonctionne

Vérifiez que cela fonctionne en ouvrant une fenêtre série (j'utilise screen sur une machine Unix, vous pouvez utiliser Hyperterm ou similaire sous Windows), et essayez de composer des numéros. Assurez-vous que le programme série est configuré pour lire à partir de l'USB- > adaptateur série dans votre Arduino (vérifiez le menu Outils-> Port série dans le logiciel Arduino si vous oubliez ce que c'est), et un débit en bauds de 9600 bps. Vous devriez voir le bon numéro s'afficher au fur et à mesure qu'il est composé.

Étape 6: Accrochez-le à quelque chose d'utile

Accrochez-le à quelque chose d'utile !
Accrochez-le à quelque chose d'utile !

J'ai créé un fichier Quartz Composer sur mon Mac pour prendre l'entrée et la rendre bien à l'écran. Une fois qu'il est dans la machine en tant que données série, vous pouvez en faire n'importe quoi. En attendant d'entendre vos idées ! tenir l'appareil photo pour moi - j'aurais aimé avoir trois mains.

Conseillé: