Inhaltsverzeichnis:

Verbinden Sie einen Drehknopf mit einem Arduino - Gunook
Verbinden Sie einen Drehknopf mit einem Arduino - Gunook

Video: Verbinden Sie einen Drehknopf mit einem Arduino - Gunook

Video: Verbinden Sie einen Drehknopf mit einem Arduino - Gunook
Video: Arduino Tutorial - 3. Einfacher Input (#3) 2024, November
Anonim
Verbinden Sie ein Wählrad mit einem Arduino
Verbinden Sie ein Wählrad mit einem Arduino
Verbinden Sie ein Wählrad mit einem Arduino
Verbinden Sie ein Wählrad mit einem Arduino

Ein altes Wählscheibentelefon kann in Ihren Arduino-Projekten für eine Reihe von Zwecken verwendet werden - verwenden Sie es als neuartiges Eingabegerät oder verwenden Sie das Arduino, um ein Wählscheibentelefon mit Ihrem Computer zu verbinden. Dies ist eine sehr grundlegende Anleitung, die beschreibt, wie Sie die Wählscheibe anschließen zu einem Arduino, und lassen Sie die gewählte Nummer über die serielle Verbindung des Arduino an einen Computer übergeben.

Schritt 1: Entfernen Sie das Zifferblatt vom Telefon

Entfernen Sie die Wählscheibe vom Telefon
Entfernen Sie die Wählscheibe vom Telefon
Entfernen Sie die Wählscheibe vom Telefon
Entfernen Sie die Wählscheibe vom Telefon
Entfernen Sie die Wählscheibe vom Telefon
Entfernen Sie die Wählscheibe vom Telefon

Der erste Schritt besteht darin, die Wähleinheit vom Telefon zu entfernen. Ich benutze ein GPO-Telefon aus den 1970er Jahren. Bei diesem Telefon sprang das Zifferblatt direkt heraus - ich musste nur daran ziehen. Wenn dies nicht der Fall ist, müssen Sie möglicherweise das Telefon öffnen und herausfinden, wie Sie es abnehmen können. An der Rückseite der Wähleinheit waren fünf Kabel angeschlossen. Bei meinem Telefon waren das normale Spatenverbindungen, also habe ich die Schrauben gelöst und herausgezogen. Wenn Sie Ihr Telefon wieder zusammenbauen möchten, denken Sie daran, aufzuzeichnen, welche Kabelfarbe zu welcher Verbindung geht.

Schritt 2: Identifizieren Sie den Schalter

Identifizieren Sie den Schalter
Identifizieren Sie den Schalter

Sobald das Zifferblatt heraus ist, sollte relativ leicht zu erkennen sein, wie das Zifferblatt Drehbewegungen in Impulse umwandelt. Versuchen Sie, das Zifferblatt von Hand zu drehen und die Bewegung auf der Rückseite zu beobachten. Sie sollten sehen, wie ein Schalter schnell einen Stromkreis schließt und unterbricht. Wenn Sie also die '9' wählen, sollte der Schalter neunmal einrasten Gehen Sie die Nummer und lassen Sie sie zurückspulen. Ich habe in den Notizen des Fotos unten dokumentiert, wie es für mein Telefon funktioniert. Es gibt auch ein verschwommenes Video des Mechanismus, der funktioniert.

Schritt 3: Machen Sie die Schaltung

Mach den Kreislauf
Mach den Kreislauf
Mach den Kreislauf
Mach den Kreislauf

Sobald Sie den hergestellten und defekten Schalter gefunden haben, sollten Sie in der Lage sein, die Verbindungen zu identifizieren, indem Sie den Drähten zurück zu den Anschlussklemmen folgen. In meinem Fall sind die beiden Seiten des Schalters mit den beiden ganz linken Klemmen verbunden. Schließen Sie diese Klemmen an einige Überbrückungsdrähte an und beginnen Sie mit dem Prototyping! Der Schalter in meinem Zifferblatt ist immer eingeschaltet und wird beim Wählen bei jedem Impuls unterbrochen, daher habe ich die sehr einfache Schaltung unten verwendet. Pin 2 geht bei jedem Impuls auf HIGH, wenn sich das Zifferblatt dreht. Wenn das Telefon nicht gewählt wird, ist der Schalter in der Wähleinheit geschlossen (aus offensichtlichen Gründen ein sogenannter NORMAL CLOSED-Schalter), sodass der Stromkreis Pin 2 mit Masse verbindet (die zum Arduino LOW ist). Dies liegt daran, dass der 470-Ohm-Widerstand viel weniger Widerstand aufweist als der 10K-Widerstand. Wenn das Telefon gewählt wird, öffnet und schließt sich der Schalter schnell (bei einer 9 wird er neunmal geöffnet und wieder geschlossen, denken Sie daran). Bei geöffnetem Schalter ist Pin 2 nicht mit Masse verbunden, sondern über einen Widerstand von 10470 Ohm mit der 5V-Versorgung verbunden. Dies wird vom Arduino als HIGH interpretiert. Wenn Ihr Zifferblatt einen NORMAL OFFEN-Schalter hat, sollten Sie die Positionen des 10K-Widerstands und des Zifferblatts vertauschen.

Schritt 4: Entwickeln Sie den Code

Entwickeln Sie den Code
Entwickeln Sie den Code

Jetzt brauchen wir einen Code für den Arduino, um die Impulse zu zählen und die Gesamtzahl pro Nummer über den seriellen Port zurückzusenden. Mein Code ist unten. Da wir es hier mit Mechanik zu tun haben, kann Ihre davon abweichen. Versuchen Sie, mit der Entprellungskonstante und der Konstante „Wie lange warten wir, bevor wir annehmen, dass sich das Zifferblatt fertig gedreht hat?“herumzuspielen. Ich habe versucht, es so sauber wie möglich zu kommentieren. Hoffentlich ist es ziemlich einfach.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) {// die Wählscheibe wird nicht gewählt oder wurde gerade fertig gewählt. if (needToPrint) { // Wenn es gerade erst fertig gewählt wurde, müssen wir die Nummer über die serielle // Leitung senden und den Zähler zurücksetzen. Wir modifizieren die Zählung um 10, da '0' 10 Impulse sendet. Serial.print (Anzahl % 10, DEZ); NeedToPrint = 0; zählen = 0; gelöscht = 0; } } if (lesen != lastState) { lastStateChangeTime = millis(); } if ((millis() - lastStateChangeTime) > debounceDelay) { // debounce - dies geschieht, sobald es stabilisiert ist if (reading != trueState) { // dies bedeutet, dass der Schalter entweder gerade von geschlossen -> offen gegangen ist oder umgekehrt. trueState = Lesen; if (trueState == HIGH) {// Erhöhen Sie die Anzahl der Impulse, wenn sie hoch ist. zählen++; NeedToPrint = 1; // wir müssen diese Zahl drucken (sobald das Zifferblatt fertig gedreht hat)}}}} lastState = Reading;}

Schritt 5: Überprüfen Sie, ob es funktioniert

Überprüfen Sie, ob es funktioniert, indem Sie ein serielles Fenster öffnen (ich benutze den Bildschirm auf einem Unix-Rechner, Sie möchten möglicherweise Hyperterm oder ähnliches unter Windows verwenden) und versuchen Sie, einige Nummern zu wählen. Stellen Sie sicher, dass das serielle Programm so eingestellt ist, dass es vom USB- > serieller Adapter in Ihrem Arduino (überprüfen Sie das Menü Extras-> Serieller Port in der Arduino-Software, wenn Sie vergessen, was das ist) und eine Baudrate von 9600 bps. Sie sollten die richtige Nummer sehen, wenn sie gewählt wird.

Schritt 6: Haken Sie es in etwas Nützliches ein

Haken Sie es in etwas Nützliches ein!
Haken Sie es in etwas Nützliches ein!

Ich habe eine Quartz Composer-Datei auf meinem Mac erstellt, um die Eingabe zu übernehmen und sie schön auf dem Bildschirm zu rendern. Sobald es als serielle Daten in der Maschine ist, können Sie alles damit machen. Warten Sie auf Ihre Ideen! Ich werde ein Video davon "in Aktion" erstellen und die Zahlen auf dem Bildschirm ausdrucken, sobald ich jemanden finden kann die Kamera für mich zu halten - ich wünschte, ich hätte drei Hände.

Empfohlen: