Как подключить цифровой датчик через SPI
Я хочу подключить акселерометр платы разработки ADXL355 к Arduino. Я не могу получить никаких данных от датчика. Контакт data_ready никогда не бывает высоким, и я не могу прочитать регистры.
Подключения (руководство пользователя):
Я подключил VDD и VDDIO к 5 В, землю к земле, DRDY к правильному контакту, CS, SCLK, MOSI и MISO — все к правильным контактам.
Код:
//modeled on https://www.arduino.cc/en/Tutorial/BarometricPressureSensor
#include <SPI.h>
const int ID = 0x00;
const int FIFO = 0x11;
const byte READ = 0b11111100;
const byte WRITE = 0b00000010;
const int dataReadyPin = 6;
const int chipSelectPin = 7;
void setup() {
Serial.begin(9600);
// put your setup code here, to run once:
SPI.begin();
// initalize the data ready and chip select pins:
pinMode(dataReadyPin, INPUT);
pinMode(chipSelectPin, OUTPUT);
delay(100);
readRegister(ID);
}
void loop() {
if (digitalRead(dataReadyPin) == HIGH){
Serial.println("data ready");
delay(500);
}
}
void readRegister (byte thisRegister){
byte inByte = 0 ;
Serial.println(thisRegister, BIN);
thisRegister = thisRegister<< 2;
byte dataToSend = thisRegister & READ;
Serial.println(thisRegister, BIN);
digitalWrite(chipSelectPin, LOW);
SPI.transfer(dataToSend);
inByte = SPI.transfer(0x00);
Serial.println("data: ");
Serial.println(inByte);
}
@rur2641, 👍1
0
Смотрите также:
- Множественный 3-проводной датчик SPI, взаимодействующий с Arduino
- Взаимодействие с датчиком SSI?
- Использование Broadcom AFBR-S50 с Arduino
- ESP32-CAM не читает BME680
- Датчик перепада давления DLHR SPI
- Водонепроницаемый датчик температуры SPI.
- Отсутствие Clock и MISO трафика на линиях SPI для ADXL375 с использованием teensy 3.2
- Как использовать SPI на Arduino?