Snootlab ist ein französiches Unternehmen in Toulouse und hat sich auf die Entwicklung von Opensource Hardware, speziell die Entwicklung von Arduino Shields, spezialisiert.
Freundlicherweise wurde mir von Snootlab ein Memoire Shield zum Test zur Verfügung gestellt. Das Memoire Shield ist eine Erweiterungsplatine mit integriertem SD Card Adapter, Uhrenbaustein und Prototypenfläche. Auf ein Arduino-Board aufgesteckt, eignet sich dieses Shield als Datenlogger und speichert Daten von Sensoren auf einer SD Speicherkarte.
Das Shield wird als Bausatz geliefert und muss vom Anwender selbst zusammengelötet werden. Der Bausatz beinhaltet neben der Leiterplatte die Stifleisten und weiteren Bauteile für den Aufbau des Datenloggers. Der Adapter für die SD Card und ein Spannungsregler (auf der Unterseite der Leiterplatte) sind bereits auf der Leiterplatte aufgelötet.
Der Aufbau der Leiterplatte ist dank der sehr detailierten Montageanleitung einfach. In der Anleitung wird jeder Schritt in Bildern erklärt. Der Aufbau kann durch diese ausführliche Anleitung auch von einem Einsteiger problemlos ausgeführt werden. Zusätzlich zur Montageanleitung in Französich und Englisch stehen im Downloadbereich der Produktseite weitere Daten wie Stromlaufplan und Bestückungsplan zur Verfügung. Fortgeschrittene Anwender können die Daten des Memoire-Shield als EAGLE-CAD downloaden und weiterverwenden.
Nach dem Bestücken und Prüfen der Leiterplatte kann die Litium-Batterie in den Batteriehalter gesteckt werden und die Platine ist bereit für die ersten Test.
Die beiden zu prüfenden Hauptfunktionen sind die Uhrenschaltung mit dem DS1307 und die Speicherung der Daten auf der SD Card. Beide Funktionstests können mit separaten Arduino-Sketchen geprüft werden.
Für die Uhrenschaltung empfiehlt sich der Einsatz der RTClib von Adafruit. Diese Bibliothek eigenet sich hervorragend für Uhrenanwendungen da das Einstellen der Uhrzeit automatisiert wurde. Mit der Aktivierung der Anweisung RTC.adjust() wird die Uhrzeit aus der Compilierungszeit übernommen und gesetzt.
if (! RTC.isrunning())
{
Serial.println("RTC is NOT running!");
// following line sets the RTC to the date & time
// this sketch was compiled
RTC.adjust(DateTime(__DATE__, __TIME__));
}
Nach dem einmaligen Setzten der Uhrzeit kann die Uhreinstellung wieder deaktiviert werden. Die eingestellte Uhrzeit wird nun für mehrere Jahre durch die Lithium-Zelle auf dem Shield gespeichert.
#include <Wire.h> #include "RTClib.h" RTC_DS1307 RTC; void setup () { Serial.begin(57600); Wire.begin(); RTC.begin(); if (! RTC.isrunning()) { Serial.println("RTC is NOT running!"); // following line sets the RTC to the date & time // this sketch was compiled RTC.adjust(DateTime(__DATE__, __TIME__)); } } void loop () { DateTime now = RTC.now(); Serial.print(now.year(), DEC); Serial.print('/'); Serial.print(now.month(), DEC); Serial.print('/'); Serial.print(now.day(), DEC); Serial.print(' '); Serial.print(now.hour(), DEC); Serial.print(':'); Serial.print(now.minute(), DEC); Serial.print(':'); Serial.print(now.second(), DEC); Serial.println(); }
Das Speichern von Daten auf einer SD Card, welche nicht im Lieferumfang enthalten ist, kann mit der Standard-Library SD von Arduino 1.0 erfolgen. Die elektrische Ansteuerung der Memorycard erfolgt dabei über die Standardport D10 bis D13. Falls man andere Portleitungen des Arduino-Boards verwenden möchte, kann man die Leiterbahnverbindungen an vorgesehen Stellen mit einem Messer oder Skalpell unterbrechen und nach eigenen Wünschen verdrahten.
Beide Schaltungselemente zusammen ergeben nun einen kleinen Datenlogger welcher Temperaturwerte oder andere Umweltdaten erfasst. Mein Datenlogger liest und speichert die Temperaturwerte von angeschlossenen 1-Wire-Sensoren vom Typ DS1820. Auf der freien Prototypenfläche werden die Stiftleisten für die externen Temperatursensoren aufgelötet sowie in Sensor für die interne Temperaturmessung montiert.
Ganz praktisch dabei ist saubere Beschriftung der einzelnen Ports und die Bereiche der Potentiale auf der Bestückungs-und Lötseite des Shields. So findet man ohne Messen die GND- und +5Volt-Signale.
Mein Datenlogger habe ich in eine dichte Frühstücksbox platziert. Ein kleiner Ausschnitt unter dem Deckel ist die Öffnung für das Kabel des angeschlossenen externen Temperatursensors. Der Datenlogger hat bereits in mehreren kalten Nächten die Temperatur gemessen und gespeichert.
Fazit
Das Memoire-Shield von Snootlab ist eine sehr praktische und nützliche Erweiterung für Arduino-Anwendungen. Die Qualität und die saubere Beschriftung der Leiterplatte sowie die grosse Fläche für eigene Protoypenaufbauten sind Punkte die mir am Memoire Shield von Snootlab gefallen haben.
5 Responses to “Kitreview: SD Card RTC LogShield”
- 1 Pingback on Feb 19th, 2012 at 19:48
Leave a Reply
Suchen
Aktuelles
- Arduino Praxiseinstieg, 5. Auflage erschienen
- Arduino UNO R4 offiziell vorgestellt
- Review: PCB Service von WellPCB
- Review: SMD-Bestückungs-Service von JLCPCB
- Portable Power Supply – VoltBot
- Leiterplatten-Panel bei JLCPCB
- Arduino Praxiseinstieg, 4. Auflage erscheint am 29.04.2019
- Klein, kleiner, ganz klein – ATtiny10
- Review – Leiterplatten (PCB) von JLCPCB
- Arduino Day 2018
Kommentare
- Review: PCB Service von WellPCB 2
ArduinoPraxis [...] - Arduino UNO R4 offiziell vorgestellt 2
ArduinoPraxis [...] - Review - Leiterplatten (PCB) von JLCPCB 4
Werner Smidt [...] - Review: SMD-Bestückungs-Service von JLCPCB 2
ArduinoPraxis [...] - Projekt: drahtloses Display für Oregon Scientific Wetterstation 3
Oliver [...]
Kategorien
Archive
- Dezember 2023
- Juni 2023
- Juli 2020
- Dezember 2019
- Oktober 2019
- Juni 2019
- April 2019
- Juli 2018
- Mai 2018
- November 2017
- Oktober 2017
- September 2017
- Juli 2017
- April 2017
- März 2017
- Februar 2017
- Dezember 2016
- November 2016
- September 2016
- Mai 2016
- Januar 2016
- Dezember 2015
- August 2015
- Mai 2015
- März 2015
- Januar 2015
- Dezember 2014
- September 2014
- August 2014
- Juli 2014
- Juni 2014
- Mai 2014
- April 2014
- März 2014
- Februar 2014
- Januar 2014
- Dezember 2013
- Oktober 2013
- September 2013
- August 2013
- Juni 2013
- Mai 2013
- April 2013
- März 2013
- Februar 2013
- Januar 2013
- Dezember 2012
- November 2012
- Oktober 2012
- September 2012
- August 2012
- Juli 2012
- Juni 2012
- Mai 2012
- April 2012
- Februar 2012
- Januar 2012
- Dezember 2011
- November 2011
- Oktober 2011
- September 2011
- August 2011
- Juli 2011
- Juni 2011
- Mai 2011
- April 2011
- März 2011
- Januar 2011
- Dezember 2010
- November 2010
- Oktober 2010
- September 2010
- August 2010
- Juli 2010
- Juni 2010
- Mai 2010
Hallo,
erstmal, Tolle Seite ! Gibt wirklich viel hier zu entdecken.
Ich bin auch gerade dabei, einen TemperaturLogger zu bauen, für meine SolarAnlage.
Und habe hier noch einpaar Probleme mit dem Code.
Kannst du mir deinen zu Verfügungstellen?
Vielen Dank und ich freue mich schon auf weitere tolle Projekte.
*greatz*
Cetax
@Cetax
Danke für deinen Feedback.
Beim Aufbau eines Datenloggers wie im Beispiel empfehle ich jeweils die einzelnen Funktionen RTC und Datenlogger getrennt zu testen. Sobald die Uhrzeit gesetzt werden kann und Daten auf die SD Card geschrieben werden, können die beiden Teile zusammengepackt werden.
Der Teil für die Uhr ist bereits publiziert und die Funktionen der SD-Card habe ich aus den Beispielen der SD-Card Library übernommen.
Es ist wichtig, den Integer Wert „chipSelect“ (so heißt er bei den examples der Standardlibrary; wird beim card.init benötigt) auf SS zu setzen. Ansonsten gibt es immer eine Fehlermeldung.
@Alexander
Bei den meisten SD Card Shields, so auch beim hier beschriebenen Memoire-Shield wird der Chip Select an Pin 10 angeschlossen.
In den Standardbeispielen der SD Card Library wird dies im Kommentar erwähnt
Und somit muss im Code folgender Eintrag stehen
const int chipSelect = 10;
Besten Dank für den Hinweis. 🙂