Stap 3: Kies tussen I2C en SPI
De TSYS01 Temperatuur Sensor Bestuur ondersteunt SPI en I2C communicatie. U zal hebben om te beslissen voor een van hen en aansluiten van de sensor van bestuur voor een van hen. De verbinding die u gebruikt moet ook afgestemd op de instellingen die u in uw schets gebruikt.
I2C
De I2C-verbinding vereist slechts twee data lijnen worden verbonden met de temperatuur sensor bestuur. Het maakt het ook mogelijk meerdere apparaten te delen dezelfde twee data lijnen: SDA (gegevens signaal gaat hier) en SCL (kloksignaal voor timing). Selecteren van het gewenste apparaat om te communiceren met wordt gedaan door een uniek I2C adres te sturen voordat de gegevenspakketten worden verzonden. Bij de standaard Arduino overdrachtssnelheden is de I2C echter veel trager dan SPI. Bovendien I2C kan alleen pull signaal lijnen tot maaiveld. Het signaalniveau hoge kwalificatie is met behulp van twee weerstanden: een tussen 3.3V en SDA, en anderzijds tussen 3.3V en SCL. Dit maakt de signaalniveaus naar 3,3 v als de I2C-apparaat is niet actief de lijnen naar beneden trekken. Atleast de meeste Arduinos moeten interne pull-up weerstanden voor de I2C data lijnen. Echter in sommige gevallen deze interne pull-up weerstanden wellicht niet genoeg en externe weerstanden met lagere weerstand waarden moeten worden toegevoegd.
SPI
De SPI-verbinding vereist meer data lijnen dan I2C, maar is ook sneller, eenvoudiger en kundig signaalniveaus optrekken zonder extra weerstanden. De signaallijnen vereist zijn: MOSI (gegevens van meester slave), MISO
(gegevens van de slaaf meester), SCLK (kloksignaal) en CS (chip select). Omdat SPI aparte data lijnen voor verschillende transmissie richtingen heeft, kunnen de gegevens gelijktijdig in beide richting (niet mogelijk op I2C) worden overgedragen. De data lijnen van MOSI, MISO en SCLK kunnen worden gedeeld tussen meerdere SPI-apparaten, maar de CS-pin moet worden gebruikt apart voor elk apparaat, omdat het wordt gebruikt om het voorkeursapparaat om te communiceren met selecteren. Hebt u genoeg beschikbare pinnen op uw microcontroller, is dit waarschijnlijk de betere communicatiemethode te kiezen.