Acelerador de apilamiento de problemas y protectores de tarjetas SD en Arduino UNO

3

Tengo un acelerómetro ADXL345 en un Makershield apilado encima de un Se ha visto el protector de la tarjeta SD . Ambos se apilan en un Arduino UNO R2.

Los tengo trabajando individualmente, pero cuando están apilados comparten el pin 12. El protector de la tarjeta SD usa 12 para MISO de SPI y el ADXL345 lo usa para la dirección SDO / Alt.

Soy nuevo en Arduino y no he apilado escudos como este antes. No estoy seguro de cuál es el mejor curso de acción para que ambos funcionen. En última instancia, quiero registrar los datos del acelerómetro en la tarjeta SD, ¡pero primero lo primero!

Estaría agradecido por cualquier ayuda. He vinculado las hojas de datos para el ADXL345 y el escudo SD anterior.

    

1 respuesta

2

Su mejor solución dependerá del modo en el que opere el ADXL345.

Si lo está utilizando en modo SPI, entonces el pin 12 se está utilizando para el mismo rol en ambos tableros, y deberían poder compartirlos simplemente tomando turnos, solo el que tiene (ha) activado su selección de esclavo debe conducir datos de retorno.

Si lo está utilizando en el modo I2C, puede cortar la traza o quitar el pin del blindaje y cablearlo de forma permanente o alta dependiendo de la dirección que desee seleccionar. También es posible que pueda reconfigurar el pin 12 como una salida y manejarlo alto o bajo cada vez que quiera hablar con el ADXL345, y luego convertirlo de nuevo en una entrada al hablar con el SD. Incluso es probable que funcione si se coloca un resistor de extracción, que permitiría que el ADXL345 lo vea como un valor alto (solo un valor confiable para controlar la dirección) y que la tarjeta SD lo anule para enviar datos.

Si no sabe qué modo se está utilizando, mire el código (para la biblioteca) que está utilizando para interactuar con él. (Como una conjetura, es probable que sea el modo I2C, porque si fuera SPI, probablemente querría usar la mayoría de los mismos pines que usaba el escudo SD, en lugar de solo uno). O compruebe el pin / CS: si está cableado alto, tiene el modo I2C, si está conectado a un pin Arduino podría tener SPI.

    
respondido por el Chris Stratton

Lea otras preguntas en las etiquetas