W tym artykule dowiecie się jak zrobić prosty ale efektywny kontroler głośności USB.
Co odróżnia go od innych tego typu urządzeń to to, że jest oparty na potencjometrze. Ale co to właściwie znaczy? To oznacza że ma on podziałkę i można ustawić na nim np. 50% głośności poprzez ustawienie pokrętła na środek. Kontrolery zbudowane na enkoderach mogą tylko ściszać lub pogłaśniać poprzez obracanie w lewo lub prawo.
Ten kontroler również łączy się z komputerem przez kabel USB i steruje wewnętrznym poziomem dźwięku systemu Windows. Inne urządzenia są wpinane pomiędzy głośniki a wyjście Jack w komputerze. Oznacza to że mogą one sterować tylko tymi głośnikami, a jeśli poziom dźwięku Windowsa jest ustawiony na 0 to nie będą one działały.
Potrzebne części
- Arduino Pro Micro,
- potencjometr 10kΩ (taki jak na zdjęciu),
- 6mm radiator – nie jest potrzebny ale akurat został mi jeden po projekcie Raspberry Pi, więc dlaczego by go nie użyć?,
- śrubka M3 12mm, podkładka i nakrętka samokontrująca,
- kawałek rurki termokurczliwej i kilka gumek recepturek,
- kilka większych nakrętek – dla zwiększenia wagi urządzenia,
- przewód micro-USB,
- części wydrukowane w 3D.
oraz narzędzia (lutownica, klej super-glue, itp.).
Projekt
Wszystkie części zostały zaprojektowane w programie Fusion 360, aby upewnić się że będą do siebie dobrze pasowały. Części nie wymagają również supportów do poprawnego wydrukowania.
Drukowanie
Przyszedł czas żeby wydrukować wszystkie potrzebne komponenty. Pliki .stl mogą zostać pobrane poniżej lub z mojej strony thingiverse.
Elektronika
Obwód elektryczny jest całkiem prosty. Wystarczy przylutować potencjometr do płytki Arduino.
Lewy i prawy pin potencjometru należy połączyć z pinami VCC i GND na płytce. Środkowy pin powinien zostać przylutowany do pinu analogowego A1 Arduino.
Najpierw przylutuj przewody do wyjść na płytce a następnie nałóż na nie rurki termokurczliwe. Wygnij je aby pokrywały sie z pinami potencjometru i przylutuj go. Na koniec podgrzej rurki zapalniczką na potencjometrze aby uniknąć jakiegokolwiek zwarcia.
Polecam również zajrzeć tutaj (w j. Angielskim): https://www.instructables.com/id/Make-Beautiful-Solder-Joints/
Podstawa
Czas złożyć wszystko razem.
Najpierw włóż jedną z większych nakrętek do slotu pod płytką Arduino. Zabezpiecz ją odrobiną kleju aby nie poruszała się.
Następnie przykręć potencjometr do podstawy za pomocą dołączonej do niego śruby i włóż Arduino do środka. Przykręć jedną z wydrukowanych części z tyłu płytki. Po drugiej stronie do otworu włóż nakrętkę i skręć wszystko razem. Nie zapomnij o podkładce pod śrubką.
Na mikrokontroler przyklej radiator, uważaj jednak, żeby nie dotykał żadnej metalowej części wokół układu – może to spowodować zwarcie. Od góry włóż klips, który będzie mocniej trzymał radiator (nie ufam zbytnio tej dwustronnej taśmie!).
Następnie włóż resztę nakrętek do pozostałych slotów, dodaj również trochę kleju.
Kiedy wszystko będzie już gotowe odkręć nakrętkę z potencjometru i nałóż na całość czarną pokrywę. Następnie na potencjometr daj podkładkę i nakrętkę. Na tym etapie można również dodać trochę kleju aby nakrętka nie odkręciła się samoczynnie po dłuższym czasie.
Pokrętło
Włóż 4 nakrętki na miejsca w środku i zabezpiecz je używając kleju super-glue lub dwu składnikowej żywicy.
Zamontuj pokrętło na wale, i jeśli jest zbyt luźne, dodaj trochę kleju. Upewnij się również, że nie ociera się ono o podstawę podczas obracania.
Gdzie jest środek?
Ustalenie wspólnej pozycji podziałki (na dolnej części) i wskaźnika (u góry) jest w miarę proste.
Zacznij od przekręcenia potencjometru maksymalnie w lewo i wciśnij górną osłonę tak, aby zostało jeszcze trochę miejsca pod nią a wskaźniki pokrywały się ze sobą. Następnie przekręć w prawo do oporu i sprawdź czy wskaźniki pokrywają się ze sobą również w tej pozycji. Jeśli tak nie jest, postaraj się dostosować pozycję osłony. Pod koniec dodaj trochę kleju pod spodem i dociśnij osłonę do samego końca.
Tutaj również upewnij się, że osłona nie dotyka podstawy.
Program
Napisałem prosty program do Arduino. Używa on biblioteki HID do połączenia z komputerem przez port micro USB.
Jedyna rzecz jaka musisz pobrać to biblioteka HID-Project dla Arduino. Wystarczy otworzyć Arduino IDE, wybrać zakładkę Szkic oraz Dołącz Bibliotekę > Zarządzaj Bibliotekami. W okienku wpisz HID-Project i zainstaluj HID-Project by NicoHood.
Następnie wybierz płytkę Arduino Leonardo oraz odpowiedni port i wgraj program dostępny do pobrania poniżej.
Gotowe!
W ten sposób otrzymałeś mały lecz niezawodny kontroler głośności USB!
Podczas budowy napotkałem kilka problemów ale udało mi się rozwiązać wszystkie z nich i ostatnia wersja działa bez problemów. Dodatkowo zastosowane nakrętki sprawiają, że wrażenia z użytkowania są bardzo przyjemne :)
Mam nadzieję, że ten projekt Ci się spodobał. Zachęcam do zostawienia komentarza!
Świetny projekt!
Prosty w wykonaniu funkcjonalny i estetyczny.
Tylko po co ten radiator?
Atmega32U nie pobiera tyle prądu aby się grzała w stopniu wymagającym radiatora.
(maksymalnie 27mA przy napięciu 5V co daje max 0.135W wydzielanego ciepła) (0.027A*5V)
Poza tym pod spodem jest duży metalowy pad przylutowany do płytki który zdecydowanie odprowadzi całe powstające ciepło.
Zacytuję sam siebie: nie jest potrzebny ale akurat został mi jeden po projekcie Raspberry Pi, więc dlaczego by go nie użyć?
Poza tym zazwyczaj u mnie jest to na stałe podłączone do komputera i zazwyczaj działa po kilka godzin bez przerwy, a sama ATMega jest zabudowana z wszystkich stron.
Ale i tak dzięki za opinię!
Bardzo fajny projekt !
Super projekt! Gratulacje! Chociaż sam używam genialnego manipulatora od 3Dx, to projekt jak najbardziej mi się podoba :)
Też używam manipulatora 3Dx, aczkolwiek mój nie posiada opcji zmiany głośności komputera.
Fajny projekcik. Jaką charakterystykę posiada potencjometr, czy może jest to obojętne..?
Raczej obojętne, ale ważne aby był tego samego rozmiaru co mój. Resztę zawsze można zmienić w programie Arduino.
Super! Niedawno zalałem klawiaturę mojego laptopa i nie działa strzałka w dół, przez co nie ma możliwości sterowania głośnością z klawiszy i taki potencjometr byłby idealny. Niestety, nie mam dostępu do drukarki 3D, więc estetyka wykonania nie byłaby z pewnością na odpowiednim poziomie.
Jeśli się postarasz to na pewno będzie to dobrze wyglądać. Powodzenia!
Nie wiem po co, ale chyba muszę sobie coś takiego druknąć :D Bardzo fajny projekt!
czy możesz wysłać skecz bo nie widze go dość wyraźnie na zdjęciu ??
Jaki “skecz” masz na myśli dokładnie?
Przecież masz w załączniku
Rewela! Szkoda że nie można dać 6 gwiazdek!!
Świetne, czegos takiego szukam, bo nie mam klawiszy mutlimedialnych w komputerze. Pytanie: czy da sie do tego dolozyc inne klawisze multimedialne? – play,stop,pauza, poprzedni, pastepny? jesli tak to jak to zrobic?. Coś czuję, że bede miał co robić weekend :P
dobra, zerknalem na zalaczony program i jest banalnie prosty i sie da!. Wieczorem biore sie za projektowanie wersji rozszerzonej o reszte klawiszy miltimedialnych :P
Heh. program juz napisalem, ale sie okazalo, ze z moimi arduino nano i arduino pro mini nie dziala biblioteka HID :(. Najpierw musze kupic plytke.
Wykonałem zgodnie z twoim opisem taki kontroler ale mam problem z regulacja bo zakres czasem kończy sie w połowie obrotu potencjometra i często nie dobija do 100% zakresu, musze wówczas skręcić potencjometr do 0 i ponownie powoli kręcić potencjometrem do maxa.
Ale wielki szacun za kontroler bo mimo tych lekkich niedociągnięć które na dobra sprawę mogą wynikać z różnicy przyczyn nie koniecznie związanych z samym programem to sprawdza sie świetnie!
DZIĘKI!
A jaka wartość jest nadrukowana na potencjometrze? np B10K?
Genialny projekt. Wykonałem swoją wersję z szlifowanego aluminium (taki materiał leżał mi w warsztacie). Polecam stworzyć bardzo ułatwia sterowanie głośnością jeśli ma się podpięte kilka wyjść audio.