Satura rādītājs:
- Piegādes
- 1. darbība: darbības teorija
- 2. darbība: noņemiet ciparnīcu
- 3. darbība: izdrukājiet pielikumu
- 4. solis: ieprogrammējiet savu Arduino
- 5. solis: visu pieslēdziet vadam
- 6. darbība: montāža
- 7. darbība: iestatiet Python skriptu
Video: Vintage Rotary Phone Dial PC skaļuma kontrole: 7 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Ja esat kaut kas līdzīgs man, jūs diezgan bieži maināt datora skaļumu. Daži videoklipi ir skaļāki par citiem, dažreiz vēlaties izslēgt skaļumu datorā, kamēr klausāties podkastus vai mūziku, un, ja saņemat tālruņa zvanu, iespējams, vajadzēs ātri samazināt skaļumu. Ja datorā nav iebūvētas multivides vadības ierīces, varat pārvērst vintage rotējošo tālruņa ciparnīcu par sava Windows datora skaļuma regulētāju.
Šī skaļuma regulēšanas ierīce tiek pievienota datoram, izmantojot USB, un automātiski iestatīs katras atvērtās programmas skaļumu uz jebkuru numuru, kuru jūs sastādāt. Ja izsauksit "2", skaļums tiks iestatīts uz 20%. Zvaniet "8", un tas tiks iestatīts uz 80%. Zvanot "0", tiek iestatīts uz 0% un tā darbojas kā izslēgta. Tas ir ātri, apmierinoši un jautrāk, nekā noklikšķināt uz skaļuma kontroles uzdevumjoslā.
Piegādes
- Vintage Bell Systems Trimline rotācijas tālrunis
- Arduino Nano
- M3 vītņoti termiski iestrādāti ieliktņi
- M3 mašīnas skrūves
- Rezistori (470 omi un 10k omi)
- Vads
- Piekļuve 3D printerim
1. darbība: darbības teorija
Rotējošie tālruņi, ieskaitot šajā projektā izmantoto Bell Systems Trimline, ir tīri analogās elektromehāniskās ierīces. Pagriežot ciparnīcu, atspere pagriež riteni atpakaļ sākotnējā stāvoklī. Kad tas iet garām katram skaitlim, slēdzis uz īsu brīdi tiek atvienots (vai pievienots), radot impulsu. Viss, kas mums jādara, ir saskaitīt šos impulsus, lai noteiktu, kāds numurs tika sastādīts.
guidomax ir fantastiska Instructables apmācība, kurā ir padziļināti aprakstīts, kā tas darbojas, un jūs varat atrast sīkāku informāciju.
Šim projektam impulsu skaitīšanai izmantojam Arduino Nano. Pēc tam Arduino nosūta numuru uz datoru, izmantojot seriālo savienojumu. Es uzrakstīju pamata Python skriptu, kas darbojas fonā un uzrauga šo sērijas savienojumu. Saņemot bitus, tas paņem numuru un izmanto Python Core Audio Windows bibliotēku, lai iestatītu atbilstošo skaļumu.
Windows un šīs bibliotēkas ierobežojumu dēļ skripts nenosaka kopējo sistēmas skaļumu (uzdevumjoslas galveno slīdni). Tā vietā tas nosaka individuālo skaļumu katrai programmai, kas pašlaik darbojas. Efekts ir tāds pats, izņemot to, ka jūs nevarat saglabāt atšķirīgus relatīvos skaļuma līmeņus starp programmām.
2. darbība: noņemiet ciparnīcu
Šis solis ir vienkāršs: vienkārši izjauciet Trimline tālruņa klausuli, lai noņemtu zvanīšanas mehānismu. Tas būtībā ir autonoms modulis, tāpēc jums tas vienkārši ir jāatskrūvē no klausules.
Šim projektam es izvēlējos Trimline modeli, jo šis ciparnīcas modulis ir kompaktāks nekā tie, kurus atradīsit lielākajā daļā citu rotējošo tālruņu.
Ja piešķirat tam dažus testa griezienus, jums vajadzētu dzirdēt, kā slēdzis noklikšķina, kad tas atgriežas sākuma stāvoklī.
3. darbība: izdrukājiet pielikumu
Izmantojiet divus komplektā iekļautos STL failus, lai izdrukātu korpusa daļas. Jūs varat izmantot jebkuru kvēldiega materiālu, kuru vēlaties (es izmantoju PLA). Konkrētie iestatījumi, kurus izmantojat, nav tik svarīgi, taču es ieteiktu izmantot daļas atbalstu “Rotary_Top”. Jūs varat izdrukāt šīs divas daļas, kamēr strādājat ar pārējo projektu.
4. solis: ieprogrammējiet savu Arduino
Kods, ko augšupielādēsit savā Arduino Nano, ir ņemts tieši no guidomax apmācības, jo tas lieliski darbojas šim projektam:
int needToPrint = 0; int skaits; int in = 2;
int lastState = LOW;
int trueState = LOW;
ilgi lastStateChangeTime = 0;
int notīrīts = 0;
// konstantes
int dialHasFinishedRotatingAfterMs = 100;
int debounceDelay = 10;
void setup () {
Sērijas sākums (9600);
pinMode (in, INPUT); }
void loop () {
int lasīšana = digitalRead (in);
if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// zvans netiek izsaukts vai ir tikko pabeigts.
ja (needToPrint) {// ja tas ir tikai beidzis zvanīt, mums ir jānosūta numurs pa sērijas // līniju un jāatiestata skaitlis. Mēs mainām skaitli par 10, jo “0” nosūtīs 10 impulsus.
Serial.print (skaits % 10, DEC);
needToPrint = 0;
skaits = 0;
notīrīts = 0; }}
if (lasot! = lastState) {lastStateChangeTime = millis ();
}
if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - tas notiek, kad tas ir apturēts
ja (lasot! = trueState) {// tas nozīmē, ka slēdzis ir vai nu tikko aizvērts no slēgts-> atvērts, vai otrādi. trueState = lasīšana; if (trueState == HIGH) {// palielināt impulsu skaitu, ja tas ir paaugstinājies.
skaitīt ++;
needToPrint = 1; // mums būs jāizdrukā šis numurs (kad ciparnīca būs pagriezusi)
}
}
}
lastState = lasīšana; }
5. solis: visu pieslēdziet vadam
Elektroinstalācija šim projektam ir patiešām vienkārša. Numura izsaukšanas moduļa aizmugurē jābūt diviem sešstūra stabiem ar skrūvēm. Tie ir slēdžu savienojumi. Polaritātei nav nozīmes.
Piezīme: ignorējiet manu vadu krāsas fotoattēlos. Es sajaucu zemi un 5 V, tāpēc tie faktiski ir apgriezti.
Pievienojiet vienu vadu no A statņa (GND) un pievienojiet to Arduino Nano zemējuma tapai. Paņemiet otru vadu un pielodējiet to un trešo vadu uz vienu pusi no 470 omu rezistora. Otrais vads uz ciparnīcas nonāks pie B (+). Trešais vads tiks pielodēts 10k omu rezistora vienā pusē. Paņemiet ceturto vadu un pielodējiet to no 470 omu rezistora otras puses uz Arduino Nano 2. tapu. Visbeidzot, piektajam vadam vajadzētu savienot 10k omu rezistora otru pusi ar 5V tapu Arduino Nano.
Mēs izmantojam rezistorus un 5V tapu, lai pievilktu tapu augstu, kad slēdzis ir atvērts (kā tas ir katra "impulsa" laikā).
6. darbība: montāža
Jums jāņem vērā, ka korpusa Rotary_Top daļā ir seši mazi caurumi. Tie ir paredzēti jūsu vītņotajiem siltuma iestatīšanas ieliktņiem. Trīs augšējiem (augšējās virsmas apakšpusē) ir jāuzstāda grozāmā skala. Apakšējie trīs ir pieskrūvēt Rotary_Base pie Rotary_Top.
Siltuma ieliktņus var uzsildīt ar lodāmuru (vai speciālu instrumentu) un pēc tam iespiest caurumos. Siltums izkausēs plastmasu, kas pēc siltuma noņemšanas sacietēs, lai ieliktņus droši noturētu vietā. Siltumizolācijas ieliktņu izmantošana ir daudz patīkamāka nekā skrūvju vītņošana tieši plastmasā.
Ievietojiet sešus karstumizolācijas ieliktņus. Pēc tam izmantojiet dažas īsas (apmēram 10 mm) M3 mašīnas skrūves, lai uzstādītu ciparnīcu. Ņemiet vērā iegriezumu izgriezumā, kur atrodas metāla pirkstu pieturvieta. Pēc tam uzmanīgi ievietojiet Arduino Nano-ar pievienoto USB kabeli korpusa iekšpusē (tas ir vaļīgs, nav uzstādīts) un ieskrūvējiet pamatni vietā.
Jūs, iespējams, vēlēsities izmantot divpusēju lenti vai 3M komandu sloksnes, lai piestiprinātu korpusu pie sava galda, lai, pagriežot ciparnīcu, tas nepārvietotos.
7. darbība: iestatiet Python skriptu
Vispirms pārliecinieties, vai esat instalējis Python (izmantojiet Python 3, jo Python 2 darbība tiek pārtraukta).
Pēc tam jums būs jāinstalē divas nepieciešamās bibliotēkas: PyCAW un PySerial.
Izmantot:
"pip install pycaw" un "pip install pyserial" (no Python loga vai Windows Powershell)
Pēc tam pārbaudiet, ar kuru portu ir savienots jūsu Arduino Nano. To varat pārbaudīt, izmantojot Arduino IDE. Pārliecinieties, vai esat izvēlējies šo portu, un pēc tam atveriet seriālo monitoru. Pārliecinieties, vai jūsu datu pārraides ātrums ir 9600, un pēc tam sastādiet dažus numurus, lai pārliecinātos, ka tie parādās sērijas monitorā.
Ja viņi to dara, rediģējiet kodu “rotary.py” ar porta numuru. Ja palaižat skriptu, tagad vajadzētu būt iespējai mainīt skaļumu, sastādot numuru.
Pēdējais solis ir iestatīt skriptu, lai tas automātiski darbotos fonā, kad sākat datoru.
Lai to izdarītu, mainiet “rotary.py” uz “rotary.pyw”, kas ļaus tam darboties fonā. Pēc tam ievietojiet šo skriptu šādā mapē: C: / Users / current_user / AppData / Roaming / Microsoft / Windows / Start Menu / Programs / Startup
Acīmredzot jums būs jāmaina "current_user" uz faktisko lietotāja mapes nosaukumu.
Tieši tā! Ikreiz, kad dators tiek startēts, šis Python skripts sāks darboties. Tas uzraudzīs sērijveida savienojumu no Arduino un iestatīs visus programmas apjomus neatkarīgi no tā, ko zvanāt!
Otrā vieta Arduino konkursā 2020
Ieteicams:
Robots: divi veidi, kā mobilo tālruni kontrolē Windows Phone.: 6 soļi (ar attēliem)
Robots: divi veidi, kā mobilo tālruni kontrolē Windows Phone. Saraksts: Arduino Uno L 293 (tilts) HC SR-04 (sonāra modulis) HC 05 (Bluetooth modulis) 6 AA) kontaktlēcu turētāju vadi (no vīriešu līdz sievietēm) Kabeļu saites karstā līme (nūja
USB skaļuma kontrole: 9 soļi (ar attēliem)
USB skaļuma kontrole: Šajā projektā mēs izveidosim USB skaļuma regulatoru, izmantojot Arduino saderīgu piekariņu no Adafruit un rotējošu kodētāju. Visbeidzot, mēs izdrukāsim 3D korpusu, piepildīsim pamatni ar svina šāvienu, lai palielinātu svaru un stabilitāti, un ar lāzeru sagriežam akrila dibenu
Smalkāka skaļuma kontrole T.v .: 3 soļi
Smalkāka skaļuma kontrole T.v .: Problēma: mana jaunā t.v. ir digitāls skaļuma regulētājs, kas ir diezgan nestabils, tas ir skaļš vai IZSLĒGTS Risinājums: pievienojot sekundāro analogo skaļuma regulatoru Materiāli: 1. vads 2. lodēt 3. sarukt caurule 4. potenciometrs (es izmantoju 1 Mohm labu manai
Darbvirsmas ritināšanas ritenis un skaļuma kontrole!: 8 soļi (ar attēliem)
Darbvirsmas ritināšanas ritenis un skaļuma regulēšana! Katru dienu es lasīšu jaunākās ziņas par engadget, lifehacker, hackaday, BBG un MAKE: emuāru. Problēma man radās, kad sapratu, ka
Universāla austiņu/austiņu skaļuma kontrole: 8 soļi (ar attēliem)
Universāla austiņu/austiņu skaļuma kontrole: Tāpēc es no Honkongas nopirku PMP (portatīvo multivides atskaņotāju), lai es varētu spēlēt savas NES spēles ar iebūvēto emulatoru, kur vien tas bija ērti. Garie ceļojumi, lidojumi, uzgaidāmās telpas utt. Ir vietas, kurās man patīk nogalināt laiku, izmantojot pārnēsājamus datu nesējus, bet