Pular para o conteúdo principal

Grove - Sensor de Temperatura V1.2

O Grove - Sensor de Temperatura usa um Termistor para detectar a temperatura ambiente. A resistência de um termistor irá aumentar quando a temperatura ambiente diminuir. É essa característica que usamos para calcular a temperatura ambiente. A faixa detectável deste sensor é de -40 a 125 ºC, e a precisão é de ±1,5 ºC

Nota: Este wiki também funciona com Grove - Sensor de Temperatura V1.1, para V1.0 consulte Grove - Temperature Sensor

Atualizável para Sensores Industriais

Com o controlador SenseCAP S2110 controller e o S2100 data logger, você pode facilmente transformar o Grove em um sensor LoRaWAN®. A Seeed não só ajuda você com a prototipagem, mas também oferece a possibilidade de expandir seu projeto com a série SenseCAP de robustos sensores industriais.

Os sensores industriais da série SenseCAP S210x fornecem uma experiência pronta para uso para sensoriamento ambiental. Consulte o Sensor Sem Fio de Temperatura e Umidade S2101, com maior desempenho e robustez para monitoramento da qualidade do ar. A série inclui sensores para umidade do solo, temperatura e umidade do ar, intensidade de luz, CO2, EC e uma estação meteorológica 8 em 1. Experimente o mais recente SenseCAP S210x em seu próximo projeto industrial de sucesso.

Sensor Industrial SenseCAP
S2101 Temp & Umidade do Ar

Especificações


  • Tensão: 3,3 ~ 5 V
  • Resistência em zero potência: 100 KΩ
  • Tolerância de resistência: ±1%
  • Faixa de temperatura de operação: -40 ~ +125 ℃
  • Constante B nominal: 4250 ~ 4299K
dica

Para mais detalhes sobre módulos Grove, consulte o Grove System

Plataformas Suportadas


ArduinoRaspberryArduPy
cuidado

As plataformas mencionadas acima como suportadas são uma indicação da compatibilidade de software ou teórica do módulo. Na maioria dos casos, fornecemos apenas biblioteca de software ou exemplos de código para a plataforma Arduino. Não é possível fornecer biblioteca de software / código de demonstração para todas as possíveis plataformas de MCU. Portanto, os usuários têm que escrever sua própria biblioteca de software.

Primeiros Passos


Após esta seção, você poderá fazer o Grove - Sensor de Temperatura V1.1/1.2 funcionar com apenas alguns passos.

nota

Se esta é a primeira vez que você trabalha com Arduino, recomendamos fortemente que veja Getting Started with Arduino antes de começar.

Brincar com Arduino

Hardware

  • Passo 1. Prepare os itens abaixo:
Seeeduino V4.2Base ShieldGrove - Sensor de Temperatura
Adquira AgoraAdquira AgoraAdquira Agora
  • Passo 2. Conecte o Grove - Sensor de Temperatura à porta A0 do Grove-Base Shield.

  • Passo 3. Conecte o Grove - Base Shield ao Seeeduino.

  • Passo 4. Conecte o Seeeduino ao PC via um cabo USB.

nota

Se não tivermos o Grove Base Shield, também podemos conectar diretamente o Grove_Ultrasonic_Ranger ao Seeeduino como abaixo.

SeeeduinoGrove - Sensor de Temperatura
5VVermelho
GNDPreto
Não ConectadoBranco
A0Amarelo

Software

  • Passo 1. Abra a Arduino IDE e clique em File>New para abrir uma nova página. Copie o código a seguir para a nova página e faça o upload. Se você não sabe como enviar o código, verifique How to upload code.
// Demo code for Grove - Temperature Sensor V1.1/1.2
// Loovee @ 2015-8-26

#include <math.h>

const int B = 4275000; // B value of the thermistor
const int R0 = 100000; // R0 = 100k
const int pinTempSensor = A0; // Grove - Temperature Sensor connect to A0

#if defined(ARDUINO_ARCH_AVR)
#define debug Serial
#elif defined(ARDUINO_ARCH_SAMD) || defined(ARDUINO_ARCH_SAM)
#define debug SerialUSB
#else
#define debug Serial
#endif

void setup()
{
Serial.begin(9600);
}

void loop()
{
int a = analogRead(pinTempSensor);

float R = 1023.0/a-1.0;
R = R0*R;

float temperature = 1.0/(log(R/R0)/B+1/298.15)-273.15; // convert to temperature via datasheet

Serial.print("temperature = ");
Serial.println(temperature);

delay(100);
}

Passo 2. Abra o Serial Monitor da Arduino IDE clicando em Tool-> Serial Monitor. Ou pressione as teclas ++ctrl+shift+m++ ao mesmo tempo. Se tudo correr bem, você obterá a temperatura.

O resultado deverá ser como:

Brincar com Raspberry Pi (Com Grove Base Hat para Raspberry Pi)

Hardware

  • Passo 1. Itens usados neste projeto:
Raspberry piGrove Base Hat para RasPiGrove - Sensor de Temperatura
Adquira AGORAAdquira AGORAAdquira AGORA
  • Passo 2. Conecte o Grove Base Hat ao Raspberry.
  • Passo 3. Conecte o sensor de temperatura à porta A0 do Base Hat.
  • Passo 4. Conecte o Raspberry Pi ao PC através de um cabo USB.
nota

No passo 3 você pode conectar o sensor de temperatura a qualquer Porta analógica, mas certifique-se de alterar o comando com o número de porta correspondente.

Software

cuidado

Se você estiver usando Raspberry Pi com Raspberrypi OS >= Bullseye, você deve usar esta linha de comando apenas com Python3.

  • Passo 1. Siga Setting Software para configurar o ambiente de desenvolvimento.
  • Passo 2. Baixe o arquivo-fonte clonando a biblioteca grove.py.
cd ~
git clone https://github.com/Seeed-Studio/grove.py
  • Passo 3. Execute os comandos abaixo para rodar o código.
cd grove.py/grove
python3 grove_temperature_sensor.py 0

A seguir está o código grove_temperature_sensor.py.

import sys
import time
from grove.factory import Factory


def main():
from grove.helper import SlotHelper
sh = SlotHelper(SlotHelper.ADC)
pin = sh.argv2pin()

sensor = Factory.getTemper("NTC-ADC", pin)

print('Detecting temperature...')
while True:
print('{} Celsius'.format(sensor.temperature))
time.sleep(1)


if __name__ == '__main__':
main()
dica

Se tudo correr bem, você poderá ver o seguinte resultado

pi@raspberrypi:~/grove.py/grove $ python3 grove_temperature_sensor.py 0
Hat Name = 'Grove Base Hat RPi'
Detecting temperature...
24.7473402633 Celsius
24.7473402633 Celsius
24.7473402633 Celsius
24.7112751977 Celsius
24.7112751977 Celsius
^CTraceback (most recent call last):
File "grove_temperature_sensor.py", line 53, in <module>
main()
File "grove_temperature_sensor.py", line 49, in main
time.sleep(1)
KeyboardInterrupt

Você pode sair deste programa simplesmente pressionando ++ctrl+c++.

nota

Você deve ter notado que, para a porta analógica, o número do pino serigrafado é algo como A1, A0, porém no comando usamos o parâmetro 0 e 1, exatamente como na porta digital. Portanto, certifique-se de conectar o módulo na porta correta, caso contrário poderá haver conflitos de pinos.

Brincar com Raspberry Pi (com GrovePi_Plus)

Hardware

  • Passo 1. Prepare os seguintes itens:
Raspberry piGrovePi_PlusGrove - Temperature Sensor
Adquira agoraAdquira agoraAdquira agora
  • Passo 2. Conecte o GrovePi_Plus ao Raspberry.

  • Passo 3. Conecte o Grove - Temperature Sensor à porta A0 do GrovePi_Plus.

  • Passo 4. Conecte o Raspberry ao PC via cabo USB.

Software

dica

Neste wiki usamos o caminho ~/GrovePi/ em vez de /home/pi/Desktop/GrovePi, você precisa garantir que o Passo 2 e o Passo 3 usem o mesmo caminho.

nota

Recomendamos fortemente que você atualize o firmware, caso contrário, para alguns sensores você poderá obter erros.

cuidado

Se você estiver usando Raspberry Pi com Raspberrypi OS >= Bullseye, você deve usar esta linha de comando apenas com Python3.

  • Passo 3. Faça o git clone do repositório Github.
cd ~
git clone https://github.com/DexterInd/GrovePi.git
  • Passo 4. Execute os comandos abaixo para usar o Grove - Temperature Sensor para medir a temperatura.
cd ~/GrovePi/Software/Python
sudo python3 grove_temperature_sensor.py

Aqui está o código grove_temperature_sensor.py.

# NOTE:
# The sensor uses a thermistor to detect ambient temperature.
# The resistance of a thermistor will increase when the ambient temperature decreases.
#
# There are 3 revisions 1.0, 1.1 and 1.2, each using a different model thermistor.
# Each thermistor datasheet specifies a unique Nominal B-Constant which is used in the calculation forumla.
#
# The second argument in the grovepi.temp() method defines which board version you have connected.
# Defaults to '1.0'. eg.
# temp = grovepi.temp(sensor) # B value = 3975
# temp = grovepi.temp(sensor,'1.1') # B value = 4250
# temp = grovepi.temp(sensor,'1.2') # B value = 4250

import time
import grovepi

# Connect the Grove Temperature Sensor to analog port A0
# SIG,NC,VCC,GND
sensor = 0

while True:
try:
temp = grovepi.temp(sensor,'1.2')
print("temp =", temp)
time.sleep(.5)

except KeyboardInterrupt:
break
except IOError:
print ("Error")

O resultado deve ser semelhante a:

pi@raspberrypi:~/GrovePi/Software/Python $ sudo python3 grove_temperature_sensor.py

('temp =', 25.28652137917777)
('temp =', 25.28652137917777)
('temp =', 25.28652137917777)
('temp =', 25.28652137917777)
('temp =', 25.368489566400115)
('temp =', 25.61468397498203)
('temp =', 27.43501590142614)
('temp =', 27.85285590636829)
('temp =', 27.18509952680688)
('temp =', 26.852756540240193)

Brincar com Wio Terminal (ArduPy)

Hardware

  • Passo 1. Prepare os seguintes itens:
Wio TerminalGrove - Temperature Sensor
Adquira agoraAdquira agora
  • Passo 2. Conecte o Grove - Temperature Sensor à porta A0 do Wio Terminal.

  • Passo 3. Conecte o Wio Terminal ao PC através de um cabo USB Tipo-C.

Software

  • Passo 1. Siga ArduPy Getting Started para configurar o ambiente de desenvolvimento ArduPy no Wio Terminal.

  • Passo 2. Certifique-se de que o firmware ArduPy está gravado no Wio Terminal. Para mais informações, por favor siga aqui.

aip build
aip flash
  • Passo 3. Copie o código a seguir e salve-o como ArduPy-temp.py:
from machine import Pin, ADC
from machine import LCD
from machine import Sprite
import time, math

raw = ADC(Pin(13))
lcd = LCD()
spr = Sprite(lcd) # Create a buff
B = 4275 # B value of the thermistor
R0 = 100000 # R0 = 100k

def temp(reading):
R = 1023.0 / reading - 1.0
R = R0*R
temperature = 1.0/(math.log(R/R0)/B+1/298.15)-273.15 # Convert to temperature via datasheet
return temperature

def main():
spr.createSprite(320, 240)
while True:
spr.setTextSize(2)
spr.fillSprite(spr.color.BLACK)
spr.setTextColor(lcd.color.ORANGE)
spr.drawString("Temperature Reading", 45, 10)
spr.drawFastHLine(40, 35, 240, lcd.color.DARKGREY)
spr.setTextColor(lcd.color.WHITE)
spr.drawString("- ", 20, 50)
spr.drawFloat(temp(raw.read()), 3, 40,50)
spr.drawString("C", 120, 50)
spr.pushSprite(0,0)
time.sleep_ms(500)

print("Temperature: ", temp(raw.read()), "C")

if __name__ == "__main__":
main()
  • Passo 4. Salve o ArduPy-temp.py em um local que você conheça. Execute o comando a seguir e substitua <YourPythonFilePath> pelo local do seu ArduPy-temp.py.
aip shell -n -c "runfile <YourPythonFilePath>"
# Example:
# aip shell -n -c "runfile /Users/ansonhe/Desktop/ArduPy-temp.py"
  • Passo 5. Veremos o valor da temperatura exibido no terminal como abaixo, e sendo exibido na tela LCD do Wio Terminal.
ansonhe@Ansons-Macbook-Pro ~:aip shell -n -c "runfile /Users/ansonhe/Desktop/ArduPy-temp.py"
Positional argument (/dev/cu.usbmodem141101) takes precedence over --open.
Connected to ardupy
Temperature: 28.08603 C
Temperature: 28.50415 C
Temperature: 28.16953 C
Temperature: 28.25308 C
Temperature: 28.08603 C
Temperature: 28.16953 C
Temperature: 28.08603 C
Temperature: 28.16953 C
Temperature: 28.33671 C
Temperature: 28.16953 C
Temperature: 28.25308 C

Referência


Se você quiser saber como o algoritmo da temperatura é obtido, por favor consulte a imagem abaixo:

Visualizador de Esquemático Online

Recursos


Projetos

Módulo Grove sensor de temperatura:

Suporte Técnico & Discussão de Produto

Obrigado por escolher nossos produtos! Estamos aqui para lhe fornecer diferentes formas de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...