Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
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.