Table des matières:
- Étape 1: Allez chercher des trucs
- Étape 2: disséquer le téléphone
- Étape 3: Déterminez ce que font les fils
- Étape 4: Connectez le numéroteur à la puce PIC
- Étape 5: Assemblez le code
- Étape 6: Tester
- Étape 7: Allez au-delà
Vidéo: Interface PIC du composeur rotatif : 7 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:10
Je me suis retrouvé avec une abondance de téléphones à cadran. En fait, ils sont partout où je regarde. Dans l'espoir de pouvoir un jour en voir moins, j'ai commencé à les démonter et à réutiliser les pièces à d'autres fins.
Pour une raison quelconque, je me suis dit qu'interfacer la commande rotative avec une puce PIC serait une bonne idée. Je ne peux penser qu'à quelques vagues utilisations pour le moment et aucune n'est particulièrement utile, mais j'espère faire quelque chose de cool avec cela à l'avenir.
Étape 1: Allez chercher des trucs
Vous aurez besoin de:1 - Téléphone rotatif3 - Résistances 220 ohms2 - Condensateurs 0,1uF 2 - Résistance 20K (peut remplacer n'importe quoi entre 10K et 47K)2 - LED1 - Carte de développement PIC (j'ai utilisé l'environnement de développement Basic Micro)1 - Résonateur 20 MHZ ou cristal1 - Planche à pain1 - Source d'alimentation 5V1 - Un pied ou plus de fil de raccordement1 - Tournevis1 - Dénudeur de fil
Étape 2: disséquer le téléphone
Ouvrez votre téléphone à cadran. A l'intérieur, vous remarquerez les quelques pièces de base; le cadran rotatif, la sonnerie, deux prises, le crochet commutateur et les circuits de base qui sont généralement enfermés dans une boîte de jonction en métal.
Il y aura quatre fils allant du composeur rotatif à cette chose semblable à une boîte de jonction. Les fils doivent être maintenus en place par un peu plus que des vis serrées. Desserrez les vis et débranchez les fils. Après cela, déconnectez le composeur rotatif du téléphone lui-même.
Étape 3: Déterminez ce que font les fils
Câblez deux LED comme indiqué dans le schéma ci-dessous.
Les deux fils blancs doivent être la paire qui ferme l'interrupteur qui vous permet de savoir quand le cadran est tourné. Le fil bleu et vert doit être la paire qui vous permet de savoir quel numéro a été composé. Ainsi, lorsque vous tournez la molette, la LED connectée aux fils blancs doit s'allumer, et lorsque vous relâchez la molette, la LED connectée aux fils bleu et vert doit clignoter autant de fois que le nombre que vous composé (voir vidéo). Par exemple, si vous composez le 8, la LED connectée aux fils vert et bleu s'éteindra et s'allumera 8 fois. Cela se produit parce qu'une façon de composer un numéro de téléphone consiste à interrompre rapidement la connexion le nombre de fois correspondant au chiffre que vous essayez de composer. Donc, encore une fois, pour composer un 8, vous devrez rapidement rompre la connexion 8 fois.
Étape 4: Connectez le numéroteur à la puce PIC
Connectez le composeur rotatif à la puce PIC comme indiqué sur le schéma. Notez que je lis dans l'état du composeur rotatif en utilisant la synchronisation RC. En d'autres termes, la puce PIC compte le nombre de fois qu'il faut pour qu'un condensateur se décharge (qui change lorsque la résistance est ajoutée).
C'est là qu'intervient la résistance de 20K. L'ajouter à l'entrée permet une différenciation claire entre le signal d'une connexion de commutateur rotatif fermée et ouverte.
Étape 5: Assemblez le code
Pour programmer la puce, j'ai utilisé l'environnement de développement MBasic disponible chez Basic Micro. MBasic, tout simplement, est une variante de Basic conçue pour être utilisée avec des puces PIC. Il est facilement convertible en un langage plus universel (utile). Le code détermine essentiellement quand quelqu'un a tourné le cadran, puis effectue une détection de bord sur le signal (détermination des transitions bas-haut) jusqu'à ce que le cadran revienne à son état initial. Après avoir compté le nombre de fois où il mesure une transition de signal, il fait ensuite clignoter la LED en conséquence. Par exemple, si vous composez 3, le PIC comptera trois transitions bas-haut, puis clignotera une LED 3 fois. La LED, comme vous l'avez peut-être déduit, n'est pas nécessaire pour que cela fonctionne et est juste là pour vous donner un retour visible. Vous pouvez remplacer tout périphérique de sortie que vous jugez nécessaire. *********************Voici du code:*********************CPU = 16F877MHZ = 20CONFIG 16254clicker var wordstartcountin var wordcountclicks var wordrepvar var wordclacker var wordlargefig var wordmain:countclicks = 0repvar = 0'sets/reset valueshigh B2rctime B2, 1, startcountincountclicks = 0if startcountin > 10 alors goto countmeup' vérifie si le cadran a été tourné et va au sous-programme s'il agoto main'================countmeup:high B1rctime B1, 1, clacker'sets compare valuegoto countmeuploop'=========== =====countmeuploop:high B1rctime B1, 1, clicker'checks count valuelargefig = clacker + 100'définit une valeur pour le seuil qui sera supérieure à 0 mais inférieure aux valeurs pin-high possiblesif largefig < clicker thencountclicks = countclicks + 1endif'ajoute 1 valeur chaque fois qu'une transition de bas en haut est enregistréehigh B2rctime B2, 1, startcountinif startcountin < 10 thenif countclicks > 0 thengoto blinkelsgoto mainendifendif' vérifie si le cadran est revenu à son i état initial's'il l'a fait et qu'un numéro a été composé, il passe à la routine LED'sinon, si aucun numéro n'a été composé, il passe à mainclacker = clicker'réinitialise la valeur de comparaison à la valeur de broche actuellegoto countmeuploop'no pause DU TOUT dans cette routine !'================clignotant:repvar = repvar + 1'compte chaque répétition de cette routine high B3pause 1000low B3pause 1000'clignote la LEDif repvar = countclicks thenrepvar = 0goto mainendif'if the les répétitions sont égales au nombre de fois que la LED doit clignoter, puis elle revient à la routine principalegoto clignotant
Étape 6: Tester
Si vous avez tout fait comme moi, cela devrait fonctionner (voir vidéo).
Si cela ne fonctionne pas, assurez-vous que vous avez tout câblé correctement et que le code est copié correctement. Assurez-vous également que votre résonateur (ou cristal) est à 20 MHZ. Si vous avez écrit votre propre code, assurez-vous qu'il n'y a pas de pause dans la routine qui vérifie les transitions bas-haut.
Étape 7: Allez au-delà
Trouvez une autre sorte d'utilisation du cadran rotatif autre que le clignotement d'une LED.
Conseillé:
Arbre de Noël rotatif et lumières programmables avec Arduino : 11 étapes
Sapin de Noël rotatif et lumières programmables avec Arduino : Sapin de Noël rotatif et lumières programmables avec Arduino
Bouton de l'encodeur rotatif : 6 étapes
Bouton d'encodeur rotatif : Il s'agit d'une télécommande rotative basée sur un encodeur rotatif. Il présente les caractéristiques suivantes. Fonctionne sur batterie avec une très faible consommation de courant lorsqu'il est activéActivation automatique lorsque la commande est tournéeSommeil automatique après une période d'inactivitéConfigu
TRACEUR DE BOUTEILLES ROTATIF CNC : 9 étapes (avec photos)
TRACEUR DE BOUTEILLE ROTATIF CNC : J'ai ramassé des rouleaux, qui sont probablement utilisés dans l'imprimante. J'ai eu l'idée de les transformer en axe de rotation du traceur de bouteilles CNC. Aujourd'hui, j'aimerais partager comment construire un traceur de bouteilles CNC à partir de ces rouleaux et d'autres chutes. Pour d
Comment utiliser le moteur pas à pas comme encodeur rotatif et écran OLED pour les étapes : 6 étapes
Comment utiliser le moteur pas à pas comme encodeur rotatif et écran OLED pour les étapes : Dans ce didacticiel, nous allons apprendre à suivre les pas du moteur pas à pas sur l'écran OLED. Regardez une vidéo de démonstration. Le crédit pour le didacticiel original va à l'utilisateur youtube "sky4fly"
Comment interpréter le sens de rotation d'un commutateur rotatif numérique avec un PIC : 5 étapes
Comment interpréter le sens de rotation d'un commutateur rotatif numérique avec un PIC : L'objectif de ce Instructable est d'illustrer comment interfacer un commutateur rotatif numérique (codé en quadrature) avec un microcontrôleur. Ne vous inquiétez pas, je vais vous expliquer ce que ?quadrature codé ? signifie pour nous. Cette interface et le logiciel qui l'accompagne seront