Inhoudsopgave:

Het eenvoudigste DIY-macrotoetsenbord - Ajarnpa
Het eenvoudigste DIY-macrotoetsenbord - Ajarnpa

Video: Het eenvoudigste DIY-macrotoetsenbord - Ajarnpa

Video: Het eenvoudigste DIY-macrotoetsenbord - Ajarnpa
Video: DIY 87-Key Macro Keyboard - Because he has too many keyboard shortcuts! 2024, Juli-
Anonim
Het eenvoudigste DIY-macrotoetsenbord
Het eenvoudigste DIY-macrotoetsenbord
Het eenvoudigste DIY-macrotoetsenbord
Het eenvoudigste DIY-macrotoetsenbord

Een macro-toetsenbord kan worden gebruikt om bepaalde acties of functies op uw computer uit te voeren en kan erg handig zijn bij bepaalde toepassingen, zoals video-editors of games.

Veel applicaties hebben sneltoetsen om snel acties uit te voeren, maar soms is het moeilijk om de toetsencombinatie van elke opdracht te onthouden, maar dat is waar een macrotoetsenbord van pas komt. Ze kunnen in vrijwel elke toetscombinatie of volgorde worden geprogrammeerd, zodat het kan worden een echt krachtig hulpmiddel.

Mijn belangrijkste gebruik voor de mijne is voor het besturen van OBS, de software die ik gebruik voor het opnemen van video's en voor streaming. Hiermee kan ik gemakkelijk tussen scènes wisselen of bepaalde elementen van scènes uitschakelen. OK, ik ga hier een gewaagde bewering doen, dit is het eenvoudigste doe-het-zelf-macrotoetsenbord dat je kunt bouwen! Als je een eenvoudigere weet, link hem dan naar mij, want ik heb er nog geen gevonden. Het gebruikt slechts 2 componenten en er hoeven geen speciale borden te worden geïnstalleerd voor Arduino, dus eenvoudiger kan het echt niet!

De Arduino Pro Micro ondersteunt emulatie van HID (Human Interface Devices, oftewel je toetsenbord en muis), dus het is perfect voor dit soort projecten. We zullen ook een 4x4 toetsenbord gebruiken omdat het goedkoop is, 16 knoppen heeft en heel eenvoudig te bedraden is. omhoog

Benodigdheden

  • Arduino Pro Micro van Aliexpress - ~$3.00*
  • 4x4 Matrix-toetsenbord van Aliexpress - $0,50*

*= Affiliate

Stap 1: Bekijk de video

Image
Image

Ik heb een video over dit onderwerp gemaakt als je het wilt bekijken!

Stap 2: Bedrading

Bedrading
Bedrading

Dit kan niet eenvoudiger!

De toetsenbordmatrix wordt rechtstreeks aangesloten op de 8 GPIO rechtsonder op de Pro Micro, die met het label GPIO2 - GPIO 9. De draad aan de linkerkant van het toetsenbord maakt verbinding met GPIO2

En dat is het, had ik je niet gezegd dat dit eenvoudig was!

Stap 3: [Optioneel] Hoe het toetsenbord werkt

[Optioneel] Hoe het toetsenbord werkt
[Optioneel] Hoe het toetsenbord werkt
[Optioneel] Hoe het toetsenbord werkt
[Optioneel] Hoe het toetsenbord werkt
[Optioneel] Hoe het toetsenbord werkt
[Optioneel] Hoe het toetsenbord werkt

Als je geïnteresseerd bent in hoe het toetsenbord werkt, zal ik er hier een korte uitleg over geven. Als je geen interesse hebt, sla deze stap dan gewoon over!

Elke rij en kolom is verbonden met een GPIO-pin van je arduino. De 4 rij-pinnen zijn ingesteld als output en de 4 kolompinnen zijn ingesteld als inputs. De Arduino zal de rij-pinnen één voor één doorlopen, waarbij elke rij hoog is, terwijl de andere rijen laag zijn. Wordt elke rij zo hoog ingesteld, dan leest deze elke kolompin. Als een van de kolompinnen hoog is, kunt u zien op welke knop is gedrukt, omdat u nu weet welke kolomrij is ingedrukt.

We hoeven ons hier geen zorgen over te maken, want we gaan een bibliotheek gebruiken om dit voor ons te regelen!

Stap 4: Pak de code

Pak de code
Pak de code
Pak de code
Pak de code

Het eerste dat je nodig hebt, is de Arduino IDE, die je hier kunt krijgen als je die niet hebt. Het is vrij eenvoudig in te stellen, maar als je meer instructies of begeleiding nodig hebt, raad ik je aan de Arduino-klasse van Becky Stern te bekijken

Je wilt dan de code voor dit project uit mijn Github halen. Klik op de kloon- of downloadknop aan de rechterkant van de pagina en klik op de knop "Zip downloaden".

Pak de zip uit en open deze met het.ino-bestand met de Arduino IDE.

Stap 5: Bibliotheken installeren en uploaden naar het bord

Bibliotheken installeren en uploaden naar het bord
Bibliotheken installeren en uploaden naar het bord
Bibliotheken installeren en uploaden naar het bord
Bibliotheken installeren en uploaden naar het bord
Bibliotheken installeren en uploaden naar het bord
Bibliotheken installeren en uploaden naar het bord
Bibliotheken installeren en uploaden naar het bord
Bibliotheken installeren en uploaden naar het bord

Voordat we deze schets naar het bord kunnen uploaden, moeten we eerst de toetsenbordbibliotheek installeren voor interfacing met het matrixtoetsenbord.

Om dit te installeren, klikt u op Schets -> Bibliotheken opnemen -> Bibliotheken beheren

Wanneer dat is geladen, zoek je naar "toetsenbord" en scrol je naar beneden naar degene die is geschreven door Mark Stanley en Alexander Brevig. Klik op installeren.

Je bent nu klaar om de schets te uploaden! We hoeven alleen de Arduino IDE te configureren voor het juiste bord en de juiste poort.

Ga in het menu Tools naar beneden naar Board en selecteer Arduino/Genuino Micro

Ga in hetzelfde menu Extra naar Poort en selecteer de com-poort die (Arduino/Genuino Micro) erna heeft. U kunt nu op de uploadknop klikken en het zou uw apparaat moeten programmeren!

Stap 6: [Optioneel] Uitleg van de code

[Optioneel] Uitleg van de code
[Optioneel] Uitleg van de code
[Optioneel] Uitleg van de code
[Optioneel] Uitleg van de code
[Optioneel] Uitleg van de code
[Optioneel] Uitleg van de code

U hebt in dit stadium een volledig functionerend macrotoetsenbord, dus als het u niet uitmaakt hoe de code werkt, kunt u deze stap overslaan.

Configuratie toetsenbordbibliotheek

In de eerste afbeelding ziet u de configuratie van de toetsenbordbibliotheek. Als uw toetsenbord meer of minder rijen of kolommen had, zou u dit hier wijzigen. De "toetsen"-array laat de bibliotheek weten welk teken het naar u moet terugkeren wanneer op een knop wordt gedrukt. Dus als je matrix de letters van het alfabet had in plaats van cijfers, zou je deze hier kunnen aanpassen. Het maakt niet echt uit wat hier staat als je eenmaal op de juiste manier op de knop hebt gedrukt (hierover hieronder meer) Het volgende dat we hebben is de pindefinitie voor de rijen en kolommen, deze zijn al correct ingesteld voor de bedrading die we hebben deed eerder. En tot slot is er de constructor waar we de toetsenbordbibliotheek initialiseren met alle configuratie.

De toetsaanslagen lezen

In de lus haalt de schets de ingedrukte toets uit de toetsenbordbibliotheek, wat wordt geretourneerd is een van de tekens die we hebben gedefinieerd in de "toetsen" -array die overeenkomt met dezelfde positie als de knop die werd ingedrukt. Dus als de sleutel waar is (al dan niet is ingesteld), gebruiken we een switch-instructie om te controleren op welke knop is gedrukt en om welke actie dan ook uit te voeren die we ermee willen doen. Dit is de reden waarom het niet echt belangrijk is wat er in uw sleutelarray staat, zodra u deze controle uitvoert.

Zodra de knop is aangevinkt, wordt de SendMacroCommand aangeroepen.

"Stuur MacroCommando"

SendMacroCommand is de methode die door alle opties wordt aangeroepen. Het neemt één parameter als sleutel in, standaard is dit f1-f12 en dan a, b, c en d. Deze methode emuleert in feite het ingedrukt houden van de volgende knoppen

  • CTRL
  • ALT
  • VERSCHUIVING
  • en de sleutel die wordt doorgegeven als param

Deze knoppen worden pas vrijgegeven als we er specifiek om vragen. Dit doen we aan het einde van de lus.

Stap 7: Gebruik met OBS

Gebruik met OBS
Gebruik met OBS

Mijn belangrijkste gebruiksscenario voor dit apparaat is om het te gebruiken met sneltoetsen in OBS (Open Broadcast Studio, het is een software die voornamelijk wordt gebruikt door streamers, maar handig voor het vastleggen van video op uw pc). Dit kan handig zijn voor het wijzigen van scènes of het inschakelen van elementen in uw geselecteerde scènes.

Open in OBS het instellingenmenu en vervolgens het gedeelte met sneltoetsen.

Scroll naar beneden naar de optie die u wilt bedienen met uw macrotoetsenbord en klik in het witte vak. De volgende knop die u indrukt, is de opdracht die bij deze actie hoort, dus gebruik uw macrotoetsenbord om op de knop te drukken waarmee u deze actie wilt besturen.

Stap 8: Het ultieme Stackoverflow-toetsenbord

Het ultieme Stackoverflow-toetsenbord
Het ultieme Stackoverflow-toetsenbord

Om te laten zien hoe je het kunt gebruiken voor meer algemene commando's en sneltoetsen, kun je heel eenvoudig het ultieme stackoverflow-toetsenbord maken, of een toetsenbord dat kan kopiëren en plakken. Het commando voor kopiëren is CTRL + c en het commando voor plakken is CTRL + P

Om dit aan het toetsenbord toe te voegen, vervangt u de aanroep van de SendMacroKeypad-methode in een van de secties voor het indrukken van de knop en vervangt u deze door de code in de bovenstaande afbeelding. Net als voorheen zal het zijn alsof beide toetsen worden ingedrukt totdat de release wordt aangeroepen aan het einde van de lus.

Stap 9: Aangepast Quick Chat-toetsenbord

Aangepast snelchat-toetsenbord
Aangepast snelchat-toetsenbord

Een ander cool ding dat je met deze setup kunt doen, is dat je in plaats van alleen op knoppen te drukken, kunt simuleren dat je een bericht typt. Een goed gebruik hiervoor kan een aangepast snelchat-toetsenbord voor games zijn.

Het commando voor het typen van een bericht is ofwel keyboard.print. keyboard.println werkt ook, het is hetzelfde, maar alleen met een nieuw regelteken aan het einde.

U kunt in de bovenstaande afbeelding een voorbeeld zien van het gebruik ervan.

Bij optie 3 typt het gewoon het bericht meteen

Bij optie 4 drukt het eerst op de t-knop (dit maakt chatten in veel games mogelijk) en typt vervolgens het bericht. Het kan zijn dat je een vertraging moet toevoegen tussen het indrukken van de t en het typen van het bericht om de game de tijd te geven om het chatscherm te openen.

Stap 10: Conclusie

Hopelijk vond je dit nuttig! Ik denk dat er veel mogelijkheden zijn met een apparaat als dit en hopelijk biedt dit een goede introductie tot het gebruik van HID-commando's op je Arduino Pro Micro.

Waar zou je een macrotoetsenbord voor gebruiken?

Heb je eenvoudigere macro-toetsenborden gezien!?

Als je vragen hebt stel ze gerust!

Brian

Aanbevolen: