Mündəricat:
- Addım 1: Telefonu yığın
- Addım 2: Anahtarı təyin edin
- Addım 3: Dövrə edin
- Addım 4: Kodu inkişaf etdirin
- Addım 5: Çalışdığını yoxlayın
- Addım 6: Faydalı bir şeyə bağlayın
Video: Arduino ilə Rotary Telefon Zəngi Arayüzü: 6 Adım (Şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:49
Köhnə bir fırlanan telefon Arduino layihələrinizdə bir çox məqsədlər üçün istifadə edilə bilər - yeni bir giriş cihazı olaraq istifadə edin və ya dönən bir telefonu kompüterinizə bağlamaq üçün Arduino -dan istifadə edin. bir Arduino -ya göndərin və yığılmış nömrəni Arduinonun serial bağlantısı üzərindən bir kompüterə keçirin.
Addım 1: Telefonu yığın
İlk addım telefonu yığmaqdır. 1970 -ci illərə aid bir növ GPO telefonu istifadə edirəm. Əks təqdirdə telefonu açıb onu necə çıxartmaq lazım olduğunu öyrənə bilərsiniz. Dial cihazın arxasına beş kabel qoşulmuşdu. Telefonumda bunlar müntəzəm kürək bağlantıları idi, buna görə də vintləri gevşetib çıxartdım. Telefonunuzu yenidən yığmaq istəyirsinizsə, hansı rəngli telin hansı əlaqəyə getdiyini qeyd etməyi unutmayın.
Addım 2: Anahtarı təyin edin
Kadr çıxdıqdan sonra kadranın fırlanan hərəkəti pulslara necə çevirdiyini görmək nisbətən asan olmalıdır. Düyməni əllə çevirməyə və arxadakı hərəkəti izləməyə çalışın. Bir dövrə çevirən və sürətlə pozan bir keçid görməlisiniz - buna görə də '9' düyməsini yığsanız, keçid doqquz dəfə işə düşməlidir. Daha əvvəl heç vaxt fırlanan kadr istifadə etməyənlər üçün - unutmayın ki, yığım yalnız icazə verdiyiniz zaman baş verir. nömrəyə keçin və geri yığılsın. Mən telefonum üçün necə işlədiyini aşağıdakı fotoşəkildə qeyd etmişəm. İşləyən mexanizmin bulanıq bir videosu da var.
Addım 3: Dövrə edin
Edilən və qırılan açarı tapdıqdan sonra, telləri yenidən əlaqə terminallarına qədər izləyərək əlaqələri müəyyən edə bilməlisiniz. Mənim vəziyyətimdə, açarın iki tərəfi ən sol iki terminala bağlıdır. Bu terminalları bəzi tullanan tellərə bağlayın və prototip hazırlayın! Zəngimdəki açar həmişə açıqdır və yığarkən hər nəbz üçün pozulmuşdur, buna görə də aşağıda çox sadə sxemdən istifadə etdim. Pin 2, döndükcə hər nəbz üçün YÜKSƏK olacaq. Telefon yığılmadıqda, yığım bölməsindəki açar bağlanır (məlum səbəblərə görə NORMAL QAPALI açar), beləliklə, dövrə pin 2-ni yerə bağlayır (bu Arduinoya LOW). Bunun səbəbi, 470 ohm müqavimət vasitəsi ilə 10K müqavimətdən daha az müqavimətin olmasıdır. Telefon yığılarkən keçid sürətlə açılır və bağlanır (9 üçün 9 dəfə açılacaq və bağlanacaq, unutmayın). Açar açıq olduqda, pin 2 yerə qoşulmur - bunun əvəzinə 10470 ohm müqavimətlə 5V təchizata qoşulur. Bu, Arduino tərəfindən YÜKSƏK olaraq şərh olunur. Əgər yığımınızda NORMAL AÇIQ açarı varsa, onda 10K rezistorun mövqelərini dəyişdirin və kadr etməlisiniz.
Addım 4: Kodu inkişaf etdirin
Arduinonun nəbzləri sayması və ardıcıl portdan geri yığılmış hər bir nömrəni geri göndərməsi üçün bir koda ehtiyacımız var. Burada mexaniklərlə məşğul olduğumuz üçün sizinki fərqli ola bilər. Çıxma sabiti və 'kadrın fırlanmasını bitirməzdən əvvəl nə qədər gözləyəcəyik' sabitliyi ilə oynamağa çalışın. Bacardığım qədər səliqəli şəkildə şərh etməyə çalışdım. İnşallah olduqca sadədir. NeedToPrint = 0; int count; int in = 2; int lastState = LOW; int trueState = LOW; long lastStateChangeTime = 0; int cleared = 0; // sabitlərin dialHasFinishedRotatingAfterMs = 100; int debounceDelay = 10; void setup () {Serial.begin (9600); pinMode (in, INPUT);} void loop () {int reading = digitalRead (in); if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// yığım yığılmır və ya yığılmağı bitirdi. if (needToPrint) {// yalnız yenicə yığılmaq üzrədirsə, nömrəni serial // xəttinə göndərib sayımı sıfırlamalıyıq. Sayını 10 -a dəyişdiririk, çünki '0' 10 zərbə göndərəcək. Serial.print (say % 10, DEC); needToPrint = 0; say = 0; silindi = 0; }} if (oxu! = lastState) {lastStateChangeTime = millis (); } if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - bu (oxunur! = trueState) {// sabit olduqda sabitləşdikdən sonra baş verir, bu keçidin ya bağlı -> açıqdan, ya da əksinə yeni getdiyi deməkdir. trueState = oxu; if (trueState == YÜKSEK) {// yüksək olarsa nəbz sayını artırın. saymaq ++; needToPrint = 1; // bu nömrəni çap etməliyik (kadr fırlanmasını bitirdikdən sonra)}}} lastState = oxu;}
Addım 5: Çalışdığını yoxlayın
Seriyalı bir pəncərə açaraq işlədiyini yoxlayın (unix maşınında ekran istifadə edirəm, Windows-da Hyperterm və ya bənzərini istifadə edə bilərsiniz) və bəzi nömrələri yığmağa çalışın. > Arduino-da serial adapteri (bunun nə olduğunu unutsanız Arduino proqramında Alətlər-> Serial Port menyusunu yoxlayın) və 9600 bps-lik bir ötürmə dərəcəsi var. Yığılan zaman doğru nömrənin açıldığını görməlisiniz.
Addım 6: Faydalı bir şeyə bağlayın
Girişimi almaq və onu ekrana gözəl göstərmək üçün Mac -da bir Quartz Composer faylı ilə tanış oldum. Maşına serial məlumat olaraq daxil olduqdan sonra hər şeyi edə bilərsiniz. Fikirlərinizi dinləməyi gözləyirəm! Mən bunun "hərəkətdə" videosunu hazırlayacağam və kimisə əldə edə biləcəyim anda nömrələri ekrana çap edəcəyəm. kameranı mənim üçün tutmaq - kaş mənim üç əlim olsun.
Tövsiyə:
Arduino ilə HMC5883L Kompas Sensorunun Arayüzü: 10 Addım (Şəkillərlə)
Arduino ilə HMC5883L Pusula Sensorunun İnterfeysi üçün Təlimat: TəsvirHMC5883L, iki ümumi məqsəd üçün istifadə olunan 3 oxlu rəqəmsal bir kompasdır: ferromaqnit kimi bir maqnit materialının maqnitlənməsini ölçmək və ya gücünü və bəzi hallarda istiqamətini ölçmək. bir nöqtədə maqnit sahəsi
Üz tanıma ilə qapı zəngi: 7 addım (şəkillərlə)
Üz Tanıma ilə Qapı Zəngi: Motivasiya Son vaxtlar ölkəmdə öz evlərində yaşlı insanları hədəf alan soyğun dalğası yaşanır. Adətən, ziyarətçilər baxıcı/tibb bacısı olduqlarına inandırdıqları üçün giriş sakinlərin özləri tərəfindən verilir. O
MicroPython ilə SSD1306 Oled ilə ESP32 Arayüzü: 5 addım
MicroPython ilə SSD1306 Oled ilə ESP32 Arayüzü: Micropython, pythonun optimallaşdırdığı və kiçik bir piton izidir. Yaddaş məhdudiyyətləri və aşağı enerji istehlakı olan quraşdırılmış cihaz üçün qurulması nəzərdə tutulmuşdur
VU Metr ilə Arduino Qapı Zəngi: 4 Addım (Şəkillərlə)
VU Metrli Arduino Qapı Zəngi: Əsas fikir budur - qapının zəngi düyməsinə basıldıqda LEDlər səs siqnalı ilə birlikdə ritmik olaraq parlamağa başlayacaq, bir müddətdən sonra iki hadisə avtomatik olaraq dayanacaq. LEDlər qonağı əyləndirmək üçün qapının kənarında və ya içərisində ola bilər. Bu işdə mən
Arduino UNO ilə RGB Led WS2812B Arayüzü Təlimatı: 7 Addım (Şəkillərlə)
Arduino UNO ilə RGB Led WS2812B İnterfeysi Dərsliyi: Bu dərslik sizə Arduino UNO ilə Sparkfun RGB Led WS2812B istifadə etmək üçün bəzi əsasları öyrədəcək