Home > Technologie > PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

Advertisement

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

Hallo alle und herzlich willkommen zu meinem dritten Instructable.

Ein Freund von mir hat ein Sound-System mit einem Zifferblatt für die Lautstärkeregelung, und es sitzt auf seinem Schreibtisch sieht wirklich ordentlich. Ich wollte etwas ähnliches, aber mit extra Funktionalität und anpassbar. Ich dachte , dass der Arduino Pro Micro wie ein HID - Gerät arbeiten können (zB Tastatur oder Maus) und so verwenden, könnte ich schaffen , was ich ein Medien Volume Controller nennen.

BITTE BEACHTEN SIE: Dieses Instructable funktioniert nur mit Arduino Leonardo oder Arduino Pro Micro - ein Arduino, das HID-Funktionalität als USB-Host unterstützt. Bitte achten Sie darauf, dass Ihr Arduino kompatibel ist! Wenn Sie ein anderes Arduino haben, dann ist es möglich, es zu tun, aber glauben Sie mir, es ist extrem lang und nicht der Mühe wert. Kauf und Arduino Pro Micro von eBay und sparen Sie sich die Kopfschmerzen !: Arduino Pro Micro - eBay

Entschuldigt, wenn ich etwas verpasst habe. Ich überprüfe meine Instructables ziemlich regelmäßig, so werde ich alles hinzufügen, was ich vielleicht vergessen habe ...

Gesamtkonzept

Also, was wir tun werden, ist das Schreiben eines Skripts, die Befehle ausführen können, wenn eine bestimmte Kombination von Tasten auf der Tastatur gedrückt wird. Der Tastatureingang kommt vom Arduino Pro Micro (APM), der weiß, wann / was in Abhängigkeit von den Tasten des APM ausgegeben wird. Es werden 6 Tasten, die für Wiedergabe / Pause, nächster Titel, vorheriger Titel, anzeigen / ausblenden Desktop sein, Benutzer 1 und Benutzer 2. Die letzten beiden Tasten sind anpassbar, was Sie wollen , dass sie tun, aber das erfordert die sich verändernde AutoHotKey-Skript, das ich bin sicher, dass Sie in der Lage, später ..

Also in meinem Fall, Drücken von STRG + F11 auf der Tastatur, während das Skript ausgeführt wird , wird mein Task - Manager zu öffnen. Der Grund, warum wir diese Verknüpfungen haben, liegt darin, dass der APM Tastaturtastbefehle senden kann, und wenn eine Schaltflächenänderung auf dem APM erkannt wird, kann er den Befehl an den Computer senden und das Skript erkennt es als Tastendruck und führt daher den Befehl aus Offener Task-Manager). Der Drehknopf steuert die Lautstärke nach oben und unten und hat Schalter, so dass Sie auch stummgeschaltet werden können. Es wird alle mit USB versorgt werden, so dass es keine Notwendigkeit für eine externe Stromversorgung.

Benötigte Werkzeuge:

  • Lötkolben
  • Lot
  • Kabelschneider
  • Wärmeschrumpfschläuche verschieden
  • Holzsäge / Puzzle
  • Scharfe Klinge (Xacto oder Stanley)
  • 32TPI Feinzahnsäge
  • Sandpapier
  • Bohrer und Bohrer verschiedene
  • Verschiedene Draht (24AWG)
  • Multimeter

Benötigte Materialien:

  • 18mm MDF oder ähnlich Ihrer Wahl
  • 5mm klare Acryl oder Ihre Dicke Wahl
  • 3 x 5050 SMD-RGB-LEDs
  • USB Mini B Leiterplattenanschluss
  • USB A auf Mini-B-Stecker
  • Arduino Pro Micro / Leonardo kaufen
  • Kupferband oder taktile Tasten
  • 470k Widerstände x 6 und 1k Widerstände x 6 für kapazitive Tasten OR 1k Widerstände x 6 für die taktile Tasten
  • 220R Widerstände x 3
  • 180R Widerstände x 6
  • 2N2222 NPN Transistor x 3
  • Drehgebertasten 5 pol
  • 2 x 10nF Kondensatoren für Drehgeber

Schritt 1: Gestaltung des Aussehens

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

Ich wollte das Ganze schwarz glänzen, um ihm einen eleganten Look zu geben. Die Gesamtkonstruktion besteht aus zwei Schichten von 18mm MDF mit einem Acryl-Stück 5mm dick, sandwichartig dazwischen. Dieses Acryl-Stück wird randbeleuchtet sein und reagiert auf Volumenänderungen. Der obere Teil für die Tasten und Lautstärkeregler ist schwarz Acryl mit benutzerdefinierten Hintergrundbeleuchtung Tasten. Wie Sie herausfinden, hatte ich einige Schwierigkeiten und machte einige kapazitive Touch-Tasten statt. Der USB-Eingangsanschluss befindet sich auf der Rückseite des Geräts.

Ich wollte nicht, dass das Ganze zu groß ist, da es zu viel Platz einnehmen würde, aber es ist jetzt eine schöne Größe. Insgesamt ist es 110mm x 100mm x 50mm Tiefe. Dazu gehören 18mm MDF x 2, 5mm Acryl x 2 und Extra-Clearance.

Sehen Sie bitte das Diagramm und / oder Herausgeberakte, um mein Design zu überprüfen. Sie können das Design anpassen, wie Sie möchten.

Schritt 2: Schreiben des AutoHotKey-Skripts

Dieser Teil kann ein wenig heikel sein. Dies war das erste Mal, dass ich jemals diese Software verwendet hatte und ich war nicht allzu sicher, wie es funktionierte, so musste ich online verweisen eine ganze Menge. Diese Software erlaubt es uns, Skripte zu schreiben, die Befehle ausführen können, wenn eine bestimmte Tastenkombination gedrückt wird. Es sucht nach Tastendrücken vom Arduino und führt den Befehl aus, wenn er einen empfängt.

Es gibt 6 Tasten, so haben wir 6 verfügbare Befehle, die wir an das Skript zur Ausführung senden können - wie ich bereits erwähnt, die 6 Befehle, die ich verwendet habe, sind die häufigsten. Sie könnten auch für Spiele zu ändern.

Das Skript hat CTRL zugewiesen und einige F - Tasten jeden Befehl auszuführen - Sie das Skript ändern können , wenn Sie mögen , aber Sie werden das Skript in eine EXE konvertieren müssen. Laden Sie die folgenden Schritte aus : AutoHotKey

Wenn Sie alles das Gleiche lassen, dann können Sie einfach die .exe-Datei angefügt, nachdem Sie die Arduino programmiert haben und alles verkabelt.

Schritt 3: Programmierung des Arduino

Der Arduino-Code ist einfach - er enthält mehrere if-Anweisungen, die den Status der Schaltflächen überprüfen und dann die Tasten drücken, wenn die Tasten hoch sind (gedrückt), sonst tun sie nichts. Der Drehgeber verwendet Interrupts, um nach Änderungen zu suchen, und ein Zähler verfolgt das aktuelle Volumen. Diese Variable wird verwendet, um einen PWM-Ausgangswert der RGB-LEDs zuzuordnen, um die Beleuchtung entsprechend der Lautstärke einzustellen. Wenn Sie die Lautstärke erhöhen, wird das Acryl langsam erhöht die Helligkeit des Blaus, und wenn Sie stumm drücken, leuchtet das Acryl rot. Ich werde einige weitere Farbänderungen hinzufügen, zum Beispiel, wenn Sie eine Taste drücken, wird sie grün, drücken Sie eine andere Taste, sie geht gelb usw.

Es gibt # Definitionsdefinitionen am oberen Rand des Codes, die auf die Pins für jede Schaltfläche zeigen. Sie können diese Pin-Nummer anpassen, um sich selbst anzupassen, obwohl, wenn Sie dies genau das gleiche tun, dann ändern Sie nicht diese Pin-Nummern. Sie sind nach dem Schema im nächsten Schritt. Sie sollten nicht den Code ändern, es sei denn, Sie verstehen den Code, die es ganz anständig zu verstehen ist.

BITTE BEACHTEN: Auch diese Anleitung funktioniert nur mit Arduino Leonardo oder Arduino Pro Micro - einem Arduino, das HID-Funktionalität als USB-Host unterstützt. Bitte achten Sie darauf, dass Ihr Arduino kompatibel ist! Wenn Sie ein anderes Arduino haben, dann ist es möglich, es zu tun, aber glauben Sie mir, es ist extrem lang und nicht der Mühe wert. Kauf und Arduino Pro Micro von eBay und sparen Sie sich die Kopfschmerzen !: Arduino Pro Micro - eBay

Wenn Sie das Gerät in der Arduino IDE auswählen, achten Sie darauf, das richtige zu wählen.

BITTE BEACHTEN SIE: Wenn Sie kapazitive Schaltflächen verwenden, dann möchten Sie die Datei "mediavolcontrollerHIDcapacitive.ino" hochladen, wenn Sie normale Tastentasten verwenden, um die Datei "mediavolcontrollerHIDwithLED.ino" hochzuladen.

Schritt 4: Die Tasten

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

Dies ist, wo ich kämpfte - der Plan war, benutzerdefinierte beleuchtete Tasten mit taktilen Schalter und einige Stücke von Acryl zu schaffen. Ich habe dies abgeschlossen, aber es war nicht erfolgreich.

Ich entwarf das Aussehen der Tasten in Publisher, spritzte die Acryl-Stücke schwarz, druckte das Design und ging auf die Symbole auf dem Acryl gravieren. Der nächste Schritt war, um die SMD-LEDs auf dem Acryl, und dann habe ich schließlich die Tasten ausgerichtet und Bohrungen gebohrt, um die taktile Schalter. Die Schalter wurden eingeklebt und die Drähte an sie gelötet. Obwohl es ziemlich gut aussah, funktionierte es nicht groß, denn ich hatte einige heiße Leim, um die Tasten an Ort und Stelle halten. Drei von sechs Tasten funktionierte wirklich perfekt, aber der Rest waren stecken, so dass ich beschlossen, dies wäre nicht langlebig genug für jeden Tag verwenden.

Ich ging dann auf zu entdecken kapazitive Touch-Tasten, die leicht mit Kupfer-Band, einige Widerstände gemacht werden können, und das Herunterladen einer Arduino-Bibliothek. Nach viel Forschung wählte ich die kapazitiven Tasten.

Sie wurden einfach durch Herausschneiden mehr oder weniger quadratische Stücke von Kupferband, kleben sie nach unten nach dem Ausrichten und dann Löten von zwei Widerständen auf sie Ein Widerstand ist ein senden und der andere ist ein Empfang, und der Arduino kann Veränderungen in dieser erkennen , So dass wir Tasten verwenden können.

Wenn Sie nicht wollen, gehen durch diese dann können Sie leicht ersetzen die Eingänge mit normalen taktilen Tasten, sondern stellen Sie sicher, dass Sie den richtigen Code auf den Arduino hochladen. Vergessen Sie nicht Pull-up-Widerstände!

Schritt 5: Verdrahten Sie alles

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

Überprüfen Sie den Schaltplan, um sicherzustellen, dass Sie alles richtig verdrahten - der Schaltplan bezieht sich auf den Arduino-Code. Stellen Sie sicher, dass der Arduino-Code zuerst hochgeladen wurde, und trennen Sie dann alles und fahren Sie fort, alles nach dem Schema zu verdrahten.

Ich habe eine Reihe von Test kapazitive Tasten auf einem Stück Pappe, aber ich habe nicht ein Bild von dieser zu der Zeit leider.

Schritt 6: Testen Sie alles, bevor Sie das Gehäuse

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

Ich hatte es verdrahtet bis zu meinem Test-Tasten Rig, um sicherzustellen, dass es alle arbeitete, bevor ich wollte es zusammen.

Ich versuchte alle Funktionen der MVC, und bemerkte, dass es einige Verzögerung bei der Einstellung der Lautstärke. Ich bemerkte auch, dass, wie ich würde die Lautstärke erhöhen, die Tastatur würde manchmal drücken Sie zufällige Tasten, die den Mausfokus verzerren würde (es würde verschwinden) - einige wirklich lustige Dinge passiert.

Ich habe herausgefunden, dass das Problem mit dem Skript war, das ich geschrieben hatte - ich hatte ein bisschen den Code falsch verstanden und musste das $ -Zeichen entfernen, das ich in einigen Teilen platziert hatte. Nachdem dies geändert wurde, schien alles zu funktionieren. I verwirrt mit dem Verzögerungseinstellungen im Arduino Code um, und festgestellt , dass die beste Verzögerung war 75 ms für den Drehgeber und 50ms für die Knöpfe. Diese bereits in dem Code durchgeführt wird.

Sobald Sie mit dem Testlauf zufrieden sind, können wir das Gehäuse weiter herstellen.

Schritt 7: Gehäuseteil 1 herstellen

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

Nach dem Design benötigen wir 2 x MDF 18mm dick 130mm x 100mm und ein Acryl 5mm dick x 130mm x 100mm. Dies ist für die Sandwich-Schicht, die entscheidend für den Rand-Lichteffekt ist. Ich schneide meine MDF mit einem Puzzle und das Acryl mit einer 32TPI Handsäge.

Sobald Sie diese drei Stücke ausgeschnitten haben, stellen Sie sie auf und machen Sie Anpassungen mit einem Schleifer, wenn erforderlich. Es dauerte mir ein gutes Stück Schleifen, um sie aufgereiht, da meine Puzzle ausgeschaltet ist. Sobald sie aufgereiht sind, markieren Sie die oberen, vorderen, hinteren, unteren und Seiten, so dass Sie die genaue Ausrichtung aller Stücke kennen. Der nächste Schritt ist ein Rechteck auf die obere MDF verlassen um 10 mm Abstand um das gesamte MDF Stück ausschneiden (siehe Bilder). Hier werden die Arduino und andere Komponenten passen.

Für den klaren Acryl, müssen Sie 3 RGB SMD 5050 LEDs zu platzieren (siehe in pinouts in den Bildern!) Am hinteren Ende , so dass sie die Seiten und die Front leuchten. Ich habe dies durch Schneiden von 3 Steckplätze am hinteren Ende groß genug, um eine einzelne RGB-LED in. Ich faltete die Drähte in einer Weise, dass die negativen Drähte sind auf der linken Seite und die positiven sind auf der rechten Seite, so dass einmal die obere MDF Wurde gesichert Ich weiß, die Polarität der Drähte, wenn ich es an den Arduino löten. Sie können die RGB-LEDs mit einigen Heißleim sichern, aber sicher sein, dass das Acryl noch flach ist. Sollte die RGB-LED gut innerhalb 5mm passen. Sie wollen die LEDs so platzieren, dass die Drähte nach oben und unten zeigen - nicht nach links und rechts. Da sie nach oben und unten zeigen, können Sie die unteren Drähte nach oben klappen und dann durch Polarität trennen. Sie wollen dann Heißleim sie in Platz!

(Wie Sie in den letzten beiden Bildern sehen können, gibt es einen Transistor für jeden RGB-Kanal).

Danach messen Sie das Teil, wo Sie den USB-Stecker in den unteren MDF-Teil, und dann bohren ein Loch durch große genug, um ein USB-Kabel durchlaufen zu messen. Dies ist so , kann das USB - Kabel in die obere MDF Stück erreichen. (Die Pin - Belegung in den Bildern ansehen!)

Schritt 8: Gehäuseteil 2 herstellen

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

PC USB Media Volume Controller basierend auf Arduino

Sie wollen nun ein Loch für den USB-Anschluss in das untere MDF-Stück auf der Rückseite oder überall, wo Sie lieber den USB-Anschluss gehen zu schneiden. Sie benötigen auch ein kurzes USB-A-zu-Mini-B-Kabel, das Sie metzgern können, da Sie nur das USB-Mini-B-Teil in den Arduino stecken müssen und die blanken Enden auf einen USB-Mini-B-Stecker gelötet werden Die auf dem Körper des Produktes sein wird.

Wir wollen die MDF schwarz sprühen, aber Sie benötigen MDF-Primer - ich habe es mit einem Pinsel angewendet, obwohl Sie viel bessere Ergebnisse mit einer Schaumbürste erhalten. Geben Sie dem MDF einen leichten Schleifvorgang zuerst, dann wenden Sie eine Schicht Primer. Falls erforderlich, geben Sie ihm ein anderes leichtes Anschleifen und dann eine weitere Schicht oder Grundierung. Achten Sie darauf , genügend Primer an den Rändern des MDF anzuwenden , weil sie es wirklich schnell abreiben. Wenn Sie es Sprühfarbe, wird es lückenhaft aussehen , wenn Sie nicht / Sand tun Primer richtig es. Sobald die Grundierung vollständig nach 24 Stunden getrocknet, geben Sie ihm einen Mantel aus schwarzem Sprühlack, später 4-6 Stunden durch einen anderen Mantel gefolgt. Schließlich möchten Sie es für mindestens 24 Stunden in einem warmen Bereich trocknen lassen.

Sobald der Lackiervorgang beendet ist, können Sie nun die drei Teile zusammenbauen. Der Boden MDF geht zuerst durch die Acryl (Achten Sie auf die korrekte Ausrichtung bekommen) und schließlich die obere MDF Stück gefolgt. Ich beschloß, 3 Schrauben von oben nach unten zu setzen, indem man 3 Löcher bohrte (eins auf jeder Seite und eins an der Rückseite). Stellen Sie sicher, dass alles ausgerichtet ist und ziehen Sie die Schrauben nach oben. Jetzt sind Sie mit dem oberen Teil - die eigentliche Steuerung Bord links.

Für diesen Teil benötigen Sie den schwarzen Acryl und Sie müssen ein Loch rechts in der Mitte groß genug, um den Dreh-Encoder durch / Thread gehen durch dicht zu bohren. Um die Touch-Tasten ausgeschnitten 6 x 15mm x 20mm Kupferband Stücke, und kleben sie an der Stelle, die Sie mögen. Sobald dies erledigt ist, möchten Sie zwei kleine Löcher auf die Oberseite jedes Stückes des Bands bohren, also können die Widerstände durch knallen, und Sie können sie an das Kupferband löten. Wenn dies geschehen ist, können Sie Heißkleber die Widerstände auf der Innenseite des Acryls, um sie alle an der richtigen Stelle zu halten, die nichts kreuzt. Überprüfen Sie die Abbildung heraus, um zu sehen, wie ich dieses Teil getan habe. Wenn Sie die Tasten gelötet haben, stellen Sie sicher, dass alles mit den richtigen Pins auf dem Arduino durch Querverweise mit dem Schaltplan verbunden ist.

Wenn ich eine Sache von all diesen DIY-Sachen gelernt habe, ist es zu überprüfen, zu überprüfen und noch einmal zu überprüfen!

Schritt 9: Letzte Gedanken und Diskussion

PC USB Media Volume Controller basierend auf Arduino

Und hier haben wir das Endprodukt .. Mit Ausnahme des Zifferblattes habe ich das irgendwo in der Garage, aber ich muss es nur an den Drehgeber anbringen.

Wenn ich das noch einmal machen sollte, würde ich zunächst einen Laserschneider verwenden, um mehrere Sandwich-Schichten mit viel besserer Genauigkeit auszudrucken als ich. Die Verbesserungen werde ich machen wird auch mit dem Acryl leuchten verschiedene Farben, wenn verschiedene Tasten gedrückt werden, anstatt es nur rot oder blau. Auch möchte ich es ein bisschen kleiner und kompakt - ich hätte vielleicht etwas weniger dickeren Holz für den unteren Teil. Die MDF-Dicke des oberen Teils war genau richtig, da sie etwa die Höhe des Arduino Pro Micro beträgt.

Danke für das Schauen! Fühlen Sie bitte sich frei, alle mögliche Anmerkungen und Rückgespräch zu lassen. Ich werde mehr als glücklich sein, auf irgendwelche Ihrer Fragen zu antworten!

Related Reading