Turinys:
- Prekės
- 1 žingsnis: veikimo teorija
- 2 veiksmas: nuimkite ratuką
- 3 veiksmas: atspausdinkite priedą
- 4 žingsnis: užprogramuokite „Arduino“
- 5 žingsnis: prijunkite viską
- 6 žingsnis: Surinkimas
- 7 veiksmas: nustatykite „Python“scenarijų
Video: Senovinis rotacinis telefono rinkimo kompiuterio garsumo valdymas: 7 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Jei esate kažkas panašaus į mane, pastebite, kad gana dažnai keičiate kompiuterio garsumą. Kai kurie vaizdo įrašai yra garsesni nei kiti, kartais norite, kad garsas jūsų kompiuteryje būtų išjungtas, kai klausotės transliacijų ar muzikos, ir jums gali tekti greitai sumažinti garsą, jei gausite skambutį. Jei jūsų kompiuteryje nėra laikmenų valdiklių, senovinį sukamąjį telefono ratuką galite paversti „Windows“kompiuterio garsumo valdikliu.
Šis garsumo valdymo įtaisas prijungiamas prie kompiuterio per USB ir automatiškai nustato kiekvienos atidarytos programos garsumą bet kokiu numeriu, kurį renkate. Jei surinksite „2“, garsumas bus nustatytas 20%. Surinkite „8“ir jis bus nustatytas 80%. Surinkus „0“nustatomas 0% ir jis veikia kaip nutildytas. Tai greita, patenkinama ir smagiau nei spustelėti garsumo valdiklį užduočių juostoje.
Prekės
- Vintage Bell Systems Trimline rotacinis telefonas
- Arduino Nano
- M3 srieginiai kaitinimo įdėklai
- M3 mašinos varžtai
- Rezistoriai (470 omų ir 10 k omų)
- Viela
- Prieiga prie 3D spausdintuvo
1 žingsnis: veikimo teorija
Rotaciniai telefonai, įskaitant šiame projekte naudojamą „Bell Systems Trimline“, yra grynai analoginiai elektromechaniniai prietaisai. Kai pasukate ratuką, spyruoklė grąžina ratuką į pradinę padėtį. Praėjus kiekvienam skaičiui, jungiklis trumpam atjungiamas (arba prijungiamas), sukuriamas impulsas. Mums tereikia suskaičiuoti tuos impulsus, kad nustatytume, koks numeris buvo surinktas.
„guidomax“turi fantastišką „Instructables“vadovėlį, kuriame išsamiai aprašoma, kaip tai veikia, ir ten galite rasti daugiau informacijos.
Šiam projektui mes naudojame „Arduino Nano“impulsams skaičiuoti. Tada „Arduino“siunčia numerį į kompiuterį per nuoseklųjį ryšį. Parašiau pagrindinį „Python“scenarijų, kuris veikia fone ir stebi tą nuoseklųjį ryšį. Kai jis gauna bitus, jis priima numerį ir naudoja „Python Core Audio Windows“biblioteką, kad nustatytų tinkamą garsumą.
Dėl „Windows“ir tos bibliotekos apribojimų scenarijus nenustato bendro sistemos garsumo (pagrindinio užduočių juostos slankiklio). Vietoj to jis nustato individualų kiekvienos šiuo metu vykdomos programos garsumą. Poveikis yra tas pats, išskyrus tai, kad negalite išlaikyti skirtingo santykinio garso lygio tarp programų.
2 veiksmas: nuimkite ratuką
Šis žingsnis yra paprastas: tiesiog išardykite „Trimline“telefono ragelį, kad pašalintumėte rinkimo mechanizmą. Iš esmės tai yra autonominis modulis, todėl jums tereikia jį atsukti iš ragelio.
Šiam projektui pasirinkau „Trimline“modelį, nes šis rinkimo modulis yra kompaktiškesnis nei tas, kurį rasite daugelyje kitų rotacinių telefonų.
Jei atliksite kelis bandymus, turėtumėte išgirsti, kaip jungiklis spragteli, kai jis grįžta į pradinę padėtį.
3 veiksmas: atspausdinkite priedą
Norėdami spausdinti korpuso dalis, naudokite du pateiktus STL failus. Galite naudoti bet kokią gijų medžiagą, kurią norite (aš naudojau PLA). Konkretūs jūsų naudojami nustatymai nėra tokie svarbūs, tačiau aš rekomendavau naudoti „Rotary_Top“dalies palaikymus. Šias dvi dalis galite atsispausdinti dirbdami su likusia projekto dalimi.
4 žingsnis: užprogramuokite „Arduino“
Kodas, kurį įkelsite į „Arduino Nano“, paimtas tiesiai iš „Guidomax“vadovėlio, nes jis puikiai tinka šiam projektui:
int needToPrint = 0; int count; int in = 2;
int lastState = LOW;
int trueState = LOW;
ilgas lastStateChangeTime = 0;
int išvalytas = 0;
// konstantos
int dialHasFinishedRotatingAfterMs = 100;
int debounceDelay = 10;
void setup () {
Serial.begin (9600);
pinMode (in, INPUT); }
void loop () {
int reading = digitalRead (in);
if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// ratukas nėra renkamas arba ką tik baigtas rinkti.
if (needToPrint) {// jei tik baigtas rinkti numeris, turime nusiųsti numerį serijos // eilutėje ir iš naujo nustatyti skaičių. Mes modifikuojame skaičių 10, nes „0“siunčia 10 impulsų.
Serial.print (skaičius % 10, DEC);
needToPrint = 0;
skaičius = 0;
išvalyta = 0; }}
if (skaitymas! = lastState) {lastStateChangeTime = millis ();
}
if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - tai atsitinka, kai jis sustabdomas
jei (skaitymas! = trueState) {// tai reiškia, kad jungiklis ką tik išėjo iš uždarytos-> atidarytas arba atvirkščiai. trueState = skaitymas; if (trueState == HIGH) {// padidinkite impulsų skaičių, jei jis padidėjo.
skaičiuoti ++;
needToPrint = 1; // turėsime atspausdinti šį numerį (kai ratukas pasuks)
}
}
}
lastState = skaitymas; }
5 žingsnis: prijunkite viską
Šio projekto laidai yra tikrai paprasti. Rinkimo modulio gale turėtų būti du šešiakampiai stulpai su varžtais. Tai jungiklių jungtys. Poliškumas nesvarbus.
Pastaba: ignoruokite mano laidų spalvas nuotraukose. Aš sumaišiau žemę ir 5 V, todėl jie iš tikrųjų yra atvirkščiai.
Prijunkite vieną laidą iš A posto (GND) ir prijunkite jį prie „Arduino Nano“įžeminimo kaiščio. Paimkite antrą laidą ir lituokite jį bei trečią laidą į vieną 470 omų rezistoriaus pusę. Antrasis laidas eis į raštą B (+). Trečiasis laidas bus lituojamas į vieną 10k omų rezistoriaus pusę. Paimkite ketvirtą laidą ir lituokite jį iš kitos 470 omų rezistoriaus pusės į „Arduino Nano“2 kaištį. Galiausiai penktoji viela turėtų prijungti kitą 10k omų rezistoriaus pusę prie 5V kaiščio „Arduino Nano“.
Mes naudojame rezistorius ir 5 V kaištį, kad ištrauktume kaištį aukštyn, kai jungiklis yra atidarytas (kaip ir kiekvieno „impulso“metu).
6 žingsnis: Surinkimas
Turėtumėte pastebėti, kad „Rotary_Top“gaubto dalyje yra šešios mažos skylės. Tai yra jūsų srieginiai šildymo įdėklai. Viršutiniai trys (viršutinio paviršiaus apačioje) turi pritvirtinti sukamąjį ratuką. Apatiniai trys turi prisukti „Rotary_Base“prie „Rotary_Top“.
Šildymo įdėklus galima pašildyti lituokliu (arba tam skirtu įrankiu) ir įstumti į skyles. Karštis ištirps plastiką, kuris po kietėjimo pašalinimo sukietės, kad tvirtai laikytų įdėklus. Naudoti įkaitintus įdėklus yra daug maloniau nei įsukti varžtus tiesiai į plastiką.
Įdėkite šešis kaitinimo įdėklus. Tada naudokite kelis trumpus (maždaug 10 mm) M3 mašinos varžtus, kad pritvirtintumėte ratuką. Atkreipkite dėmesį į išpjovos išpjovą, į kurią pateks metalinė pirštų atrama. Tada atsargiai įdėkite „Arduino Nano-“su prijungtu USB kabeliu į korpuso vidų (jis yra laisvas, nepritvirtintas) ir prisukite pagrindą.
Tikriausiai norėsite naudoti dvipusę juostą arba 3M komandines juostas, kad pritvirtintumėte korpusą prie savo stalo, todėl sukdami ratuką jis nejudės.
7 veiksmas: nustatykite „Python“scenarijų
Pirmiausia įsitikinkite, kad turite įdiegtą „Python“(naudokite „Python 3“, nes „Python 2“nutraukiama).
Tada turėsite įdiegti dvi reikalingas bibliotekas: PyCAW ir PySerial.
Naudoti:
„pip install pycaw“ir „pip install pyserial“(iš „Python“lango arba „Windows Powershell“)
Tada patikrinkite, prie kurio prievado prijungtas jūsų „Arduino Nano“. Tai galite patikrinti iš „Arduino IDE“. Įsitikinkite, kad pasirinktas tas prievadas, tada atidarykite nuoseklųjį monitorių. Įsitikinkite, kad jūsų duomenų perdavimo sparta nustatyta į 9600, tada surinkite kai kuriuos numerius, kad įsitikintumėte, jog jie rodomi serijiniame monitoriuje.
Jei taip, redaguokite „rotary.py“kodą naudodami savo prievado numerį. Jei vykdote scenarijų, dabar turėtumėte pakeisti garsumą rinkdami numerį.
Paskutinis žingsnis yra nustatyti, kad scenarijus būtų paleistas automatiškai fone, kai paleisite kompiuterį.
Norėdami tai padaryti, pakeiskite „rotary.py“į „rotary.pyw“, kad jis veiktų fone. Tada įdėkite šį scenarijų į šį aplanką: C: / Users / current_user / AppData / Roaming / Microsoft / Windows / Start Menu / Programs / Startup
Akivaizdu, kad turėsite pakeisti „current_user“į tikrąjį vartotojo aplanko pavadinimą.
Viskas! Kai tik kompiuteris paleidžiamas, tas „Python“scenarijus pradės veikti. Jis stebės nuoseklųjį ryšį iš „Arduino“ir nustatys visus programos garsus, kad ir ką rinktumėte!
Antroji vieta „Arduino“konkurse 2020 m
Rekomenduojamas:
Senovinis radijas paverstas telefono garsiakalbiu: 4 žingsniai (su nuotraukomis)
Senovinis radijas tapo telefono garsiakalbiu: idėja buvo paimti gražų seną (sugedusį) radiją ir suteikti jam naują gyvenimą, derinant jį su šiuolaikiniais komponentais, kad būtų galima vėl naudoti kaip telefono garsiakalbį. laikydamas seną Robertso radiją, radau mažiau seną paį
ESP8266 RGB LED juostelės WIFI valdymas - „NODEMCU“kaip IR nuotolinio valdymo pultas „Led Strip“, valdomas per „Wifi“- RGB LED STRIP išmaniojo telefono valdymas: 4 žingsniai
ESP8266 RGB LED juostelės WIFI valdymas | „NODEMCU“kaip IR nuotolinio valdymo pultas „Led Strip“, valdomas per „Wifi“| „RGB LED STRIP“išmaniojo telefono valdymas: Sveiki vaikinai, šioje pamokoje mes išmoksime naudoti „nodemcu“arba „esp8266“kaip IR nuotolinio valdymo pultą, norint valdyti RGB LED juostą, o „Nodemcu“bus valdomas išmaniuoju telefonu per „Wi -Fi“. Taigi iš esmės galite valdyti RGB LED juostelę savo išmaniuoju telefonu
USB garsumo valdymas: 9 žingsniai (su nuotraukomis)
USB garsumo valdymas: Šiame projekte mes sukursime USB garsumo valdiklį, naudodami „Adauruit“suderinamą „Adafruit“„Trinket“ir sukamąjį kodavimo įrenginį. Galiausiai 3D atspausdinsime korpusą, užpildysime pagrindą švino šūviu, kad padidintume svorį ir stabilumą, o lazeriu nupjaukime akrilo dugną
Smulkesnis garsumo valdymas T.v .: 3 žingsniai
Smulkesnis garsumo valdymas T.v .: Problema: mano naujasis t.v. turi skaitmeninį garsumo valdiklį, kuris yra gana drebantis, garsus arba išjungtas. Sprendimas: pridedant antrinį analoginį garsumo valdiklį Medžiagos: 1. viela 2. lydmetalis 3. susitraukiantis vamzdis 4. potenciometras (aš naudoju 1 Mohm gerai
Universalus ausinių/ausinių garsumo valdymas: 8 žingsniai (su nuotraukomis)
Universalus ausinių/ausinių garsumo valdymas: Taigi aš nusipirkau PMP (nešiojamą medijos leistuvą) iš Honkongo, kad galėčiau žaisti savo NES žaidimus su įmontuotu emuliatoriumi, kur tik patogu. Ilgos kelionės keliais, skrydžiai, laukimo kambariai ir pan. Yra vietos, kuriose man patinka nešti nešiojamąja laikmena, bet