Hola a todos
en el post de hoy me gustaría mostrar brevemente lo fácil que nuestro Digispark se puede utilizar como un botón adicional para crear capturas de pantalla. Ya hemos empezado a usarlo como un dispositivo USB en un post anterior Mostrado. La razón de este artículo fue la solicitud de un cliente, que quería tomar capturas de pantalla durante el videojuego con la ayuda de un botón de pie.
Necesitamos:
El cableado es simple:
La biblioteca DigiKeyboard.h le permite simular una pulsación de tecla con Digispark. Para simular realmente todas las teclas, necesitamos los ideos de botones. Estos se pueden encontrar en el siguiente enlace:
https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf
En la página 53, la Tabla 12 enumera los iD de las teclas de teclado:
La entrada con ID 70 está asociada con la tecla de impresión en el teclado:
Aquí está el código:
#include "DigiKeyboard.h" #define KEY_PRINT 70 aquí se asigna el ID de clave USB. #define KEY_PRINT 0x46 <- también se puede especificar en Hex. #define MOD_GUI_LEFT 227 o 0xE3 Vacío Configuración() { pinMode(2,INPUT_PULLUP); Botón para la entrada a Pin2 } Vacío Bucle() { Int Botón = digitalRead(2); Si (Botón == 0){ DigiKeyboard.sendKeyStroke(KEY_PRINT, MOD_GUI_LEFT);
DigiKeyboard.Retraso(1000); de-bouncing
}
DigiKeyboard.Retraso(100);
}
Si ahora se presiona el botón, una captura de pantalla se almacena en la numeración secuencial en el directorio de perfil Imágenes -> Capturas de pantalla.
Sobre esta base, es fácil modificar el boceto para silenciar el sonido de un PC, por ejemplo, cuando se abre o cierra una puerta con un interruptor de contacto.
Diviértete reelaborando y hasta la próxima vez
1 comentario
Tobias Kuch
Anmerkung zur Funktion des Codes:
Es wird mit dem gelisteten Code , nicht wie beschrieben, EIN Screenshot bei Betätigung des Tasters abgelegt, sondern es werden, solange der Taster bestätigt (gedrückt) ist, alle 100ms ein Screenshot (in fortlaufender Nummerierung ) erstellt.