1 bouton, 6 fonctions ****.
Ce minuscule, super bon marché contrôleur média fonctionne avec tous les périphériques qui prennent en charge les contrôles média USB - ordinateurs, tablettes, téléphones, etc. Testé jusqu'à présent avec Windows 10 et Android 6.
Un seul bouton permet d'effectuer les opérations suivantes :
- Play - Pressez le bouton.
Pause - *Appuyez de nouveau sur le bouton.
- Volume haut - bouton tournant à droite
Volume bas - bouton tournant à gauche.
Piste précédente - Appuyez sur le bouton ET tournez à gauche.
Piste suivante - *Appuyez sur le bouton ET tournez à droite.
Vous pouvez également remplacer les actions du bouton par n'importe quelle pression de touche (ou combinaison de touches) que vous souhaitez*. Voir *Modifier les fonctions plus bas de cette page.
Il y a plusieurs contrôleurs de média à bouton unique, mais je n'ai trouvé aucune version qui vous permet de changer de piste sans boutons dédiés (comme mon plus grandArduino Pro Micro-based Media Controller a). Et aucun n'est aussi bon marché et facile à construire.
Les seuls composants nécessaires sont un microcontrôleur Arduino Digispark (version Micro USB) et un encodeur rotatif KY-040, que l'on peut se procurer pour environ 1€ chacun sur eBay/Ali. Quelques fils à souder et c'est tout - le matériel est terminé !
J'inclus aussi la source Arduino que j'ai écrit qui inclut (ou des liens vers) des brochages, des bibliothèques, des instructions et à peu près tout ce dont vous avez besoin pour programmer le contrôleur.
J'ai fait plusieurs boutons différents parmi lesquels vous pouvez choisir. Le codeur a un arbre standard en forme de D de 6mm, il y a donc une multitude de choix si vous voulez en obtenir un d'ailleurs.
Conçu pour s'enclencher ensemble, mais j'ai inclus des trous et un pour ajouter de petites vis pour ceux d'entre vous qui sont inclinés à... ahem... visser autour.
Lors de l'assemblage, assurez-vous que le Digispark et le KY-040 sont bien en place dans la base avant de mettre le dessus - si les planches ne s'ajustent pas, enlevez toutes les imperfections sur leurs bords avec une petite lime.
Si vous voulez poncer les pièces (je l'ai fait) ou les peindre (je ne l'ai pas fait), faites-le avant de monter les planches. Il est possible de fermer le boîtier sans les planches, puis de les séparer sans casser les pièces. Il est ainsi plus facile de poncer et de ne pas s'inquiéter des bords.
Après l'assemblage, ajoutez des pieds en caoutchouc auto-adhésifs ou collez une feuille de caoutchouc sur le fond pour l'empêcher de glisser. Si le contrôleur de médias est stationnaire, vous pouvez également le fixer avec du ruban adhésif double face.
MODIFICATION DES FONCTIONS
Voulez-vous que le bouton fasse autre chose que contrôler le multimédia ? Pas de problème !
Si vous ouvrez le source Arduino (.ino), à la fin du fichier, les actions effectuées sont indiquées comme suit :
TrinketHidCombo.pressMultimediaKey(MMKEY_SCAN_PREV_TRACK)>/p>MultimediaKey(MMKEY_SCAN_PREV_TRACK)
Il suffit de changer la clé entre parenthèses pour n'importe quelle clé de la liste ci-dessous. Si deux lignes comme celle-ci sont dans la même instruction, elles s'exécuteront l'une après l'autre, permettant même d'écrire des macros avancées.
Touches de contrôle du système*.
SYSCTRLKEY_POWER + SYSCTRLKEY_POWER
SYSCTRLKEY_SLEEP_SYSCTRLKEY_SLEEP
SYSCTRLKEY_WAKE + SYSCTRLKEY_WAKE
Touches multimédias*.
MMKEY_VOL_UP + MMKEY_VOL_UP
MMKEY_VOL_DOWN + MMKEY_VOL_DOWN
MMKEY_SCAN_NEXT_NEXT_TRACK_TRACK + MMKEY_SCAN_NEXT_TRACK
MMKEY_SCAN_SCAN_PREV_TRACK + MMKEY_SCAN_PREV_TRACK
MMKEY_STOP + MMKEY_STOP
MMKEY_PLAYPAUSE + MMKEY_PLAYPAUSE
MMKEY_MUTE + MMKEY_MUTE
MMKEY_BASSBOOST + MMKEY_BASSBOOST
MMKEY_LOUDNESS + MMKEY_LOUDNESS
MMKEY_KB_EXECUTE + MMKEY_KB_EXECUTE
MMKEY_KB_HELP + MMKEY_KB_HELP
MMKEY_KB_MENU + MMKEY_KB_MENU
MMKEY_KB_SELECT + MMKEY_KB_SELECT
MMKEY_KB_STOP + MMKEY_KB_STOP
MMKEY_KB_KB_AGAIN + MMKEY_KB_AGAIN
MMKEY_KB_UNDO + MMKEY_KB_UNDO
MMKEY_KB_CUT + MMKEY_KB_CUT
MMKEY_KB + MMKEY_KB
MMKEY_KB_PASTE + MMKEY_KB_PASTE
MMKEY_KB_FIND + MMKEY_KB_FIND
Touches de commande* Touches de contrôle.
KEYCODE_LEFT_CONTROL_GAUCHE_DE_CLÉ
KEYCODE_LEFT_LEFT_SHIFT_SHIFT
KEYCODE_LEFT_ALT_GAUCHE_ALT
KEYCODE_LEFT_GUI_GUI
KEYCODE_DROIT_DE_COMMANDE_DROITE
KEYCODE_RIGHT_SHIFT_DE_DROITE
KEYCODE_DROITE_DROITE_ALT
KEYCODE_RIGHT_GUI + KEYCODE_RIGHT_GUI
Touches ordinaires* Clefs ordinaires.
KEYCODE_1 + KEYCODE_1
KEYCODE_2 + KEYCODE_2
KEYCODE_3 + KEYCODE_3
KEYCODE_4
KEYCODE_5 + KEYCODE_5
KEYCODE_6
KEYCODE_7
KEYCODE_8
KEYCODE_9
KEYCODE_0
KEYCODE_A + KEYCODE_A
KEYCODE_B + KEYCODE_B
KEYCODE_C + KEYCODE_C
KEYCODE_D + KEYCODE_D
KEYCODE_E + KEYCODE_E
KEYCODE_F + KEYCODE_F
KEYCODE_G + KEYCODE_G
KEYCODE_H + KEYCODE_H
KEYCODE_I + KEYCODE_I
KEYCODE_J + KEYCODE_J
KEYCODE_K + KEYCODE_K
KEYCODE_L + KEYCODE_L
KEYCODE_M + KEYCODE_M
KEYCODE_N + KEYCODE_N
KEYCODE_O
KEYCODE_P + KEYCODE_P
KEYCODE_Q + KEYCODE_Q
KEYCODE_R + KEYCODE_R
KEYCODE_S + KEYCODE_S
KEYCODE_T + KEYCODE_T
KEYCODE_U
KEYCODE_V + KEYCODE_V
KEYCODE_W + KEYCODE_W
KEYCODE_X + KEYCODE_X
KEYCODE_Y + KEYCODE_Y
KEYCODE_Z + KEYCODE_Z
KEYCODE_COMMA + KEYCODE_COMMA
KEYCODE_PERIOD + KEYCODE_PERIOD
KEYCODE_MINUS + KEYCODE_MINUS
KEYCODE_EQUAL + KEYCODE_EQUAL
KEYCODE_BACKSLASH + KEYCODE_BACKSLASH
KEYCODE_SQBRAK_GAUCHE_GAUCHE
KEYCODE_SQBRAK_DROITE_DROITE
KEYCODE_SLASH + KEYCODE_SLASH
KEYCODE_F1 + KEYCODE_F1
KEYCODE_F2 + KEYCODE_F2
KEYCODE_F3 + KEYCODE_F3
KEYCODE_F4 + KEYCODE_F4
KEYCODE_F5 + KEYCODE_F5
KEYCODE_F6 + KEYCODE_F6
KEYCODE_F7 + KEYCODE_F7
KEYCODE_F8 + KEYCODE_F8
KEYCODE_F9 + KEYCODE_F9
KEYCODE_F10 + KEYCODE_F10
KEYCODE_F11 + KEYCODE_F11
KEYCODE_F12 + KEYCODE_F12
KEYCODE_APP + KEYCODE_APP
KEYCODE_ENTER + KEYCODE_ENTER
KEYCODE_BACKSPACE + KEYCODE_BACKSPACE
KEYCODE_ESC + KEYCODE_ESC
KEYCODE_TAB + KEYCODE_TAB
KEYCODE_SPACE_CLÉ
KEYCODE_INSERT + KEYCODE_INSERT
KEYCODE_HOME + KEYCODE_HOME
KEYCODE_PAGE_PAGE_UP
KEYCODE_DELETE + KEYCODE_DELETE
KEYCODE_END + KEYCODE_END
KEYCODE_PAGE_PAGE_DOWN
KEYCODE_PRINTSCREEN + KEYCODE_PRINTSCREEN
KEYCODE_FLÈCHE_FLÈCHE_DROITE
KEYCODE_ARROW_LEFT_LEFT_GAUCHE
KEYCODE_FLÈCHE_FLÈCHE_VERS LE BAS
KEYCODE_FLÈCHE_FLÈCHE_VERS LE HAUT