Ich verwende ein microSD-Breakout-Board und den Beschleunigungssensor ADXL345 https://www.sparkfun.com/products/9836 .
jeder allein funktioniert einwandfrei, aber sobald ich beide gesetzt habe (Pins 11,12,13 teilen, aber mit unterschiedlichen CS-Pins), funktioniert nichts.
Ich verwende einen anderen Sensor mit dem I2C, nämlich den BMP085: https://www.sparkfun.com/products/11282
Der Beschleunigungsmesser funktioniert auch in I2C, aber das erfordert Pull-up-Widerstände, wenn sich mehrere Geräte I2C teilen.
Ich wollte SPI, da es einfacher schien, wo ich einfach den CS angeben kann und alles hätte funktionieren sollen.
Übersehe ich etwas im SPI-Fall? Ist es besser, Geräte auf I2C statt auf SPI zu teilen?
Die Auswahl macht wirklich wenig Unterschied, wenn Sie die Arduino-Bibliotheken verwenden. Sie sollten die gleiche Art von Leistung sehen.
Was die i2c-Pullup-Widerstände betrifft, hat die BMP085-Platine, mit der Sie verbunden sind, bereits Pullups auf der Platine, die mit einem geschlossenen Lötjumper verbunden sind. Dieselben Klimmzüge sollten für beide Sensoren ausreichen, sodass Sie keine weiteren hinzufügen müssen.
Aber es gibt keinen Grund, warum der Sensor nicht auch mit einer SD-Karte auf SPI funktionieren sollte. Hast du nochmal überprüft, ob du alle Böden miteinander verbunden hast? Wie funktioniert es nicht? Funktioniert es nur für einen Lese-/Schreibvorgang, bevor es fehlschlägt? Stellen Sie sicher, dass Sie beide CS-Pins auf High / Low treiben, anstatt einen als schwebenden Eingang zu belassen?
PeterJ
Himura
PeterJ
Michael Karas