Mundarija:
- Ta'minotlar
- 1 -qadam: Operatsion nazariyasi
- 2 -qadam: Raqamni olib tashlang
- 3 -qadam: Korpusni chop eting
- 4 -qadam: Arduino -ni dasturlash
- 5 -qadam: Hamma narsani ulang
- 6 -qadam: yig'ish
- 7 -qadam: Python skriptini o'rnating
Video: Amp Rotary Telefon Dial Kompyuter Ovozini boshqarish: 7 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Agar siz menga o'xshagan bo'lsangiz, kompyuteringizning ovozini tez -tez o'zgartirasiz. Ba'zi videolar boshqalarga qaraganda balandroq bo'ladi, ba'zida siz podkastlar yoki musiqa tinglayotganingizda kompyuteringizda ovoz balandligini o'chirishni xohlaysiz va agar siz qo'ng'iroq qilsangiz, ovozni tezda o'chirib qo'yishingiz kerak bo'ladi. Agar sizning kompyuteringizda media -boshqaruv elementlari bo'lmasa, vintli aylanadigan telefonni Windows kompyuteringiz ovoz balandligini boshqarishga aylantirishingiz mumkin.
Ovozni boshqarish moslamasi kompyuterga USB orqali ulanadi va har bir ochilgan dasturning ovozini avtomatik ravishda siz tergan raqamga o'rnatadi. Agar siz "2" ni tersangiz, ovoz balandligi 20%ga o'rnatiladi. "8" raqamini tering va u 80%ga o'rnatiladi. "0" terish uni 0% ga o'rnatadi va ovozni o'chiradi. Vazifalar panelidagi ovoz balandligini boshqarish tugmachasini bosishdan ko'ra, bu tez, qoniqarli va qiziqarli.
Ta'minotlar
- Vintage Bell Systems Trimline aylanadigan telefon
- Arduino Nano
- M3 tishli issiqlik moslamalari
- M3 mashina vintlari
- Rezistorlar (470 ohm va 10 k ohm)
- Tel
- 3D printerga kirish
1 -qadam: Operatsion nazariyasi
Aylanadigan telefonlar, shu jumladan Bell Systems Trimline, bu loyihada ishlatilgan, faqat analog elektromexanik qurilmalar. Tugmani aylantirganda, buloq kadrni dastlabki holatiga qaytaradi. Har bir raqam o'tib ketganda, kalit qisqa vaqtga uziladi (yoki ulanadi), puls hosil qiladi. Qaysi raqam terilganligini aniqlash uchun biz faqat shu zarbalarni sanashimiz kerak.
Guidomax -da "Instructables" ning ajoyib qo'llanmasi bor, u aynan qanday ishlashini chuqur o'rganib chiqadi va siz u erda batafsil ma'lumotni topishingiz mumkin.
Ushbu loyiha uchun biz impulslarni hisoblash uchun Arduino Nano -dan foydalanamiz. Keyin Arduino raqamni kompyuterga ketma -ket ulanish orqali yuboradi. Men fonda ishlaydigan va ketma -ket ulanishni kuzatadigan asosiy Python skriptini yozdim. Bitlarni qabul qilganda, u raqamni oladi va mos keladigan ovoz balandligini o'rnatish uchun Python Core Audio Windows kutubxonasidan foydalanadi.
Windows va kutubxonadagi cheklovlar tufayli skript tizimning umumiy hajmini o'rnatmaydi (vazifalar panelidagi asosiy slayder). Buning o'rniga, u hozirda ishlayotgan har bir dastur uchun individual ovoz balandligini o'rnatadi. Ta'sir bir xil, faqat dasturlar orasidagi har xil nisbiy tovush darajasini saqlab bo'lmaydi.
2 -qadam: Raqamni olib tashlang
Bu qadam oddiy: terish mexanizmini olib tashlash uchun Trimline telefonini ajratib oling. Bu, aslida, o'z-o'zidan ishlaydigan modul, shuning uchun siz uni telefondan echib olishingiz kerak.
Men ushbu loyiha uchun Trimline modelini tanladim, chunki bu terish moduli boshqa aylanadigan telefonlarnikiga qaraganda ixchamroq.
Agar siz unga bir nechta testni aylantirsangiz, u uy holatiga qaytganda, kalitning sekin urilishini eshitishingiz kerak.
3 -qadam: Korpusni chop eting
Korpus qismlarini chop etish uchun ikkita taqdim etilgan STL fayllaridan foydalaning. Siz xohlagan filament materialidan foydalanishingiz mumkin (men PLA ishlatganman). Siz foydalanadigan sozlamalar unchalik muhim emas, lekin men "Rotary_Top" qismi uchun tayanchlardan foydalanishni tavsiya qildim. Loyihaning qolgan qismi ustida ishlayotganda siz bu ikki qismni chop etishingiz mumkin.
4 -qadam: Arduino -ni dasturlash
Arduino Nano -ga yuklaydigan kod to'g'ridan -to'g'ri guidomax o'quv qo'llanmasidan olinadi, chunki u ushbu loyiha uchun juda yaxshi ishlaydi:
int needToPrint = 0; int soni; int in = 2;
int lastState = LOW;
int trueState = LOW;
long lastStateChangeTime = 0;
int tozalandi = 0;
// doimiylar
int dialHasFinishedRotatingAfterMs = 100;
int debounceDelay = 10;
bo'sh o'rnatish () {
Serial.begin (9600);
pinMode (kirish, Kirish); }
void loop () {
int o'qish = digitalRead (in);
if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// terish qilinmayapti yoki terishni tugatgan.
if (needToPrint) {// agar terish endigina tugagan bo'lsa, biz raqamni ketma -ket // satriga yuborishimiz va hisobni tiklashimiz kerak. Biz hisobni 10 ga o'zgartiramiz, chunki "0" 10 ta impuls yuboradi.
Serial.print (hisoblash % 10, DEC);
needToPrint = 0;
hisoblash = 0;
tozalangan = 0; }}
agar (o'qish! = lastState) {lastStateChangeTime = millis ();
}
if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - bu barqarorlashtirilgandan keyin sodir bo'ladi
if (o'qish! = trueState) {// bu shuni anglatadiki, bu kalit yopiq-ochiqdan yoki aksincha. trueState = o'qish; if (trueState == HIGH) {// yuqori bo'lsa, impulslar sonini ko'paytiring.
hisoblash ++;
needToPrint = 1; // biz bu raqamni chop etishimiz kerak (kadr aylanishi tugagach)
}
}
}
lastState = o'qish; }
5 -qadam: Hamma narsani ulang
Loyihaning simlari juda oddiy. Raqamli modulning orqa tomonida vintlardek ikkita olti burchakli ustun bo'lishi kerak. Bu ulanishlar. Qutblilik muhim emas.
Eslatma: fotosuratlardagi simlarimning ranglariga e'tibor bermang. Men erni va 5Vni aralashtirdim, shuning uchun ular aslida teskari.
Post A (GND) dan bitta simni ulang va uni Arduino Nano -dagi topraklama piniga ulang. Ikkinchi simni oling va uni va uchinchi simni 470 ohmli rezistorning bir tomoniga lehimlang. Ikkinchi sim terish ustuni B (+) ustuniga o'tadi. Uchinchi sim 10k ohmli rezistorning bir tomoniga lehimlanadi. To'rtinchi simni oling va uni 470 ohmli qarshilikning boshqa tarafidan Arduino Nano -dagi 2 -pinga lehimlang. Nihoyat, beshinchi sim 10k ohmli rezistorning boshqa tomonini Arduino Nano -dagi 5V piniga ulashi kerak.
Biz rezistorlar va 5V pinidan foydalanib, kalit ochilganda pinni yuqoriga ko'taramiz (har bir "zarba" paytida bo'lgani kabi).
6 -qadam: yig'ish
E'tibor bering, Rotary_Top korpusining oltita kichik teshigi bor. Bu sizning tishli issiqlik moslamalari uchun. Yuqori uchlik (yuqori yuzaning pastki qismida) aylanadigan kadranni o'rnatishi kerak. Pastki uchtasi - Rotary_Base -ni Rotary_Top -ga ulash.
Issiqlik moslamalarini lehimlantiruvchi temir (yoki maxsus asbob) yordamida qizdirib, keyin teshiklarga surish mumkin. Issiqlik plastmassani eritib yuboradi, u qo'shimchalarni mahkam ushlab turish uchun issiqlik chiqarilgandan keyin qattiqlashadi. Issiqlik moslamalarini ishlatish vintlarni to'g'ridan-to'g'ri plastmassaga burishdan ko'ra ancha yoqimli.
Oltita issiqlik moslamasini joylashtiring. Keyin kadranni o'rnatish uchun bir nechta qisqa (10 mm yoki undan ko'p) M3 mashina vintlarini ishlating. Metall barmoqlar to'xtaydigan joyning kesilgan joyiga e'tibor bering. Keyin ehtiyotkorlik bilan Arduino Nano-ni ulangan USB kabeli bilan korpus ichiga joylashtiring (u bo'shashmagan, o'rnatilmagan) va poydevorni joyiga burab qo'ying.
Siz, ehtimol, korpusni ish stoliga yopishtirish uchun ikki tomonlama lentani yoki 3M buyruqlar tasmasini ishlatishni xohlaysiz, shuning uchun kadrni aylantirganda u qimirlamaydi.
7 -qadam: Python skriptini o'rnating
Birinchidan, Python -ni o'rnatganingizga ishonch hosil qiling (Python 3 -dan foydalaning, chunki Python 2 bosqichma -bosqich o'chirilmoqda).
Keyin ikkita kerakli kutubxonani o'rnatishingiz kerak bo'ladi: PyCAW va PySerial.
Foydalanish:
"pip install pycaw" va "pip install pyserial" (Python oynasidan yoki Windows Powershell -dan)
Keyin Arduino Nano qaysi portga ulanganligini tekshiring. Buni Arduino IDE -da tekshirishingiz mumkin. Port tanlanganligiga ishonch hosil qiling, so'ngra ketma -ket monitorni oching. Baud tezligi 9600 ga o'rnatilganligiga ishonch hosil qiling va ketma -ket monitorda ko'rsatilishi uchun ba'zi raqamlarni tering.
Agar shunday bo'lsa, "rotary.py" kodini port raqamingiz bilan tahrir qiling. Agar siz skriptni ishga tushirsangiz, endi siz raqamni terish orqali ovoz balandligini o'zgartirishingiz kerak.
Oxirgi qadam - kompyuterni yuklashda skriptni avtomatik ravishda fonda ishlashini sozlash.
Buning uchun "rotary.py" ni "rotary.pyw" ga o'zgartiring, bu fonda ishlashiga imkon beradi. Keyin skriptni quyidagi papkaga joylashtiring: C: / Users / current_user / AppData / Rouming / Microsoft / Windows / Start Menu / Programs / Startup
Shubhasiz, siz "current_user" ni haqiqiy foydalanuvchi papkasining nomiga o'zgartirishingiz kerak bo'ladi.
Bo'ldi shu! Kompyuter ishga tushganda, Python skriptlari ishlay boshlaydi. U Arduino -dan ketma -ket ulanishni kuzatadi va siz qo'ng'iroq qilayotgan barcha dasturlar hajmini o'rnatadi!
Arduino 2020 musobaqasida ikkinchi o'rinni egalladi
Tavsiya:
Quvvat manbai fanatining ovozini o'chirish: 6 qadam (rasmlar bilan)
Quvvat manbai muxlisining ovozini o'chiring: Hammaga salom, CCTV -ni sozlashda men kameralarni quvvatlantirish uchun zarur bo'lgan 12V kuchlanishli kompyuterni qutqarilgan quvvat manbaidan foydalanaman. Quvvat manbai juda yaxshi ishlaydi, lekin fan haqiqatan ham yuqori tezlikda ishlaydi, bu mening ofisim uchun barcha sozlamalarni shovqinli qiladi. Bugungi yo'riqnomada
Taymer funktsiyasi bilan televizorni masofadan boshqarish pulti yordamida uy jihozlarini qanday boshqarish mumkin: 7 qadam (rasmlar bilan)
Uy asbob -uskunalarini masofadan boshqarish pulti bilan taymer funktsiyasi yordamida qanday boshqarish mumkin: Iste'mol bozoriga 25 yil kirganidan keyin ham, infraqizil aloqa so'nggi kunlarda juda dolzarb bo'lib qolmoqda. Bu sizning 55 dyuymli 4K televizoringiz yoki avtomobilingizning ovoz tizimidan qat'i nazar, hamma narsaga javob berish uchun IQ masofadan boshqarish pulti kerak
PSP -ni kompyuter boshqaruv paneli sifatida ishlatish va keyin kompyuterni PSP bilan boshqarish: 5 qadam (rasmlar bilan)
PSP -ni kompyuterni joystik sifatida ishlatish va keyin PSP yordamida kompyuterni boshqarish: Siz PSP homebrew -dan foydalanib juda ko'p ajoyib ishlarni bajarishingiz mumkin va men sizga bu PSP -ni o'yin o'ynash uchun joystik sifatida ishlatishni o'rgataman. sichqoncha sifatida joystikdan foydalanish imkonini beruvchi dastur. Mana, ona
Haqiqiy dunyo qurilmalarini shaxsiy kompyuter bilan boshqarish: 15 qadam (rasmlar bilan)
Haqiqiy dunyo qurilmalarini shaxsiy kompyuteringiz bilan boshqaring: Ushbu ko'rsatma sizga kompyuter va mikrokontroller bilan qanday ishlashni ko'rsatadi. Bu demo pot yoki boshqa analog kirish qiymatini sezadi, shuningdek servo boshqaradi. Umumiy qiymati servo bilan birga 40 dollardan kam. Servo mikrosxemani yoqadi, keyin esa m
Ajoyib video o'yin ovozini loyihalash: 10 qadam (rasmlar bilan)
Ajoyib video o'yinlar ovozini loyihalash: Men so'nggi bir necha yil davomida video o'yinlar dizayneri bo'lganman - Game Boy Advance uchun uy qurilishi materiallaridan tortib, Seaman Dreamcast uchun g'alati g'alati narsalarga qadar turli o'yinlar ustida ishlaganman. Sims kabi katta byudjetli blokbasterlarga