• Olá Visitante, se gosta do forum e pretende contribuir com um donativo para auxiliar nos encargos financeiros inerentes ao alojamento desta plataforma, pode encontrar mais informações sobre os várias formas disponíveis para o fazer no seguinte tópico: leia mais... O seu contributo é importante! Obrigado.

Como usar um Raspberry Pi para controlar o calor na sua casa

Amoom

Super-Moderador
Team GForum
Entrou
Fev 29, 2008
Mensagens
5,095
Gostos Recebidos
2
Nas estações mais frias gostamos de chegar a casa e poder sentir o conforto de uma temperatura ideal e constante, e como para muitas famílias não é pratico estar sempre a acender a lareira, usamos os aquecedores, uma fonte de calor relativamente rápida, constante e regulável.

O problema de muitas famílias no mundo é mesmo o consumo deste tipo de equipamentos. Muitas vezes esquecemos-nos de os desligar, ou estes atingem temperaturas mais elevadas do que o estritamente necessário.
Sabia que com apenas um Raspberry Pi, umas tomadas e uns relés, podemos ter um sistema que nos faz poupar imenso tempo e dinheiro?



Este projeto tem o objetivo de manter a temperatura +/- constante de uma divisão. Utiliza sondas DHT22 e DS18B20 e com intervalos de atualização de 30 em 30 segundos.
Devido à incerteza das sondas DHT22, pois elas nem sempre dão os valores, o código em Python consegue contornar essas situações. Caso uma situação dessas aconteça o Raspberry Pi ficará a recolher valores da DHT22 em ciclos de 3 segundos até obter valores válidos.



Requisitos

Para a elaboração deste projecto, necessitamos dos seguintes equipamentos:


  • [*=center]Raspberry Pi
    [*=center][DS18B20]
    [*=center][DHT22]
Instalação
Primeiro de tudo certifique-se que o seu Raspberry Pi está atualizado.
sudo apt-get update
sudo apt-get upgrade

Após a atualização devemos proceder ao download dos drives da DHT22.

$ git clone git://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git
$ cd Adafruit-Raspberry-Pi-Python-Code
$ cd Adafruit_DHT_Driver

Para se certificar que a sonda está 100% instalada execute o seguinte comando


O “2302” é o tipo de sonda e o “4” é o PIN a que a sua DHT22 está ligada na GPIO do seu Raspberry Pi.



Caso não obtenha valores válidos verifique a ligação dos pinos da sonda.




Tendo a DHT22 a funcionar correctamente, temos agora de verificar se as DS18B20 estão funcionando como esperado.
$ cd /sys/bus/w1/devices/
$ ls

Deverá ver agora uns “números estranhos”. Calma, isso apenas são os IDs da sondas ligadas ao Raspberry Pi.
Deverá apontar esses valores para editar nos ficheiros “.py”.
Após apontar os ID’s desejados devemos efectuar os seguintes comandos. Ao copiar para a sua janela de SSH retire os “<” e “>”.
$ cd <ID da sonda>
$ cat w1_slave

Deverá obter um valor “t=temperatura”, acha o valor muito grande? Calma, está multiplicado por 1000.
Agora vamos efectuar o download dos ficheiros necessários.
$ cd
$ git clone git://github.com/adrianobrum/Aquecimento-Central.git
$ cd Aquecimento-Central
$ ls

Poderá verificar que existe dois ficheiros idênticos, o “temp_data.py” e “temp_control.py”. – “temp_data.py” – Ficheiro que será utilizado para obter informações das sondas. – “temp_control.py” – Ficheiro que irá controlar as saídas GPIO do Raspberry Pi. Agora será feita a edição do ficheiro “temp_data.py”. Basta alterar os ID’s entre os “<>”.
$ sudo nano temp_data.py

Basta alterar os ID’s entre os “<>”.
device_folder_in = glob.glob( base_dir + '<ID da sonda 1>' )[0]
device_file_in = device_folder_in + '/w1_slave'
device_folder_out = glob.glob( base_dir + '<ID da sonda 2>' )[0]
device_file_out = device_folder_out + '/w1_slave'

Agora temos de editar o ficheiro de controlo, “temp_control.py”. Basta alterar os IDs entre os “<>” e as temperaturas no final do ficheiro.
os.system( 'modprobe w1-gpio' )
os.system( 'modprobe w1-therm' )
base_dir = '/sys/bus/w1/devices/'
device_folder = glob.glob( base_dir + '<ID da sonda 1>' )[0]
device_file = device_folder + '/w1_slave'

ledMode( 17, GPIO.HIGH if temp1 < 21 and temp_c1 <= 19 else GPIO.LOW )
ledMode( 18, GPIO.HIGH if temp1 < 21 and temp_c1 <= 20 else GPIO.LOW )

Após a edição, caso deseje executar o ficheiro quando o Raspberry Pi iniciar deverá abrir o “cron”.

$ crontab –e

E adicionar a seguinte linha no final.
@reboot sudo python /home/pi/temp_control.py
 

pedrocostak

GF Bronze
Membro Inactivo
Entrou
Mai 11, 2015
Mensagens
56
Gostos Recebidos
0
Raspberry Pi para controlar o calor na sua casa
amigo Amoom pode por esquema ajudava muito
 
Topo