Სარჩევი:

Vintage Rotary Phone Dial PC ხმის კონტროლი: 7 ნაბიჯი (სურათებით)
Vintage Rotary Phone Dial PC ხმის კონტროლი: 7 ნაბიჯი (სურათებით)

ვიდეო: Vintage Rotary Phone Dial PC ხმის კონტროლი: 7 ნაბიჯი (სურათებით)

ვიდეო: Vintage Rotary Phone Dial PC ხმის კონტროლი: 7 ნაბიჯი (სურათებით)
ვიდეო: Operation InfeKtion: How Russia Perfected the Art of War | NYT Opinion 2024, ნოემბერი
Anonim
Image
Image
ამოიღეთ აკრიფეთ
ამოიღეთ აკრიფეთ

თუ თქვენ ჩემნაირი ხართ, თქვენ ხშირად ხვდებით თქვენს კომპიუტერში მოცულობის შეცვლას. ზოგი ვიდეო სხვაზე უფრო ხმამაღალია, ზოგჯერ გსურთ თქვენს კომპიუტერში ხმის ჩამორთმევა პოდკასტებსა თუ მუსიკას მოსმენისას და სატელეფონო ზარის მიღების შემთხვევაში შეიძლება დაგჭირდეთ მისი სწრაფად შემცირება. თუ თქვენ არ გაქვთ თქვენს კომპიუტერში ჩაშენებული მედია კონტროლი, მაშინ შეგიძლიათ გადააქციოთ ვინტაჟური მბრუნავი ტელეფონის აკრეფა ხმის კონტროლისთვის თქვენი Windows კომპიუტერისთვის.

ხმის კონტროლის ეს მოწყობილობა ჩართულია თქვენს კომპიუტერში USB- ის საშუალებით და ავტომატურად დააყენებს ყველა ღია პროგრამის მოცულობას ნებისმიერ ნომერზე, რომელსაც აკრიფებთ. თუ აკრიფებთ "2" -ს, მოცულობა დაყენდება 20%-ზე. აკრიფეთ "8" და დაყენდება 80%-ზე. აკრიფეთ "0" ადგენს მას 0% და მოქმედებს როგორც მუნჯი. ის სწრაფი, დამაკმაყოფილებელი და სახალისოა ვიდრე თქვენს დავალების პანელში მოცულობის კონტროლზე დაჭერით.

მარაგები

  • რთველის Bell Systems Trimline მბრუნავი ტელეფონი
  • არდუინო ნანო
  • M3 ხრახნიანი გათბობის ნაკრები
  • M3 მანქანების ხრახნები
  • რეზისტორები (470 ohm და 10k ohm)
  • მავთული
  • 3D პრინტერზე წვდომა

ნაბიჯი 1: ოპერაციის თეორია

მბრუნავი ტელეფონები, მათ შორის ამ პროექტში გამოყენებული Bell Systems Trimline, წმინდა ანალოგური ელექტრომექანიკური მოწყობილობებია. როდესაც აკრიფეთ ციფერბლატი, ზამბარა უბრუნებს ციფერბლატს საწყის პოზიციას. თითოეული ნომრის გავლისას გადამრთველი გათიშულია (ან დაკავშირებულია) მოკლე მომენტით, რაც ქმნის პულსს. ჩვენ მხოლოდ უნდა დავთვალოთ ეს იმპულსები, რათა დავადგინოთ რა რიცხვი დარეკეს.

guidomax– ს აქვს ფანტასტიკური ინსტრუქციის სახელმძღვანელო, რომელიც სიღრმისეულად აჩვენებს, თუ როგორ მუშაობს ეს და უფრო დეტალურად შეგიძლიათ იხილოთ იქ.

ამ პროექტისთვის ჩვენ ვიყენებთ არდუინო ნანოს პულსის დასათვლელად. Arduino შემდეგ აგზავნის ნომერს კომპიუტერზე სერიული კავშირის საშუალებით. მე დავწერე პითონის ძირითადი სკრიპტი, რომელიც მუშაობს ფონზე და თვალყურს ადევნებს ამ სერიულ კავშირს. როდესაც ის იღებს ბიტებს, იღებს ნომერს და იყენებს Python Core Audio Windows ბიბლიოთეკას შესაბამისი მოცულობის დასადგენად.

Windows- ისა და ბიბლიოთეკის შეზღუდვების გამო, სკრიპტი არ ადგენს სისტემის საერთო მოცულობას (მთავარი სლაიდერი თქვენს სამუშაო პანელში). ამის ნაცვლად, ის ადგენს ინდივიდუალურ მოცულობას თითოეული პროგრამისთვის, რომელიც ამჟამად მუშაობს. ეფექტი იგივეა, გარდა იმისა, რომ თქვენ არ შეგიძლიათ შეინარჩუნოთ განსხვავებული ფარდობითი მოცულობის დონე პროგრამებს შორის.

ნაბიჯი 2: ამოიღეთ აკრიფეთ

ამოიღეთ აკრიფეთ
ამოიღეთ აკრიფეთ

ეს ნაბიჯი მარტივია: უბრალოდ დაიშალეთ თქვენი ტელეფონის Trimline, რომ ამოიღოთ აკრიფვის მექანიზმი. ეს არსებითად არის თვითკმარი მოდული, ასე რომ თქვენ უბრალოდ უნდა ამოიღოთ იგი ტელეფონიდან.

მე შევარჩიე Trimline მოდელი ამ პროექტისთვის, რადგან ეს აკრიფეთ მოდული უფრო კომპაქტურია ვიდრე ის, რასაც სხვა მბრუნავ ტელეფონებზე ნახავთ.

თუ მას რამდენიმე საცდელ ტრიალს ატარებთ, უნდა გაიგონოთ, რომ გადამრთველი დააწკაპუნებს, როდესაც ის უბრუნდება საწყის პოზიციას.

ნაბიჯი 3: დაბეჭდეთ დანართი

დაბეჭდე დანართი
დაბეჭდე დანართი

გამოიყენეთ ორი მოწოდებული STL ფაილი შიგთავსის ნაწილების დასაბეჭდად. თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი ძაფის მასალა, რომელიც გირჩევნიათ (მე ვიყენებ PLA). თქვენ მიერ გამოყენებული კონკრეტული პარამეტრები არც ისე მნიშვნელოვანია, მაგრამ მე გირჩევთ გამოიყენოთ მხარდაჭერა "Rotary_Top" ნაწილისთვის. თქვენ შეგიძლიათ დაბეჭდოთ ეს ორი ნაწილი, სანამ დანარჩენ პროექტზე მუშაობთ.

ნაბიჯი 4: დაპროგრამეთ თქვენი არდუინო

პროგრამირება შენი არდუინო
პროგრამირება შენი არდუინო

კოდი, რომელსაც თქვენ ატვირთავთ თქვენს Arduino Nano– ში, აღებულია პირდაპირ guidomax– ის სახელმძღვანელოდან, რადგან ის მშვენივრად მუშაობს ამ პროექტისთვის:

int needToPrint = 0; int რაოდენობა; int in = 2;

int lastState = LOW;

int trueState = LOW;

ხანგრძლივი lastStateChangeTime = 0;

int გაწმენდილია = 0;

// მუდმივები

int dialHasFinishedRotatingAfterMs = 100;

int debounceDelay = 10;

void setup () {

სერიული.დაწყება (9600);

pinMode (in, INPUT); }

ბათილი მარყუჟი () {

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 - ეს ხდება მისი სტაბილიზაციის შემდეგ

თუ (კითხულობს! = trueState) {// ეს ნიშნავს, რომ გადამრთველი ან უბრალოდ წავიდა დახურული-> ღია ან პირიქით. trueState = კითხვა; თუ (trueState == HIGH) {// გაზარდეთ პულსის რაოდენობა, თუ ის მაღალია.

დათვლა ++;

needToPrint = 1; // ჩვენ გვჭირდება ამ ნომრის დაბეჭდვა (მას შემდეგ, რაც აკრიფეთ ბრუნვის დასრულება)

}

}

}

lastState = კითხვა; }

ნაბიჯი 5: შეაერთეთ ყველაფერი

მავთული ყველაფერი up
მავთული ყველაფერი up
მავთული ყველაფერი up
მავთული ყველაფერი up
მავთული ყველაფერი up
მავთული ყველაფერი up

ამ პროექტის გაყვანილობა მართლაც მარტივია. აკრიფეთ მოდულს უნდა ჰქონდეს ორი ექვსკუთხა სვეტი უკანა მხარეს ხრახნებით. ეს არის გადართვის კავშირები. პოლარობას მნიშვნელობა არ აქვს.

შენიშვნა: იგნორირება გაუკეთეთ ჩემს მავთულის ფერებს ფოტოებში. მე ავურიე მიწა და 5V, ასე რომ ეს ფაქტობრივად პირიქითაა.

შეაერთეთ ერთი მავთული Post A- დან (GND) და შეაერთეთ იგი თქვენს Arduino Nano– ს მიწასთან. აიღეთ მეორე მავთული და შეაერთეთ იგი და მესამე მავთული 470 ოჰმეტიანი რეზისტორის ერთ მხარეს. მეორე მავთული გადადის ციფერბლატზე B (+) პოსტზე. მესამე მავთული გაწყდება 10k ohm რეზისტორის ერთ მხარეს. აიღეთ მეოთხე მავთული და შეაერთეთ იგი 470 ოჰმეტიანი რეზისტორის მეორე მხრიდან Arduino Nano– ზე Pin 2 – ზე. დაბოლოს, მეხუთე მავთულმა უნდა დააკავშიროს 10k ohm რეზისტორის მეორე მხარე არდუინო ნანოს 5V პინთან.

ჩვენ ვიყენებთ რეზისტორებს და 5V პინს, რომ გადავიყვანოთ პინი მაღლა, როდესაც გადამრთველი ღიაა (როგორც ეს ხდება ყოველი "პულსის" დროს).

ნაბიჯი 6: შეკრება

შეკრება
შეკრება
შეკრება
შეკრება

თქვენ უნდა შეამჩნიოთ, რომ შიგთავსის Rotary_Top ნაწილს აქვს ექვსი პატარა ხვრელი. ეს არის თქვენი ხრახნიანი გათბობის ნაკრები. ზედა სამი (ზედა ზედაპირის ქვედა ნაწილში) უნდა იყოს დამონტაჟებული მბრუნავი ციფერბლატი. ბოლო სამი არის Rotary_Base– ის გადახვევა Rotary_Top– ზე.

სითბოს დამცავი ჩანართები შეიძლება გაცხელდეს გამაგრილებელი რკინით (ან სპეციალური ხელსაწყოთი) და შემდეგ ჩაყაროთ ხვრელებში. სითბო დნება პლასტმასს, რომელიც გამკვრივდება სითბოს ამოღების შემდეგ, რათა ჩანართები უსაფრთხოდ დაიჭიროს ადგილზე. გათბობის ჩასადები ჩანართების გამოყენება ბევრად უფრო სასიამოვნოა, ვიდრე ხრახნები პირდაპირ პლასტმასში.

ჩადეთ ექვსი სითბოს ნაკრები. შემდეგ გამოიყენეთ რამდენიმე მოკლე (10 მმ ან მეტი) M3 აპარატის ხრახნი ციფერბლატის დასაყენებლად. მიაქციეთ ყურადღება გაჭედვის ამოსვლას, სადაც წავა რკინის თითი. შემდეგ ფრთხილად მოათავსეთ არდუინო ნანო USB კაბელით, რომელიც დაკავშირებულია შიგნიდან შიგთავსში (ის ფხვიერია, არ არის დამონტაჟებული) და მიამაგრეთ ბაზა თავის ადგილას.

თქვენ ალბათ მოგინდებათ გამოიყენოთ ორმხრივი ლენტი ან 3M ბრძანების ზოლები, რომ ჩასვათ სათავსო თქვენს მაგიდაზე, ასე რომ ის არ გადაადგილდება, როდესაც აკრიფეთ ციფერბლატი.

ნაბიჯი 7: დააყენეთ პითონის სკრიპტი

დააყენეთ პითონის სკრიპტი
დააყენეთ პითონის სკრიპტი

პირველი, დარწმუნდით, რომ დაინსტალირებული გაქვთ პითონი (გამოიყენეთ პითონი 3, რადგან პითონი 2 ეტაპობრივად იშლება).

შემდეგ თქვენ უნდა დააინსტალიროთ ორი საჭირო ბიბლიოთეკა: PyCAW და PySerial.

გამოყენება:

"pip install pycaw" და "pip install pyserial" (პითონის ფანჯრიდან ან Windows Powershell- დან)

შემდეგ შეამოწმეთ რა პორტთან არის დაკავშირებული თქვენი Arduino Nano. ამის შემოწმება შეგიძლიათ Arduino IDE– დან. დარწმუნდით, რომ თქვენ გაქვთ არჩეული პორტი, შემდეგ გახსენით სერიული მონიტორი. დარწმუნდით, რომ თქვენი სიჩქარე დაყენებულია 9600 -ზე და შემდეგ აკრიფეთ რამდენიმე ნომერი, რათა დარწმუნდეთ, რომ ისინი გამოჩნდება სერიულ მონიტორზე.

თუ ასეა, შეცვალეთ "rotary.py" კოდი თქვენი პორტის ნომრით. თუ თქვენ აწარმოებთ სკრიპტს, მაშინ თქვენ უნდა შეძლოთ მოცულობის შეცვლა ნომრის აკრეფით.

საბოლოო ნაბიჯი არის კომპიუტერის ჩატვირთვისას სკრიპტის დაყენება ფონზე ავტომატურად გაშვებისთვის.

ამისათვის შეცვალეთ "rotary.py" "rotary.pyw", რაც მისცემს საშუალებას გაუშვას ფონზე. შემდეგ განათავსეთ ეს სკრიპტი შემდეგ საქაღალდეში: C: / Users / current_user / AppData / Roaming / Microsoft / Windows / Start Menu / Programs / Startup

ცხადია, თქვენ უნდა შეცვალოთ "current_user" თქვენი მომხმარებლის მომხმარებლის საქაღალდის სახელით.

Ის არის! როდესაც კომპიუტერი დაიწყება, ის პითონის სკრიპტი დაიწყებს მუშაობას. ის მონიტორინგს გაუწევს Arduino– ს სერიულ კავშირს და დააყენებს პროგრამის ყველა მოცულობას რასაც აკრიფებთ!

არდუინოს კონკურსი 2020
არდუინოს კონკურსი 2020
არდუინოს კონკურსი 2020
არდუინოს კონკურსი 2020

მეორე ადგილი Arduino კონკურსში 2020

გირჩევთ: