Mündəricat:
- Təchizat
- Addım 1: Əməliyyat nəzəriyyəsi
- Addım 2: Dialı çıxarın
- Addım 3: Korpusu çap edin
- Addım 4: Arduino proqramlaşdırın
- Addım 5: Hər şeyi bağlayın
- Addım 6: Quraşdırma
- Addım 7: Python Scriptini qurun
Video: Vintage Rotary Telefon Dial PC Səs İdarəçiliyi: 7 addım (şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Mənim kimi birisənsə, kompüterdəki səsin tez -tez dəyişdiyini görürsən. Bəzi videolar digərlərindən daha yüksəkdir, bəzən podkast və ya musiqi dinləyərkən kompüterinizdə səsin kəsilməsini istəyərsiniz və telefon zəngi alsanız səsi tez bir zamanda söndürməyiniz lazım ola bilər. Kompüterinizdə media nəzarətiniz yoxdursa, üzümlü fırlanan telefon düyməsini Windows PC üçün səs səviyyəsinə çevirə bilərsiniz.
Bu səs idarəetmə cihazı kompüterinizə USB vasitəsilə qoşulur və hər açıq proqramın həcmini avtomatik olaraq yığdığınız nömrəyə təyin edir. "2" yığsanız, səs 20%olaraq təyin ediləcək. "8" yığın və 80%olaraq təyin ediləcək. "0" yığmaq onu 0% olaraq təyin edir və səssiz kimi işləyir. Tapşırıq çubuğunuzdakı səs səviyyəsinə nəzarət etməkdən daha sürətli, məmnun və daha əyləncəlidir.
Təchizat
- Vintage Bell Systems Trimline fırlanan telefon
- Arduino Nano
- M3 yivli istilik qurğuları
- M3 maşın vintləri
- Rezistorlar (470 ohm və 10k ohm)
- Tel
- 3D printerə giriş
Addım 1: Əməliyyat nəzəriyyəsi
Bu layihədə istifadə olunan Bell Systems Trimline da daxil olmaqla fırlanan telefonlar sırf analoq elektromexaniki qurğulardır. Düyməni döndərdiyiniz zaman, yay yay düyməsini orijinal vəziyyətinə qaytarır. Hər nömrə keçdikcə bir açar qısa bir müddətə kəsilir (və ya bağlanır) və nəbz yaradır. Etməli olduğumuz şey, hansı nömrənin yığıldığını müəyyən etmək üçün bu zərbələri saymaqdır.
guideomax -ın bunun necə işlədiyini dərindən izah edən fantastik bir Instructables dərsliyi var və orada daha ətraflı məlumat tapa bilərsiniz.
Bu layihə üçün nəbzləri saymaq üçün Arduino Nano istifadə edirik. Arduino daha sonra nömrəni serial bağlantısı ilə PC -yə göndərir. Arxa planda işləyən və bu serial bağlantısını izləyən əsas Python skriptini yazdım. Bitləri aldıqda, nömrəni alır və müvafiq səsi təyin etmək üçün Python Core Audio Windows kitabxanasından istifadə edir.
Windows və kitabxanada olan məhdudiyyətlər səbəbindən skript ümumi sistem həcmini təyin etmir (tapşırıq çubuğunuzdakı əsas sürüşdürücü). Bunun əvəzinə, hazırda işləyən hər bir proqram üçün fərdi həcmi təyin edir. Proqramlar arasında fərqli nisbi səs səviyyələrini saxlaya bilməyəcəyiniz istisna olmaqla, təsir eynidır.
Addım 2: Dialı çıxarın
Bu addım sadədir: yığım mexanizmini çıxarmaq üçün Trimline telefonunuzu sökün. Əslində öz-özünə qurulmuş bir moduldur, buna görə onu telefondan çıxartmalısınız.
Bu layihə üçün Trimline modelini seçdim, çünki bu yığma modulu digər fırlanan telefonlarda tapa biləcəyinizdən daha yığcamdır.
Bir neçə test fırlatsanız, ev mövqeyinə qayıdarkən açarın uzaqlaşdığını eşitməlisiniz.
Addım 3: Korpusu çap edin
Kassa hissələrini çap etmək üçün təqdim olunan iki STL faylını istifadə edin. İstədiyiniz filament materialından istifadə edə bilərsiniz (PLA istifadə etdim). İstifadə etdiyiniz xüsusi parametrlər o qədər də əhəmiyyətli deyil, amma "Rotary_Top" hissəsi üçün dəstəklərdən istifadə etməyi məsləhət gördüm. Layihənin qalan hissəsi üzərində işləyərkən bu iki hissəni çap edə bilərsiniz.
Addım 4: Arduino proqramlaşdırın
Arduino Nano'nuza yüklədiyiniz kod, doğrudan bu təlimat üçün təlimatlardan götürülmüşdür, çünki bu layihə üçün mükəmməl işləyir:
int needToPrint = 0; int sayı; int = 2;
int lastState = LOW;
int trueState = LOW;
long lastStateChangeTime = 0;
int silindi = 0;
// sabitlər
int dialHasFinishedRotatingAfterMs = 100;
int debounceDelay = 10;
boş quraşdırma () {
Serial.begin (9600);
pinMode (giriş, GİRİŞ); }
boşluq döngəsi () {
int oxu = 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, sabitləşdikdən sonra baş verir
if (oxu! = trueState) {// bu o deməkdir ki, keçid ya qapalı-> açıqdan, ya da əksinə getdi. 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: Hər şeyi bağlayın
Bu layihənin naqilləri çox sadədir. Dial modulunun arxasında vintlər olan iki altıbucaqlı dirək olmalıdır. Bunlar keçid əlaqələridir. Qütblüyün heç bir əhəmiyyəti yoxdur.
Qeyd: Şəkillərdəki tellərimin rənglərinə fikir verməyin. Zəmini və 5V -ni qarışdırdım, buna görə də bunlar əksinədir.
Post A -dan (GND) bir tel bağlayın və Arduino Nano'nuzdakı bir torpaq pininə qoşun. İkinci bir tel götürün və 470 ohm müqavimətinin bir tərəfinə üçüncü bir teli lehimləyin. İkinci tel, kadrdakı B Postuna (+) gedəcək. Üçüncü tel, 10k ohm rezistorun bir tərəfinə lehimlənəcək. Dördüncü bir tel götürün və 470 ohm müqavimətinin digər tərəfindən Arduino Nano -da Pin 2 -ə lehimləyin. Nəhayət, beşinci bir tel, 10k ohm müqavimətinin digər tərəfini Arduino Nano üzərindəki 5V pininə bağlamalıdır.
Açar açıq olduqda (hər "nəbz" zamanı olduğu kimi) pimi yuxarıya çəkmək üçün rezistorlardan və 5V pinindən istifadə edirik.
Addım 6: Quraşdırma
Mühərrikin Rotary_Top hissəsində altı kiçik deşik olduğuna diqqət yetirməlisiniz. Bunlar yivli istilik qurğuları üçündür. İlk üçü (üst səthin alt tərəfində) fırlanan kadrın quraşdırılmasıdır. Alt üçü Rotary_Base -ni Rotary_Top -a bağlamaqdır.
İstilik qurğuları bir lehimləmə dəmiri (və ya xüsusi bir alət) ilə qızdırıla bilər və sonra çuxurlara itələ bilər. İstilik, plastikləri əridir, bu da parçaları yerində möhkəm tutmaq üçün istilik çıxarıldıqdan sonra sərtləşir. İstilik qurğusundan istifadə etmək, vintləri birbaşa plastikə bağlamaqdan daha xoşdur.
Altı istilik qurğusunu daxil edin. Daha sonra kadranı montaj etmək üçün bir neçə qısa (10 mm və ya daha çox) M3 maşın vintlərindən istifadə edin. Metal barmaq dayanacağının gedəcəyi kəsikdəki çentiklərə diqqət yetirin. Arduino Nano-nu qoşulmuş USB kabeli ilə korpusun içərisinə diqqətlə yerləşdirin (boşdur, quraşdırılmamışdır) və bazanı yerə vidalayın.
Kassanı masanıza yapışdırmaq üçün çox güman ki, iki tərəfli lent və ya 3M əmr şeridlərindən istifadə etmək istəyəcəksiniz, buna görə də düyməni döndərdiyiniz zaman hərəkət etməyəcəkdir.
Addım 7: Python Scriptini qurun
Birincisi, Python -un quraşdırıldığından əmin olun (Python 2 -nin ləğv edildiyi üçün Python 3 -dən istifadə edin).
Sonra iki tələb olunan kitabxananı qurmalısınız: PyCAW və PySerial.
İstifadə edin:
"pip install pycaw" və "pip install pyserial" (Python pəncərəsindən və ya Windows Powershell -dən)
Arduino Nano'nun hansı limana bağlı olduğunu yoxlayın. Bunu Arduino IDE -dən yoxlaya bilərsiniz. Bu portu seçdiyinizə əmin olun, sonra serial monitoru açın. Baud sürətinizin 9600 olaraq təyin olunduğundan əmin olun və sonra serial monitorda göründüyündən əmin olmaq üçün bəzi nömrələri yığın.
Əgər etsələr, "rotary.py" kodunu port nömrənizlə birlikdə düzəldin. Ssenarini işə salırsınızsa, indi nömrəni yığaraq səs səviyyəsini dəyişə bilərsiniz.
Son addım, kompüterinizi yüklədiyiniz zaman skriptin avtomatik olaraq arxa planda işləməsini qurmaqdır.
Bunu etmək üçün "rotary.py" faylını "rotary.pyw" olaraq dəyişdirin ki, bu da arxa planda işləməyə imkan verəcəkdir. Sonra bu skripti aşağıdakı qovluğa yerləşdirin: C: / Users / current_user / AppData / Roaming / Microsoft / Windows / Start Menu / Programs / Startup
Aydındır ki, "current_user" ı əsl istifadəçi qovluq adınıza dəyişməlisiniz.
Bu belədir! Nə vaxt kompüter işə salınsa, o Python skript işləməyə başlayacaq. Arduino -dan serial bağlantısını izləyəcək və bütün proqram həcmini yığdığınız hər şeyə təyin edəcək!
Arduino 2020 Müsabiqəsində ikinci yer
Tövsiyə:
Radio Prizlərinin Səs İdarəçiliyi: 11 addım
Radio Prizlərinin Səs İdarəçiliyi: Hamımız indi mövcud olan COVID-19 pandemiyası ilə mübarizə aparırıq. Bundan əlavə, indi əlavə təhlükəsizlik tədbirləri tətbiq edərək mövcud şərtlərə uyğunlaşmalı olduğumuz bir vəziyyətdəyik. Burada, layihə COVID-19-un yayılmasının qarşısının alınması ilə əlaqədardır
Retro Style Rotary Dial Cib Telefonu: 4 Addım (Şəkillərlə birlikdə)
Retro Style Rotary Dial Cib Telefonu: Bu layihə həm praktiki ehtiyacdan, həm də əyləncəli bir şey etmək istəyindən qaynaqlanır. Əksər müasir ailələr olaraq, əsl " evimiz " olmağı dayandırdıq. telefon (kabelli) uzun illər əvvəl. Bunun əvəzinə, " köhnə " ilə əlaqəli əlavə SİM kartımız var. ev nömrəsi
Telefon İdarəçiliyi ilə Elektrikli Uzun Lövhə Necə Qurulur: 6 Addım (Şəkillərlə)
Telefon İdarəçiliyi ilə Elektrik Longboard necə qurulacaq: Elektrikli uzun lövhələr çox gözəldir! BLUETOOTHUpdate #1 Telefonla İdarə Edilən ELEKTRİKLİ LONBOARDIN YÜKSƏLƏNMƏSİ ÜÇÜN VİDEODAKİ TEST AYARI: Tutacaq bantı quraşdırılıb, sürət tənzimləyicisindəki bəzi dəyişikliklər məndə var boğazdan daha sürətli çıxmaq
Arduino Uno və Bluetooth istifadə edərək Ev Avtomatlaşdırma Səs İdarəçiliyi: 4 addım
Arduino Uno və Bluetooth istifadə edərək Ev Avtomatlaşdırma Səs İdarəçiliyi: Bu layihə, səsli idarəetmə vasitəsi ilə bir otaqda işıqları və fanatı aktivləşdirmək üçün Arduino və android mobil ilə bluetooth modulunun əlaqələndirilməsindən ibarətdir
Universal Qulaqlıq/Qulaqlıq Səs İdarəçiliyi: 8 Addım (Şəkillərlə birlikdə)
Universal Qulaqlıq/Qulaqlıq Səs İdarəçiliyi: Buna görə Hong Kongdan PMP (Portativ Media Pleyer) aldım, buna görə də NES oyunlarımı rahat şəkildə harada olursunuzsa olun, bort emulyatoru ilə oynaya bildim. Uzun yol səfərləri, uçuşlar, gözləmə otaqları və s. Portativ media ilə vaxt öldürmək istədiyim yerlərdir, amma