Taula de continguts:

Arduino Stream Deck: 5 passos
Arduino Stream Deck: 5 passos

Vídeo: Arduino Stream Deck: 5 passos

Vídeo: Arduino Stream Deck: 5 passos
Vídeo: DIY Stream Deck (3D Printing, Arduino, Electronics!) 2024, Desembre
Anonim
Arduino Stream Deck
Arduino Stream Deck
Arduino Stream Deck
Arduino Stream Deck
Arduino Stream Deck
Arduino Stream Deck

Vaig veure alguna cosa del meu viatge a Amèrica que em va semblar molt divertit i útil: The Stream Deck. Bàsicament són tecles de drecera per a qualsevol aplicació que vulgueu, ideal per a la multitarea. Però el cas és que és massa car per a mi (100 $) i ni tan sols està disponible al meu país. Tot i així, vaig pensar que seria increïblement útil per a la meva feina, així que vaig decidir fer-ne un jo mateix (que costava gairebé 10 dòlars des del xinès Pro Micro barat) i compartir-lo perquè els estudiants i les persones que tinguessin un pressupost en poguessin tenir un la vida una mica més senzilla.

No és ni tan sols remotament tan maco com el de 100 $, però funciona bé.

(A la imatge del meu Deck faltava l'Arduino Pro Micro des que el vaig deixar caure i el vaig trencar, l'HC-05 i l'Arduino Pro Mini eren per a un altre projecte, així que no us importa).

Subministraments

Arduino Pro Micro x 1

Botons x 12 (Arduino Pro Micro pot suportar 12 botons com a màxim)

Mida de PCB que s’adapti al nombre de botons que preferiu

Resistències de 10k Ohm

Pas 1: els botons

Els botons
Els botons
Els botons
Els botons
Els botons
Els botons

Per fer que Arduino reconegui quan es prem un botó, haurem de connectar els botons com a tals:

Botó pin 1 -> 10k resistència -> GND

Botó pin 2 -> VCC

Botó pin 4 -> Un dels pins digitals o pins analògics de l'Arduino

Repetiu fins que obtingueu el nombre desitjat de botons

El meu PCB és estupidament desordenat, de manera que és molt difícil localitzar-lo quan es produeixi un error; voldríeu que estigui més organitzat per facilitar-ne la solució.

Pas 2: Programació de l'Arduino

Programar amb el Pro Micro és una mica diferent dels altres Arduinos i requeriria alguns passos addicionals. Jo suggeriria les guies que em van ajudar a programar el Pro Micro:

Guia oficial de Sparkfun:

www.sparkfun.com/products/12640

Una guia Instructables:

www.instructables.com/id/Set-up-and-Instal…

Després d’haver connectat amb èxit el vostre Pro MIcro al vostre ordinador i ara el pugueu programar, aquí teniu el codi del meu Projecte:

#define KEY_RIGHT_SHIFT 0x85 # define KEY_RIGHT_ALT 0x86 #define KEY_RIGHT_GUI 0x87

#define KEY_UP_ARROW 0xDA

#define KEY_DOWN_ARROW 0xD9 #define KEY_LEFT_ARROW 0xd8 #define KEY_RIGHT_ARROW 0xD7 #define KEY_BACKSPACE 0xB2 #define KEY_TAB 0xB3 #define KEY_RETURN 0xB0 #define KEY_ESC 0xB1 #define KEY_INSERT 0xD1 #define KEY_DELETE 0xD4 #define KEY_PAGE_UP 0xD3 #define KEY_PAGE_DOWN 0xD6 #define KEY_HOME 0xD2 #define KEY_END 0xD5 #define KEY_CAPS_LOCK 0xC1 #define KEY_F1 0xC2 #define KEY_F2 0xC3 #define KEY_F3 0xC4 #define KEY_F4 0xc5 #define KEY_F5 0xC6 #define KEY_F6 0xC7 #define KEY_F7 0xC8 #define KEY_F8 0xC9 #define KEY_F9 0xCA #define KEY_F10 0xCB #define KEY_F11 0xCC #define KEY_F12 0xCD #define KEY_LEFT_CTRL 0x80 int buttonPin = 9; int buttonPin1 = 10; int buttonPin2 = 8; int buttonPin3 = 6; int buttonPin4 = 5;

#incloure

configuració nul·la ()

{pinMode (buttonPin, INPUT); pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (buttonPin3, INPUT); pinMode (buttonPin4, INPUT);

}

bucle buit ()

{if (digitalRead (buttonPin) == 1) // Quan es prem el botó 1 {Keyboard.print ("Imprimeix la frase que vulguis"); //

retard (1000);

} if (digitalRead (buttonPin1) == 1) {Keyboard.print (""); // Qualsevol frase que vulgueu} si (digitalRead (buttonPin2) == 1) // Aquesta és una drecera per canviar l'idioma del meu teclat {Keyboard.press (KEY_RIGHT_SHIFT); Keyboard.press (KEY_LEFT_CTRL); Keyboard.release (KEY_LEFT_CTRL); Keyboard.release (KEY_RIGHT_SHIFT); retard (1000); } if (digitalRead (buttonPin3) == 1) // Obre l'aplicació amb la drecera Ctrl + Alt + t {Keyboard.press (KEY_LEFT_ALT); Keyboard.press (KEY_LEFT_CTRL); Keyboard.print ('t'); Keyboard.release (KEY_LEFT_ALT); Keyboard.release (KEY_LEFT_CTRL); retard (1000); } if (digitalRead (buttonPin4) == 1) // Obre l'aplicació amb la drecera Ctrl + Alt + p

{Keyboard.press (KEY_LEFT_ALT); Keyboard.press (KEY_LEFT_CTRL); Keyboard.print ('p'); Keyboard.release (KEY_LEFT_ALT); Keyboard.release (KEY_LEFT_CTRL); retard (1000); }}

Si voleu que el teclat premi la tecla "Retorn": Keyboard.write (10); (El codi ACSII de la tecla Retorn és 10)

El retard després de cada acció és per evitar que la clau sigui spam.

Aquí teniu el codi per descarregar:

Pas 3: creació de tecles de dreceres per a aplicacions

Creació de tecles de dreceres per a aplicacions
Creació de tecles de dreceres per a aplicacions
Creació de tecles de dreceres per a aplicacions
Creació de tecles de dreceres per a aplicacions
Creació de tecles de dreceres per a aplicacions
Creació de tecles de dreceres per a aplicacions

Pas 1: creeu una drecera per a les aplicacions que vulgueu utilitzar

Pas 2: Feu clic amb el botó dret i trieu "Propietats".

Pas 3: feu clic a la "drecera" (que es mostra a la imatge) i trieu la tecla que vulgueu

Per exemple, si trieu "p", la drecera de l'aplicació serà Ctrl + Alt + p

Ara hauríeu d’anar bé

// Es pot veure al codi

if (digitalRead (buttonPin4) == 1) // Obre l'aplicació amb la drecera Ctrl + Alt + p

{

Keyboard.press (KEY_LEFT_ALT); Keyboard.press (KEY_LEFT_CTRL); Keyboard.print ('p'); Keyboard.release (KEY_LEFT_ALT); Keyboard.release (KEY_LEFT_CTRL); retard (1000); }

Pas 4: suggeriments

Suggeriments
Suggeriments
Suggeriments
Suggeriments

Tinc les 12 tecles de l’Arduino Pro Micro lligades a alguna cosa, això és el que podríeu fer:

- Ordres de jocs o correu brossa (CS: GO, TF2)

- Tecles d'accés directe universals per al Windows Media Player, ja que el meu teclat no té les tecles de funció multimèdia

Aquí teniu la guia del connector:

www.howtogeek.com/howto/19356/add-global-h…

Enllaç de descàrrega:

wmpkeys.sourceforge.net/

- Emplenament automàtic de contrasenyes: si no voleu recordar la contrasenya del navegador, lligueu-la a un dels botons (té riscos, però si no etiqueteu les claus hauria de ser correcte, utilitzeu:

if (digitalRead (buttonPin) == 1) // Quan es prem el botó 1 {Keyboard.print ("Contrasenya");

retard (1000);

Keyboard.write (10); // Per prémer Retorn

}

Pas 5: expansions

Expansions
Expansions

Podeu provar d'afegir sensors i mòduls al Pro Micro per tenir diferents maneres de desbloquejar el vostre PC.

Potser un lector RFID, un lector IR per tal que quan escanegeu la targeta o premeu el comandament a distància, el Pro mini pugui imprimir la contrasenya.

Per exemple, inicieu el vostre PC, en lloc d’escriure la contrasenya, escaneu la clau RFID i el PC es desbloqueja.

He estat pensant en això durant un temps, però mai ho he aconseguit ja que el meu PCB no té espai per a l'escàner, però espero que vosaltres ho pogueu fer realitat.

Recomanat: