Სარჩევი:
- მარაგები
- ნაბიჯი 1: ოპერაციის თეორია
- ნაბიჯი 2: ამოიღეთ აკრიფეთ
- ნაბიჯი 3: დაბეჭდეთ დანართი
- ნაბიჯი 4: დაპროგრამეთ თქვენი არდუინო
- ნაბიჯი 5: შეაერთეთ ყველაფერი
- ნაბიჯი 6: შეკრება
- ნაბიჯი 7: დააყენეთ პითონის სკრიპტი
ვიდეო: Vintage Rotary Phone Dial PC ხმის კონტროლი: 7 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
თუ თქვენ ჩემნაირი ხართ, თქვენ ხშირად ხვდებით თქვენს კომპიუტერში მოცულობის შეცვლას. ზოგი ვიდეო სხვაზე უფრო ხმამაღალია, ზოგჯერ გსურთ თქვენს კომპიუტერში ხმის ჩამორთმევა პოდკასტებსა თუ მუსიკას მოსმენისას და სატელეფონო ზარის მიღების შემთხვევაში შეიძლება დაგჭირდეთ მისი სწრაფად შემცირება. თუ თქვენ არ გაქვთ თქვენს კომპიუტერში ჩაშენებული მედია კონტროლი, მაშინ შეგიძლიათ გადააქციოთ ვინტაჟური მბრუნავი ტელეფონის აკრეფა ხმის კონტროლისთვის თქვენი 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: შეაერთეთ ყველაფერი
ამ პროექტის გაყვანილობა მართლაც მარტივია. აკრიფეთ მოდულს უნდა ჰქონდეს ორი ექვსკუთხა სვეტი უკანა მხარეს ხრახნებით. ეს არის გადართვის კავშირები. პოლარობას მნიშვნელობა არ აქვს.
შენიშვნა: იგნორირება გაუკეთეთ ჩემს მავთულის ფერებს ფოტოებში. მე ავურიე მიწა და 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– ს სერიულ კავშირს და დააყენებს პროგრამის ყველა მოცულობას რასაც აკრიფებთ!
მეორე ადგილი Arduino კონკურსში 2020
გირჩევთ:
USB ხმის კონტროლი: 9 ნაბიჯი (სურათებით)
USB ხმის კონტროლი: ამ პროექტში ჩვენ ავაშენებთ USB ხმის კონტროლს ადაფრუტიდან Arduino- ს თავსებადი წვრილმანი და მბრუნავი კოდირებით. დაბოლოს, ჩვენ 3D ბეჭდვას მოვახდენთ საბინაო ნაწილს, შეავსებთ ბაზას ტყვიის გასროლით, რათა წონა და სტაბილურობა გაიზარდოს, ხოლო ლაზერმა აკრილის ქვედა ნაწილი
$ 7.25 - დაამატეთ ხმის კონტროლი ნებისმიერ ჭერის ფანს: 4 ნაბიჯი (სურათებით)
$ 7.25 - დაამატეთ ხმის კონტროლი ნებისმიერ ჭერის გულშემატკივარს: ამ ინსტრუქციაში მე გაგივლით ძალიან მარტივ პროცესს თქვენი ჭერის ვენტილატორის ავტომატიზაციისათვის, ასე რომ თქვენ შეგიძლიათ აკონტროლოთ ის ხმოვანი ბრძანებებით Alexa მოწყობილობის გამოყენებით. თქვენ შეგიძლიათ გამოიყენოთ ეს ინსტრუქციები სხვა ელექტრონული მოწყობილობების გასაკონტროლებლად (განათება, ვენტილატორი, ტელევიზია, ელ
ტრიგერის დაწყების ხმის დამატება Google AIY ხმის ნაკრებში: 6 ნაბიჯი (სურათებით)
დაამატეთ Trigger Start Sound Google AIY Voice Kit- ში: ეს გაკვეთილი საკმაოდ მარტივია. მე ნამდვილად მსიამოვნებდა Google AIY ხმის ნაკრები, მაგრამ მე ნამდვილად მომწონს ჩემს ჩვეულებრივ Google Home– ში ის ხმაური, რომელსაც ისინი აკეთებენ იმის დასადასტურებლად, რომ ისინი აქტიურად უსმენენ. ეს არ არის ნაგულისხმევი დაყენებული არცერთ მაგალითში, ვიდრე
დესკტოპის გადახვევის ბორბალი და ხმის კონტროლი!: 8 ნაბიჯი (სურათებით)
Desktop Scroll Wheel and Volume Control!: ჟურნალის შაბათ -კვირის პროექტი, 3/4/09 ზოგიერთი ფონი ცოტა ხნის წინ, მე ვკითხულობ უამრავ სხვადასხვა ბლოგს. ყოველდღე წავიკითხავ უახლეს პოსტებს engadget, lifehacker, hackaday, BBG და MAKE: ბლოგზე. ჩემთვის პრობლემა მაშინ შეიქმნა, როდესაც მივხვდი, რომ
ყურსასმენის/ყურსასმენის უნივერსალური ხმის კონტროლი: 8 ნაბიჯი (სურათებით)
უნივერსალური ყურსასმენი/ყურსასმენის ხმის კონტროლი: ასე რომ შევიძინე PMP (პორტატული მედია პლეერი) ჰონგ კონგიდან, რათა შემეძლოს ჩემი NES თამაშების თამაში ბორტ ემულატორთან ერთად, სადაც მოსახერხებელი იყო. გრძელი საგზაო მოგზაურობები, ფრენები, მოსაცდელი ოთახები და ა.შ. ის ადგილებია, სადაც მე მომწონს დროის მოკვლა პორტატულ მედიასთან, მაგრამ