Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Үйл ажиллагааны онол
- Алхам 2: Залгуурыг устгана уу
- Алхам 3: Хавсралтыг хэвлэх
- Алхам 4: Arduino -г програмчлах
- Алхам 5: Бүгдийг утсаар холбоно уу
- Алхам 6: Чуулган
- Алхам 7: Python скриптийг тохируулна уу
Видео: Vintage Rotary Phone Dial PC -ийн дууны хяналт: 7 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Хэрэв та надтай адилхан хүн байвал компьютерынхаа дууны хэмжээг байнга өөрчилдөг. Зарим видео нь бусадтай харьцуулахад илүү чанга байдаг, заримдаа та подкаст эсвэл хөгжим сонсож байхдаа компьютер дээрээ дууг нь хаахыг хүсдэг бөгөөд хэрэв та дуудлага хүлээн авбал дууг хурдан бууруулах шаардлагатай болдог. Хэрэв танд компьютер дээрээ медиа удирдлага байхгүй бол хуучин эргэдэг утасны залгуурыг Windows PC -ийнхээ дууны хяналт болгон хувиргаж болно.
Энэхүү дууны түвшинг хянах төхөөрөмж нь USB -ээр дамжуулан таны компьютерт залгагдаж байгаа бөгөөд нээлттэй байгаа програмын эзлэхүүнийг автоматаар таны залгасан дугаар болгон тохируулах болно. Хэрэв та "2" гэж залгах юм бол дууны хэмжээ 20%байх болно. "8" гэж залгахад энэ нь 80%байх болно. "0" залгах нь үүнийг 0% болгож, дуугүй болгох үүргийг гүйцэтгэдэг. Энэ нь ажлын талбар дээрх дууны түвшинг хянах товчлуурыг дарахаас илүү хурдан, сэтгэл хангалуун, хөгжилтэй байдаг.
Хангамж
- Vintage Bell Systems Trimline эргэдэг утас
- Ардуино Нано
- М3 урсгалтай халуунд суурилуулсан оруулга
- М3 машины шураг
- Резистор (470 ом ба 10 к ом)
- Утас
- 3D принтер рүү нэвтрэх
Алхам 1: Үйл ажиллагааны онол
Энэхүү төсөлд ашиглагддаг Bell Systems Trimline зэрэг эргэдэг утаснууд нь зөвхөн аналог цахилгаан механик төхөөрөмж юм. Таныг эргүүлэх үед хавар нь эргүүлэлтийг анхны байрлал руу нь эргүүлнэ. Тоо бүрийг дамжуулж байх үед товчлуурыг богино хугацаанд салгаж (эсвэл холбож), импульс үүсгэдэг. Бидний хийх ёстой зүйл бол эдгээр импульсийг тоолж, ямар дугаар залгасан болохыг тодорхойлох явдал юм.
guidomax нь яг хэрхэн ажилладаг талаар нарийвчилсан зааварчилгааны заавартай бөгөөд та эндээс илүү дэлгэрэнгүй мэдээлэл авах боломжтой.
Энэ төслийн хувьд бид импульс тоолохын тулд Arduino Nano -ийг ашигладаг. Дараа нь Arduino цуваа холболтоор дугаарыг компьютерт илгээдэг. Би цаана нь ажилладаг Python -ийн үндсэн скриптийг бичсэн бөгөөд энэ цуваа холболтыг хянадаг. Энэ нь битийг хүлээн авахдаа дугаарыг нь авч Python Core Audio Windows номын санг ашиглан зохих дууны хэмжээг тохируулдаг.
Windows болон номын сангийн хязгаарлалтын улмаас скрипт нь системийн ерөнхий эзлэхүүнийг тохируулдаггүй (таны ажлын талбар дээрх үндсэн гулсагч). Үүний оронд энэ нь одоо ажиллаж байгаа програм бүрийн хувийн хэмжээг тохируулдаг. Хөтөлбөрүүдийн хоорондох харьцангуй эзлэхүүний түвшинг хадгалах боломжгүйгээс бусад тохиолдолд үр нөлөө нь адилхан юм.
Алхам 2: Залгуурыг устгана уу
Энэ алхам нь маш энгийн: залгах механизмыг салгахын тулд Trimline утасныхаа утсыг задлахад л хангалттай. Энэ нь үндсэндээ бие даасан модуль тул та үүнийг гар утаснаас салгах хэрэгтэй.
Би энэ төслийн Trimline загварыг сонгосон, учир нь энэ залгах модуль нь бусад ихэнх эргэдэг утаснуудаас илүү авсаархан юм.
Хэрэв та хэд хэдэн туршилтын эргэлт хийвэл унтраалга үндсэн байрлал руугаа буцаж ирэх үед та товшихыг сонсох ёстой.
Алхам 3: Хавсралтыг хэвлэх
Хамгаалах хэсгүүдийг хэвлэхийн тулд өгсөн хоёр STL файлыг ашиглана уу. Та хүссэн судалтай материалыг ашиглаж болно (би PLA ашигласан). Таны ашигладаг тодорхой тохиргоо тийм ч чухал биш боловч "Rotary_Top" хэсгийн дэмжлэгийг ашиглахыг зөвлөж байна. Та төслийн үлдсэн хэсэг дээр ажиллаж байхдаа эдгээр хоёр хэсгийг хэвлэх боломжтой.
Алхам 4: Arduino -г програмчлах
Таны Arduino Nano -д байршуулах кодыг энэ төсөлд маш сайн ажилладаг тул guidomax -ийн хичээлээс шууд авсан болно.
int needToPrint = 0; int тоо; int in = 2;
int lastState = LOW;
int trueState = LOW;
long lastStateChangeTime = 0;
int cleared = 0;
// тогтмолууд
int dialHasFinishedRotatingAfterMs = 100;
int debounceDelay = 10;
хүчингүй тохиргоо () {
Цуваа эхлэх (9600);
pinMode (оруулах, оруулах); }
void loop () {
int унших = digitalRead (in);
if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// залгах залгахгүй байна, эсвэл дуудаж дуусаагүй байна.
if (needToPrint) {// хэрэв дөнгөж залгаж дуусаагүй бол бид дугаарыг цуваа // мөрөнд илгээж, тооллогыг дахин тохируулах шаардлагатай болно. Бид тооллогыг 10 -аар өөрчилдөг, учир нь '0' нь 10 импульс илгээдэг.
Serial.print (тоолох % 10, DEC);
needToPrint = 0;
тоолох = 0;
цэвэрлэсэн = 0; }}
if (унших! = lastState) {lastStateChangeTime = millis ();
}
if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - энэ нь тогтворжсоны дараа тохиолддог.
if (унших! = trueState) {// энэ нь унтраалга дөнгөж хаалттай-> нээлттэй эсвэл эсрэгээрээ явсан гэсэн үг юм. trueState = унших; if (trueState == HIGH) {// хэрэв энэ нь өндөр болсон бол импульсийн тоог нэмэгдүүлнэ.
тоолох ++;
needToPrint = 1; // бид энэ дугаарыг хэвлэх шаардлагатай болно (залгах товчийг эргүүлж дуусаад)
}
}
}
lastState = унших; }
Алхам 5: Бүгдийг утсаар холбоно уу
Энэ төслийн утас нь үнэхээр энгийн. Залгах модуль нь нуруун дээр нь зургаан өнцөгт хэлбэртэй хоёр шонг байх ёстой. Эдгээр нь шилжүүлэгч холболтууд юм. Туйлшрал нь хамаагүй.
Тэмдэглэл: Зурган дээрх миний утасны өнгийг үл тоомсорлоорой. Би газар болон 5В холилдсон тул эдгээр нь эсрэгээрээ байна.
Post A (GND) -ээс нэг утсыг холбож, Arduino Nano -ийн газардуулгатай холбоно уу. Хоёр дахь утсыг аваад 470 ом эсэргүүцлийн нэг талд гурав дахь утсыг гагнана. Хоёрдахь утас нь залгах самбар дээрх B (+) руу очих болно. Гурав дахь утас нь 10 к ом эсэргүүцлийн нэг талд гагнах болно. Дөрөв дэх утсыг аваад 470 ом эсэргүүцлийн нөгөө талаас Arduino Nano дээрх Pin 2 руу гагнана. Эцэст нь тав дахь утас нь 10 к ом эсэргүүцлийн нөгөө талыг Arduino Nano дээрх 5V зүүтэй холбох ёстой.
Бид резистор ба 5V зүү ашиглан унтраалга нээлттэй байх үед зүүг өндөрт татах болно (энэ нь "импульс" бүрийн үед тохиолддог).
Алхам 6: Чуулган
Хашааны Rotary_Top хэсэг нь зургаан жижиг нүхтэй болохыг та анзаарах ёстой. Эдгээр нь таны урсгалтай халаагуурт оруулах зориулалттай. Эхний гурван (дээд гадаргуугийн доод талд) нь эргэдэг залгуурыг бэхлэх ёстой. Доод гурван нь Rotary_Base -ийг Rotary_Top руу шургуулна.
Дулаан суурилуулсан оруулгыг гагнуурын төмрөөр (эсвэл зориулалтын багажаар) халааж, дараа нь нүх рүү түлхэж болно. Дулаан нь хуванцарыг хайлуулж, оролтыг найдвартай бэхлэхийн тулд дулааныг зайлуулсны дараа хатуурна. Дулааны тохируулга хийх нь боолтыг шууд хуванцар руу шургуулахаас хамаагүй илүү тааламжтай байдаг.
Дулааны тохируулгатай зургаан оруулгыг оруулна уу. Дараа нь хэд хэдэн богино (10мм орчим) M3 машины эрэг ашиглан залгуурыг холбоно. Төмөр хурууны зогсоол хаашаа явах ёстойг анхаарах хэрэгтэй. Дараа нь Arduino Nano USB кабелийг холбосон хашлага дотор болгоомжтой байрлуулна уу (сул, холбогдоогүй), суурийг нь шургуул.
Та хоёр талт соронзон хальс эсвэл 3M командын туузыг ашиглан ширээн дээрээ бэхлэхийг хүсч магадгүй тул товчлуурыг эргүүлэхэд энэ нь хөдлөхгүй болно.
Алхам 7: Python скриптийг тохируулна уу
Нэгдүгээрт, Python суулгасан эсэхээ шалгаарай (Python 2 -ийг ашиглахаа больж байгаа тул Python 3 -ийг ашиглаарай).
Дараа нь та PyCAW ба PySerial гэсэн хоёр шаардлагатай номын санг суулгах хэрэгтэй болно.
Хэрэглэх:
"pip install pycaw" ба "pip install pyserial" (Python цонх эсвэл Windows Powershell дээрээс)
Дараа нь таны Arduino Nano аль порт руу холбогдсон эсэхийг шалгаарай. Та үүнийг Arduino IDE дотроос шалгаж болно. Та порт сонгосон эсэхээ шалгаад цуваа дэлгэцийг нээнэ үү. Таны дамжуулах хурд 9600 гэж тохируулагдсан эсэхийг шалгаад дараа нь цуваа дэлгэц дээр гарч ирэх эсэхийг шалгахын тулд зарим дугаарыг залгаарай.
Хэрэв тийм бол "rotary.py" кодыг портын дугаартайгаа хамт засаарай. Хэрэв та скриптийг ажиллуулж байгаа бол одоо дугаарыг залгах замаар дууны хэмжээг өөрчлөх боломжтой болно.
Эцсийн алхам бол компьютерээ асаахад скриптийг арын дэвсгэр дээр автоматаар ажиллуулах явдал юм.
Үүнийг хийхийн тулд "rotary.py" -ийг "rotary.pyw" болгож өөрчилнө үү. Дараа нь тэр скриптийг дараах фолдерт байрлуулна уу: C: / Users / current_user / AppData / Roaming / Microsoft / Windows / Start цэс / Programs / Startup
Мэдээжийн хэрэг та "current_user" -ийг жинхэнэ хэрэглэгчийн фолдерын нэр болгон өөрчлөх хэрэгтэй болно.
Ингээд л боллоо! Таныг компьютер асах бүрт Python скрипт ажиллаж эхэлнэ. Энэ нь Arduino -ийн цуваа холболтыг хянаж, бүх програмын эзлэхүүнийг залгах бүх зүйлд тохируулах болно.
Arduino 2020 тэмцээнд дэд байр эзэлсэн
Зөвлөмж болгож буй:
Retro Style Rotary Dial гар утас: 4 алхам (зурагтай)
Retro Style Rotary Dial гар утас: Энэхүү төсөл нь практик хэрэгцээ, хөгжилтэй зүйл хийхийг хүсч байсан. Орчин үеийн ихэнх гэр бүлийн хувьд бид жинхэнэ " гэр " байхаа больсон. утас (утастай) олон жилийн өмнө. Үүний оронд бидэнд " хуучин " -тай холбоотой нэмэлт SIM карт байна. гэрийн дугаар
USB дууны хяналт: 9 алхам (зурагтай)
USB дууны хяналт: Энэ төсөлд бид Adafruit -ийн Arduino -тэй нийцтэй Trinket, эргэлдэх кодлогч ашиглан USB дууны хяналтыг бүтээх болно. Эцэст нь бид орон сууцыг 3D хэлбэрээр хэвлэж, суурийг тугалган сумаар дүүргэж, жин, тогтвортой байдлыг нэмэгдүүлж, нийлэг ёроолыг лазераар тайруулна
3.5мм 5.1 Дууны дууны унтраалга / задлагч хайрцаг: 5 алхам
3.5mm 5.1 Surround Sound Switch / Splitter Box: Надад шийдвэрлэх шаардлагатай асуудал гарлаа. Би DVI -ийг авдаг Dell 2709w дэлгэц худалдаж авсан бөгөөд 5.1 гаралт бүхий гурван 3.5 мм үүртэй, ногоон, улбар шар, Хар. Би Xbox 360 -аа HDMI -ээр дамжуулан дэлгэцэнд холбосон байсан
Ширээний гүйлгэх дугуй ба дууны хяналт!: 8 алхам (зурагтай)
Desktop Scroll Wheel and Volume Control !: Сэтгүүлийн амралтын өдрийн төслийг хий, 3/4/09 Зарим нэг мэдээлэл Сүүлийн үед би олон янзын блог уншиж байна. Би өдөр бүр хамгийн сүүлийн үеийн бичлэгүүдийг уншдаг. О … гэдгийг ойлгосноор миний хувьд асуудал гарч ирэв
Бүх нийтийн чихэвч/чихэвчний дууны хяналт: 8 алхам (зурагтай)
Бүх нийтийн чихэвч/чихэвчний дууны хяналт: Тиймээс би Хонконгоос PMP (Зөөврийн медиа тоглуулагч) худалдаж авсан бөгөөд ингэснээр NES тоглоомуудаа самбар дээрх эмулятороор тоглуулах боломжтой байсан. Урт хугацааны аялал, нислэг, хүлээлгийн өрөө гэх мэт бол зөөврийн хэрэгслээр цаг алдах дуртай газар боловч