Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
AD7416ARZ er en 10-bits temperatursensor med fire enkeltkanals analoge til digitale omformere og en innebygd temperatursensor som er integrert i den. Temperaturføleren på delene kan nås via multiplexerkanaler. Denne temperatursensoren med høy nøyaktighet har blitt en industristandard når det gjelder form, faktor og intelligens, og gir kalibrerte, lineariserte sensorsignaler i digitalt I2C-format.
I denne opplæringen har grensesnittet mellom AD7416ARZ sensormodulen og arduino nano blitt illustrert. For å lese temperaturverdiene har vi brukt arduino med en I2c -adapter. Denne I2C -adapteren gjør tilkoblingen til sensormodulen enkel og mer pålitelig.
Trinn 1: Nødvendig maskinvare:
Materialene vi trenger for å nå målet vårt inkluderer følgende maskinvarekomponenter:
1. AD7416ARZ
2. Arduino Nano
3. I2C -kabel
4. I2C -skjold for arduino nano
Trinn 2: Maskinvaretilkobling:
Maskinvarekoblingsdelen forklarer i utgangspunktet ledningsforbindelsene som kreves mellom sensoren og arduino nano. Å sikre riktige tilkoblinger er den grunnleggende nødvendigheten mens du arbeider på et hvilket som helst system for ønsket utgang. Så de nødvendige tilkoblingene er som følger:
AD7416ARZ fungerer over I2C. Her er eksempel på koblingsskjema, som viser hvordan du kobler til hvert grensesnitt på sensoren.
Uten boksen er brettet konfigurert for et I2C-grensesnitt, derfor anbefaler vi å bruke denne tilkoblingen hvis du ellers er agnostiker.
Alt du trenger er fire ledninger! Bare fire tilkoblinger kreves Vcc, Gnd, SCL og SDA -pinner, og disse er koblet til ved hjelp av I2C -kabel.
Disse sammenhengene er vist på bildene ovenfor.
Trinn 3: Kode for måling av temperatur:
La oss begynne med arduino -koden nå.
Mens vi bruker sensormodulen med arduinoen, inkluderer vi Wire.h -biblioteket. "Wire" -biblioteket inneholder funksjonene som letter i2c -kommunikasjonen mellom sensoren og arduino -kortet.
Hele arduino -koden er gitt nedenfor for brukerens bekvemmelighet:
#inkludere
// AD7416ARZ I2C -adressen er 0x48 (72)
#define Addr 0x48
ugyldig oppsett ()
{
// Initialiser I2C -kommunikasjon som Master
Wire.begin ();
// Initialiser seriell kommunikasjon, sett overføringshastighet = 9600
Serial.begin (9600);
forsinkelse (300);
}
hulrom ()
{
usignerte int -data [2];
// Start I2C -overføring
Wire.beginTransmission (Addr);
// Velg dataregister
Wire.write (0x00);
// Stopp I2C -overføring
Wire.endTransmission ();
// Be om 2 byte med data
Wire.requestFrom (Addr, 2);
// Les 2 byte med data
// temp msb, temp lsb
hvis (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
}
// Konverter dataene til 10-bits
int temp = (((data [0] & 0xFF) * 256) + (data [1] & 0xC0)) / 64;
hvis (temp> 511)
{
temperatur -= 1024;
}
flyte cTemp = temp * 0,25; float fTemp = (cTemp * 1.8) + 32;
// Utdata til seriell skjerm
Serial.print ("Temperatur i Celsius:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Temperatur i Fahrenheit:");
Serial.print (fTemp);
Serial.println ("F");
forsinkelse (500);
}
I trådbiblioteket brukes Wire.write () og Wire.read () til å skrive kommandoene og lese sensorutgangen.
Serial.print () og Serial.println () brukes til å vise sensorens utgang på den serielle skjermen til Arduino IDE.
Sensorens utgang er vist på bildet ovenfor.
Trinn 4: Søknader:
AD7416ARZ er en 10-bits temperatursensor med fire enkeltkanals analog til digital omformer som kan utføre driften av datainnsamling med overvåking av omgivelsestemperatur. Det kan også brukes i industrielle prosesskontrollsystemer, Automotive batteriladingsapplikasjoner og personlige datamaskiner.