Adafruit - logo

Adafruit MCP9808 Precision I2C -lämpötila-anturin opas
Luonut nainen ADAAdafruit MCP9808 Precision I2C -lämpötila-anturiViimeksi päivitetty 2021-06-23 01:04:33 EDT

Yliview

Adafruit MCP9808 Precision I2C -lämpötila-anturi - yliview

Tämä digitaalinen I2C-lämpötila-anturi on yksi tarkimmista, mitä olemme koskaan nähneet, ja sen tyypillinen tarkkuus on ±0.25 °C anturin alueella -40 °C - +125 °C ja tarkkuus +0.0625 °C. Ne toimivat loistavasti minkä tahansa mikro-ohjaimen kanssa, joka käyttää tavallista i2c:tä. Siinä on 3 osoitenastaa, joten voit liittää jopa 8 yhteen I2C-väylään ilman osoitetörmäyksiä. Mikä parasta, laaja voltage-valikoima tekee siitä käyttökelpoisen 2.7 V - 5.5 V logiikalla!Adafruit MCP9808 Precision I2C -lämpötila-anturi - I2C-ohjaus 1

Toisin kuin DS18B20, tätä anturia ei toimiteta läpimenevässä pakkauksessa, joten sijoitimme tämän pienen anturin irrotuslevyn piirilevylle käytön helpottamiseksi. Piirilevy sisältää asennusreiät ja alasvetovastukset 3 osoitenastalle. Kirjoitimme jopa ihanan pienen kirjaston Arduinolle, joka toimii minkä tahansa Arduino-yhteensopivan kanssa. Pääset toimimaan 15 minuutissa tai vähemmän.Adafruit MCP9808 Precision I2C -lämpötila-anturi - reikäpaketti

Jotta pääset vauhtiin, kehitimme mittatilaustyönä tehdyn piirilevyn, jossa on MCP9808 ja joitain tukipiirejä, kuten vetovastuksia ja kondensaattoreita, STEMMA QT -muodossa (https://adafru.it/LBQ), joten niiden käyttö on helppoa. STEMMA QT -liittimet (https://adafru.it/JqB) molemmilla puolilla ovat yhteensopivia SparkFun Qwiicin kanssa (https://adafru.it/Fpw) I2C liittimet. Näin voit tehdä juottamattomia liitäntöjä kehityskorttisi ja MCP9808:n välille tai ketjuttaa ne useiden muiden antureiden ja lisävarusteiden kanssa yhteensopivalla kaapelilla (https://adafru.it/JnB). QT-kaapeli ei sisälly hintaan, mutta kaupassamme on erilaisia ​​(https://adafru.it/JnB).Adafruit MCP9808 Precision I2C -lämpötila-anturi - I2C-ohjaus

  • Yksinkertainen I2C-ohjaus
  • Jopa 8 yhdellä I2C-väylällä säädettävillä osoitenastoilla
  • 0.25 °C tyypillinen tarkkuus yli -40 °C - 125 °C (0.5 °C taattu maksimi -20 °C - 100 °C)
  • 0.0625°C resoluutio
  • 2.7 V - 5.5 V teho ja logiikka voltage valikoima
  • Käyttövirta: 200 μA (tyypillinen)
    Tästä levystä on kaksi versiota – yllä näkyvä STEMMA QT -versio ja alla näkyvä alkuperäinen vain otsikkoversio. Koodi toimii samalla tavalla molemmissa!

Adafruit MCP9808 Precision I2C -lämpötila-anturi - yliview1

Pinouts

Adafruit MCP9808 Precision I2C -lämpötila-anturi - Pinouts

MCP9808 on erittäin suoraviivainen anturi, käydään läpi kaikki nastat, jotta ymmärrät, mitä sinun on yhdistettävä aloittaaksesi.

Virtanastat

  • VIN (vain otsikkoversion VDD) – Tämä on positiivisen tehon ja logiikan tason pin. Se voi olla 2.75.5 VDC, joten se sopii käytettäväksi 3 tai 5 V logiikalla. Power VIN (VDD) millä tahansa logiikkatasolla, jota aiot käyttää i2c-linjoissa.
  • GND – Tämä on maatehon ja logiikan vertailunasta.

I2C Data Pins

  • SCL – tämä on I2C-kellon nasta. Levyllä on jo 10K-veto, joten liitä tämä suoraan mikro-ohjaimesi i2c-pääkellon nastan
  • SDA – tämä on I2C-datapinta. Kortilla on jo 10K-veto, joten liitä tämä suoraan mikro-ohjaimesi i2c-perusdatapintaan.
  • STEMMA QT (https://adafru.it/Ft4) – Näiden liittimien avulla voit liittää STEMMA QT -liittimillä varustettuihin kehityskortteihin tai muihin tarvikkeisiin erilaisilla lisävarusteilla (https://adafru.it/Ft6).

Valinnaiset pinssit

Nämä ovat nastat, joihin sinun ei tarvitse muodostaa yhteyttä, ellet halua!

  • Varoitus – Tämä on MCP9808:n keskeytys-/hälytysnasta. Sirulla on jonkin verran kykyä "varoittaa", jos sirun lämpötila nousee yli tai alle asetetun määrän. Tämä tulos voi laukaista kertomaan sinulle. Se on avoin kollektori, joten sinun on käytettävä vetovastusta, jos haluat lukea signaalin tästä nastasta.
  • A0 (sekä A1 ja A2 alkuperäisessä versiossa) – Nämä ovat osoitteenvalintanastat. Koska i2c-väylässä voi olla vain yksi laite, jolla on annettu osoite, osoitetta on voitava säätää, jos haluat sijoittaa useamman kuin yhden MCP9808:n jaettuun i2c-väylään. A0/A1/A2-nastat asettavat i2c-osoitteen kolme alinta bittiä. Levyllä on alasvetovastuksia, joten liitä ne VDD:hen asettaaksesi bitit arvoon 1. Ne luetaan käynnistettäessä, joten katkaise virta ja nollaa osoite

Oletusosoite on 0x18 ja osoite voidaan laskea "lisäämällä" A0/A1/A2 0x18:n kantaan.
A0 asettaa pienimmän bitin arvolla 1, A1 asettaa keskibitin arvolla 2 ja A2 asettaa korkean bitin arvolla 4. Lopullinen osoite on 0x18 + A2 + A1 + A0 .
Siis esimample jos A2 on sidottu VDD:hen ja A0 on sidottu VDD:hen, osoite on 0x18 + 4 + 1 = 0x1D.
Jos vain A0 on sidottu VDD:hen, osoite on 0x18 + 1 = 0x19
Jos vain A1 on sidottu VDD:hen, osoite on 0x18 + 2 = 0x1A
Jos vain A2 on sidottu VDD:hen, osoite on 0x18 + 4 = 0x1C

Nämä osoitetiedot koskevat molempia MCP9808-purkauksen versioita. STEMMA QT -version takana on jumpperit, joilla voit sitoa osoitenastat VDD:hen.

Adafruit MCP9808 Precision I2C -lämpötila-anturi - Pinouts1

Arduino-koodi

Adafruit MCP9808 Precision I2C -lämpötila-anturi - Arduino-koodi

Valmistele otsikkonauha:
Leikkaa nauha tarvittaessa sopivaksi. Juottaminen on helpompaa, jos laitat sen leipälautaan – pitkät tapit alaspäin
Lisää erotustaulu:
Aseta irrotuslauta tappien päälle niin, että lyhyet tapit työntyvät irrotustyynyjen läpi

Adafruit MCP9808 Precision I2C -lämpötila-anturi - ja juote!

Ja juottaa!
Muista juottaa kaikki nastat luotettavaa sähköistä kosketusta varten.
(Jos haluat vinkkejä juottamiseen, muista tutustua oppaastamme erinomaiseen juottamiseen (https://adafru.it/aTk)).Adafruit MCP9808 Precision I2C -lämpötila-anturi - Arduino-johdotus

Olet valmis! Tarkista juotosliitokset silmämääräisesti ja jatka seuraaviin vaiheisiin

Arduino johdotus
Voit helposti kytkeä tämän anturin mihin tahansa mikro-ohjaimeen, käytämme Arduinoa

Adafruit MCP9808 Precision I2C -lämpötila-anturi - Arduino Wiring 1

  • Liitä VIN (Vdd) (punainen johto VAAKUNA QT-versio) virtalähteeseen, 3V tai 5V on hyvä. Käytä samaa voltage johon mikrokontrollerin logiikka perustuu. Useimmissa Arduinoissa se on 5 V
  • Liitä GND (musta johto VAAKUNA QT-versio) yhteiseen virta-/datamaahan
  • Liitä SCL-nasta Arduinon I2C-kellon SCL-nastaan ​​(keltainen johto päällä VAAKUNA QT-versio). UNO- ja '328-pohjaisessa Arduinossa tämä tunnetaan myös nimellä A5, Megassa se tunnetaan myös nimellä digital 21 ja Leonardo/Microssa digitaalinen 3.
  • Yhdistä SDA-nasta Arduinon I2C-data-SDA-nastaan ​​(sininen johto päällä VAAKUNA QT-versio). UNO- ja '328-pohjaisessa Arduinossa tämä tunnetaan myös nimellä A4, Megassa se tunnetaan myös nimellä digital 20 ja Leonardo/Microssa digitaalinen 2.

MCP9808:n oletusarvoinen I2C-osoite on 0x18, mutta voit asettaa osoitteen mihin tahansa kahdeksasta arvosta väliltä 8x0 ja 18x0F, jotta sinulla voi olla jopa 1 näistä antureista, jotka kaikki jakavat samat SCL/SDA-nastat.

Lataa Adafruit_MCP9808

Anturitietojen lukemisen aloittamiseksi sinun on ladattava Adafruit MCP9808 -kirjasto Arduino-kirjastonhallinnasta.
Avaa Arduino-kirjastonhallinta:

Adafruit MCP9808 Precision I2C -lämpötila-anturi - Arduino Wiring 2

Etsi the Adafruit MCP9808 library and install it

Adafruit MCP9808 Precision I2C -lämpötila-anturi - Adafruit

 

Meillä on myös loistava opetusohjelma Arduino-kirjaston asennuksesta osoitteessa:
http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use (https://adafru.it/aYM)

Lataa demo

Avata File-> Esimamples->Adafruit_MCP9808->mcp9808test ja lataa Arduinoon kytkettynä anturiin

Adafruit MCP9808 Precision I2C -lämpötila-anturi - sarjaliitin

Se siitä! Avaa nyt sarjapääteikkuna 9600 nopeudella nähdäksesi lämpötilan reaaliajassa. Voit yrittää koskettaa sormella anturia nähdäksesi lämpötilan nousun.Adafruit MCP9808 Precision I2C -lämpötila-anturi - sarjaliitin1

Python & CircuitPython

MCP9808-anturia on helppo käyttää Pythonin tai CircuitPythonin ja Adafruit CircuitPython MCP9808:n (https://adafru.it/zcr) moduuli. Tämän moduulin avulla voit helposti kirjoittaa Python-koodia, joka lukee lämpötilan anturista.
Voit käyttää tätä anturia minkä tahansa CircuitPython-mikro-ohjainkortin kanssa tai tietokoneen kanssa, jossa on GPIO ja Python, kiitos Adafruit_Blinkan, CircuitPython-for-Python-yhteensopivuuskirjastomme (https://adafru.it/BSN).

CircuitPython-mikrokontrollerin johdotus

Kytke ensin MCP9808 korttiisi täsmälleen kuten edellisillä Arduino-sivuilla on esitetty. Tässä on exampFeather M0:n kytkeminen anturiin:

Adafruit MCP9808 Precision I2C -lämpötila-anturi - sarjaliitin2

  • Piiri 3V anturiin VIN (Vdd) (punainen johto STEMMA QT -versiossa)
  • Piirrä GND anturiin GND (musta johto STEMMA QT -versiossa)
  • Piiri SCL anturiin SCL (keltainen johto STEMMA QT -versiossa)
  • Liitä SDA anturiin SDA (sininen johto STEMMA QT -versiossa)

Python-tietokoneen johdotus

Koska käytettävissäsi on kymmeniä Linux-tietokoneita/levyjä, näytämme Raspberry Pi:n johdot. Muiden alustojen osalta käy CircuitPython-oppaassa Linuxissa nähdäksesi, onko alustasi tuettu (https://adafru.it/BSN).
Tässä on Raspberry Pi, joka on kytketty I2C: llä:

Adafruit MCP9808 Precision I2C -lämpötila-anturi - Vadelma

  • Pi 3V3 anturiin VIN (punainen johto STEMMA QT -versiossa)
  • Pi GND anturiin GND (musta johto STEMMA QT -versiossa)
  • Pi SCL anturiin SCK (keltainen johto STEMMA QT -versiossa)
  • Pi SDA anturiin SDA (sininen johto STEMMA QT -versiossa)

CircuitPython MCP9808-kirjaston asennus

Seuraavaksi sinun on asennettava Adafruit CircuitPython MCP9808 (https://adafru.it/zcr) -kirjasto CircuitPython-kortillasi.

Varmista ensin, että käytät uusinta Adafruit CircuitPython -versiota (https://adafru.it/tBa) lautallesi.
Seuraavaksi sinun on asennettava tarvittavat kirjastot käyttääksesi laitteistoa – seuraa huolellisesti ohjeita löytääksesi ja asentaaksesi nämä kirjastot Adafruitin CircuitPython-kirjastopaketista (https://adafru.it/zdx). esimample, Circuit Playground Express -oppaassa on loistava sivu kirjastopaketin asentamiseen (https://adafru.it/Bf2) sekä pika- että ei-pikatauluille.
Muista ei-express-levyillä, kuten Trinket M0, Gemma M0 ja Feather/Metro M0 basic, sinun on asennettava manuaalisesti tarvittavat kirjastot paketista:

  • adafruit_mcp9808.mpy
  • adafruit_bus_device

Ennen kuin jatkat, varmista, että levysi lib-kansio tai juuri on filejärjestelmässä on adafruit_mcp9808.mpy ja adafruit_bus_device files ja kansiot kopioidaan.
Yhdistä seuraavaksi levyn sarja REPL (https://adafru.it/pMf) joten olet CircuitPython >>> -kehotteessa.

MCP9808-kirjaston Python-asennus

Sinun on asennettava Adafruit_Blinka-kirjasto, joka tarjoaa CircuitPython-tuen Pythonissa. Tämä saattaa edellyttää myös I2C:n käyttöönottoa alustassasi ja Python 3:n varmistamista. Koska jokainen alusta on hieman erilainen ja Linux muuttuu usein, käy CircuitPython on Linux -oppaassa saadaksesi tietokoneesi valmiiksi (https://adafru.it/BSN)!
Kun tämä on tehty, suorita seuraava komento komentoriviltä:
Sudo pip3 asentaa adafruit-circuit python-mcp9808
Jos Python-oletusversiosi on 3, saatat joutua suorittamaan sen sijaan "pip". Varmista vain, että et yritä käyttää CircuitPythonia Python 2. x:ssä, sitä ei tueta!

CircuitPythonin ja Pythonin käyttö

Havainnollistaaksemme anturin käyttöä alustamme sen ja luemme lämpötilan. Alusta ensin I2C-yhteys ja kirjasto suorittamalla:
Importboanrd ImportbusIo Importada hedelmät _ MCP 9808
i2c = busio. I2C ( kortti . SCL , kortti . SDA )
MCP = hedelmä _ MCP 9808. MCP 9808 ( i2c )

Nyt voit lukea lämpötilaominaisuuden lämpötilan hakemiseksi anturista Celsius-asteina: tulosta ( ' Temperature : { } astettaC ' . form at ( MCP . lämpötila ) )Siinä riittää lämpötilan lukemiseen MCP9808- ja CircuitPython-koodilla !

Täysi Exampkoodi

# SPDX-FileTekijänoikeusteksti: 2021 ladyada for Adafruit Industries
# SPDX-lisenssitunniste: MIT
tuontiaika
tuontitaulu
tuonti adafruit_mcp9808
i2c = board.I2C()
# käyttää board.SCL:tä ja board.SDA:ta
# Alustus käyttämällä oletusosoitetta: mcp = adafruit_mcp9808.MCP9808(i2c)
# Alustus käyttämällä määritettyä osoitetta:
# Tarpeellinen, kun esimample, yhdistämällä AO:n VDD:hen niin, että osoite = 0x19
# mcp = adafruit_mcp9808.MCP9808(i2c_bus, osoite=0x19), kun taas tosi: tempC = mcp.temperature
tempF = tempC * 9/5 + 32
print("Lämpötila: {} C {} F ".format(tempC, tempF)) time.sleep(2)

Python Docs

Python Docs (https://adafru.it/C3s)

Lataukset

Tietolomakkeet & Files
MCP9808 tietolomake (https://adafru.it/dfL)
EagleCAD piirilevy files GitHubissa (https://adafru.it/qib)
Fritzing-objekti Adafruit Fritzing -kirjastossa (https://adafru.it/c7M)

Kaaviomainen ja upea tulostus STEMMA QT -versiolle

Adafruit MCP9808 Precision I2C -lämpötila-anturi - KaavamainenAdafruit MCP9808 Precision I2C -lämpötila-anturi - Tulosta

Kaavamainen ja upea tuloste alkuperäiseen versioon

Adafruit MCP9808 Precision I2C -lämpötila-anturi - Tulosta 1Adafruit MCP9808 Precision I2C -lämpötila-anturi - Tulosta 3

© Adafruit Industries
https://learn.adafruit.com/adafruit-mcp9808-precision-i2c-temperature-sensor-guide

Asiakirjat / Resurssit

Adafruit MCP9808 Precision I2C -lämpötila-anturi [pdfKäyttöopas
MCP9808, tarkkuus I2C lämpötila-anturi, lämpötila-anturi

Viitteet

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *