# Módulo para portão de garagem com sensores de fim de curso + Extras

**URL:** <https://forum.cpha.pt/t/modulo-para-portao-de-garagem-com-sensores-de-fim-de-curso-extras/3735>\
**Category:** Tutoriais\
**Created:** [12 Janeiro , 2020 02:33 UTC](https://forum.cpha.pt/t/modulo-para-portao-de-garagem-com-sensores-de-fim-de-curso-extras/3735 "2020-01-12T02:33:03Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![FSousa](https://forum.cpha.pt/user_avatar/forum.cpha.pt/fsousa/32/3276_2.png) [@FSousa](https://forum.cpha.pt/u/FSousa)\
**Post date:** [12 Janeiro , 2020 02:33 UTC](https://forum.cpha.pt/t/modulo-para-portao-de-garagem-com-sensores-de-fim-de-curso-extras/3735/1 "2020-01-12T02:33:03Z")

</div>

O objetivo deste tópico é partilhar a construção do modulo que construi para controlar o portão da garagem para caso alguém esteja a pensar contruir algo idêntico possa tirar ideias, ou então sugerir alterações que possam melhorar este projeto.

Este módulo que criei é para controlar o abrir e fechar do portão de garagem utilizando um relé ligado em paralelo com um botão de pressão que tenho para abrir e fechar o portão. O local onde se ligam estes fios no motor do portão vai variar de motor para motor.

Ter sensores de fim de curso para saber quando o portão está aberto ou fechado, saber a temperatura e humidade dentro da garagem, e com o sensor ultrassónico detetar a presença do carro podendo vir a criar algumas automações que vou descrever no final.

O material utilizado é o seguinte:

1 - NodeMCU (Quando fizer nova versão vou utilizar o wemos D1 mini, mas como não tinha disponível utilizei o NodeMCU)

> **[Placa de desenvolvimento WiFi ESP8266 (ESP12E) - CH340 NodeMCU V3 Lua](https://mauser.pt/096-6784/placa-de-desenvolvimento-wifi-esp8266-esp12e-ch340-nodemcu-v3-lua)**
>
> Placa de desenvolvimento baseada em ESP8266 com WiFi integrada e firmware Lua de código aberto, ideal para prototipar projetos de IoT. Dispõe de GPIO, PWM, ADC, I2C e 1-WIRE, além de USB-TTL serial com CH340 para conectividade estável em várias...

1 – Fonte Hi-Link HLK-PM01

> **[Hi-Link HLK-PM01 - Transformador de alimentação encapsulado para PCB...](https://mauser.pt/096-6877/hi-link-hlk-pm01-transformador-de-alimentacao-encapsulado-para-pcb-100-240vac-5vdc-0-6a-3w)**
>
> Transformador de alimentação encapsulado para PCB que converte 100–240 VAC em 5 V DC, fornecendo até 0,6 A de corrente contínua (3 W) com pico de 1 A. O módulo compacto oferece baixa ondulação e ruído, elevada eficiência e densidade de potência....

1 – Relé de 5V DC com pelo menos um contacto NO  
[https://mauser.pt/catalog/product\_info.php?cPath=324\_517\_2118&products\_id=096-7589](https://mauser.pt/catalog/product_info.php?cPath=324_517_2118&products_id=096-7589)

1 – Sensor de temperatura e humidade DHT22

> **[Seeed - Módulo Grove - Sensor de Temperatura e humidade Pro (AM2302)](https://mauser.pt/096-6611/seeed-modulo-grove-sensor-de-temperatura-e-humidade-pro-am2302)**
>
> Sensor de temperatura e humidade de alta precisão para uso no lar. O módulo utiliza um sensor capacitivo de humidade e um termistor NTC para medições estáveis de temperatura e humidade relativa. Pequeno, com consumo de energia ultra baixo e alcance...

1 – Sensor ultrassónico SR04

> **[Sensor ultrassónico (HC-SR04) compatível com Arduino](https://mauser.pt/096-6220/sensor-ultrassonico-hc-sr04-compativel-com-arduino)**
>
> O sensor ultrassónico compatível com Arduino realiza medições de distância sem contacto, com alcance de 3 cm a 4 m e resolução de 1 cm. Alimentado a 5 V, consome cerca de 15 mA e opera a frequência de 40 kHz, com pulso de disparo de 10 μs. O módulo,...

2 – Sensores de porta magnéticos com contacto NO

> **[KMS-30 - Interruptor magnético Reed Switch SPST-NO 110V 10W 29x18.8x6.9mm -...](https://mauser.pt/083-0068/kms-30-interruptor-magnetico-reed-switch-spst-no-110v-10w-29x18-8x6-9mm-cinzento)**
>
> Interruptor magnético de reed switch SPST-NO, acionado por íman, com contacto NO (NC quando ativado). Suporta comutação até 110V e 10W, corrente até 500mA. Corpo de 29 x 18,8 x 6,9 mm, fios 24 AWG (0,25 mm²) e classificação IP68. Possui dois sensores...

3 - Blocos de terminais de parafuso

> **[Degson Electronics - Bloco de 2 terminais com parafuso (2.5mm²) 5.0mm para...](https://mauser.pt/011-0912/degson-electronics-bloco-de-2-terminais-com-parafuso-2-5mm-5-0mm-para-pcb-azul)**
>
> Bloco de terminais de parafuso para PCB com dois caminhos, ideal para ligações seguras de fios até 2,5 mm². Oferece distância entre pinos de 5,0 mm, montagem para soldar em PCB, ligação por parafusos, saída em ângulo de 90°, tensão nominal 300 V e...

1 - Placa de circuito perfurada ponto a ponto

> **[Placa de circuito perfurada ponto-a ponto 115x160 (2200 furos)](https://mauser.pt/096-1323/placa-de-circuito-perfurada-ponto-a-ponto-115x160-2200-furos)**
>
> Placa de circuito perfurada para prototipagem, com dimensões 115x160x1,6 mm e 2.200 furos, com espaçamento entre furos de 2,54 mm. Ideal para montagem de circuitos ponto-a-ponto, testes e desenvolvimento de protótipos, oferecendo flexibilidade na...

1 – Caixa 75x75 ou maior para ficar com mais espaço.

> **[Helia - Caixa de derivação estanque 75x75x37mm IP54](https://mauser.pt/302-0549/helia-caixa-de-derivacao-estanque-75x75x37mm-ip54)**

Fios, ferro de soldar, estanho, ferramentas para construir os suportes para os sensores magnéticos…

De seguida o esquema das ligações. Serve de guia para poderem alterar a vosso gosto. Adicionar ou remover mais sensores…

 ![Esquema](https://forum.cpha.pt/uploads/default/original/2X/4/4099d81c7e3c785a3acef5cabc93a8f47e6bae45.jpeg)

Imagem da placa já com todos os componentes soldados e da caixa utilizada.

 ![modulo1_result_result](https://forum.cpha.pt/uploads/default/original/2X/b/b7e6c506a3fdd5625ecfe27d887074161f59d4d7.jpeg) ![modulo2_result_result](https://forum.cpha.pt/uploads/default/original/2X/7/7565fc790815bbe4ba1e8c1fd2475255b304682d.jpeg)

_Nota:_  
_Com o sensor de temperatura montado na caixa, os valores obtidos não vão ser os corretos devido ao aquecimento provocado pela fonte de alimentação e pelo NodeMCU._  
_Numa futura versão a opção será colocar o sensor numa caixa à parte._  
_Se forem seguir este exemplo à risca, tenham isso em conta e utilizem uma outra caixa para o sensor de temperatura._

Depois de ter todos os componentes soldados, flashar o firmware tasmota no NodeMCU, e configurar os dados do WiFi e MQTT tendo em conta o exemplo das seguintes imagens.

 ![conf_wifi](https://forum.cpha.pt/uploads/default/original/2X/6/6945759f589140c4a842592abc649da5703d58f3.jpeg) ![conf_mqtt](https://forum.cpha.pt/uploads/default/original/2X/b/bf73256c42b51460eac73cc2eb1598770c47ef12.jpeg)

No tasmota ir a “Configuration - Configure Other” e configurar os campos segundo a imagem que se segue utilizando o seguinte template.

```auto
{"NAME":"Garagem-CPHA","GPIO":[74,0,73,0,2,21,0,0,11,22,10,23,0],"FLAG":0,"BASE":18}

```

 ![conf_template](https://forum.cpha.pt/uploads/default/original/2X/3/36af3e2e6895d49db631fbdb69958c2c30185b37.jpeg)

De seguida ir à consola do tasmota e executar o seguinte comando para as várias configurações.

```auto
Backlog PowerOnState 0; SwitchMode1 1; Switchmode2 1; Switchmode3 1; PulseTime1 10; FriendlyName Portão da Garagem; Hostname garagem-portao; Topic garagem-portao; TelePeriod 10

```

Ao ir a “Configuration – Configure Template” deverão ver as configurações aplicadas como se pode ver na seguinte imagem. (Clicar na imagem para aumentar…)

 ![template](https://forum.cpha.pt/uploads/default/original/2X/c/c864990cddaea76051159762deb029deff7cdbb9.jpeg)

No final, o aspeto da imagem inicial do tasmota será como a seguinte imagem.

 ![inicial](https://forum.cpha.pt/uploads/default/original/2X/f/fa77fa367e2383d414feabefecce42146f8c3be3.jpeg)

De seguida vamos adicionar todos os sensores ao Home Assistant. Se já utilizarem packages o ideal é adicionar ao ficheiro da garagem, ou criar um novo ficheiro para a garagem. Se não utilizarem packages, pesquisem no fórum como o fazer que se torna mais fácil organizar tudo no Home Assistant.

Código para adicionar o relé:

```auto
switch:
  - platform: mqtt
    name: "Portão da Garagem"
    state_topic: "stat/nodemcu-garagem-portao/POWER1"
    command_topic: "cmnd/nodemcu-garagem-portao/POWER1"
    availability_topic: "tele/nodemcu-garagem-portao/LWT"
    qos: 1
    payload_on: "ON"
    payload_off: "OFF"
    payload_available: "Online"
    payload_not_available: "Offline"
    retain: false

```

Código para a adicionar os sensores de fim de curso:

```auto
binary_sensor:
  - platform: mqtt
    name: "Portão da Garagem Aberto"
    state_topic: "stat/nodemcu-garagem-portao/POWER2"
    availability_topic: "tele/nodemcu-garagem-portao/LWT"
    qos: 1
    payload_on: "ON"
    payload_off: "OFF"
    payload_available: "Online"
    payload_not_available: "Offline"
    device_class: garage_door
   
  - platform: mqtt
    name: "Portão da Garagem Fechado"
    state_topic: "stat/nodemcu-garagem-portao/POWER3"
    availability_topic: "tele/nodemcu-garagem-portao/LWT"
    qos: 1
    payload_on: "ON"
    payload_off: "OFF"
    payload_available: "Online"
    payload_not_available: "Offline"
    device_class: garage_door

```

Código para o sensor ultrassónico, sensor de temperatura e humidade:

```auto
sensor:
  - platform: mqtt
    name: "Ultra Sonico Garagem"
    state_topic: "tele/nodemcu-garagem-portao/SENSOR"
    unit_of_measurement: 'Cm'
    value_template: '{{ value_json.SR04.Distance | round(0) }}'
    
  - platform: mqtt
    name: "Temperatura Garagem"
    state_topic: "tele/nodemcu-garagem-portao/SENSOR"
    unit_of_measurement: '°C'
    value_template: '{{ value_json.AM2301.Temperature }}'

  - platform: mqtt
    name: "Humidade Garagem"
    state_topic: "tele/nodemcu-garagem-portao/SENSOR"
    unit_of_measurement: '%'
    value_template: '{{ value_json.AM2301.Humidity }}'

```

Quanto à fixação dos sensores de fim de curso no portão, deixo umas imagens dos suportes que construí para fixar os sensores e o íman no meu portão para que possam tirar ideias de como construir os vossos.

 ![suportes_fdc](https://forum.cpha.pt/uploads/default/original/2X/3/3ef43375fe21e5b80a2b4ae43d3cfb733b7f16b2.jpeg)

De seguida o local onde fixei a caixa com todos os componentes e os suportes com os sensores já fixados à estrutura do portão.  
A caixa fica mesmo por cima do local em que fica o carro para o sensor ultrassónico poder detetar a presença do carro.

 ![modulo_fdc](https://forum.cpha.pt/uploads/default/original/2X/c/cb9bafc302e896c8a0f37fc0ea62096bf9b90b25.jpeg)  
 ![fdc_aberto](https://forum.cpha.pt/uploads/default/original/2X/8/8848e4e728cdcac278ec242b95fc6c295b313dca.jpeg) ![fdc_fechado](https://forum.cpha.pt/uploads/default/original/2X/2/255fee127e89511d9fd947186973a0e01c049846.jpeg)

Ideias para automações em NodeRED que pretendo vir a implementar:

O portão da minha garagem tem acesso direto para a rua.  
Utilizando o relé que no tasmota está programado para quando é ativado, ficar ativado só durante 1 segundo, simulando assim um clique no botão de pressão que controla o abre e fecha do portão, o sensor de fim de curso que deteta que o portão está fechado e o sensor ultrassónico que pela distancia deteta quando o carro não está na garagem, é possível criar uma automação para quando se abre o portão, o carro sai para a rua, e caso me esqueça de fechar o portão, passado 1 minuto o portão é fechado automaticamente e recebo uma mensagem no telegram a avisar que me esqueci de fechar o portão.

Quando abrir o portão com o comando RF de origem, utilizando a alteração do estado do sensor de fim de curso que deteta que o portão está fechado, definir um intervalo de tempo durante a noite em que é enviado um comando MQTT para outro tasmota utilizado para controlar o ligar e desligar das luzes da garagem. Assim quando abrir o portão durante a noite, para além da luz que tem no motor do portão, vai ligar também as luzes da garagem.

Utilizar notificações no telegram para ser notificado quando o portão é aberto ou fechado.

Quando o portão começa a abrir ou a fechar, utilizando os estados dos sensores de fim de curso aberto e fechado, e sabendo o tempo que demora a abrir e fechar o portão, criar uma automação capaz de detetar uma possível avaria de um dos sensores de fim de curso.  
Se o portão estiver aberto, quando o estado do sensor aberto passar para off, caso não haja nenhuma ordem em contrário, se o sensor fechado não passar para o estado on dentro do tempo necessário para o portão fechar, podemos receber uma notificação no telegram de uma possível avaria no sensor.  
Fazer o mesmo para os dois processos, abrir e fechar.

No futuro vou fazer uma nova versão deste módulo com possibilidade de ligar detetores de movimento, sensor de luminosidade e sensor de fumo.

Caso tenham mais ideias de possíveis automações, ideias e sugestões, partilhem no tópico… 😉

---

<div class="post-metadata">

**Author:** ![max-men](https://forum.cpha.pt/user_avatar/forum.cpha.pt/max-men/32/6318_2.png) [@max-men](https://forum.cpha.pt/u/max-men)\
**Post date:** [3 Abril , 2021 21:21 UTC](https://forum.cpha.pt/t/modulo-para-portao-de-garagem-com-sensores-de-fim-de-curso-extras/3735/2 "2021-04-03T21:21:03Z")

</div>

O portão também não pode ser ligado aqui?

---

<div class="post-metadata">

**Author:** ![FSousa](https://forum.cpha.pt/user_avatar/forum.cpha.pt/fsousa/32/3276_2.png) [@FSousa](https://forum.cpha.pt/u/FSousa)\
**Post date:** [3 Abril , 2021 21:37 UTC](https://forum.cpha.pt/t/modulo-para-portao-de-garagem-com-sensores-de-fim-de-curso-extras/3735/3 "2021-04-03T21:37:15Z")

</div>

Não percebi a pergunta…

Se te referes à alimentação do motor do portão, esse está sempre ligado para poder abrir e fechar através do comando RF.

---

<div class="post-metadata">

**Author:** ![max-men](https://forum.cpha.pt/user_avatar/forum.cpha.pt/max-men/32/6318_2.png) [@max-men](https://forum.cpha.pt/u/max-men)\
**Post date:** [3 Abril , 2021 23:52 UTC](https://forum.cpha.pt/t/modulo-para-portao-de-garagem-com-sensores-de-fim-de-curso-extras/3735/4 "2021-04-03T23:52:41Z")

</div>

Eu tenho um sonoff para poder abrir o portão no HA (simula um botão de parede).

Não é possível incluir neste esquema?

---

<div class="post-metadata">

**Author:** ![FSousa](https://forum.cpha.pt/user_avatar/forum.cpha.pt/fsousa/32/3276_2.png) [@FSousa](https://forum.cpha.pt/u/FSousa)\
**Post date:** [4 Abril , 2021 00:00 UTC](https://forum.cpha.pt/t/modulo-para-portao-de-garagem-com-sensores-de-fim-de-curso-extras/3735/5 "2021-04-04T00:00:07Z")

</div>

O problema de usares um sonoff é que não vais ter GPIOS suficientes disponiveis para todos estes sensores…

Eu na altura utilizei o NodeMCU porque era o que tinha disponivel. Se fosse hoje utilizava um Wemos D1 Mini.

Se já tens o sonoff para abrir/fechar o portão, podes adicionar para sensor de portão aberto e de temperatura, sensores zigbee da xiaomi.

---

<div class="post-metadata">

**Author:** ![max-men](https://forum.cpha.pt/user_avatar/forum.cpha.pt/max-men/32/6318_2.png) [@max-men](https://forum.cpha.pt/u/max-men)\
**Post date:** [4 Abril , 2021 00:07 UTC](https://forum.cpha.pt/t/modulo-para-portao-de-garagem-com-sensores-de-fim-de-curso-extras/3735/6 "2021-04-04T00:07:35Z")

</div>

Achei este projeto interessante e por isso é que o fiz. Mas se pudesse ter tudo aqui, retirava o sonoff com que abro portão (é uma coisa mais básica que esta)!

O toggle1 quando ativado, é um pulso que dá!  
Não poderia enviar esse pulso ao motor?

---

<div class="post-metadata">

**Author:** ![max-men](https://forum.cpha.pt/user_avatar/forum.cpha.pt/max-men/32/6318_2.png) [@max-men](https://forum.cpha.pt/u/max-men)\
**Post date:** [6 Abril , 2021 07:11 UTC](https://forum.cpha.pt/t/modulo-para-portao-de-garagem-com-sensores-de-fim-de-curso-extras/3735/7 "2021-04-06T07:11:09Z")

</div>

Após as ajudas do @FSousa (ao que agradeço imenso), tenho este projeto feito.

Tenho um problema, ao qual no estou a conseguir resolver

Está imagem mostra o estado do meu portão fechado.

 ![imagem](https://forum.cpha.pt/uploads/default/original/2X/b/bb6122b21a7fc41712ed1ec85578ddd922a7ff2e.jpeg)

O toggle 2 e 3 são os dois red-switch.

Mas algumas horas depois, onde está on passa a off e não encontro o motivo. E isso faz com que o meu portão da garagem fique com informação errada no HA

Alguma ideia?

---

<div class="post-metadata">

**Author:** ![PDM](https://forum.cpha.pt/user_avatar/forum.cpha.pt/pdm/32/7456_2.png) [@PDM](https://forum.cpha.pt/u/PDM)\
**Post date:** [6 Abril , 2021 08:08 UTC](https://forum.cpha.pt/t/modulo-para-portao-de-garagem-com-sensores-de-fim-de-curso-extras/3735/8 "2021-04-06T08:08:22Z")

</div>

O reed switch está bem montado, a distancia ao iman está ok ?  
Verifica se não há nenum problema com o reed e está a dar o contacto perfeito , é raro mas ás vezes avariam.

Tenho uma solução wemos a comandar 2 portões e c/ 4 switch, um dos switch fazia “double information” devido à posição ( horizontal) dava dois impulsos qd o portão estava a fechar e ás vezes confome o portão ficava uns milimetros deslocado falhava o contacto. Corrigi mudando localização do reed e para posição vertical e diminui a distancia, até agora tem estado 5\* .  
O reed no contador do gás já tive de mudar , pois não sei pk deixou de dar.

---

<div class="post-metadata">

**Author:** ![max-men](https://forum.cpha.pt/user_avatar/forum.cpha.pt/max-men/32/6318_2.png) [@max-men](https://forum.cpha.pt/u/max-men)\
**Post date:** [6 Abril , 2021 08:27 UTC](https://forum.cpha.pt/t/modulo-para-portao-de-garagem-com-sensores-de-fim-de-curso-extras/3735/9 "2021-04-06T08:27:27Z")

</div>

Vou verificar isso 🙂  
Assim que o fizer dou feedback.

---

<div class="post-metadata">

**Author:** ![max-men](https://forum.cpha.pt/user_avatar/forum.cpha.pt/max-men/32/6318_2.png) [@max-men](https://forum.cpha.pt/u/max-men)\
**Post date:** [8 Abril , 2021 14:53 UTC](https://forum.cpha.pt/t/modulo-para-portao-de-garagem-com-sensores-de-fim-de-curso-extras/3735/10 "2021-04-08T14:53:02Z")

</div>

Não é dos reed! Coloquei um novo, fez a mesma coisa.  
Hoje desliguei os fios, e passado umas horas fez a mesma coisa passou novamente de on para off.

Vou testar passar para Switchmode2 2 e verificar se passa também de off para on ao fim de algum tempo!

---

<div class="post-metadata">

**Author:** ![moody\_blue](https://forum.cpha.pt/user_avatar/forum.cpha.pt/moody_blue/32/4844_2.png) [@moody\_blue](https://forum.cpha.pt/u/moody_blue)\
**Post date:** [26 Junho , 2021 19:06 UTC](https://forum.cpha.pt/t/modulo-para-portao-de-garagem-com-sensores-de-fim-de-curso-extras/3735/11 "2021-06-26T19:06:35Z")

</div>

No meu caso o comando do portão é este, com uma tranca manual com um microswitch que impede a abertura.

> **[BFT BOTTICELLI / EOS 120 MOTOR DE PORTA DE GARAGEM - Portugal MHZ](https://mhz.pt/produto/bft-botticelli-eos-120/)**
>
> BFT BOTTICELLI / EOS 120 Motores para portas de garagem eletromecânicos para uso semi intensivo e intensivo, desenvolvido para a automação de portas de garagem seccionadas. Adequado para instalação em qualquer ambiente. A diferente unidade de...

Como tenho redes wifi e zigbee na garagem, usei um [Shelly Uni](https://mauser.pt/catalog/product_info.php?cPath=570_2198_2742&products_id=096-9313) com Tasmota, dentro da caixa do motor. A placa do portão alimenta o Uni directamente. Os dois relés do Uni estão ligados:

1. Em série com o microswitch da tranca manual. Tenho assim uma tranca electrónica, para além da manual, a fim de evitar que se abra o portão por fora estando o alarme ligado (tive que definir este relé com lógica inversa no tasmota)
2. Como se fosse um botão (com um pulsetime de meio segundo)

Tenho também botões (do Ikea) e um sensor de contacto (da Xiaomi) que detecta o portão totalmente fechado, ambos zigbee. Pode ser que um dia ligue um DHT22 ao Shelly Uni, só ainda não sei para quê.

A garagem é para dois carros, por isso não tenho sensor de presença dos carros.

A tranca electrónica também serve para o seguinte: se a activar e desactivar sei que o próximo impulso vai abrir o portão. É assim possível ter comandos para abrir e/ou fechar o portão, independentemente do último movimento.

Ando à procura dum método para poder abrir o portão quando me aproximo pelo lado de fora (a pé ou de carro).
