Spisu treści:

Interfejs obrotowego pokrętła telefonicznego do Arduino: 6 kroków (ze zdjęciami)
Interfejs obrotowego pokrętła telefonicznego do Arduino: 6 kroków (ze zdjęciami)

Wideo: Interfejs obrotowego pokrętła telefonicznego do Arduino: 6 kroków (ze zdjęciami)

Wideo: Interfejs obrotowego pokrętła telefonicznego do Arduino: 6 kroków (ze zdjęciami)
Wideo: Odblokuj ukryte funkcje w swoich samochodzie! To takie proste?! O,o 2024, Lipiec
Anonim
Połącz obrotowe pokrętło telefoniczne z Arduino
Połącz obrotowe pokrętło telefoniczne z Arduino
Połącz obrotowe pokrętło telefoniczne z Arduino
Połącz obrotowe pokrętło telefoniczne z Arduino

Stary telefon obrotowy może być używany do wielu celów w projektach Arduino - użyj go jako nowatorskiego urządzenia wejściowego lub użyj Arduino do połączenia telefonu obrotowego z komputerem. Jest to bardzo podstawowy przewodnik opisujący, jak połączyć pokrętło do Arduino i uzyskaj wybrany numer przekazany do komputera przez łącze szeregowe Arduino.

Krok 1: Usuń tarczę z telefonu

Usuń pokrętło z telefonu
Usuń pokrętło z telefonu
Usuń pokrętło z telefonu
Usuń pokrętło z telefonu
Usuń pokrętło z telefonu
Usuń pokrętło z telefonu

Pierwszym krokiem jest wyjęcie modułu wybierania z telefonu. Używam jakiegoś telefonu GPO z lat 70. W tym telefonie tarcza wyskoczyła od razu – wystarczyło, żebym ją szarpnęła. Jeśli tak się nie stanie, być może trzeba będzie otworzyć telefon i zastanowić się, jak go zdjąć. Z tyłu modułu wybierania było podłączonych pięć kabli. W moim telefonie były to zwykłe połączenia widełkowe, więc poluzowałem śruby i wyciągnąłem je. Jeśli chcesz ponownie złożyć telefon, pamiętaj, aby zanotować, który kolor przewodu idzie do którego połączenia.

Krok 2: Zidentyfikuj przełącznik

Zidentyfikuj przełącznik
Zidentyfikuj przełącznik

Gdy tarcza jest wyłączona, powinno być stosunkowo łatwo zobaczyć, w jaki sposób tarcza przekształca ruch obrotowy w impulsy. Spróbuj ręcznie kręcić tarczą i obserwować ruch z tyłu. Powinieneś zobaczyć, jak szybko przełącza się i przerywa obwód – więc jeśli wybierzesz „9”, przełącznik powinien włączyć się dziewięć razy. Dla tych z was, którzy nigdy wcześniej nie używali pokrętła obrotowego – pamiętajcie, że wybieranie odbywa się tylko wtedy, gdy pozwolicie wejdź na numer i pozwól mu się cofnąć. Udokumentowałem, jak działa na moim telefonie w Notatkach na zdjęciu poniżej. Jest też niewyraźne wideo z działania mechanizmu.

Krok 3: Wykonaj obwód

Zrób obwód
Zrób obwód
Zrób obwód
Zrób obwód

Po znalezieniu wyłącznika, który jest w trakcie wykonywania i uszkodzony, powinieneś być w stanie zidentyfikować połączenia, podążając za przewodami z powrotem do zacisków połączeń. W moim przypadku obie strony przełącznika są połączone z dwoma skrajnymi terminalami po lewej stronie. Podłącz te terminale do niektórych przewodów połączeniowych i zacznij prototypować! Przełącznik w mojej tarczy jest zawsze włączony i jest zepsuty dla każdego impulsu podczas wybierania, więc użyłem bardzo prostego obwodu poniżej. Pin 2 stanie się WYSOKI dla każdego impulsu, gdy tarcza się obraca. Gdy telefon nie jest wybierany, przełącznik w zespole wybierania jest zwarty (tzw. przełącznik NORMALNIE ZAMKNIĘTY, z oczywistych względów), więc obwód łączy pin 2 z masą (która dla Arduino jest LOW). Dzieje się tak, ponieważ opornik 470 omów ma znacznie mniejszy opór niż opornik 10K. Kiedy telefon jest wybierany, przełącznik szybko się otwiera i zamyka (w przypadku 9 otwiera się i zamyka ponownie dziewięć razy, pamiętaj). Gdy przełącznik jest otwarty, pin 2 nie jest podłączony do masy - zamiast tego jest podłączony do zasilania 5V przez rezystancję 10470 omów. Jest to interpretowane przez Arduino jako WYSOKIE. Jeśli twoja tarcza ma przełącznik NORMALNIE OTWARTY, zamiana pozycji rezystora 10K i tarczy powinna załatwić sprawę.

Krok 4: Opracuj Kodeks

Opracuj Kodeks
Opracuj Kodeks

Teraz potrzebujemy kodu, aby Arduino zliczało impulsy i wysyłało całkowitą liczbę na numer wybrany z powrotem przez port szeregowy. Mój kod jest poniżej. Ponieważ mamy do czynienia z mechaniką, twoje mogą się różnić. Spróbuj pobawić się stałą odbicia i stałą „jak długo czekamy, zanim założymy, że tarcza przestanie się obracać”. Mam nadzieję, że jest to całkiem proste.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(){ czytanie int = digitalRead(in); if ((millis() - lastStateChangeTime) > dialHasFinishedRotatingAfterMs) { // pokrętło nie jest wybierane lub właśnie zostało wybrane. if (needToPrint) { // jeśli dopiero co zostało wybrane, musimy wysłać numer w dół // linii szeregowej i zresetować licznik. Modyfikujemy licznik o 10, ponieważ '0' wyśle 10 impulsów. Serial.print(liczba % 10, DEC); potrzebaDrukuj = 0; liczba = 0; wyczyszczone = 0; } } if (odczyt != lastState) { lastStateChangeTime = millis(); } if ((millis() - lastStateChangeTime) > debounceDelay) { // debounce - dzieje się tak po ustabilizowaniu if (odczyt != trueState) { // oznacza to, że przełącznik właśnie przeszedł z pozycji zamkniętej->otwartej lub odwrotnie. trueState = czytanie; if (trueState == HIGH) { // zwiększa liczbę impulsów, jeśli jest wysoka. liczyć++; potrzebaDrukuj = 1; // będziemy musieli wydrukować ten numer (gdy tarcza skończy się obracać) } } } lastState = czytanie;}

Krok 5: Sprawdź, czy to działa

Sprawdź, czy to działa, otwierając okno portu szeregowego (używam ekranu na maszynie uniksowej, możesz użyć Hyperterma lub podobnego w systemie Windows) i spróbuj wybrać kilka numerów. Upewnij się, że program szeregowy jest ustawiony na odczyt z USB- >przejściówka szeregowa w Arduino (sprawdź menu Narzędzia->Serial Port w oprogramowaniu Arduino, jeśli zapomnisz, co to jest) i szybkość transmisji 9600 bps. Po wybraniu numeru powinien pojawić się poprawny numer.

Krok 6: Podłącz to do czegoś przydatnego

Podłącz to do czegoś przydatnego!
Podłącz to do czegoś przydatnego!

Wymyśliłem plik Quartz Composer na moim Macu, aby pobrać dane wejściowe i ładnie je renderować na ekranie. Gdy znajdzie się w maszynie jako dane seryjne, możesz z nim zrobić wszystko. Czekam na Twoje pomysły! Wymyślę wideo z tego „w akcji” i wydrukuję liczby na ekranie, gdy tylko kogoś zdołam trzymać za mnie aparat - szkoda, że nie mam trzech rąk.

Zalecana: