Screenshots mit Digispark auf Tastendruck

Hallo zusammen,

im heutigen Beitrag möchte ich kurz zeigen wie einfach unser Digispark als zusätzliche Taste zur Erstellung von Screenshots benutzt werden kann. Eine Verwendung als USB-Gerät haben wir bereits in einem vorhergehenden Beitrag gezeigt. Anlass für diesen Artikel war die Anfrage eines Kunden, welcher mit Hilfe eines Fußtasters Screenshots währen dem Videospielen erstellen wollte.

Wir brauchen:

Die Verkabelung ist einfach:

 

 Die DigiKeyboard.h Bibliothek ermöglicht das Simulieren eines Tastendrucks mit dem Digispark. Um wirklich alle Tasten simulieren zu können benötigen wir die Tasten IDs. Diese finden Sie unter folgendem Link:

https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf

Auf Seite 53 werden in Tabelle 12 die IDs für Keyboard-Tasten gelistet:

Der Eintrag mit der ID 70 ist der Print-Taste auf der Tastatur zugeordnet:

 

Hier der Code:

 

#include "DigiKeyboard.h"
#define KEY_PRINT 70 // hier wird die USB-Key-ID zugewiesen.
//#define KEY_PRINT 0x46 <- kann auch in Hex angegeben werden.
#define MOD_GUI_LEFT 227 //oder 0xE3

void setup() {
  pinMode(2,INPUT_PULLUP); // Taster für Eingabe an Pin2
}

void loop() {
  int button = digitalRead(2);
  if (button == 0){
    DigiKeyboard.sendKeyStroke(KEY_PRINT, MOD_GUI_LEFT);
DigiKeyboard.delay(1000); // de-bouncing
}
 DigiKeyboard.delay(100);
}

Wird der Taster nun betätigt wird ein Screenshot in fortlaufender Nummerierung im Profilverzeichnis Bilder -> Bildschirmfotos abgelegt.

Auf dieser Grundlage ist es ein leichtes, den Sketch so zu modifizieren um Beispielsweise den Sound eines PCs auf Stumm zu schalten wenn eine Türe mit Kontaktschalter geöffnet oder geschlossen wird.

Viel Spass beim nachbasteln & bis zum nächsten mal

Letzter Artikel GPS-Koordinaten am LCD ausgeben
Neuer Artikel Der Gewinner unseres Preisausschreibens!

Kommentar

Tobias Kuch - Februar 10, 2019

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.

Hinterlasse einen Kommentar

Kommentare müssen vor der Veröffentlichung überprüft werden

Erforderliche Angabe