Danger Shield

Das Gerät

Danger_ShieldBei dem Dan­ger Shield han­delt es sich um ein Shield für den Ardui­no, das auf kleins­tem Raum unzäh­li­ge Sen­so­ren und Akto­ren ver­eint.

Ent­wi­ckelt wur­de es von Zach Smith, auf sei­ner Sei­te fin­det man neben der aus­führ­li­chen (eng­li­schen) Auf­bau­an­lei­tung auch Demo­pro­gram­me und Eagle-Files, um sich das Board sel­ber zu ätzen.

Es wird mit sämt­li­chen benö­tig­ten Tei­len gelie­fert, ein­zig der IC-Sockel fehl­te in mei­nem Tüt­chen. Er ist auch nicht zwin­gend für den Auf­bau oder den Betrieb not­wen­dig, aber mei­ne Spie­ßig­keit hat mich dann doch in die Apo­the­ke nach Con­rad geführt, wo ich mir für sagen­haf­te 0,47€ einen ent­spre­chen­den Sockel besorgt habe.

Die Funktionen im Einzelnen

  • 3 Schie­be­po­ten­tio­me­ter mit inte­grier­ten LEDs (jede ein­zeln über PWM steu­er­bar)
  • 3 Druck­tas­ter
  • 2 LEDs (jeweils mit PWM)
  • Mikro­piep­ser (um Krach zu machen!)
  • Tem­pe­ra­tur­sen­sor
  • Licht­sen­sor
  • Schall­sen­sor
  • 7-Seg­ment-Anzei­ge (ange­steu­ert über ein Shift Regis­ter)
  • Power-LED und Reset­tas­ter

Die Aufbauanleitung

Im eng­li­schen Ori­gi­nal mit hüb­schen Fotos.

Eigent­lich funk­tio­nier­te der Auf­bau selbst für einen Löt-Noob wie mich völ­lig pro­blem­los. Ein wenig irri­tier­te mich zwar der Bei­pack­zet­tel mit dem Hin­weis, dass der Tem­pe­ra­tur­sen­sor falsch her­um auf die Pla­ti­ne gedruckt sei und die­ser Feh­ler nach wie vor nicht in der Auf­bau­an­lei­tung berück­sich­tigt ist, aber es hat ja geklappt.

Ein­zig mei­nen Wider­stand-Bie­ge-Skill benö­tigt noch eini­ges an Übung, jeden­falls wenn die win­zi­gen Bies­ter senk­recht ein­ge­lö­tet wer­den müs­sen und dem­entspre­chend nur eines der bei­den Dräht­chen gebo­gen wer­den muss — dafür um 180° anstatt 90°. Das sieht nun bei mir eher unan­sehn­lich aus — aber es funk­tio­niert, und dass ist die Haupt­sa­che.

Die ersten Progrämmchen

Das Dan­ger Shield wird mit einer Fül­le von Demo-Pro­gram­men “aus­ge­lie­fert”, d.h. man kann sich die­se auf der Sei­te von Zach Smith bzw. bei SourceF­or­ge her­un­ter­la­den. Einen Schön­heits­feh­ler haben sie jedoch: sie funk­tio­nie­ren lei­der nicht auf Anhieb, mög­li­cher­wei­se weil sie bereits ein Jahr alt sind (27.8.2008). Es gibt aller­dings einen klei­nen Work­a­round, so dass sie auch heu­te, mit der Ver­si­on 0017 der Ardui­no-Soft­ware lauf­fä­hig sind:

Mit­ten­text Plea­se gene­ra­te and pas­te your ad code here. If left empty, the ad loca­ti­on will be high­light­ed on your blog pages with a remin­der to enter your code.

Jedes Bei­spiel­pro­gramm des Dan­ger Shiel­ds ruft eine “_init.h” auf. Dort wer­den eini­ge Vor­ga­ben gemacht, um das Leben mit dem Dan­ger Shield zu ver­ein­fa­chen. Man kann somit rela­tiv pro­blem­los aus dem eige­nen Pro­gramm her­aus die ein­zel­nen Bau­tei­le des Shiel­ds anspre­chen.

Um nun die Kom­pa­ti­bi­li­tät wie­der her­zu­stel­len, fügt man ein­fach am Anfang der jewei­li­gen  “_init.h” (in jedem Unter­ver­zeich­nis der Demo­pro­gram­me ist eine eige­ne, auch wenn sie iden­tisch sind) den fol­gen­den Befehl ein:

// insert this to work with arduino software 0017
#include "WProgram.h"

Und schwupps — tau­chen kei­ne Kom­pi­lie­rungs­feh­ler mehr auf. Jeden­falls nicht bei mir. (Und bit­te: nicht fra­gen, wofür genau WProgram.h zustän­dig ist)

Alter­na­tiv kann man sich aber auch die aktu­ells­te Ver­si­on der Pro­gram­me ver­steckt im Sub­ver­si­on her­un­ter­la­den, lei­der nicht gesamt als Zip-Datei, aber wenigs­tens bereits mit dem o.g. inclu­de.

Funktioniert es?

Ent­ge­gen mei­nen Erwar­tun­gen habe ich kei­nen Löt­feh­ler ein­ge­baut und das Shield ver­rich­tet sei­nen Dienst. Das ein­zi­ge, was mich zunächst ziem­lich erschreckt hat­te, war der Mikro­piep­ser. Wie heisst es doch oben so schön? “um Krach zu machen!” Und das war dann auch, neben einem wir­ren Blin­ken sämt­li­cher LEDs, das ers­te, was mein Dan­ger Shield von sich gege­ben hat: Krach. Aller­dings war ich das sel­ber schuld, denn ich hat­te ein­fach nur nicht dar­an gedaht, dass im nicht­flüch­ti­gen Spei­cher des Ardui­no noch das letz­te Pro­gramm war — und das hat­te unter ande­rem zur Auf­ga­be, ein LCD anzu­steu­ern. Dum­mer­wei­se sprach das Pro­gramm nun halt nicht mehr das LCD, son­dern die nun ander­wei­tig “besetz­ten” Pins an, eben auch den Pie­per. Nach dem Upload des ers­ten Demo-Pro­gramms hat­te ich die­ses Man­ko aber auch schon in den Griff bekom­men.

Etwas ner­vig ist ledig­lich die Tat­sa­che, dass die­ser Piep­ser auch immer dann für eine gefühl­te hal­be Stun­de hal­be Sekun­de rum­piepst, wenn ein Pro­gramm hoch­ge­la­den wird oder der Ardui­no mit einem Pro­gramm star­tet. Aber es gibt halt immer Din­ge, mit denen man ent­we­der leben oder deren Ursa­che man raus­krie­gen und behe­ben muss.

Sonstiges

Die von mir ver­wen­de­ten Bil­der wur­den freund­li­cher­wei­se von Zach Smith bei Flickr mit einer CC-Lizenz ver­öf­fent­licht ver­öf­fent­licht.

Bei freeduino.de fin­det man die Annoy­ing Sli­ders, eine klei­ne Spie­le­rei mit den Sli­dern und dem Pie­zo­sound.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.