Utilizando sensor de temperatura

Como prometido, irei postar o funcionamento de todas os sensores que eu comprei no site do FilipeFlop
Irei começar pelo sensor de Temperatura.
Existem 2 sensores populares no mercado, o DHT11 e o DHT22

humidity-temperature-sensor-dht22-500x500DHT22 DHTaberto

DHT11 aberto

A diferença entre o DHT11 e o DHT22 está somente em quanto ele é sensível para a captura de informações, sendo o DHT22 muito mais preciso que o DHT11.

Ambos os sensores vem com 4 pinos

  1. Entrada de energia de 3 à 5v (qualquer entrada ativa do Raspberry com essas voltagens)
  2. Pino de controle ou o pino GPIO que vai fazer a leitura
  3. — Pino não utilizado
  4. Conexão com o terra ou o Gruond

Deve-se colocar um resistor fazendo a junção do pino 1 e 2. Testei com todos os resistores que eu tinha em casa e todos eles funcionaram corretamente, porém na especificação pede um resistor de 4.7K – 10K

DSC_0072

Aqui temos o sensor DHT22

Na conexão com a protoboard ele deve sempre estar virado para sua frente, para o pino de alimentação sempre ser a sua esquerda (primeiro pino)

DSC_0073

Aqui a conexão é bem simples.
Coloquei o terra no negativo da protoboard para poder usar a linha toda, também poderia ter feito a conexão de energia no positivo e também utilizar, mas fiz direto.

Então:

Raspberry-Pi-GPIO-Layout-Revision-2

  1. pino1 conecta o pino de energia ativa de 3.3v
  2. pino2 conecta o GPIO (escolhi o pino7 (GPIO4))
  3. SEM CONEXÃO
  4. Terra (Ground)

 

Tudo conectado, vamos fazer a compilação da biblioteca do adafruit para utilizarmos o sensor. Daria para fazer integralmente a conexão sem nenhuma biblioteca, mas faremos por ela por ser bem simples.

Primeira coisa a se fazer.

 

sudo apt-get upgrade && sudo apt-get update

isso vai fazer com que o seu Raspberry seja atualizado com as ultimas bibliotecas e melhorias.

Após isso iremos entrar na nossa pasta home e pegar o repositório git da lib

 

cd /home/pi/
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT

Depois iremos fazer a atualização das libs

sudo apt-get install build-essential python-dev
sudo python setup.py install

Se tudo deu certo é esperado o seguinte resultado:

running install
running bdist_egg
running egg_info
writing Adafruit_DHT.egg-info/PKG-INFO
writing top-level names to Adafruit_DHT.egg-info/top_level.txt
writing dependency_links to Adafruit_DHT.egg-info/dependency_links.txt
writing Adafruit_DHT.egg-info/PKG-INFO
writing top-level names to Adafruit_DHT.egg-info/top_level.txt
writing dependency_links to Adafruit_DHT.egg-info/dependency_links.txt
reading manifest file 'Adafruit_DHT.egg-info/SOURCES.txt'
writing manifest file 'Adafruit_DHT.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-armv6l/egg
running install_lib
running build_py
running build_ext
creating build/bdist.linux-armv6l/egg
creating build/bdist.linux-armv6l/egg/Adafruit_DHT
copying build/lib.linux-armv6l-2.7/Adafruit_DHT/platform_detect.py -> build/bdist.linux-armv6l/egg/Adafruit_DHT
copying build/lib.linux-armv6l-2.7/Adafruit_DHT/Raspberry_Pi.py -> build/bdist.linux-armv6l/egg/Adafruit_DHT
copying build/lib.linux-armv6l-2.7/Adafruit_DHT/Raspberry_Pi_Driver.so -> build/bdist.linux-armv6l/egg/Adafruit_DHT
copying build/lib.linux-armv6l-2.7/Adafruit_DHT/common.py -> build/bdist.linux-armv6l/egg/Adafruit_DHT
copying build/lib.linux-armv6l-2.7/Adafruit_DHT/Beaglebone_Black.py -> build/bdist.linux-armv6l/egg/Adafruit_DHT
copying build/lib.linux-armv6l-2.7/Adafruit_DHT/__init__.py -> build/bdist.linux-armv6l/egg/Adafruit_DHT
copying build/lib.linux-armv6l-2.7/Adafruit_DHT/Test.py -> build/bdist.linux-armv6l/egg/Adafruit_DHT
byte-compiling build/bdist.linux-armv6l/egg/Adafruit_DHT/platform_detect.py to platform_detect.pyc
byte-compiling build/bdist.linux-armv6l/egg/Adafruit_DHT/Raspberry_Pi.py to Raspberry_Pi.pyc
byte-compiling build/bdist.linux-armv6l/egg/Adafruit_DHT/common.py to common.pyc
byte-compiling build/bdist.linux-armv6l/egg/Adafruit_DHT/Beaglebone_Black.py to Beaglebone_Black.pyc
byte-compiling build/bdist.linux-armv6l/egg/Adafruit_DHT/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-armv6l/egg/Adafruit_DHT/Test.py to Test.pyc
creating stub loader for Adafruit_DHT/Raspberry_Pi_Driver.so
byte-compiling build/bdist.linux-armv6l/egg/Adafruit_DHT/Raspberry_Pi_Driver.py to Raspberry_Pi_Driver.pyc
creating build/bdist.linux-armv6l/egg/EGG-INFO
copying Adafruit_DHT.egg-info/PKG-INFO -> build/bdist.linux-armv6l/egg/EGG-INFO
copying Adafruit_DHT.egg-info/SOURCES.txt -> build/bdist.linux-armv6l/egg/EGG-INFO
copying Adafruit_DHT.egg-info/dependency_links.txt -> build/bdist.linux-armv6l/egg/EGG-INFO
copying Adafruit_DHT.egg-info/top_level.txt -> build/bdist.linux-armv6l/egg/EGG-INFO
writing build/bdist.linux-armv6l/egg/EGG-INFO/native_libs.txt
zip_safe flag not set; analyzing archive contents...
creating 'dist/Adafruit_DHT-1.0.0-py2.7-linux-armv6l.egg' and adding 'build/bdist.linux-armv6l/egg' to it
removing 'build/bdist.linux-armv6l/egg' (and everything under it)
Processing Adafruit_DHT-1.0.0-py2.7-linux-armv6l.egg
Removing /usr/local/lib/python2.7/dist-packages/Adafruit_DHT-1.0.0-py2.7-linux-armv6l.egg
Copying Adafruit_DHT-1.0.0-py2.7-linux-armv6l.egg to /usr/local/lib/python2.7/dist-packages
Adafruit-DHT 1.0.0 is already the active version in easy-install.pth

Installed /usr/local/lib/python2.7/dist-packages/Adafruit_DHT-1.0.0-py2.7-linux-armv6l.egg
Processing dependencies for Adafruit-DHT==1.0.0

Caso dê erro de compilação GCC, refaça o processo de apt-get upgrade , update e o de instalar o python-dev e etc

 

Feito isso você pode ir lá no

cd /home/pi/Adafruit_Python_DHT/examples
sudo python AdafruitDHT.py 22 4

Onde 22 é o modelo do sensor (pode ser 11 se for o outro sensor) e o 4 é em qual GPIO que está conectado.

Ao executar o comando abaixo deve-se retornar:

Temp=XX.X*C  Humidity=XX.X%

 

Bem simples e funcional.

No próximo post irei ensinar a  instalar o mysql,php,apache e gravar as saídas dos sensores em um banco de dados.