Neue Gruppe im JFZ Calw: "Smart Tree House Lock" (STH)

Nachdem ich Anfang 2014 mal die Idee für einen eigenen Hackerspace hier veröffentlicht habe, hat sich doch etwas getan. Ich hatte dann relativ schnell die damals noch lose MvLG Robotik Gruppe im JFZ besucht. Sie haben gleich zu Anfang schon einen 3D Drucker gebaut und mit Processing programmiert. Heute ist daraus der C-Hack entstanden. Die erste HPN (in Anlehnung an die GPN = Gulasch Programmier Nacht, also Hackfleisch Programmier Nacht) steht noch aus. Aber vielleicht haben die Leute in naher Zukunft mal Bock darauf.
Nachdem mir dann immer ein konkretes Projekt gefehlt hat, bin ich Anfang 2015 in das Baumhausprojekt eingestiegen und habe dabei angefangen ein elektronisches Schloss zu entwickeln. Nachdem ich dabei mehr oder weniger fast ein ganzes Jahr lang größtenteils in Eigenregie (mit Hilfe in Form von Relais) immer auf den letzten Metern versagt habe, wurde es einmal Zeit Hilfe in Form von weiteren Mitstreitern zu holen. Coden kann ich ja relativ gut. Der C-Dialekt von Arduino ist zwar immer noch gewöhnungsbedürftig. Aber mit Erfahrung aus der Berufschule und etwas Objekt Orientierung in C# geht das schon. Sonst wäre die reine Referenz von Arduino doch etwas mager.
Mein Problem lag hauptsächlich in der Verdrahtung der Teile. Bisher hab ich immer ein Relais Modul verwendet, welches nach Eingabe des richtigen Code geöffnet hat. Das Problem war eben, dass es nach 2 bis 3 erfolgreichen Versuchen das LCD komische Zeichen angezeigt hat und damit unbrauchbar war.

Ohmsches GesetzSchaltungDoch nun haben wir in unserer Anfang Februar 2016 eine neue Gruppe gegründet. Die "Smart Tree House Lock" Gruppe (kurz: STH). Unser Ziel ist erstmal das elektronische Schloss fürs Baumhaus fertig zu bekommen und später insgesamt kleinere bis große Smart Home Elemente am Baumhaus zu erforschen und vielleicht auch einzubauen. Das schöne an unserer Gruppe, dass wir neben Schülern auch einen ehemaligen Elektrotechnik Ausbilder gewonnen haben. Der hat dann schon beim ersten Treffen die Idee auf eine MOSFET Schaltung gebracht. Davon hatte ich zwar auch immer schon was gelesen und gehört, aber nie richtig verstanden. Zuviele Widerstände und Kondensatoren. Nach der Erklärung letzte Woche war es aber dann doch relativ logisch. Es ist eigentlich nur ein besserer Transistor, welcher den Strom steuert. Und plötzlich ging die Schaltung völlig problemlos. Jetzt werden wir uns diese Woche noch die Schaltung auf eine Lochraster Platinen löten um sie dann am Baumhaus passend einzubauen. Dann können wir in Zukunft recht einfach per Code Eingabe unser Schloss öffnen.
Natürlich ist das aus Sicherheitssicht nicht unbedingt sicher, vor allem wenn der Code vom Datum abgeleitet wird. Aber im Zweifel wird der Einbrecher das Schloss mit physischer Gewalt öffnen und eher weniger den Code manuell eingeben. Aber in Anlehnung an die PIN Eingabe bei Bankkarten gibt es auch immer eine gewisse Sperre, wie schnell man den Code wieder eingeben kann. Es ist auch erst unser erster funktionsfähiger Prototyp. Später kommen noch Reed Kontakte und das SMS Modul zur Benachrichtigung von Sabotage Versuchen hinzu.

Na Lust bekommen?
Wir treffen uns immer Donnerstags von 19Uhr bis 21Uhr im JFZ Calw. Komm doch einfach mal vorbei.

Eigene Homepage, Mailingliste oder vielleicht sogar IRC Channel folgen bei Gelegenheit!

Visual Studio Code - interessanter Editor

vscodeWer kennt das nicht. Man möchte etwas programmieren und benötigt dazu einen guten Editor für Syntax Highlighting und im Idealfall sogar Autocompletion. Leute die unter Windows auf .NET entwickeln greifen dazu oft zu Visual Studio (Express oder andere Editionen). Für normale Dinge reicht oft auch Notepad++, er leistet einen guten Beitrag zum Syntax Highlighting.

Visual Studio Code will aber noch viel einfacher sein. Mit einer Ordnerliste, Git Support, Syntax Highlighting und die gewohnte IntelliSense (Autocompletion) Technologie. Ich muss sagen: Es sieht schon sehr nett aus, aber die Version 0.9.2 ist noch nicht komplett bugfrei. Mir ist der Editor beim Öffnen eines ganzen Ordner (xtcommerce Installation) auch schon mal abgestürzt.
Ansonsten ist es aber schon ganz gut brauchbar und auf jeden Fall einen Versuch wert.

//Update: 20.11.2015 Um Visual Studio Code unter Linux zum Laufen zu bekommen, hilft es folgende Anleitung zu benutzen. Der Link zur ZIP Datei für Linux ändert sich scheinbar immer mal wieder. Daher am besten hier nachschauen.

Arduino: Keypad Tasten zuordnen

Wer einmal mit einem Keypad gearbeitet hat, kennt die Situation vielleicht: Man hat einige Pins, aber weiß nicht, wo man welche Pins einstecken soll. Dabei gibt es eine relativ einfach Lösung um die Zuordnung der Tasten im Code anzupassen. Man lädt sich folgenden Code in Arduino rein. Öffnet später dann den Serial Monitor und drückt eine Taste. Nun sieht man welche Taste man angezeigt bekommt. Stimmt diese nicht mit der gedrückten Taste überein, muss die Taste an der entsprechenden Stelle im "keys[ROWS][COLS]" Array angepasst werden.
Ist man mit allen Tasten durch, lädt man den aktualisierten Code nochmal auf den Arduino und prüft erneut die Angabe.

Die Keypad Lib ist die Standardlib von Arduino. Wenn ihr irgendwann mal etwas mit dem offiziellen GSM Modul von Arduino und einem Keypad machen wollt, sei dieser Thread empfohlen. Dann sind nämlich Anpassungen an der Keypad Lib notwendig.

#include 
#include 
#include 

//Keypad Deklaration
const byte ROWS = 4; 
const byte COLS = 4; 
char keys[ROWS][COLS] = {
  {'D','C','B','A'},
  {'#','9','6','3'},
  {'0','8','5','2'},
  {'*','7','4','1'}
};

//Keypad PINS.
byte rowPins[ROWS] = {2,3,4,5}; //connect to row pinouts 
byte colPins[COLS] = {6,7,8,9}; //connect to column pinouts
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void Keyeingabe()
{
    char key = keypad.waitForKey();    
    Serial.println(key);
}

void setup() 
{
    Serial.begin(9600); //Für Debugging notwendig.
    
}

void loop() 
{   
    Keyeingabe();
}

//Hinweis: Wegen HTML muss die letzte Zeile und die #include Zeilen beim Kopieren angepasst werden. Der Code zeigt aber schon mal schön, wie es funktioniert. :)