DIY – USB-Modul simuliert Tastatur (und kann deutlich mehr)

In diesem Video wird das USB-Modul Digispark von Digistump (Ein Microcontroller mit dem ATTiny85 Chipssatz) vorgestellt, das ohne großen Aufwand mit Aktoren und Sensoren erweitert werden kann. Damit wird dieses unscheinbare Entwicklungsboard zu einem Allrounder mit vielen interessanten Anwendungsmöglichkeiten.
Es wird als Beispiel gezeigt, wie mit dem Entwicklungsboard und einem externen kapazitiver Touchschalter mit Hintergrundbeleuchtung, PC-Anwendungen über USB gesteuert werden können. In diesem Fall, das Aktivieren oder Stumm Schalten des Mikrofones für die Windows Anwendung Microsoft Teams. Dazu sendet das USB-Modul die Tastenkombination „STRG/Umschalt/M“ beim verwenden des Leuchtschalters.
Somit können, je nach dem welche Tastenfolge vorgegeben wird, viele Funktionen und Tätigkeiten automatisiert werden.

ATTiny85 in USB-Bauform als Digispark gibt es so ab 5 Euro zu erwerben. Dieses kleine Entwicklungsboard läuft bei 16,5MHz, hat 8 KByte Speicher, AnalogDigitalConverter, I2C und SPI Unterstützung und kann mit seiner 2.0 USB Schnittstelle direkt am PC mit zum Beispiel der Arduino IDE programmiert werden. Mit seinen 6 Ein- und Ausgabe Anschlüssen, kann es auch mit Aktoren und Sensoren arbeiten.
Aber Vorsicht, wegen fehlendem Verpolungsschutz unbedingt gründlich prüfen, ob die Verdrahtung korrekt angeschlossen wurde. Die Erstinbetriebnahme sollte an einem alten Testcomputer erfolgen, damit nicht teure Hardware beschädigt wird.

Hersteller Informationen:
https://digistump.com/wiki/digispark

Library und Liste aller möglichen Tasten:
DigiKeyboard.h

Belegungsplan Pinout:
Für Digispark

Hardware:
Digispark mit ATTiny85 Microcontroller
HTTM kapazitiver Touchschalter mit Hintergrundbeleuchtung

Verdrahtung:


Quellcode:

#include "DigiKeyboard.h"
int DigisparkPin2 = 1; // Digispark P2 ist analog Pin1
int wert = 0;
bool ausgefuehrt = 0;

void setup() {
  // setup kann leer bleiben
}

void loop() {
  wert =analogRead(DigisparkPin2);
  if(wert>100 && ausgefuehrt == 0 ){
  DigiKeyboard.sendKeyStroke(0);
  DigiKeyboard.delay(500);
  DigiKeyboard.sendKeyStroke(KEY_M, MOD_CONTROL_LEFT | MOD_SHIFT_LEFT); //strg+umschalt+m  
  
  ausgefuehrt = 1; 
  DigiKeyboard.delay(2000);
  }
  
if(wert<100 && ausgefuehrt == 1 ){
  DigiKeyboard.sendKeyStroke(0);
  DigiKeyboard.delay(500);
  DigiKeyboard.sendKeyStroke(KEY_M, MOD_CONTROL_LEFT | MOD_SHIFT_LEFT); //strg+umschalt+m  
  
  ausgefuehrt = 0; //schalter wurde wieder deaktiviert
  } 
  DigiKeyboard.delay(2000);
}

3D-Druck Vorlagen:

Digisparkhttps://www.thingiverse.com/thing:5379775
Touch Schalterhttps://www.thingiverse.com/thing:5379785

Nicht im Video zu sehen Weitere Beispiele:

Bildschirmfoto (Screenshot) mit Windows Taste und PrintDigiKeyboard.sendKeyStroke(KEY_PRINT, MOD_GUI_LEFT);
Ausführen DialogDigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);
Sende TextDigiKeyboard.print(„perfmon /rel“); //öffne Zuverlässigkeitsverlauf


Beispiele aus der Reihe „Guter USB Stick – Böser USB-Stick“:
Da, wie diese bisher gezeigten Beispiele, Tastenanschläge senden, wie ein Anwender der vor seinem angemeldeten Computer ausführen würde, mit gleichen Nutzerberechtigungen (oftmals Administrative Rechte) ist der Kreativität hierbei kaum Grenzen gesetzt.
Wer solche Lösungen kennt, wird sich und sein Umfeld vor bösen Überraschungen bewahren können.

Download und Ausführen von Schadsoftwarehttps://www.heise.de/select/ix/2017/7/1499358388386903
Unauffällige USB Geräte die vorgeben nur den USB Port als Stromversorgung zu nutzen.https://scheible.it/digispark-badusb/
Weitere Sammlung an Beispielen, die den Umgang mit fremden Sticks sensibilisierenhttps://github.com/CedArctic/DigiSpark-Scripts

, ,