Fabricantes

Regue suas plantas com um aspersor inteligente DIY usando PiFace e Ubidots

Daniel da Silva
· 4 min de leitura
Enviar por e-mail

Uma das razões pelas quais tenho cactos em casa é porque muitas vezes me esqueço de regar as plantas. É por isso que construo este projeto para controlar remotamente uma eletroválvula para irrigar minhas plantas de qualquer lugar apenas usando meu telefone.

Ao final deste tutorial, você deverá ser capaz de fazer algo assim:

Materiais

  • Raspberry Pi modelo B:framboesa_pi-1
  • Piface digital

piface-digital

  • Válvula de água plástica – 3/4″ – 12V nominal

válvula

  • Fio flexível para 1A

bobinas_de_fio

  • Macaco barril DC

dcjack

  • Adaptador de alimentação de comutação regulado de 12 VCC 1000mA

Carregador 12v

  • Acoplamento roscado em pvc de 3/4”

acoplamento

  • Fita de teflon

teflon

  • Mangueira

mangueira

  • Aspersor

aspersor

Conexões

As conexões elétricas são bastante fáceis:

  • Em primeiro lugar, conecte seu piface ao Raspberry Pi sem conectar nenhum adaptador de energia.
  • Siga o diagrama abaixo. O fio branco é GND e está conectado ao terminal comum do relé, o vermelho está conectado ao NO (normalmente aberto).

sch

Quanto às conexões hidráulicas, certifique-se de usar fita de teflon em todas as uniões para evitar vazamento de água.

Configure sua conta Ubidots , variáveis ​​e widgets

Se você é novo no Ubidots , crie uma conta aqui .

  • Navegue até a guia “Fontes” e adicione uma nova fonte.

Fonte Etapa 1

  • Selecione Raspberry Pi como sua nova fonte de dados e preencha o formulário.

Fonte Step2

  • Agora clique na nova fonte “My Raspberry Pi”

Passo 1Variável

  • Adicione duas novas variáveis ​​chamadas “valve” e “relay_state” e não esqueça de preencher os campos nome e unidade.

Variável passo 2

  • Anote o id da sua variável:

Variável passo 3

  • Anote sua chave API encontrada em “ Meu perfil -> Chave API ”.
  • Agora, vamos criar um novo widget para controlar a válvula remotamente:

Indicador Passo 1

  • Escolha o widget “Switch” e vincule-o à variável “válvula”. Este widget escreverá “1” ou “0” na variável “válvula”, que pesquisaremos mais tarde em nosso Raspberry Pi.

Passo 1 interruptor

  • Adicione outro widget chamado “indicador” e escolha a variável Valve_State:

Indicador Passo 2

  • Esta é a aparência do seu dashboard agora:

dashboard

Codificação

Antes de começarmos a codificar, você já deve ter configurado seu Raspberry Pi com Internet. Caso contrário, verifique esta postagem do blog sobre como configurar o WiFi . Agora podemos seguir em frente, faça login através de um terminal no seu Raspberry Pi e configure o módulo SPI para se comunicar com o PiFace Digital:

sudo nano /etc/modprobe.d/raspi-blacklist.conf

Adicione um caractere “#” antes da linha spi-bcm2708 e pressione CTRL-X, digite Y e Enter. Isso ativa o SPI desde a inicialização. Agora vamos instalar e configurar a biblioteca PiFace Digital:

sudo apt-get update sudo apt-get install python3-pifacedigitalio python-pifacedigitalio

Reinicie seu Pi:

sudo reiniciar

Ótimo! estamos prontos para começar a codificar nosso projeto. Crie um novo arquivo chamado “valve.py” e cole o seguinte código nele:

sudo nano válvula.py

import pifacedigitalio #Biblioteca para pifacedigitalio #Biblioteca para atrasos de ubidots import ApiClient #Biblioteca para Ubidots pifacedigital = pifacedigitalio.PiFaceDigital() #Declarar objeto piface ##Conectar a Ubidots try: api = ApiClient("1fc7a56bf4b539725ace7a3f4aa623e9e9620612") #Não se esqueça de colocar sua própria válvula Apikey = api.get_variable('53cd4cb07625425b70f5c21e') #Coloque aqui o ID da sua válvula valveState = api.get_variable("53ce95547625420403d81468") #Coloque aqui seus IDs de estado real, exceto: print("cant connect") #Verifique seu Apikey, ID da variável e conexão com a internet while(True): lastValue = valve.get_values(1) #Obtenha o último valor da válvula de Ubidots rele = pifacedigital.relays[0].value #Save relé estado valveState.save_value({'value':rele}) #Envia o estado do relé para Ubidots para a in lastValue: print a['value'] if(a['value']): #Liga ou desliga o relé pifacedigital.output_pins [0].turn_on() senão: pifacedigital.output_pins[0].turn_off()

Execute seu programa:

$ sudo python valvula.py

Concluindo

Neste exemplo conseguimos controlar uma eletroválvula com Piface Digital. Ligamos/desligamos um atuador no dashboard Ubidots , que deve permitir controlar quase qualquer processo físico, desde que possa ser controlado por um relé.

Você também pode usar Ubidots para medir dados de séries temporais, como níveis de sinal, fazer alertas e controlar outros dispositivos. Você pode querer verificar estes outros exemplos:


Você tem mais ideias de projetos? Crie uma conta Ubidots e faça acontecer.