İçindekiler:

Döner Telefon Kadranını Arduino ile Arayüz: 6 Adım (Resimlerle)
Döner Telefon Kadranını Arduino ile Arayüz: 6 Adım (Resimlerle)

Video: Döner Telefon Kadranını Arduino ile Arayüz: 6 Adım (Resimlerle)

Video: Döner Telefon Kadranını Arduino ile Arayüz: 6 Adım (Resimlerle)
Video: Adım at para kazan hîlesi ( Arapların taktiği 😅 ) 2024, Temmuz
Anonim
Döner Telefon Kadranını Arduino ile Arayüz
Döner Telefon Kadranını Arduino ile Arayüz
Döner Telefon Kadranını Arduino ile Arayüz
Döner Telefon Kadranını Arduino ile Arayüz

Eski bir döner telefon, Arduino projelerinizde bir dizi amaç için kullanılabilir - yeni bir giriş cihazı olarak kullanın veya bir döner telefonu bilgisayarınıza arayüzlemek için Arduino'yu kullanın. Bu, kadranın nasıl arayüzleneceğini açıklayan çok temel bir kılavuzdur. Arduino'ya ve aranan numarayı Arduino'nun seri bağlantısı üzerinden bir bilgisayara geçirin.

Adım 1: Kadranı Telefondan Çıkarın

Kadranı Telefondan Çıkarın
Kadranı Telefondan Çıkarın
Kadranı Telefondan Çıkarın
Kadranı Telefondan Çıkarın
Kadranı Telefondan Çıkarın
Kadranı Telefondan Çıkarın

İlk adım, arama birimini telefondan çıkarmaktır. 1970'lerden kalma bir tür GPO telefonu kullanıyorum. Bu telefonda kadran hemen ortaya çıktı - sadece çekmem gerekiyordu. Olmazsa, telefonu açmanız ve nasıl çıkaracağınızı bulmanız gerekebilir. Çevirme ünitesinin arkasına bağlı beş kablo vardı. Telefonumda bunlar normal kürek bağlantılarıydı, bu yüzden vidaları gevşetip çıkardım. Telefonunuzu tekrar bir araya getirmek isterseniz, hangi renk telin hangi bağlantıya gittiğini kaydetmeyi unutmayın.

2. Adım: Anahtarı Tanımlayın

Anahtarı Tanımlayın
Anahtarı Tanımlayın

Kadran dışarı çıktığında, kadranın döner hareketi nasıl darbelere dönüştürdüğünü görmek nispeten kolay olmalıdır. Kadranı elle döndürmeyi ve arkadaki hareketi izlemeyi deneyin. Bir anahtarın hızlı bir şekilde devre yaptığını ve kestiğini görmelisiniz - bu nedenle '9'u tuşlarsanız, düğme dokuz kez devreye girmelidir. Daha önce döner kadran kullanmamış olanlarınız için - çevirmenin yalnızca siz izin verdiğinizde gerçekleştiğini unutmayın. numaraya git ve bekletmesine izin ver. Telefonum için nasıl çalıştığını aşağıdaki fotoğrafın Notlarında belgeledim. Ayrıca mekanizmanın çalıştığına dair bulanık bir video da var.

Adım 3: Devreyi Yapın

Devreyi Yap
Devreyi Yap
Devreyi Yap
Devreyi Yap

Yapılan ve bozulan anahtarı bulduktan sonra, kabloları bağlantı terminallerine geri takip ederek bağlantıları tanımlayabilmelisiniz. Benim durumumda, anahtarın iki tarafı en soldaki iki terminale bağlı. Bu terminalleri bazı jumper kablolarına bağlayın ve prototiplemeye başlayın! Kadranımdaki anahtar her zaman açık ve çevirirken her darbe için bozuk, bu yüzden aşağıdaki çok basit devreyi kullandım. Pim 2, kadran döndükçe her darbe için YÜKSEK gidecektir. Telefon aranmadığında, arama ünitesindeki anahtar kapatılır (belirgin nedenlerden dolayı NORMAL KAPALI anahtarı olarak adlandırılır), böylece devre pim 2'yi toprağa bağlar (ki bu Arduino'ya DÜŞÜK). Bunun nedeni, 470 ohm'luk direnç üzerinden 10K dirençten çok daha az direnç olmasıdır. Telefon arandığında, anahtar hızlı bir şekilde açılır ve kapanır (9 için tekrar dokuz kez açılıp kapanır, unutmayın). Anahtar açıkken, pin 2 toprağa bağlı değildir - bunun yerine 10470 ohm'luk bir dirençle 5V beslemesine bağlanır. Bu, Arduino tarafından YÜKSEK olarak yorumlanır. Kadranınızda NORMALDE AÇIK bir anahtarı varsa, 10K direncinin ve kadranın konumlarını değiştirmek hile yapmalıdır.

Adım 4: Kodu Geliştirin

Kodu Geliştirin
Kodu Geliştirin

Şimdi Arduino'nun darbeleri sayması ve aranan numara başına toplam sayıyı seri port üzerinden geri göndermesi için bazı kodlara ihtiyacımız var. Kodum aşağıda. Burada mekaniklerle uğraştığımız için sizinki farklı olabilir. Geri dönme sabiti ve 'kadranın dönmeyi bitirdiğini varsaymadan önce ne kadar bekleyeceğiz' sabitiyle oynamayı deneyin. Elimden geldiğince düzgün bir şekilde yorumlamaya çalıştım. Umarım oldukça basittir.int needToPrint = 0;int count;int in = 2;int lastState = DÜŞÜK;int trueState = LOW;long lastStateChangeTime = 0;int cleared = 0;// Constantsint dialHasFinishedRotatingAfterMs = 100;int debounceDelay = 10; geçersiz kurulum(){ Serial.begin(9600); pinMode(in, INPUT);}void loop(){ int okuma = digitalRead(in); if ((millis() - lastStateChangeTime) > dialHasFinishedRotatingAfterMs) { // kadran çevrilmiyor veya çevrilmeyi yeni bitirdi. if (needToPrint) { // aranması yeni bittiyse, numarayı seri // satırına göndermemiz ve sayımı sıfırlamamız gerekir. Sayıyı 10 ile değiştiririz çünkü '0' 10 darbe gönderir. Serial.print(sayım % 10, Aralık); NeedToPrint = 0; sayı = 0; temizlendi = 0; } } if (okuma != lastState) { lastStateChangeTime = millis(); } if ((millis() - lastStateChangeTime) > debounceDelay) { // debounce - bu, sabitlendiğinde gerçekleşir if (okuma != trueState) { // bu, anahtarın kapalı->açık konumundan yeni çıktığı veya tam tersi anlamına gelir. trueState = okuma; if (trueState == HIGH) { // eğer yüksekse darbe sayısını artırın. say++; NeedToPrint = 1; // bu numarayı yazdırmamız gerekecek (kadranın dönüşü bittiğinde) } } } lastState = okuma;}

Adım 5: Çalıştığını Kontrol Edin

Bir seri pencere açarak çalışıp çalışmadığını kontrol edin (bir unix makinesinde ekran kullanıyorum, Windows'ta Hyperterm veya benzerini kullanmak isteyebilirsiniz) ve bazı numaraları çevirmeyi deneyin. Seri programın USB'den okunacak şekilde ayarlandığından emin olun. >Arduino'nuzdaki seri adaptör (ne olduğunu unutursanız Arduino yazılımındaki Araçlar->Seri Port menüsüne bakın) ve 9600 bps baud hızı. Arandığında doğru numaranın açıldığını görmelisiniz.

Adım 6: Yararlı Bir Şeye Bağlayın

Kullanışlı Bir Şeye Bağlayın!
Kullanışlı Bir Şeye Bağlayın!

Girdiyi almak ve ekrana güzel bir şekilde işlemek için Mac'imde bir Quartz Composer dosyası buldum. Seri veri olarak makineye girdikten sonra, onunla her şeyi yapabilirsiniz. Fikirlerinizi duymak için bekliyorum! Birisini bulur bulmaz, 'hareket halinde' bir video ile gelip sayıları ekrana yazdıracağım. kamerayı benim için tutmak - keşke üç elim olsaydı.

Önerilen: