Comunicazione SPI con sensore di differenza di pressione

Salve.
Chiedo supporto per poter instaurare la comunicazione SPI tra un sensore di differenza di pressione e Arduino UNO.

I collegamenti che ho fatto seguendo il datasheet sono:

SENSORE ARDUINO

GND ----------> GND
Vsupply ------> 3.3V
SS ------------> PIN 10
MISO ---------> PIN 11
SCKL ---------> PIN 13

Il sensore lavora tra 50 e 800 kHZ, MSBFIRST.
Il dato d'uscita è configurata in modo tale che i dati sulla linea MISO passano durante il fronte di discesa dell'impulso di clock (secondo il datasheet).

Questo link porta al modo di comunicazione del sensore

Questo link porta al datasheet del sensore:

Il modello del mio sensore è: ABP D JJ T 001PD S A 3

Ho letto altri topic ed esempio sulla libreria SPI, ma non ho trovato una guida che mi spieghi passo per passo come ricevere il dato del sensore e stamparlo sul serial monitor.

Grazie in anticipo.

--- ti rammento che è possibile sollecitare risposte (fare "up") NON prima di 48 ore dall'ultimo post. Grazie. - gpb01

Buongiorno,
essendo il tuo primo post, nel rispetto del regolamento (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie.

Guglielmo

P.S.: Qui una serie di link utili, NON necessariamente inerenti alla tua domanda:
- serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections
- pinout delle varie schede by xxxPighi: Pinout
- link generali utili: Link Utili

Qualcuno porrebbe aiutarmi?

Se non esistono già librerie fatte per quel sensore (... hai cercato con Google?) allora:

  1. devi conoscere esattamente COSA il tuo sensore si aspetta, quindi ... devi studiarti molto bene il datasheet

  2. nell'IDE, tra gli esempi, ci sono un paio di programmi già fatti per l'uso del bus SPI ... studiateli e vedi come viene utilizzato il bus SPI

Se non sai bene come funziona il bus SPI, puoi guardare prima QUI e poi QUI ...

Quando hai studiato il tutto prova a buttare giù un primo codice e vediamo come va ...

Guglielmo

Ho provato a buttare giù il codice. Il settaggio è corretto secondo il mio sensore.
Vorrei sapere adesso come faccio a stampare a video il valore "value". Dove devo inserire un print?

#include <SPI.h>
// set pin 10 come slave
const int slaveSelectPin = 10;
int address;
int value;

void setup() {
 Serial.begin(9600);
 // imposta slaveSelectPin come output:
 pinMode(slaveSelectPin, OUTPUT);
 // initialize SPI:
 SPI.beginTransaction ( SPISettings (800000, LSBFIRST, SPI_MODE0));
}

void loop() {
 Serial.print(value);
 digitalWrite(slaveSelectPin, LOW);
 // invia l'indirizzo e il valore tramite SPI:
 SPI.transfer(address);
 SPI.transfer(value);
 Serial.println(value);
 // chiudo SS:
 digitalWrite(slaveSelectPin, HIGH);  
 delay (1000);
}

>gp_darc: ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra). Grazie,

Guglielmo

up

Cosa intendi con "stampare a video"?
Nel codice ci sono già dei serial.print...

Quei "Serial.print" li ho utilizzati per verifica di codice.

Il sensore che uso, quando è attivo, invia 4 bit e io voglio leggere questi bit per poterli convertire in pressione.