Obsah:

Rozhraní otočného telefonního voliče k Arduinu: 6 kroků (s obrázky)
Rozhraní otočného telefonního voliče k Arduinu: 6 kroků (s obrázky)

Video: Rozhraní otočného telefonního voliče k Arduinu: 6 kroků (s obrázky)

Video: Rozhraní otočného telefonního voliče k Arduinu: 6 kroků (s obrázky)
Video: Panasonic AW-UE160: recenze profesionální 4K PTZ kamery 📹 2024, Listopad
Anonim
Propojte otočný telefonní volič s Arduinem
Propojte otočný telefonní volič s Arduinem
Propojte otočný telefonní volič s Arduinem
Propojte otočný telefonní volič s Arduinem

Starý rotační telefon lze ve vašich projektech Arduino použít k řadě účelů - použijte jej jako nové vstupní zařízení nebo použijte Arduino k propojení rotačního telefonu s počítačem. Toto je velmi základní průvodce, který popisuje, jak propojit číselník k Arduinu a nechejte vytočené číslo předat do počítače přes sériové propojení Arduina.

Krok 1: Odeberte vytáčení z telefonu

Odeberte vytáčení z telefonu
Odeberte vytáčení z telefonu
Odeberte vytáčení z telefonu
Odeberte vytáčení z telefonu
Odeberte vytáčení z telefonu
Odeberte vytáčení z telefonu

Prvním krokem je odstranění jednotky vytáčení z telefonu. Používám GPO telefon nějakého druhu ze 70. let. Na tomto telefonu vytáhl číselník rovnou ven - jen jsem ho potřeboval zatáhnout. Pokud tomu tak není, možná budete muset telefon otevřít a zjistit, jak jej sundat. K zadní části jednotky bylo připojeno pět kabelů. Na mém telefonu to byla pravidelná připojení rýčem, takže jsem uvolnil šrouby a vytáhl je. Pokud chcete znovu sestavit telefon, nezapomeňte zaznamenat, který barevný vodič jde do kterého připojení.

Krok 2: Identifikujte přepínač

Identifikujte přepínač
Identifikujte přepínač

Jakmile je číselník vytažen, mělo by být relativně snadné vidět, jak číselník převádí rotační pohyb na impulsy. Zkuste ručně točit číselníkem a sledovat pohyb na zádech. Měli byste vidět přepínač, který rychle dělá a přerušuje obvod - takže pokud vytočíte '9', přepínač by měl zapnout devětkrát. Pro ty z vás, kteří jste nikdy předtím nepoužívali otočný volič - nezapomeňte, že vytáčení probíhá pouze tehdy, když necháte přejděte na číslo a nechte jej navinout zpět. Dokumentoval jsem, jak to funguje pro můj telefon, v poznámkách k fotografii níže. K dispozici je také rozmazané video fungujícího mechanismu.

Krok 3: Vytvořte obvod

Vytvořte obvod
Vytvořte obvod
Vytvořte obvod
Vytvořte obvod

Jakmile najdete vyráběný a přerušovaný přepínač, měli byste být schopni identifikovat připojení sledováním vodičů zpět k připojovacím svorkám. V mém případě jsou obě strany přepínače připojeny ke dvěma levým svorkám. Připojte tyto svorky k propojovacím vodičům a získejte prototypy! Přepínač v mém číselníku je vždy zapnutý a při vytáčení je rozbitý pro každý puls, takže jsem použil velmi jednoduchý obvod níže. Kolík 2 se při otáčení číselníku změní na VYSOKÝ. Když telefon není vytočen, spínač v jednotce je zavřený (takzvaný NORMÁLNĚ ZAVŘENÝ spínač ze zřejmých důvodů), takže obvod spojuje pin 2 se zemí (což je u Arduina NÍZKÉ). Důvodem je, že prostřednictvím odporu 470 ohmů je odpor mnohem menší než odpor 10 K. Při vytáčení telefonu se spínač rychle otevírá a zavírá (u 9 se znovu otevře a zavře devětkrát, pamatujte). Když je spínač otevřený, kolík 2 není připojen k zemi - místo toho je připojen k napájení 5 V přes odpor 10470 ohmů. Arduino to interpretuje jako VYSOKÉ. Pokud má váš číselník přepínač NORMÁLNĚ OTEVŘENO, pak by mělo stačit přepnutí pozic 10K odporu a číselníku.

Krok 4: Vytvořte kód

Vytvořte kodex
Vytvořte kodex

Nyní potřebujeme nějaký kód pro Arduino, aby spočítal impulsy a odeslal celkový počet vytočených čísel zpět přes sériový port. Můj kód je níže. Protože se zde zabýváme mechanikou, vaše se může lišit. Zkuste si pohrát s konstantou odskoku a konstantou „jak dlouho budeme čekat, než se předpokládá, že se číselník dokončí otáčení“. Pokusil jsem se to okomentovat tak úhledně, jak to jen jde. Naštěstí je to docela jednoduché. 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; neplatné nastavení () {Serial.begin (9600); pinMode (in, INPUT);} void loop () {int reading = digitalRead (in); if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// číselník se nevytočí nebo se právě vytáčel. if (needToPrint) {// pokud je právě dokončeno vytáčení, musíme poslat číslo na sériovou // linku a resetovat počet. Změníme počet o 10, protože '0' vyšle 10 impulsů. Serial.print (počet % 10, DEC); needToPrint = 0; počet = 0; vymazáno = 0; }} if (reading! = lastState) {lastStateChangeTime = millis (); } if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - to se stane, jakmile bude stabilizováno, pokud (čtení! = trueState) {// to znamená, že přepínač buď právě odešel z closed-> open nebo naopak. trueState = čtení; if (trueState == HIGH) {// zvýší počet impulsů, pokud se zvýší. počet ++; needToPrint = 1; // toto číslo budeme muset vytisknout (jakmile se číselník otočí)}}} lastState = čtení;}

Krok 5: Zkontrolujte, zda funguje

Zkontrolujte, zda funguje, otevřením sériového okna (používám obrazovku na unixovém počítači, v systému Windows možná budete chtít použít Hyperterm nebo podobné) a zkuste vytočit některá čísla. Ujistěte se, že je sériový program nastaven na čtení z USB > sériový adaptér ve vašem Arduinu (pokud zapomenete, co to je, podívejte se do nabídky Nástroje-> nabídka Sériový port v softwaru Arduino) a přenosová rychlost 9600 b / s. Při vytočení by se vám mělo zobrazit správné číslo.

Krok 6: Zapojte to do něčeho užitečného

Zapojte to do něčeho užitečného!
Zapojte to do něčeho užitečného!

Na svém počítači Mac jsem přišel se souborem Quartz Composer, abych převzal vstup a vykreslil jej pěkně na obrazovku. Jakmile je ve stroji jako sériová data, můžete s ním dělat cokoli. Čekat na vaše nápady! Vymyslím video z toho „v akci“a vytisknu čísla na obrazovku, jakmile někoho získám držet pro mě kameru - přál bych si mít tři ruce.

Doporučuje: