Daten Logger Shield am MEGA R3 - AZ-Delivery

Hola a todos

Dado que tenemos un montón de preguntas en apoyo sobre el uso de nuestro Datalogginshield en conjunto con un MEGAR3, me gustaría mostrar brevemente hoy lo que se requiere para poner en marcha esta combinación tan fácilmente como sea posible.

Para ello necesitamos:

En el escudo del registrador de datos hay un RTC (DS1307) así como un lector de tarjetas SD que también reconoce las tarjetas formateadas en FAT32 y un área de creación de prototipos.

El problema entre los dos productos (UNO y MEGA) es la asignación de pines diferente. En un post, ya he Transferencia de Pines apuntar a otros controladores. Hemos creado una aplicación de ejemplo con el Escudo en la ONU Aquí Creado.

Para el RTC, utilizamos la Biblioteca de Adafruit, que aquí para descargar GitHub puede agregarlos como de costumbre a su carpeta "Bibliotecas" de c:-User-Documents-Arduino-libraries.

En el primer paso nos encargamos del RTC, luego del lector SD. No se requieren cambios en el lado del software, solo agregamos una conexión porque el escudo del registrador de datos SCL y SDA no están conectados a A4 y A5. Los pines adicionales no están ocupados por esto, tenemos suficientes alternativas. La forma más fácil de conectarse es soldar encabezados adicionales en el escudo del registrador de datos.

Aquí está una imagen de las plumas soldadas (amarillo):

Este encabezado adicional está conectado a "A4" y "A5" del escudo del registrador de datos. Colocamos esta conexión en SDA y SCL como se puede ver en la parte inferior de la imagen (MEGA con escudo girado por 180o):

Por lo tanto, el RTC está listo para funcionar y el ajuste de la hora funciona de inmediato:

Cómo configurar el RTC correctamente y utilizar la biblioteca se puede encontrar en nuestro libro electrónico en el RTC.

El siguiente paso es recurrir al lector de tarjetas SD. El problema con la biblioteca SD proporcionada es que la información necesaria para funcionar no está compilada, por lo que queremos utilizar otra biblioteca para este propósito.

el Biblioteca de Adafruit de GitHub soporta soft-SPI y es ideal para el escudo del registrador de datos.

Vamos a añadir una biblioteca que hacemos ya sea a través del administrador de la biblioteca, a través de la función de importación de la biblioteca o copiando los archivos necesarios después de c:-Usuarios-Documentos-Arduino-bibliotecas.

Sin embargo, ya que queremos reemplazar la biblioteca incluida para nuestro proyecto, navegamos al directorio de instalación del IDE de Arduino, normalmente bajo c:-Programs(x86)-Arduino-Librarys. Asigne un nombre a la biblioteca antigua, por ejemplo, después de SD_old y copie la biblioteca de Adarfuit en su lugar:

¿Problemas con el control de versiones de la biblioteca? -> VSCode con PlatformIO :)

Si se ha intercambiado la biblioteca de tarjetas SD, podemos llamar el ejemplo de sketch CardInfo:

Y sólo tiene que editar una línea, cambiar la línea seleccionada como se ve en la captura de pantalla:

Carga de bocetos y abra Serial Monitor:

Y ver el contenido de la tarjeta de memoria.

Por lo tanto, el RTC y el Lector de Tarjetas SD funcionan. Si queremos utilizar el ejemplo "Datalogger" de la nueva biblioteca reemplazada anteriormente, la personalización tiene lugar en SD.begin() porque card.init() no tiene ningún uso aquí:

Diviértete jugando con tu escudo registrador de datos en megaR3 y hasta el siguiente post :) 

 

Für arduinoProduktvorstellungen

9 comentarios

Andreas Wolter

Andreas Wolter

@Christ: der Beitrag ist schon etwas in die Jahre gekommen. Hardware buchstäblich zu beschneiden, passiert auf eigene Gefahr.
Ich nehme an, dass die Versionen nicht zusammenpassen. Wenn die Anleitung aus dem Beitrag nicht sofort funktioniert, würde ich die Bibliotheken downgraden, wenn die Hardware so aufgebaut wurde, wie oben beschrieben. Denn es sollte dann auch so funktionieren.

Grüße,
Andreas Wolter
AZ-Delivery Blog

Christ

Christ

warum keine antwort? ich habe nach deiner Anweisung pins abgezwickt die jetzt nicht mehr verbunden werden können. und trotzdem funktioniert es nicht. das microsd shield erkennt zwar sd karten aber es kann keine datei erstellt werden?

Christ

Christ

OK, habe 4,5,11,12,13 unter dem shield abgezwickt. 11,12,13 über drähte mit 51,50,52 verbunden und die arduino standard SD-Bibliothek verwendet. chipselect 10 gewählt. SD-Karte wird nicht erkannt.
obwohl bei github kommentiert war mega verwendet pin 53 als chip select. wollte dafür aber nicht den pin 10 des shields abzwicken. SD-Karte wird auch nicht mit der neuen Bibliothek von github erkannt.
Heißt nächstes Mal Shield gleich bei adafruit kaufen?

Andreas Wolter

Andreas Wolter

@Martin: ich vermute, dass beim Tausch der Bibliotheken etwas nicht funktioniert hat. Im Beitrag steht, dass die SD Bibliothek ausgetauscht werden muss. Eventuell greift die Arduino IDE trotzdem noch auf die alte Bibliothek zurück. Diese ließ sich nicht kompilieren.

Der Beitrag ist nun ein paar Jahre alt und es kann sein, dass sich während dieser Zeit etwas in den Bibliotheken verändert hat.

card.init() erwartetete vorher zwei Übergabeparameter. Mit der Änderung (siehe Bild), sind es nun fünf. Die Variable chipSelect ist damit überflüssig.

Haben Sie nach dem Tausch der SD Bibliothek diese Änderung im Beispiel-Sketch vorgenommen?
Welche Fehlermeldung erhalten Sie?

Grüße,
Andreas Wolter
AZ-Delivery Blog

Martin

Martin

Hallo Andreas, ich stehe gerade vor dem gleichen Problem wie Christian und könnte deine Hilfe gebrauchen. Kannst du bitte nochmal genauer darauf eingehen, wie die Pins des Data Logger Shield geändert werden können.
Danke

Andreas Wolter

Andreas Wolter

@Christian: ich melde mich per E-Mail

Christian

Christian

Leider klappt es bei mir nicht, obwohl nach Anweisung – sowohl software- als auch hardware-technisch – vorgegangen!
Die Funktion card.init erwartet bei mir in der zweiten Variablen (chipSelect) offenbar einen Wert und kann nicht wie in der Anweisung dargestellt, mit 4 Werten arbeiten => Compiler-Fehler. Auch die Zusammenfassung der vier Werte per Klammer führt nicht zum Erfolg. Es gibt zwar keinen Compiler-Fehler, aber die SD-Karte kann mit dem Board nicht initialisiert werden – mit anderen Boards tauchen diesbezüglich keine Probleme auf! Woran kann der Fehler liegen

Milan

Milan

Das SPI-Problem am SD-Shield lässt sich auch einfach mit 3 Kabeln lösen: Einfach Pin 50 (MISO) mit Pin 12, Pin 51 (MOSI) mit Pin 11 und Pin 52 (SCK) mit Pin13 auf dem Shield verbinden (löten). Um Probleme zu vermeiden, ist es besser, die “Beinchen” unter dem Shield abzuzwicken (4,5,11,12 und 13). Pin 10 stehen lassen! Der wird für den Slave Select benötigt und liegt beim Mega und Uno an der selben Stelle. … Dann muss man nicht mit den Bibliotheken rummachen … :-)

Bernhard

Bernhard

super, danke,
genau danach habe ich gesucht – und im Nu mein Problem gelöst.
Service auf höchster Ebene!

Deja un comentario

Todos los comentarios son moderados antes de ser publicados