Satura rādītājs:

Vintage Rotary Phone Dial PC skaļuma kontrole: 7 soļi (ar attēliem)
Vintage Rotary Phone Dial PC skaļuma kontrole: 7 soļi (ar attēliem)

Video: Vintage Rotary Phone Dial PC skaļuma kontrole: 7 soļi (ar attēliem)

Video: Vintage Rotary Phone Dial PC skaļuma kontrole: 7 soļi (ar attēliem)
Video: ДЕТИ РЕАГИРУЮТ НА СТАРЫЕ КОМПЬЮТЕРЫ 2024, Novembris
Anonim
Image
Image
Noņemiet ciparnīcu
Noņemiet ciparnīcu

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

Noņemiet ciparnīcu
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

Izdrukājiet pielikumu
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

Programmējiet savu Arduino
Programmē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

Visu vadu
Visu vadu
Visu vadu
Visu vadu
Visu vadu
Visu vadu

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

Montāža
Montāža
Montāža
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

Iestatiet Python skriptu
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!

Arduino konkurss 2020
Arduino konkurss 2020
Arduino konkurss 2020
Arduino konkurss 2020

Otrā vieta Arduino konkursā 2020

Ieteicams: