Hur man mäter temperaturen mycket noggrant med en Arduino och en TSYS01 temperatur Sensor styrelse. (3 / 6 steg)
Steg 3: Välj mellan I2C och SPI
TSYS01 temperatur Sensor styrelsen stöder SPI och I2C kommunikation. Du måste välja en av dem och Anslut sensor styrelsen för en av dem. Den anslutning som du använder på samma sätt återspegla de inställningar som du använder i din skiss.
I2C
I2C anslutningen kräver bara två data linjer vara ansluten till temperatur sensor styrelsen. Det gör också flera enheter att dela samma två data linjer: SDA (data signal går här) och SCL (clock signal för timing). Markera den förvalda enheten att kommunicera med görs genom att skicka en unik I2C-adress innan du skickar datapaket. Vid standard Arduino överföringshastigheter, men I2C är mycket långsammare än SPI. Dessutom signalerar I2C kan endast dra linjer ner till marknivå. Hög signalnivån är acchieved med hjälp av två motstånd: en mellan 3.3V och SDA, och den andra mellan 3.3V och SCL. Detta gör signalnivåer att gå till 3.3V om I2C enheten inte är aktivt dra rader ner. Iallafall de flesta Arduinos bör ha inre pull-up motstånd för I2C data rader. Dock i vissa fall dessa interna pull-up motstånd kanske inte är tillräckligt och yttre motstånd med lägre Motståndsvärden bör läggas.
SPI
SPI anslutningen kräver mer data rader än I2C, men är också snabbare, enklare och kunna dra signalnivåer upp utan extra motstånd. Signalen linjer krävs är: MOSI (uppgifter från master till slav), MISO
(data från slav till master), SCLK (klocksignal) och CS (chip Välj). Eftersom SPI har separata data linjer för olika överföring riktningar, överföras data samtidigt i båda riktning (inte möjligt på I2C). Raderna MOSI, MISO och SCLK data kan delas mellan flera SPI enheter, men CS PIN-koden måste vara används separat för varje enhet, eftersom det används för att välja önskad enheten att kommunicera med. Om du har tillräckligt tillgängliga pins på din mikrokontroller, är detta förmodligen den bättre kommunikationsmetoden att välja.