Schlagwort-Archive: Computer

Noten für Tante Schinni

„Tante Schinni“ ist gestorben. Sie war weder meine Tante, noch hieß sie Schinni, aber das tut eigentlich nichts zur Sache. Jedenfalls meldete sich zu diesem Anlass die sangesfreudige Verwandtschaft mit der Frage, ob es möglich sei, den Choral „Hier hast du meine beiden Hände“ etwas tiefer zu setzen, das C-Dur sei doch etwas hoch für den Onkelchor:

Wenn solche Fragen kommen ist es wichtig, keine Zweifel über die eigene Kompetenz aufkommen zu lassen. Auch dann nicht, wenn man in diesem Moment noch keine Ahnung hat, wie man das Problem genau lösen will. Über das Ob braucht man allerdings Gewissheit. Zur Not setze ich das mit der Hand tiefer, mit Notenpapier und Bleistift, das sei kein Problem. Das letzte Mal, als ich so etwas gemacht habe, hatte ich noch gekauftes Notenpapier, aber Notenpapier sollte man ja mittlerweile auch einfach zum Ausdrucken in diesem Internet finden.

Vielleicht könnte man in diesem Internet aber auch Programme zum Setzen von Noten finden, dachte ich mir, und ich konnte es nicht lassen. Nur ganz kurz mal googlen, ganz kurz. Ich erinnerte mich, vor 20-25 Jahren mal ein Programm gehabt zu haben, mit dem das Setzen von Noten mehr schlecht als recht ging. Erster sinnvoller Suchtreffer: MuseScore. Einfach mal heruntergeladen, installiert, MIDI-Keyboardchen dran (auf Verdacht, wäre ja nice) und gestartet.

Weiterlesen

Phoniebox: Der Koffer für den kleinen Mann

Menschen mit kleineren Kindern kennen sicherlich die Toniebox: Eine kleine Kiste, auf die kleine Kinder kleine Figuren stellen, worauf die Kiste dann Musik oder Hörspiele abspielt. Für Menschen mit Spaß am Basteln gibt es dazu ein alternatives Selbstbauprojekt, die sog. Phoniebox. Mein Freund Markus hat ein kleines Kind und Spaß am Basteln. Ich habe auch Spaß am basteln, also haben wir gebastelt. Das ist dabei herausgekommen:

Phoniebox kann sowohl lokal auf der Kiste gespeicherte Audiodateien abspielen, als auch Spotify (einzelne Songs, Playlisten, Alben, was auch immer). Hat die Box kein WLAN, dann spielt sie eben nur die lokalen Sachen ab, denn Spotify kann nur gestreamt werden.

Was jetzt noch kommt ist mehr eine Gedankensammlung und Dokumentation dessen, was wir gemacht haben als eine Anleitung, wie man den Koffer exakt nachbaut. Der eine oder andere brauchbare Hinweis ist aber vielleicht trotzdem dabei, und das meiste ist auf den ebenfalls verlinken Projektseiten ja bestens beschrieben.

Weiterlesen

Arduino-Bastelei: Die smarte(re) Waschmaschine (Update)

Es gibt ein Update zum meinem Waschmaschinenprojekt. Zur Erinnerung: Es ging darum, bei einer recht alten Waschmaschine eine Benachrichtigung am Handy zu bekommen, sobald der Waschvorgang beendet ist.

Die Spielerei hat anfangs recht gut funktioniert, im Laufe der Zeit jedoch immer schlechter. Meine Erklärung: Der Vibrationssensor hat der Belastung nicht standgehalten. Der erste Sensor ging wirklich kaputt, ein zweiter wurde auch laufend schlechter. Schlechter bedeutet, dass die Werte immer mehr streuten und daher das zeitliche Vibrationsprofil, über das der letzte Schleudervorgang und damit das Ende des Waschvorgangs detektiert wurde, immer verrauschter und uneindeutiger wurde. Es gab Fehlalarme.

3-Achsen-Beschleunigungssensor GY-61

Über ein anderes Bastelprojekt bin ich dann auf einen einfachen 3-Achsen-Beschleunigungssensor gestoßen, den GY-61. Der gibt an drei analogen Ausgängen einfach die Beschleunigung für drei orthogonale Achsen (x, y, z) aus. Im Prinzip so ein Teil, welches heute in jedem Smartphone z.B. die Bildschirmorientierung steuert. Gravitation ist ja auch nichts anderes als eine Beschleunigung; dreht man das Handy, dann wirkt diese Beschleunigung (zumindest anteilig) in eine andere Richtung.

Ich habe nun den alten Vibrationssensor durch den neuen Beschleunigungssensor ersetzt. Von den drei Achsen kann ich allerdings nur ein einzige nutzen, weil der Wemos D1 mini nur einen analogen Eingang bietet. Hier ein paar Bilder vom Umbau:

Die Werte, die der Sensor in den drei Schleuderphasen der Waschmaschine liefert sind um Welten besser als das, was der Vibrationssensor jemals geliefert hat. Hier der Plot eines typischen Waschvorgangs:

Die Werte werden für mich zur Kontrolle an meinen Raspberry Pi geschickt und mit Hilfe der Bibliothek dygraphs geplottet. Blau: Beschleunigung. Rot: Der Schwellwert. Gelb: Dauer über dem Schwellwert. Rot: Auslösen der Benachrichtigung.

Man sieht hier schön, dass der letzte Schleudergang stärker und vor allem länger ist als die ersten beiden. Seit dem Einbau des neuen Sensors wurde damit das Ende des Waschvorgangs hundertprozentig richtig erkannt. Weiterlesen

Arduino-Bastelei: Die smarte(re) Waschmaschine

Es wäre gelogen zu sagen, dass es bei unserer Waschmaschine dringenden Optimierungsbedarf gegeben hätte. Aber als Bastler sucht man ja immer nach einer möglichst sinnvollen Kanalisation des Basteltriebs. Daher hier die im Nachhinein zusammengelogene Motivation für das aktuelle Projekt:

Unsere Waschmaschine steht im Keller. Außerdem ist sie alt, fast 18 Jahre. Damals gab es noch kein „Ich bin fertig!“-Gepiepse. Also muss man nach dem Einschalten der Maschine in etwa abschätzen, wann sie fertig sein wird und sich am besten eine Erinnerung am Handy einstellen. Sonst könnte sich eine der folgenden dramatischen Szenen abspielen:

  • Die Maschine ist fertig und niemand räumt sie aus.
  • Die Maschine ist fertig und man räumt sie viel zu spät aus.
  • Die Maschine ist fertig und man merkt es zu spät, wodurch sich die nächste Maschine verzögert, deren Ende man wieder zu spät merkt, wodurch sich die näcshte Maschine… (das Prinzip ist klar).
  • Die Maschine ist fertig und irgend etwas anderes ganz schlimmes.

Wemos D1 mini

Da hat man als Bastler jetzt also einen Wemos D1 mini herumliegen (also einem Arduino-ähnlichen Mikrocontroller mit einem ESP8266-WLAN-Modul) und fragt sich, was man – bezüglich des oben geschilderten „Problems – sinnvolles damit machen könnte. Natürlich 1) irgendwie das Ende des Waschvorgangs detektieren und dann 2) irgendwie eine Nachricht absetzen, die dann wiederum irgend jemanden zum Ausräumen der Waschmaschine animieren soll.

Weiterlesen

IFTTT oder: Wie man Instagram-Fotos ordentlich zu Twitter schickt

Wer Instagram und Twitter nutzt kennt das Problem: Man möchste seine Instagram-Kreation natürlich direkt auch auf den eigenen Twitter-Kanal schicken und macht das so:

Leider ist das Instagram-Bild auf Twitter dann nicht zu sehen, es wird nur verlinkt:

Der Grund: Instagram gehört seit 2012 zu Facebook, und Twitter und Facebook sind sich bekanntlich nicht so grün. Daher zickt Twitter und weigert sich, die Instagram-Bilder direkt in der Timeline anzuzeigen. Jedenfalls gilt das für die offizielle Twitter-App, den Stream auf der Webseite und auch für das zu Twitter gehörende  und von mir geschätzte Tweetdeck. Technisch wäre das Einbinden der Bilder vermutlich kein Problem, aber man ist eben Konkurenz.

Jetzt bin ich mal wieder gefragt worden, wie ich es hinbekomme, dass meine Instagram-Bilder doch als native Twitter-Bilder im Stream angezeigt werden:

Der Link im Screenshot verrät es schon: Ich nutzte IFTTT („if this then that“). Wenn du von diesem Dienst noch nichts gehört haben solltest wird es allerhöchste Zeit. Der Name des Dienstes sagt schon genau, was er macht:

Wenn irgend etwas passiert (der „Trigger“), dann mach irgend etwas anderes (die „Action“).

Und dieses „irgend“ ist in der Regel irgend ein Webdienst: Twitter, Facebook, Instagram, das Wetter, eine Uhrzeit, Dropbox, der Akkustand des Handys, eine SMS, Mail, eBay, Kalender, ein RSS-Feed, WordPress, Youtube, OneNote, Feedly, Pocket, Philips Hue, … Und diese Dienste kann man nun verknüpfen. Zur Veranschaulichung ein paar Beispiele:

  • Wenn mich jemand auf einem Facebook-Foto markiert, dann speichere dieses Foto in meine Dropbox.
  • Wenn ich in Feedly einen Artikel als „gespeichert“ markiere, dann speichere ihn in meiner Pocket-Leseliste.
  • Wenn ich eine SMS bekomme, dann speichere sie in einer Google Tabelle.
  • Wenn es 19 Uhr ist, dann schicke mir den Wetterbericht für morgen per Pushbullet auf’s Handy.
  • Wenn ich einen Blogpost bei WordPress veröffentliche, dann schicke mir eine Erinnerung auf’s Handy, dass ich den noch bei Facebook und Twitter poste (man könnte das auch direkt mit IFTTT schicken, wenn man das wollte).
  • Wenn es 23 Uhr ist, dann schalte mein Yeelight-Schreibtischlicht aus um mich daran zu erinnern, dass es langsam Zeit wird, ins Bett zu gehen.
  • Wenn ich eine Mail mit einem bestimmten Betreffe erhalte, dann speichere den Anhang in meine Dropbox.
  • Wenn ich ein Instagram-Bild poste, dann speichere das Bild auch in meine Dropbox.
  • Wenn ich ein Instagram-Bild poste, dann schicke das Bild als natives Bild zu Twitter.
  • Wenn dies, dann das…

Und der letzte Punkt sieht in der IFTTT-App dann so aus:

So einfach ist es also, die Instagram-Bilder schön zu Twitter zu schicken. Aber auch darüber hinaus sind die Möglichkeiten von IFTTT endlos, es gibt auch schon sehr viele fertige Applets.

Nur am Rande: Für alle Bastler ist auch der Maker-Kanal interessant, mit dem man sehr leicht z.B. mit Arduino-kompatiblen Boards kommunizieren kann. Aktuelles Bastelprojekt von mir: Ich hätte gerne eine Benachrichtigung, sobald die Waschmaschine fertig ist. Im Moment scheitert das noch am sicheren Erkennen des Endes des Waschgangs (nach dem Schleudern), aber wäre dieses Problem gelöst wäre der Rest einfach: Das Wemos D1 mini hängt im WLAN und ruft – sobald es eben das Ende des Schleuder-Vorgangs erkannt hat (siewissenschonsiewissenschon) – eine bestimmte IFTTT-URL mit einem Authentifizierungscode auf. Das ist der Trigger, der dann wieder eine Action auslösen kann, eben beispielsweise eine Benachrichtigung auf’s Handy schicken. Für Statistikfreaks könnte der Trigger auch die Uhrzeit in eine Google Tabelle schreiben, mit der man dann auswerten könnte, wie oft man die Waschmaschine nutzt, welche Wochentage Waschtage sind oder was die präferierten Waschzeiten sind. (Über die Sinnhaftigkeit kann gerne diskutiert werden…)

Touch ist alles, alles ist Touch

Alternative Mensch-Maschine-Schnittstellen finde ich schon immer interessant. Denn ich glaube, dass viele Eingabegeräte, mit denen wir so vertraut sind, nicht optimal sind. Sie sind historisch so gewachsen. Bestes Beispiel ist unser Tastaturlayout, welches nicht deshalb so aussieht, wie es aussieht, weil das für die heutige Eingabe am Computer optimal wäre, sondern weil das bei den typischen Buchstabenkombinationen der deutschen Sprache dafür sorgte, dass sich die einzelnen Buchstaben der Schreibmaschine möglichst selten verhakten. Es gibt z.B. einige optimierte Tastaturlayouts für die deutsche Sprache, die aber kaum eine Chance haben, sich durchzusetzen. Nicht weil sie schlecht wären, sondern weil wir so unglaublich träge sind in der Umgewöhnung. Die müsste fast mit Zwang passieren. In der Mathematik / Physik / Chemie nennt man so einen Zustand ein „lokales Minimum“. Schon nicht schlecht, aber um ein besseres, vielleicht sogar globales Minimum zu finden müsste viel Energie aufgewendet werden. Ich schweife ab…

Was ich sagen will: Aus lokalen Minima kommt man schlecht heraus, daher lohnt es sich, völlig neuen Ansätzen nachzugehen, statt alte optimieren zu wollen. Die Touch-Bedienung war ein solcher Schritt, und dieser Interaktionsansatz ist noch lange nicht ausgereizt.

Im folgenden Video ist ein Ansatz gezeigt, bei dem leitender Lack auf beliebigen Oberflächen aufgetragen wird. Am Rand des Objekts werden dann Kontakte angebracht und ein elektrisches Feld angelegt. Bei Berührung des Objekts wird jetzt dieses Feld modifiziert, woraus auf die Position der Berührung rückgeschlossen werden kann. Sehr schöne Idee:

Arduino-Bastelei: Weihnachtsbaumbeleuchtung per WLAN steuern

Ich habe wieder ein bisschen mit Elektronik gebastelt. Allerdings war das aktuelle „Projekt“ nicht wirklich echt, es ging nicht um das Produkt, sondern nur um ein bisschen Spaß. Für die aktuelle Themenreihe der CityChurch sollten ein paar Videos gedreht werden, und die Videoleute fragten mich an, ob ich ich dafür nicht irgend eine Elektronik-Bastelei machen könnte.

Die Idee war dann, die Weihnachtsbaumbeleuchtung per WLAN vom Handy aus zu steuern. Einfach so zum Spaß. Ich hatte mir gerade das Wemos D1 mini etwas genauer angesehen und sagte zu. Sollte kein zu großes Problem sein, damit per WLAN ein Relais zu steuern, welches die Beleuchtung dann schaltet. Das Problem war dann aber, dass ich aufgrund der letzten Bastelei kein Relais mehr hatte und pfuschen improvisieren musste: Statt des Relais habe ich ein Servo verwendet, mit dem eine Art motorisierter Schalter gebaut wurde. Also auch eine Art Relais, nur nicht mit Magnetspule, sondern mit Servomotor. Dem Elektriker meines Vertrauens sei gesagt, dass die Konstruktion längst wieder zerlegt wurde und nie für den produktiven Einsatz gedacht war. Der Vollständigkeit halber: Don’t try this at home!

Hier also das Video. Schnitt und so ist nicht von mir, nur die Bastelei und ein bisschen Schauspielerei (nicht gerade meine Kernkompetenz).

Fazit: Das Wemos D1 mini kann ich nur empfehlen. Im Wesentlichen Arduino-kompatibel, man kann es mit der Arduino-IDE programmieren (eine simple Anleitung zur Installation des Boards findet man hier), WLAN ist an Bord, außerdem ein einfach zu bedienender Webserver. Die erste Demo (Steuerung einer LED per WLAN) war mit guter Anleitung in unter 15 Minuten auf dem Schreibtisch lauffähig und die Abwandlung zur Servo-Steuerung ein Klacks. Außerdem ist ein Klon des Boards mit 6,50€ wirklich erschwinglich.

Vom Prozedere her läuft das ganze so: Code schreiben, compilieren und auf’s Board schieben, aus dem seriellen Monitor der Arduino-IDE die IP des Boards holen, mit dem Browser die IP aufrufen und darüber das Board steuern. Wenn man das ganze (wie im Video gezeigt) etwas eleganter per Smartphone machen will empfiehlt sich eine App wie z.B. HTTP Request Widget, die für Android Widgets erstellen kann, die dann HTTP-Requests absetzen und somit die Steuerung ohne den „Umweg“ über den Browser übernehmen.

Der Vollständigkeit halber hier noch mein Code für das Projekt:


//http://www.esp8266learning.com/wemos-webserver-example.php

#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <Servo.h>

const char* ssid = "deine WLAN-SSID";
const char* password = "dein WLAN-Passwort";
 
int servoPin = D4;
Servo Servo1;

WiFiServer server(80);






 
void setup() {
  Serial.begin(115200);
  delay(10);
 
  Servo1.attach(servoPin);
  Servo1.write(0);
 
  // Connect to WiFi network
  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
 
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected!");
 
  // Start the server
  server.begin();
  Serial.println("Server started");
 
  // Print the IP address
  Serial.print("Use this URL : ");
  Serial.print("http://");
  Serial.print(WiFi.localIP());
  Serial.println("/");

}

 
void loop() {
 
  // Check if a client has connected
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
 
  // Wait until the client sends some data
  Serial.println("new client");
  while(!client.available()){
    delay(1);
  }
 
  // Read the first line of the request
  String request = client.readStringUntil('\r');
  Serial.println(request);
  client.flush();
 
  // Match the request
 
  int value = LOW;
  if (request.indexOf("/servo=on") != -1) {
    //digitalWrite(servoPin, HIGH);
    Servo1.write(90);
    value = HIGH;
  } 
  if (request.indexOf("/servo=off") != -1){
    //digitalWrite(servoPin, LOW);
    Servo1.write(0);
    value = LOW;
  }
 
 
 
  // Return the response
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html");
  client.println(""); //  do not forget this one
  client.println("<!DOCTYPE HTML>");
  client.println("<html>");
 
  client.print("Servo position is now: ");
 
  if(value == HIGH) {
    client.print("ON");  
  } else {
    client.print("OFF");
  }
  client.println("

");
  if(value == HIGH) {
    client.println("Click <a href=\"/servo=off\">to turn the servo in OFF position</a>
");
  } else {
    client.println("Click <a href=\"/servo=on\">to turn the servo in ON position</a>
");
  }
  
  
  client.println("</html>");
 
  delay(1);
  Serial.println("Client disconnected");
  Serial.println("");
 
}


Arduino-Bastelei: Backup-Festplatte einschalten (lassen)

Arduino Pro Micro mit Relais

Nach meiner ersten und für den Anfang etwas aufwendigen Arduino-Bastelei war neulich Bedarf für ein zweites, diesmal sehr überschaubares Projekt: Das Einschalten einer USB-Backupfestplatte genau dann, wenn sie auch gebraucht wird.

Der Hintergrund ist der: Bei einem Rechner wird mit dem sehr empfehlenswerten Tool HardlinkBackup beim Herunterfahren des Rechners ein „inkrementelles“ Backup erstellt, und zwar mittels Hardlinks. Kurz gesagt macht man ein Vollbackup mit dem Platzbedarf eines inkrementellen Backups. Das aber nur am Rande, wäre ein Thema für sich. Das Backup wird jedenfalls automatisch gestartet, sobald Windows heruntergefahren wird. An dieser Stelle sollte die USB-Festplatte, auf die gesichert wird, dann auch verfügbar sein und nicht manuell eingeschaltet werden müssen. Dauerhaft laufen soll sie natürlich auch nicht, wenn der Rechner läuft. Das ist erstens nicht gut für die Lebensdauer der Platte, und zweitens nicht gerade sicher im Hinblick auf diverse Schadsoftware etc. Eine Möglichkeit wäre es, die Platte per Software erst einzubinden, wenn sie gebraucht wird, ich wollte sie aber hardwareseitig wirklich komplett ausgeschaltet haben.

Arduino Pro Micro

Und hier kommt wieder der kleine und günstige Arduino Pro Micro ins Spiel. Der kann – wie so ziemlich jeder andere Arduino auch – nämlich erstens per USB serielle Kommandos empfangen und verarbeiten, und zweitens dadurch getriggert dann z.B. über ein Relais die Stromversorgung der USB-Platte anschalten. Die Kosten für den Arduino plus das Relais liegen zusammen bei ca. 10€.

Und genau so wurde das auch umgesetzt. Mittels eines kleinen Tools namens SerialSend schickt der Rechner eine Kommando an die entsprechende USB-Schnittstelle, an der der Arduino hängt:


SerialSend.exe /baudrate 9600 /devnum 18 SwitchRelayON

Auf dem Arduino läuft dann folgender Sketch, der dieses Kommando empfängt und dann das an ihm an Pin 15 angeschlossene Relais schaltet:


// Define Relay Pin:
#define PinRelay 15

// Define string for relay status:
String SerialRead     = "SwitchRelayOFF";
String SerialReadOld  = "SwitchRelayOFF";

void setup() {
  
  // Define Pin mode:
  pinMode(PinRelay, OUTPUT);
  
  // Switch the relay OFF:
  digitalWrite(PinRelay, HIGH);

  // Turn serial monitor on:
  Serial.begin(9600);
  
}

void loop() {

  // Read data from serial port:
  if(Serial.available()>0) {
    SerialRead = Serial.readString();
  }

  // Only send command if status changed:
  if (SerialRead != SerialReadOld) {
    // Switch Relay:
    if (SerialRead == "SwitchRelayON") {
      digitalWrite(PinRelay, LOW);
      Serial.println("relay switched ON");
    } else if (SerialRead == "SwitchRelayOFF") {
      digitalWrite(PinRelay, HIGH);
      Serial.println("relay switched OFF");
    } 
  }

  SerialReadOld = SerialRead;
  
//  delay(1000);
  
}


Das SerialSend-Kommando wurde dann noch in das .bat-Skript integriert, welches sowieso schon beim Herunterfahren des Rechners das Backup angefahren hat:


@echo off


REM Platte über Arduino starten:
"C:\Users\Blablabla\Documents\backup-Sachen\SerialSend.exe" /baudrate 9600 /devnum 18 SwitchRelayON
timeout /T 20 > nul


REM Abbruch, falls Festplatte nicht erreichbar
if not exist "B:\" goto NoUSB:

REM Möglichkeit bieten, um Backup noch manuell abzubrechen:
Choice /T 15 /D J /M "Das Backup wird in 15 Sekunden automatisch gestartet. 'N' bricht ab... "
If Errorlevel 2 goto Abbruch:
If Errorlevel 1 goto StarteBackup:

REM Starte Backup
:StarteBackup
echo.
echo Starte das Backup, bitte warten...
cd "C:\Users\Blablabla\Documents\backup-Sachen\"
REM call "USB-Backup.hbd"
"C:\Program Files\Lupinho.Net\HardlinkBackup\HardlinkBackup.exe" -execute USB-Backup.hbd
echo Backup fertig!
Goto eof:

REM Ausgabe und Abbruch, falls Festplatte nicht erreichbar
:NoUSB
echo .
echo USB-Festplatte nicht gefunden!
Goto eof:

REM Abbruch
:Abbruch
echo .
echo Dann eben nicht...
Goto eof:

REM Sprungmarke, um Batch-Datei von jeder Stelle aus zu beenden:
:eof

Fast vergessen: Durch das Relais muss natürlich noch die Stromversorgung der USB-Platte laufen. Am besten hinter dem Netzteil einfach das Kabel aufgetrennt und eine der beiden Kabel durchgetrennt und durhc das Relais schleifen. In diesem Fall habe ich parallel noch einen ganz normalen Kippschalter gehängt, damit man die Platte auch ohne den Arduino per Hand einschalten kann, wenn man das mal möchte.

Das war’s dann auch schon. Fährt man jetzt den Rechner herunter hört man das kurze Klacken des Ralais, dann das Anlaufen der USB-Platte, anschließend startet das Backup und schließlich freut sich der Benutzer.

Arduino-Bastelei: Pedal zum Bass-Üben

Eines vorneweg: Auch wenn ich gern an allem möglichen herumbastle, bei Elektronik hört bei mir der Spaß schnell auf. Ich tausche schon mal defekte Kondensatoren in Netzteilen oder mache aus zwei defekten Kaffeemaschinen eine funktionierende, aber da müssen die defekten Stellen schon durch Rauch oder Feuer auf sich aufmerksam machen. Das große Verständnis von Elektronik fehlt mir. Etwas neidisch beobachtete ich bisher die Bastlerszene, die mit diversen günstigen Bauelementen allen möglichen Kram zusammenzaubert. Und immer wieder hörte ich, dass das alles mittlerweile gar nicht mehr schwer sei. Jeder könne das. Dabei viel immer wieder das Stichwort Arduino.

Im Sommer dachte ich, es wird auch für mich Zeit, mich da mal ein bisschen einzuarbeiten. Also habe ich einen bunten Strauß an Arduinoboards, Sensoren und Aktoren bestellt und zu basteln angefangen: Einfach mal ganz simpel einen Schalter an ein Arduinoboard und damit ein Schrittmotor steuern. Oder mit einem Näherungssensor ein Servo. Oder einfach nur eine LED blinken lassen (ein Unterfangen, an dem ich mit einer analogen Schaltung schnell scheitern würde). Mein Fazit ist: Wer googlen kann, der kann auch Arduino.

Bei diesen Spielereien habe ich irgendwann gelesen, dass diverse Arduinoboards, die ja einfach über die USB-Schnittstelle programmiert werden können, am Rechner auch gleichzeitig als Human Interface Device agieren können, sich also wie eine Maus oder eine Tastatur verhalten. Es ist also relativ leicht, sie als externes Eingabegerät für den Rechner zu verwenden. Dazu sind auch keine speziellen Treiber am Rechner nötig. Board an den USB-Anschluss und fertig.

Die Idee

Damit war die Idee geboren: Beim Bass-Üben stört es mich immer wieder, das Instrument aus der Hand legen zu müssen, um in Spotify nochmal zum Songanfang zu springen, in Youtube-Tutorials vor- oder zurückzuspulen, eine Webseite mit Chords weiterzuscrollen oder einfach nur die Lautstärke des PCs anzupassen. Ich übe in der Regel mit Kopfhörer an einem kleinen Mischpult, an dem auch der Rechner hängt, der mich mit Musik und Tutorials versorgt. Was es braucht ist eine Möglichkeit, diverse Funktionen des Rechners mit den Füßen zu steuern. Sollte mit einem kleinen Arduino machbar sein. Weiterlesen

Garantie wegoptimiert

Als ich damals mein altes HTC Desire HD in den Ruhestand geschickt habe, um auf das damals neue Nexus 4 umzusteigen, habe ich beschlossen, technische Geräte häufiger zu wechseln und nicht zu lange mit eigentlich veralteten Sachen zu arbeiten. Aber ich ertrage es einfach kaum, Dinge auszurangieren, die eigentlich noch ihren Dienst verrichten.

Ende letzten Jahres habe ich es dann doch getan: Mein sieben Jahre alter Dell Inspiron 1720 wurde voll funktionsfähig in Rente geschickt. Es war ein Weltgerät, nie mehr werde ich einen so guten und zuverlässigen Rechner haben! Aber das Alter… Glaubt mir, ich weiß, wovon ich rede.

Ich brauchte wieder ein Arbeitstier, maximal konfigurierbar. Und bezahlbar. Seither arbeite ich mit einem Schenker M704 mit sehr ordentlicher Ausstattung. Letzte Woche hab ich ihn zum ersten Mal an seine Grenzen gebracht, besser gesagt darüber hinaus. Aber gut, die >100GB RAM, die ich für mein Problem benötigte, hat im Moment einfach kein Laptop an Board. Das Gerät ist solide, keine Schönheit, aber ein echtes Arbeitstier. Ein paar Dinge stören mich (Tastaturlayout: Kein Abstand zum Zahlenblock, Position der Cursortaste etc.. Anschlüsse: Seitlich und zu weit vorne. Lüftersteuerung: Also bitte…), aber es gibt wohl nicht das perfekte Gerät.

Seit dem Umstieg arbeite ich auch mit einer neuen Maus, einer Logitech M705. Keine Bluetooth-Maus mehr, daher kommt sie mit einem kleinen USB-Adapter daher, einem „Logitech Unifying-Empfänger„. Ich dachte, das Ding stecke ich in den einzigen USB2-Port des Rechners, da wird das nicht weiter stören. Es stört aber, und zwar gewaltig. Das Problem ist, dass der Stecker einfach viel zu lang ist und man zu oft daran hängen bleibt. Sei es, wenn man den Rechner in die Schutzhülle der guten alten Umhängetasche stecken will (was ich oft mehrmals täglich will), oder wenn man den Rechner irgendwo seitlich abstellt. Die Gefahr, die Buchse (und damit vielleicht noch etwas mehr) mit einem Mal nachhaltig zu beschädigen ist nicht gerade klein. Und den Stecker jedes Mal abzuziehen und in der Maus zu deponieren ist auch nicht gerade elegant.

Die Idee hatte ich schon länger, heute hab ich es gewagt: Ich hab den USB2-Port quasi nach innen verlegt: Innen an den Port ein Stück USB-Kabel mit Buchse gelötet, die eigentliche USB-Buchse außen zugemacht und fertig. Gleiche Funktionalität wie vorher, aber der störende Dongle weg.

Weg ist damit allerdings auch die Garantie meines nicht mal ein Jahr alten Gerätes. Ich kann nur hoffen, dass dich Schenker – sollte es tatsächlich einmal zu einem Garantiefall kommen – kulant zeigen wird. Immerhin fanden sie die Idee eines fest verbauten Logitech Unifying-Empfängers gar nicht so schlecht.