Bonjour,
En ce qui concerne les questions relatives à l'utilisation de notre zone de données en liaison avec un MEGAR3, je voudrais brièvement vous montrer ce qui est nécessaire pour que cette combinaison soit aussi simple que possible.
Nous avons besoin de cela.
Sur le Shield Data Logger, il y a un RTC (DS1307) et un lecteur de carte SD qui reconnaît également les cartes formatées en FAT32 et un prototype de prototype.
Le problème des deux produits (ONU et MEGA) est le mappage de données Pin différent. J'ai déjà eu la même contribution dans une intervention. Transfert de Pins vers les autres contrôleurs. Nous avons un exemple d'application avec Shield à l'ONU. ici est créé.
Nous utilisons pour la RTC la bibliothèque d'Adafruit, laquelle ici pour télécharger GitHub , vous pouvez les ajouter comme d'habitude à vos dossiers Librarys à partir de c:\user\documente\Arduino\libraries.
Dans la première étape, nous nous occupons de la RTC, à la suite du lecteur SD. Aucune modification n'est requise ici, mais nous ne sommes pas connectés à la zone Shield Logger-Shield, SCL et SDA non reliées à A4 et A5. Les Pins supplémentaires ne sont pas démontrés, nous disposons de suffisamment d'alternatives. Le plus simple est de convertir la connexion en les louant par des broches supplémentaires sur le Shield de Data Logger.
Voici une image des stylos (jaunes) brasés:
Cette barre de broches supplémentaire est connectée à "A4" et "A5" de la zone de décalage de données. Cette connexion est mise en relation avec SDA et SCL, comme indiqué ci-dessous dans l'image (MEGA avec Shield tourné de 180 °):
Ainsi, le RTC est opérationnel et le réglage de l'heure est basculé sur Anhieb:
Vous pouvez configurer RTC correctement et utiliser la bibliothèque dans notre e-Book pour RTC.
A l'étape suivante, nous nous tournons vers le lecteur SD Card Reader. Le problème de la bibliothèque SD est celui qui ne compile pas les informations requises pour fonctionner, et nous voulons donc utiliser une autre bibliothèque pour l'utiliser.
Les Bibliothèque d'Adafruit à partir de GitHub prend en charge la SPI soft et est l'idéal pour le Shield Data Logger.
Si nous ajoutons une bibliothèque, nous pouvons le faire soit par le gestionnaire de bibliothèque, soit par la fonction d'importation de celui-ci, soit en copiant les fichiers nécessaires. c:\utilisateur\documente\Arduino\libraries.
Cependant, étant donné que nous voulons remplacer la bibliothèque fournie pour notre projet, nous allons naviguer dans le répertoire d'installation de l'IDE Arduino, le plus souvent sous c:\Program Files (x86) \Arduino\Librarys. Nommez la bibliothèque ancienne par SD_old et copiez la bibliothèque Adarfuit à sa place:
Incidents liés à la gestion des versions des bibliothèques? -> VSCode avec PlatformIO:)
Si la bibliothèque SD Card a été échangée, nous pouvons appeler la chaîne CardInfo de l'exemple:
Pour modifier une seule ligne, modifiez la ligne marquée comme indiqué dans la capture d'écran:
Téléchargement de Sketch et ouverture du moniteur série:
Et regardez le contenu de la carte mémoire.
Ainsi, le RTC et le lecteur de cartes SD fonctionnent. Si nous voulons utiliser l'exemple "Datalogger" de la nouvelle bibliothèque précédemment remplacée, la personnalisation est effectuée dans SD.begin () car card.init () n'a pas été utilisé ici:
Bonne Spass pour bastler avec votre Shield Data Logger sur MegaR3 et jusqu'à la prochaine contribution:)
9 commentaires
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
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
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
@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
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
@Christian: ich melde mich per E-Mail
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
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
super, danke,
genau danach habe ich gesucht – und im Nu mein Problem gelöst.
Service auf höchster Ebene!