Ardubat Batlogger

Nach der letzten Saison machten wir uns Gedanken über einen einfachen, günstigen Datenlogger. Wir wollten digitalen Speicher verwenden, um für die Auswertung nicht erst noch Bänder überspielen und Daten aufarbeiten zu müssen. Nach vielen Überlegungen ist ein Gerät entstanden, das auf dem „simple bat detector“  von Tony Messina und einem Arduino UNO basiert. Das Gerät kann keinen kommerziellen Logger ersetzen, dafür kostet die Hardware aber nur einen Bruchteil solcher Logger, ist ideal für eigene, kleine Projekte und läßt sich zudem mit etwas Programmierung an viele Aufgaben anpassen.

Tony hat seine Empfänger-Platine inzwischen so angepasst, dass sie direkt auf einen Arduino UNO gesteckt werden kann. Auf seiner Ardubat Seite präsentiert Tony die Schaltung und eine Bauanleitung. Das sogenannte Shield besteht aus zwei Bereichen – dem eigentlichen Empfänger und einem Bereich mit Tasten und LEDs, um verschiedene Funktionen aufrufen und Zustände anzeigen zu können.

ArdubatArdubat auf einem Arduino UNO

Hier einige Anwendungsideen:

  • den Ardubat als einfachen Fledermaus-Empfänger nutzen (eigentlich zu einfach :-))
  • eingehende Daten mit dem Arduino auswerten und über LEDs anzeigen
  • einen „data logger shield“ hinzufügen und Daten auf SD-Karte schreiben
  • ein LCD-Display hinzufügen und Daten anzeigen (Anzahl Rufe, Rufabstände usw.)
  • Daten via USB-Kabel an einen PC senden (Terminalprogramm)
  • Daten via USB-Kabel an ein Smartphone senden (Terminalprogramm)
  • weitere Sensoren hinzufügen (Temperatur, Helligkeit, Feuchte, GPS)
  • externe Geräte ein/ausschalten (Kamera, Recorder, …)

Inzwischen ist ein kleiner Stapel Ardubat-Platinen mitsamt Bauteilen eingetroffen (wer testen oder sogar mitentwickeln möchte – einige davon sind noch nicht fest verplant). Wir wollen auch einige Beispielprogramme vorstellen, die die grundlegenden Gebrauch des Shields zeigen. Wir werden nicht die Zeit haben, um jede gewünschte Software zu schreiben, aber im Internet finden sich alle Werkzeuge, Informationen und Anleitungen, um selbst kleine Programme erstellen zu können (siehe Links weiter unten).

Die einfachste Konfiguration besteht aus Ardubat bat-shield, einem Arduino UNO und einer Stromquelle. Der Ardubat benötigt 9 Volt, daher reicht es nicht, den Stack mit 5 Volt via USB-Kabel zu versorgen. Da Ardubat und Arduino über Spannungsregler verfügen, könnten beide beispielsweise aus einer günstigen 12V-Batterie gespeist werden.

Später käme sicherlich noch ein Gehäuse dazu, um die Hardware besser ins Gelände mitnehmen zu können und weitere Shields, z.B. ein Datenlogger-Shield.

Auf der Homepage des Arduino Projekts stehen kostenlose Entwicklungsumgebungen für Windows, MacOS und Linux bereit. Über diese Software können Programme via USB-Kabel an den Arduino übertragen werden und ebenso Textausgaben des Arduino-Boards empfangen werden (sehr hilfreich bei der Fehlersuche). Die Programmiersprache ist stark an C angelehnt, hat aber auch objektorientierte Ansätze. Das klingt zunächst vielleicht  kompliziert, aber man sollte sich einfach mal eines der vielen Beispielprogramme wie z.B. die  blinkende LED ansehen und feststellen, wie einfach diese zu lesen sind.

Um Daten auf SD-Karte zu schreiben bietet sich das „data logger shield“ von adafruit.com an. Über die Seite learn.adafruit.com sind Beispielprogramme und Bibliotheken zu finden.

In Deutschland wird das „data logger shield“ von exp-tech.de vertrieben (ca. 20 Euro). Der Versand erfolgt sehr schnell und es sind dort auch der Arduino UNO (ca. 25 Euro) und viele weitere Shields verfügbar. Zum „data logger shield“ sollte man auch unbedingt ein  stackable header kit mitbestellen, um darauf einen Ardubat aufstecken zu können.

Nach dem Aufbau eines Ardubats sind noch die Taster und LEDs mit den I/O Pins des Arduinos zu verbinden. Die Zuordnung ist jedem Anwender selbst überlassen, denn je nach Nutzung weiterer Shields könnten hier Kollisionen entstehen. Tony hat eine Standardbelegung erstellt, die in den Beispielprogrammen genutzt wird.

Zwecks Test und Einstellung der Empfindlichkeit des Empfängers hat Tony ein kleines Testprogramm geschrieben. Es werden bald weitere Programme hinzukommen,  einige stelle ich bereits auf meiner (englischen) Software-Seite vor.

Ardubat in Aktion (mit Fledermaus im Hintergrund)…

Hier als Beispiel die Ausgabe eines Loggingprogramms, das die Rufabstände der einzelnen Ortungsrufe misst und auswertet. Die ersten Zeilen zeigen einige Zwergfledermäuse, bei denen die meisten Rufabstände um ca. 90ms liegen. Einige Ereignisse sind nicht verwendbar, fallen aber auch sofort deutlich ins Auge (so z.B. um 22:46:47):

 07.06.2013 22:44:42  power up - pipistrellen im Vieburger, Waldweg
 07.06.2013 22:45:26  10 calls ..1.1.213....1.1.............. peak at 80ms
 07.06.2013 22:45:34   9 calls .......144.................... peak at 80ms
 07.06.2013 22:45:59   5 calls .....1.1.....21............... peak at 130ms
 07.06.2013 22:46:18  10 calls ........351...1............... peak at 90ms
 07.06.2013 22:46:42  10 calls .......144.......1............ peak at 90ms
 07.06.2013 22:46:47   6 calls ..................111.......1. peak at 280ms
 07.06.2013 22:47:06  10 calls ........26.1..............1... peak at 90ms
 07.06.2013 22:47:12   7 calls ........13.......11.........1. peak at 90ms
 07.06.2013 22:49:45  10 calls ......221111.....1.....1...... peak at 60ms
 07.06.2013 22:49:58  10 calls .......1.44........1.......... peak at 90ms
 07.06.2013 22:50:02  10 calls .......133...1.1....1......... peak at 90ms
 07.06.2013 22:51:23  10 calls ........73.................... peak at 80ms

Hier eine Myotis-Art, vermutlich Wasserfledermaus mit deutlich kürzeren Rufabständen:

 07.06.2013 23:09:23  power up Wasserfledermäuse an der Eider
 07.06.2013 23:09:30  10 calls ....22.2.111......1........... peak at 70ms
 07.06.2013 23:09:37  10 calls ....11.132.1...............1.. peak at 80ms
 07.06.2013 23:12:01   5 calls ......21......1.........1..... peak at 60ms
 07.06.2013 23:12:21   6 calls 11...1......1................. peak at 0ms
 07.06.2013 23:12:40  10 calls 131.1............2...1........ peak at 10ms
 07.06.2013 23:13:14  10 calls ...13.4......1..1............. peak at 60ms
 07.06.2013 23:13:37  10 calls ...21.22.....11............... peak at 70ms
 07.06.2013 23:13:43  10 calls .1..1.2213.................... peak at 90ms
 07.06.2013 23:13:49  10 calls .....52.2.............1....... peak at 50ms
 07.06.2013 23:13:58  10 calls .1.2231..........1............ peak at 50ms
 07.06.2013 23:14:09  10 calls .......24...11..1......1...... peak at 80ms
 07.06.2013 23:14:16  10 calls 1....11.33.1.................. peak at 80ms
 07.06.2013 23:14:42   4 calls ........11....1..1............ peak at 90ms
 07.06.2013 23:14:46  10 calls 2......42....1...........1.... peak at 70ms
 07.06.2013 23:14:53  10 calls ....25.2.......1.............. peak at 50ms
 07.06.2013 23:16:18   7 calls .......22.2................... peak at 70ms

Und so sieht ein vollständiger Logger mit Akku für ca. 24h aus:

ardubox2

Eine weitere Idee: Mit einem Nokia N5110 Display könnten Daten auch „live“ angezeigt werden:nokia2

 

Die Kommentarfunktion ist geschlossen.