Adafruit MCP9808 Precision I2C -lämpötila-anturin opas
Luonut nainen ADAViimeksi päivitetty 2021-06-23 01:04:33 EDT
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!
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.
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).
- 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!
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.
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
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)).
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
- 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:
Etsi the Adafruit MCP9808 library and install it
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
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.
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:
- 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ä:
- 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
Kaavamainen ja upea tuloste alkuperäiseen versioon
© 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 |