Você está na página 1de 29

REPÚBLICA DE ANGOLA

MINISTÉRIO DA EDUCAÇÃO

MINISTÉRIO DAS TELECOMUNICAÇÕES E TECNOLOGIA DE INFORMAÇÃO

INSTITUTO DE TELECOMUNICAÇÕES

EDSON SEBASTIÃO MANUEL ANTÓNIO, 11599

IVÂNIO CELESTINO MATEUS GREGÓRIO, 10696

RELATÓRIO DO PROJECTO DE APTIDÃO PROFISSIONAL (PAP)

SISTEMA DE GESTÃO DE GÁS DE COZINHA

Luanda

OUTUBRO 2019

I
EDSON SEBASTIÃO MANUEL ANTÓNIO, 11599

IVÂNIO CELESTINO MATEUS GREGÓRIO, 10696

SISTEMA DE GESTÃO DE GÁS DE COZINHA

Projecto apresentado a Coordenação do Curso de


Electrónica e Telecomunicações dos requisitos ao
título de Técnico Médio de Electrónica e
Telecomunicações

Orientador:

___________________________

Luanda

OUTUBRO 2019

II
FOLHA DE APROVAÇÃO

EDSON SEBASTIÃO MANUEL ANTÓNIO, 11599

IVÂNIO CELESTINO MATEUS GREGÓRIO, 10696

Projecto apresentado a Coordenação do Curso de


Electrónica e Telecomunicações dos requisitos ao
título de Técnico Medio de Electrónica e
Telecomunicações

Aprovado em __ /__/ 2019

Presidente do Júri:

__________________________________________________________

1ºPresidente. Vogal:

__________________________________________________________

2ºPresidente. Vogal:

__________________________________________________________

III
Agradecimentos

Agradecemos em primeiro lugar а Deus que iluminou о


nosso caminho durante esta jornada, como também aos nossos
pais, que de forma especial e carinhosa deram força e coragem,
nos apoiando nos momentos de dificuldades, iluminando de
maneira especial os nossos pensamentos, levando a buscar mais
conhecimentos. Também aos nossos professores amigos pela
ajuda e carinho.

IV
Resumo
O sistema de gestão de gás de cozinha consiste na implementação de um sistema que
permite ao utilizador saber com exactidão o nível de gás na sua botija e ser alertado em casos
de vazamento de gás, desta forma, o utilizador tem a possibilidade de fazer uma melhor gestão
do seu gás de cozinha.

O sistema faz a leitura do estado da botija e o apresenta numa tela em percentagem, detecta
vazamento de gás e alerta o utilizador sobre o mesmo, determina se o nível de gás é baixo e
alerta o utilizador sobre o previsto término de gás.

Palavras chaves: vazamento, nível de gás, alerta , botija.

V
Lista de Abreviaturas e Siglas

A/D Conversor Analógico/Digital

GLP Gás Liquifeito de Petróleo

GPRS General Packet Radio Services

GSM Global System for Mobile Communications

IDE Integrated Development Environment

IoT Internet of Things

LCD Liquid Crystal Display

LED Light Emitting Diode

SGGC Sistema de Gestão de Gás de Cozinha

USB Universal Serial Bus

VI
Índice de Figuras e tabelas

Figura 3.1 Diagrama funcional do SGGC ............................................................................................. 5


Figura 3.2 Esquema eléctrico do SGGC ............................................................................................... 7
Figura 3.3 Células de carga ................................................................................................................... 8
Figura 3.4 Módulo HX711 .................................................................................................................... 8
Figura 3.5 Sensor MQ-2 ........................................................................................................................ 9
Figura 3.6 Portas do arduino ................................................................................................................. 9
Figura 3.7 Buzzer ................................................................................................................................ 10
Figura 3.8 Button ................................................................................................................................ 11
Figura 3.9 Display gráfico LCD 128x64 ............................................................................................. 11
Figura 3.10 LED’s de sinalização ....................................................................................................... 12
Figura 3.11 GSM SIM800L ................................................................................................................ 12
Figura 6.12 Visão geral da maquete ...................................................................................................... 5
Figura 6.13 Dispositivo de visualização (LCD) .................................................................................... 5
Figura 6.14 Componentes ..................................................................................................................... 5
Figura 6.15 Balança .............................................................................................................................. 5

Tabela 4.1 preço dos materiais ............................................................................................................ 14

VII
Sumário

1. Introdução ................................................................................................................................. 1

1.1. Problemática ............................................................................................................................. 1

1.2. Justificativa ................................................................................................................................ 1

1.3. Objectivos geral e específico ..................................................................................................... 1

2. Definições e conceitos............................................................................................................... 3

3. Estudo de caso .......................................................................................................................... 5

3.1. Diagrama de blocos ................................................................................................................... 5

3.2. Funcionamento do diagrama .................................................................................................... 5

3.3. Esquema eléctrico e Resultados esperados .............................................................................. 7

3.3.1. Célula de carga ou sensor de peso (Strain Gauge) ............................................................ 8


3.3.2. Módulo HX711................................................................................................................... 8
3.3.3. Sensor de gás ................................................................................................................ 9
3.3.4. Arduino .............................................................................................................................. 9
3.3.5. Buzzer .............................................................................................................................. 10
3.3.6. Button.............................................................................................................................. 11
3.3.7. Display gráfico – LCD 128x64 .......................................................................................... 11
3.3.8. LED’S ................................................................................................................................ 12
3.3.9. Módulo GSM ................................................................................................................... 12
4. Conclusões............................................................................................................................... 13

4.1. Vantagens e desvantagens .................................................................................................. 13


4.2. Caderno de encargo ............................................................................................................ 13
5. Referências bibliográficas ....................................................................................................... 15

6. Anexos ....................................................................................................................................... 1

6.1. Código fonte do Arduino ........................................................................................................... 1

6.2. Fotos do ilustrativas ................................................................................................................. 5

VIII
1. Introdução

O SGGC é apresentado como uma forma de gerência e protecção que visam o bem-estar e
a segurança das pessoas. Com conhecimentos em Matemática, Electrónica, Programação, entre
outras disciplinas, foi possível criar um sistema que permite ao utilizador fazer a gestão do seu
gás de cozinha.

Este projecto tem um funcionamento simples que é detalhado neste relatório, permitindo o
leitor ter conhecimento pleno do projecto desde o seu estado físico, de todos os materiais que
foram utilizados até a razão da sua utilização no sistema.

1.1.Problemática

Desde a implementação das botijas de gás dentro de casas para a confecção de alimentos
nunca houve um método preciso para o utilizador examinar a quantidade de gás no seu
vasilhame. A falta de informação precisa sobre o nível de gás na botija resultou muitas vezes
em término inesperado do gás durante a confecção dos alimentos, e muitas vezes esse término
ocorrem em horas tardias e impossíveis de aplicar qualquer solução, como as madrugadas,
causando assim um constrangimento. Constrangimento este, por não se ter a mínima ideia de
que o gás terminaria naquele preciso momento.

1.2.Justificativa

Devido a inúmeras ocorrências de término de gás em momentos inesperados e acidentes


caseiro envolvendo a botija de gás, nos pareceu interessante desenvolver um projecto que
pudesse auxiliar e diminuir essas ocorrências. A criação do presente sistema, vem com
tecnologias que permitem ao utilizador ter o conhecimento do estado de gás no seu vasilhame,
do quanto ainda resta e ajudá-lo, assim, a utilizar de maneira sábia. Resumindo, decidimos
desenvolver este sistema com a intenção de prevenir casos em que o gás termine
inesperadamente, e prevenir de acidentes provocados pelo vazamento do mesmo.

1.3.Objectivos geral e específico

De um modo geral, o objectivo do SGGC é administrar o gás afim de que se prolongue seu
tempo útil e diminuir o índice de acidentes causados por vazamento de gás.

Especificamente:

 Criar um sistema capaz de medir o nível de gás.


 Implementar uma tela de visualização para informar ao utilizador o nível de gás em
percentagem.
1
 Criar uma sistema de alerta para informar ao utilizador sempre que a sua botija estiver com
o nível de gás baixo ou igual a zero.
 Implementar um sistema de alerta contra vazamento de gás.

2
2. Definições e conceitos

Células de carga (Strain gauge): É um sensor que é colocado na superfície de uma peça,
geralmente utilizadas em balanças, é responsável por medir a deformação diante da aplicação
de um carregamento. Essa técnica é muito utilizada para a verificação dos níveis de tensão
actuante diante da condição de operação de um equipamento ou máquina.

Módulo HX711: Este módulo é um conversor analógico digital de 24 bits que também
funciona como um amplificador. Como amplificador, é utilizado para amplificar o sinal de
dispositivos como as células de carga, fazendo a interligação entre essas células e o micro-
controlador.

MQ-2: É um sensor capaz de detectar concentrações de gases inflamáveis e fumaça no


ambiente. É um módulo pequeno e simples, muito prático de ser integrado em projectos de
automação residencial ou protótipos de produtos electrónicos. O nível de concentração máximo
permitido é ajustado por um pequeno potenciómetro no módulo. Quando algum gás ultrapassa
esse nível, a saída digital do sensor (D0) é accionada em nível alto.

O módulo também possui uma saída analógica (A0), que permite medir a variação na
concentração dos gases no ar com mais precisão. Para usar a saída analógica é preciso um
conversor A/D, como o que o próprio arduino disponibiliza em seus canais analógicos.

Display gráfico - LCD 128x64: O display gráfico é um componente de visualização que


possibilita a exibição de efeitos gráficos, rotação de tela, imagens, mudança de fontes de escrita,
etc. Este dispositivo é ideal para amostragem de dados em protótipos que utilizem micro-
controladores como base.

GSM SIM800L: É um módulo GSM/GPRS Quad-Band que trabalha com frequências de


850/900/1800/1900 MHz. Este módulo de telefonia móvel permite adicionar voz, SMS e dados.
Para conectar-se a rede telefónica o módulo requer uma antena, como apresentado na figura.
Este dispositivo é utilizado para projectos de IoT (Internet of Things ou Internet das Coisas),
pois além do baixo consumo realiza a comunicação via interface serial, o que facilita a
adaptação para as mais variadas placas e microcontroladores que usem esse tipo de
comunicação.

Buzzer: É um componente electrónico que é composto por 2 camadas de Metal e uma


terceira camada interna de cristal Piezoeléctrico. Este componente recebe uma fonte de

3
energia e através dela emite uma frequência sonora. Buzzer está presente em diversos tipos de
aparelhos, como despertador, Carros e até em computadores, que quando ligado emite um
Beep informando que a memória foi reconhecida.

O buzzer do tipo activo, o que nós utilizamos, contém um circuito oscilador embutido,
assim, basta alimentar o componente para que o mesmo comece a emitir um beep contínuo.
Este é um componente indicado para adicionar efeitos sonoros em projectos electrónicos
como alarmes, sistemas de sinalização, jogos, brinquedos, etc.

Arduino: É uma plataforma open source; seu projecto foi criado na Itália em 2005, possui
um hardware e software de fácil utilização, onde sua programação é feita por entradas e saídas,
e componentes externos chamados de Shields conectados a placa que criam extensões
possibilitando diversas aplicações desde a movimentação de um motor servo utilizado na
robótica até os sensores de temperatura, sua conexão é feita pela porta USB que permiti interagir
com o computador.

4
3. Estudo de caso

3.1.Diagrama de blocos

O princípio de funcionamento do SGGC é simples e pode ser representado no diagrama de


blocos apresentado na Figura 3.1.

Figura 3.1 Diagrama funcional do SGGC

3.2.Funcionamento do diagrama

O diagrama de blocos do SGGC consiste em 5 blocos fundamentais que resumem o


funcionamento do sistema.

A balança é responsável por recolher e enviar dados da balança digital para o arduino. Esses
dados, por sua vez, são sinais eléctricos obtidos a partir de 4 células de carga associadas entre
si. As células de carga actuam fazendo a conversão da energia mecânica para energia eléctrica,
ou seja, transformam Kg em Volts e isso permite que o processador compare esses dados para
ter uma visão do nível de gás na botija para posteriormente apresentá-la em percentagem ao
utilizador. Está acção ocorre da seguinte forma:

Existe uma botija de gás sobre uma balança digital, esta balança, apresenta um determinado
valor de peso (em kg). Durante o tempo que o gás é consumido, o peso da botija diminui
gradualmente (Consequência do fluido de gás) e cada variação de peso que ocorre na balança,
um sinal eléctrico é enviado para o arduino para serem processados e posteriormente
apresentados ao utilizador.

Nota-se que, a cada variação de peso na balança varia também a intensidade do sinal
eléctrico gerado pelas células de carga, portanto, quanto maior o peso da botija maior é a

5
intensidade do sinal eléctrico gerado pelas células de carga, do mesmo modo, quanto menor o
peso da botija menor é a intensidade do sinal.

É importante realçar a necessidade de conhecer o peso da botija porque é a partir dele que
se determina o nível de gás na botija.

O sensor tem a função de detectar a existência de algum vazamento de gás. Para a detecção
de gás é usado um sensor MQ-2 que ao detectar a presença ou a concentração do mesmo envia
sinais eléctricos ao processador que é o responsável por encaminhar esses sinais para alerta.

O arduino é responsável por receber os sinais eléctricos da balança e do sensor e a partir


destes executar duas tarefas de extrema importância.

A primeira tarefa do referente bloco é determinar o actual nível de gás na botija. Tendo em
conta que é a partir do peso que se determina o nível de gás na botija, é necessário o processador
conhecer com antecedência as seguintes informações de peso de uma botija:

 O peso de uma botija completamente vazia.


 O peso de uma botija completamente cheia.

Depois de conhecer esses dados (informações de peso de uma botija), estes são gravados na
memória do processador, quando a botija é posta sobre a Balança esta envia sinais eléctricos ao
processador, que ao receber estes sinais faz a conversão dos mesmo e os compara com dados
gravados na sua memória. A partir disso, determina o actual nível de gás na botija e envia esta
informação para o bloco de visualização que apresenta estes dados ao utilizador.

A segunda tarefa do mesmo bloco, é enviar dados ao bloco de alerta quando existirem dois
tipos de ocorrência:

1. Detecção de vazamento de gás: Quando o sensor detecta algum vazamento de gás,


envia sinais eléctricos para o processador, que entende estes sinais como uma ordem
de informar ao bloco alerta sobre o presente acontecimento. Depois de receber o
sinal, o bloco de alerta é responsável por informar ao utilizador sobre o possível
vazamento de gás.
2. Término ou nível baixo de gás: Sabe-se que quando o nível de gás é baixo a botija
atinge um determinado peso, o mesmo acontece quando o gás termina, portanto,
estes valor de peso são gravados na memória do processador para quando a botija
atingir um destes níveis, o processador envie sinais eléctricos para o bloco de alerta
que serão interpretados como término ou nível baixo de gás. Tendo descodificado a

6
mensagem, o bloco de alerta é responsável por informar ao utilizador sobre a actual
ocorrência.

A visualização é responsável por apresentar os dados processados ao utilizador. Esses dados


são exibidos por um monitor (LCD) onde consta a informação sobre o nível do gás em
percentagem.

A alerta é responsável por alertar o utilizador dois tipos de ocorrências:

 A primeira ocorrência é a alerta sobre o término ou nível baixo de gás. Quando o nível
de gás está abaixo de uma faixa predefinida no sistema, por exemplo 15%, uma
mensagem é enviada ao utente informando o actual estado da sua botija, o mesmo
acontoce quando o gás termina. Para notificar o utilizador, é necessário um módulo
GSM que é responsável por enviar uma mensagem de texto ao utilizador.
 A segunda ocorrência é a alerta de vazamento de gás. Em caso de vazamento de gás,
uma mensagem é enviada ao utente informando-o sobre o corrente acontecimento para
que o mesmo possa intervir. Existem também três LED’S de sinalização que indicam a
existência ou não de vazamento de gás.

3.3.Esquema eléctrico e Resultados esperados

O esquema eléctrico foi elaborado no software Proteus e programado na IDE do Arduino


que tem como base a linguagem C. Na figura 3.2 é apresentado o circuito eléctrico do SGGC.

Figura 3.2 Esquema eléctrico do SGGC


7
3.3.1. Célula de carga ou sensor de peso (Strain Gauge)

Quando as células de carga entram em operação, ou seja, quando um peso (botija) é aplicado
sobre elas, estas enviam a partir dos fios “Brancos” (figura 3.3) uma tensão de saída ao
amplificador.

Figura 3.3 Células de carga

Cada célula de carga tem a capacidade de medir até 50kg, para maior eficiência as 4 células
de carga estão ligadas entre si afim de somar as tensões de saída. É importante ressaltar que a
tensão de saída é tão baixa que é necessário utilizar um amplificador de sinal para a
comunicação com o arduino.

Os fios “Preto” e “Vermelho” são os fios de alimentação ligados ao amplificador, que


recebe tensão (5V) do arduino e faz chegar as células de carga.

3.3.2. Módulo HX711

Como as células de carga instaladas na balança não oferecem dados com grande precisão é
necessário o uso do módulo HX711. Este módulo recebe os sinais vindo das células de carga e
amplifica-os. Na figura 3.4 é apresentado o módulo HX711 e os seus pinos.

Figura 3.4 Módulo HX711

Para amplificar os sinais desejados as células de carga são ligadas nos pinos E+ e E- para
alimentação, e nos pinos A+ e A- são ligados as saídas das células de carga. Depois de
amplificado o sinal tem sua saída pelo pino DT, que é ligado na porta analógica do arduino

8
“A1”, e no pino SKC ligado na porta analógica do arduino“A0” dá-se a entrada dos pulsos de
clock que sincroniza o módulo HX711 ao arduino.

O módulo é alimentado a partir dos pinos Vcc(5V) e GND do arduino.

O módulo HX711 é como uma bóia salva vidas para este projecto. A princípio as células de
carga eram ligadas directamente às portas analógicas do arduino, devido a fraca tensão de saída
nas células de carga não obtinha-se nenhuma valor nas portas do arduino. Usando o módulo
HX711 permitiu-nos além de amplificar, converter em digitais os sinais das células de carga. O
HX711 possui uma precisão de dados, de até 24 bits, já a leitura analógica do Arduino é de 10
bits, deste modo, pode dividir-se a precisão de carga por apenas 1024 valores (0 à 1023). Em
1Kg isso é bastante, mas em 50Kg a precisão cai e essa curva deve ser considerada.

3.3.3. Sensor de gás

Este componente é usado para alertar o arduino quando é detectado a presença de GLP. A
partir do pino OUT é enviado um sinal de alerta ao arduino na porta analógica “A2” como
apresentado na figura 3.5.

No pino Vcc o sensor MQ-2 é alimentado com uma tensão de 5V e aterrado no pino GND.

Figura 3.5 Sensor MQ-2

3.3.4. Arduino

É utilizado para receber, processar ou enviar informações e reagir de diferentes formas com
cada um dos componente de acordo a programação. Os componentes estão ligados nas portas
do arduino (figura 3.6) onde foram configuradas como entradas e saídas.

Figura 3.6 Portas do arduino

9
Nos pinos 5V e GND são alimentados todos os componentes do circuito excepto o GSM.

Nas portas analógicas “A0” e “A1” do arduino são ligados os pinos SCK e DT definidos
como saída e entrada, respectivamente.

Na porta “A0” o arduino envia pulsos de clock para o pino SCK do HX711 para
sincronização entre os dois.

Na porta “A1” o arduino recebe a tensão de saída do HX711 e converte em sinal digital. O
arduino está programado para comparar o valor de entrada da porta “A1” com um determinado
valor no código e posteriormente fazer cálculos que determinam em percentagem o nível de gás
na botija.

Na porta analógica “A2” definido como entrada é ligado o pino OUT do sensor MQ-2, este
envia informações de estado do sensor, e quando o sensor detecta a presença de GLP, libera um
sinal acima do limite registado no arduino, fazendo com que o arduino alerte o utilizador.

Nas portas digitais “4”, “5”, “6” e “7” estão ligados respectivamente os pinos de
configuração do LCD “RS”, “R/W”, “E” e “RST”. Estes pinos permitem que o arduino escreva
no LCD a informação do nível de gás na botija .

No pino digital “2” definido como saída, é ligado um Buzzer que recebe do arduino nível
lógico alto sempre que o arduino determina que existe vazamento de gás.

Nos pinos digitais “8” e “9” estão ligados respectivamente os pinos “TX” e “RX” do
GSM que permitem a comunicação serial entre o arduino e o GSM. O arduino é programado
para comunicar-se com GSM sempre que determina que o nível de gás é baixo, ou seja, a
partir da porta “8” o arduino envia uma informação ao GSM que repassa para o utilizador.

3.3.5. Buzzer

É utilizado como alarme de vazamento de gás para o utilizador. Ligado na porta digital “2”
(figura 3.7), este é accionado por um nível lógico alto recebido do arduino sempre que haver
uma concentração de GLP no sensor MQ-2.

Figura 3.7 Buzzer


10
3.3.6. Button

É utilizado para parar o alarme de vazamento de gás accionado pelo buzzer. É ligado em
serie com uma resistência que é ligada na porta digital “3” do arduino e o segundo pino é
ligado ao GND Figura(3.8).

Figura 3.8 Button

Quando o Button é pressionado faz um caminho entro o GND e a porta “3” do


arduino, ou seja, o arduino recebe nível lógico baixo, que o entende como um sinal para parar
o buzzer.
3.3.7. Display gráfico – LCD 128x64

Este componente (figura3.9) serve para exibir ao utilizador a informação do nível de gás
determinado pelo arduino.

Figura 3.9 Display gráfico LCD 128x64

Nos pinos Vcc e GND alimentam-se o Display e no pino “Vo” é ligado a um potenciómetro
para o ajuste de contraste.

Os pinos “RS”, “R/W” e “E”, são os pinos de controle ligados respectivamente nas portas
digitais “4”, “5” e “6” do arduino. A partir destas portas o arduino envia níveis lógicos altos
ou baixos que capacitam escrever no Display a informação do nível de gás.

O pino RESET ligado na porta digital “7”, é pino que serve para reiniciar o display. Este
recebe um nível lógico baixo do arduino sempre que for necessário reiniciar o display.

Com o Display gráfico LCD 128x64 além de obter-se a simples apresentação dos número
em percentagem indicando o nível de gás, espera-se obter também efeitos gráficos como
desenhar uma botija de gás, rotação de tela, transições de tela, etc.

11
3.3.8. LED’S

São utilizados para sinalização quando é ou não detectado vazamento de gás. Existem três
Leds (figura 3.9) de sinalização diferenciados por cores: verde, amarelo e vermelho.

Figura 3.10 LED’s de sinalização

O Led verde indica a pureza do ar, ou seja, que não existe presença de GLP. O Led
Vermelho indica a presença de GLP e é accionado sempre que existe algum vazamento. O
Led laranja serve para indicar a quantidade de gás detectada, para tal, o Led pisca em
frequências diferentes consoante a quantidade de gás detectada.
Os LED’S verde, laranja e vermelho estão ligados respectivamente nas portas digitais do
arduino “10”, “11” e “12”, e são aterrados no GND do arduino.
3.3.9. Módulo GSM

É componente que alerta o utilizador sempre que ocorre um vazamento de gás e sempre que
o gás na botija termina ou atinge um nível considerado baixo.

Figura 3.11 GSM SIM800L

Para que o GSM alerte o utilizador são conectado nas portas digitais “8” e “9” do arduino,
respectivamente os pinos “TX” e “RX” que são responsáveis pela comunicação serial com o
arduino. Desta forma, sempre que o arduino determina que o nível de gás é baixo, envia uma
mensagem programada a partir dos pinos serias “TX” e “RX” que encaminham essa informação
ao número de telefone do utilizador.

O módulo GSM requer uma tensão de alimentação de 5V e uma corrente de 2A. A princípio
era alimentado com menos de 2A, o que fazia com que o dispositivo não iniciasse, apresentando
assim, um resultado inesperado. Foi necessário utilizar uma fonte externa para alimentá-lo,
funcionando assim de forma correta.

12
4. Conclusões

Os resultados predestinados neste sistema foram satisfatórios tornando eficiente e seguro


a sua utilização desde a medição do nível de gás à alerta de vazamento de gás. Após o término
deste projecto, com os testes e os resultados obtidos, pudemos concluir que:

Na fase da medição do nível de gás, conseguimos alcançar o objectivo previsto, que é a


criação de um sistema capaz de medir a quantidade de gás na botija a partir do seu peso.

Com os dados obtidos da medição da botija e com os cálculos feitos, foi possível
alcançar o segundo objectivo que é a implementação de uma tela de visualização para
informar ao utilizador o nível de gás em percentagem.

O terceiro objectivo também foi alcançado com sucesso apesar das dificuldades que
tivemos ao lidar com o GSM que tem a responsabilidade de alertar ao utilizador sempre que o
nível de gás é baixo ou igual a zero.

O quarto e último objectivo foi atingido com sucesso, onde constou a implementação de
um sistema de alerta contra vazamento de gás que tem como objectivo detectar e informar ao
utilizador sempre que existir algum vazamento de gás.

4.1.Vantagens e desvantagens

Vantagem A: A nível académico o projecto é de grande utilidade porque nos permitiu


aplicar e desenvolver conhecimentos obtidos durante o período escolar, e pode ainda ser útil
como objecto de pesquisa para outros estudantes.

Vantagem B: A nível social a implementação deste projecto pode atingir todas as casas que
utilizem botijas de gás para a confecção dos alimentos, actuando como um suporte de gestão
de gás e de segurança nas cozinhas domésticas.

Desvantagem: O sensor MQ-2 além de detectar GLP e fumaça, indica também a presença
de Propano, Metano, Hidrogénio e outros tipos de gases. Esta característica do sensor pode
resultar em alarmes falsos durante o funcionamento do circuito, pois, o ideal é detectar apenas
a presença de GLP.

4.2.Caderno de encargo

Para a execução do presente projecto foi necessário um valor de 48.595kz, conforme


mostra a tabela 4.1.

13
Tabela 4.1 preço dos materiais

Quantidade Descrição Valor (em kz)

1 Arduino 7 200

4 Célula de Carga 8 000

1 HX711 5 500

1 LCD Gráfico 128x64 7 500

1 Sensor MQ-2 3 250

1 GSM SIM800L 12 200

1 Buzzer 650

1 Potenciómetro 455

1 Maquete 1 500

3 Placa PCB 5x7cm 1 350

10 Jumper 20cm 600

4 Resistência 220Ω 140

1 Botão de pressão 65

3 LED (RGY) 185

Total 48.595

14
5. Referências bibliográficas

[1] Curso básico de arduino, Marco Polo Moreno de Souza.

[2] Aprendendo aduino uma abordagem prática, Cláudio Luís Vieira Oliveira, Humberto
Augusto Piovesana Zanetti, Cristina Becker Matos Nabarro e Júlio Alberto Vansan
Gonçalves.

[3] Apostila Arduino Básico V1.0 disponível em: < https://www.eletrogate.com>

[4] Arduino Básico, Michael McRoberts

[5] Display Gráfico 128x64 com Arduino disponível no Portal Vida de Silício:
<https://www.vidadesilicio.com.br>

[6] Display gráfico LCD 128x64 - ST7920 – Disponível em:


<https://www.arduinoecia.com.br>

[7] Primeiros passos com o SIM800L enviando SMS • Do bit Ao Byte, disponível em:
<https://www.dobitaobyte.com.br>

[8] Balança com celula de carga, HX711 e uma MCU • Do bit Ao Byte, disponível em:
<https://www.dobitaobyte.com.br>

[9] Balança com célula de carga, módulo conversor HX711 e arduino – Hobby Hacker

[10] Criando uma Balança com o Arduino - Tutorials – RoboCore, disponível em


<www.fedablio.com.br>

[11] Detector de Gás - Sensor de Gás MQ-5 - GLP (Gás de Cozinha) e Gás Natural –
Usinainfo, disponível em: <https://www.usinainfo.com.br>

[12] Tipos de gás _ GLP ou GN - Qual o mais adequado para meu uso_ - Aquecenorte,
disponível em: <https://aquecenorte.com.br › blog › tipos-de-gas>

[13] Você sabe o que é gás GLP_ _ Ultradicas, disponível em: <https://www.ultragaz.com.br
› residencial › ultradicas ›>

[14] 6 truques eficazes para poupar no gás de cozinha_arquivos, disponível em:


<https://www.dicasonline.com › Casa>

[15] Curso de Arduino-Brincando com ideias, dispoível em https:


<//www.brincandocomideias.c

15
6. Anexos

6.1. Código fonte do Arduino

#include <HX711.h> U8GLIB_ST7920_128 int ledGreen = 12; 0x00, 0x00, 0x00,


// inclusão da biblioteca X64_1X u8g(6, 5, 4 0x00, 0x80, 0xcf, 0xff,
do HX711 ,7); //Enable, RW, RS, const uint8_t 0xdf, 0xff, 0x3f, 0x7f,
RESET img_bitmap[] 0x00,
#include <U8glib.h> U8G_PROGMEM =
// inclusão da biblioteca int display = 1; {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
do LCD 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
SoftwareSerial 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf,
#include sim800(SIM800_TX,SI 0x00, 0x00, 0x00, 0xff, 0xff,
<SoftwareSerial.h> M800_RX);
// inclusão da biblioteca 0x00, 0x00, 0x00, 0xff, 0x3f, 0x7f,
do GSM float Valor_Obtido; 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// Valor em Kg obtido 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
#define SIM800_TX 8 na balança 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// define os pinos TX e
RX utilizados com int Valor_Percentual; 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff,
softserial // Valor Percentual do 0x00, 0x00, 0x00, 0xff, 0xff, 0x3f, 0x1f,
peso obtido na balança 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
#define SIM800_RX 9 0x00, 0x00, 0x00, 0x00, 0x00,
// define os pinos TX e int pinSensor = A2;
RX utilizados com //Pino do Sensor MQ2 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
softserial definido na porta 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x0f,
Analógica: "A2" 0x00, 0x00, 0x00, 0xfa, 0xfe, 0x1f, 0x1f,
HX711 Balanca; 0x00, 0x00, 0x00, 0x00,
// Instância da balança int buzzer = 2;
//Buzzer definido na 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
const int SKC = A0; porta Digital: "2" 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
// SCK(Serial Clock 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
Input): Entrada de int ValDesarm = 55;
0x00, 0x00, 0x00, 0xdc, 0x7f, 0xfc,
pulso de clock do //Valor de alerta
HX711 definido na 0x00, 0x00, 0x00, 0xf7, 0x1e, 0x1f,
int valor = 0;
porta Analógica "A1" 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
//Variável de controlo
Arduino 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00,
int button = 3; 0xff, 0xbf, 0x00, 0x00, 0x00,
const int DT = A1;
//Botão cessar o alarme
// DT(Data Output): 0xff, 0x03, 0x0f, 0x00, 0xfc, 0x01,
Saída de dados do int controlButton; 0x00, 0x00, 0x00, 0x30, 0xe0, 0x1f, 0x1f,
HX711, definido como //Variável de controlo 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
entrada na porta do botão 0x00, 0x00, 0x00, 0x00, 0x00,
Analógica "A0" do
Arduino int A=0; 0x00, 0xfb, 0xff, 0x00, 0x00, 0x00,
0x1f, 0xf8, 0x0f, 0x7e, 0x00, 0x00, 0xff, 0xc3,
float fator_calibracao = int ledRed = 10; 0x00, 0x00, 0x00, 0xff, 0xff, 0x1f, 0x7f,
24740.00; // Fator de 0x00, 0x00, 0x00,
calibração int ledOrange = 11;

1
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x0f, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0x3f,
0x00, 0x00, 0x00, 0x00, 0xfe, 0x8f, 0xf9, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0x3f, 0xfe, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0x3f, 0x00, 0x00, 0x00,

0xff, 0x0f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f, 0x86,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f, 0xde, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x8f, 0xef, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0xf7, 0x3f, 0x00, 0x00,

0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0x3f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0xce, 0xdf, 0x3f,

0x00, 0x00, 0x00, 0xfe, 0x0f, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00,
0x00, 0x80, 0xbf, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x7f, 0xee, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f,
0x01, 0x00, 0x00, 0x00, 0x0f, 0xff,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f, 0x86, 0xff, 0xff, 0xff, 0x3f,
0x00, 0x00, 0x00, 0x00, 0xfe, 0x0f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0x00, 0xf0, 0xdf, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00,

0xc0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f, 0x06,
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f, 0x86, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00,
0x00, 0x00, 0x00, 0xfe, 0xff, 0x3f, 0x00, 0x00,

0xfc, 0xff, 0x3f, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x8e, 0xff, 0x3f,

0x00, 0x00, 0x00, 0xfe, 0x0f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00,
0x00, 0xfe, 0xff, 0x05, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3f, 0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f,
0x1f, 0x00, 0x00, 0x00, 0x07, 0xff,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f, 0x86, 0xff, 0xff, 0xff, 0x3f,
0x00, 0x00, 0x00, 0x00, 0xfe, 0x0f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0x00, 0x00, 0xfe, 0x03, 0xfc, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00,

0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x0f, 0x8e, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x0f, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00,
0x00, 0x00, 0xfe, 0xff, 0x3f, 0x00, 0x00,

0xfe, 0x8f, 0xfd, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0f, 0xfc, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xbf, 0x07,
0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff,
0x00, 0x00, 0x00, 0x00, 0x87, 0x74, 0x3f,

2
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, void draw() //Função
0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, de desenho da tela 1{
0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
0x8f, 0xff, 0x3f, 0x00, 0x00, u8g_prepare();
u8g_Tela1(); }
0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, void u8g_Tela2()
0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x00, 0x00, 0x00, //Tela 1 "O nível da
0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, botija"{
u8g.setFont(u8g_font_
0xfe, 0xbf, 0x8f, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, unifont);
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 };
0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, u8g.drawStr( 1, 14,
0x00, 0x00, 0x00, 0x00, /****************** "Estado da botija: ");
****Criação das u8g.setFont(u8g_font_
0x00, 0x00, 0x00, 0xfe, 0xff, 0xe7, 0xff, funções unifont);
0x00, 0xfe, 0xff, 0x8f, 0xf8, 0xff, 0xff, 0x3f, secundárias********* u8g.setPrintPos(54,
0x7f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, ******************/ 40); u8g.print(
0x3f, 0x00, Valor_Percentual );
void bitmap();
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //função para gerar o u8g.drawStr( 78, 40,
0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f, 0xff, bitmap "%" );
0x00, 0x00, 0xfc, 0xff, 0x3f, 0xff, 0xff, 0xff,
0x8f, 0xff, 0x3f, void bitmap() // Função } void draw1() //
Bitmap{ Função de desenho da
0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, tela 2
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, u8g.drawXBMP( 0, 0,
0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x9f, 128, 64, img_bitmap); { u8g_prepare();
0x00, 0x00, 0xff, 0xff,
} //end bitmap u8g_Tela2(); }
0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f,
void u8g_prepare() // void u8g_Tela3()
0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00,
Define a fonte, a cor e //Tela 3{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
o background do LCD{ u8g.setFont(u8g_font_
0x00, 0x00, 0x00,
u8g.setFont(u8g_font_ unifont);
0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 6x10); u8g.drawStr( 30, 14,
0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, u8g.setFontRefHeightE "Bem-Vindo");
0x7f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, xtendedText();
u8g.setDefaultForegrou u8g.drawStr( 55, 35,
0x0f, 0x00,
ndColor(); "ao"); u8g.drawStr(
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, u8g.setFontPosTop(); 48, 60, "SGGC"); }
0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff,
} void u8g_Tela1() // void draw3() // Função
0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff,
Tela 1 "Botija vazia" de desenho da tela 2{
0xff, 0xff, 0x07,
u8g_prepare();
0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, { u8g_Tela3(); }
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, u8g.setFont(u8g_font_
unifont); void u8g_Tela4() //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe,
Tela 4 "Vazamento" {
0x00, 0x00, 0xff, 0xff,
u8g.drawStr( 1, u8g.setFont(u8g_font_
0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 14,"Estado da botija: unifont);
0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, "); u8g.drawStr( 54,
40,"0%"); } u8g.drawStr( 1,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
14,"Atenção: Existe
0x00, 0x00, 0x00, 0x00,
Vazamento de Gas");}

3
void draw4() // Função else if ( u8g.getMode() sim800.write("AT+CM , HIGH);
de desenho da tela 2{ == U8G_MODE_BW ) GF=1\r\n"); delay(1000);
u8g.setColorIndex(1); delay(200); digitalWrite(buzzer,
u8g_prepare(); // pixel on sim800.write("AT+CM LOW);
u8g_Tela4(); } u8g.firstPage(); GS=\"+244928962331\ digitalWrite(ledOrange
"\r\n"); delay(200); , LOW);
/****************** do { draw3(); } sim800.write("Atencao delay(1000);
****Criação das
! O estado da sua botija for(A; A<1; A++){
funções while( u8g.nextPage()
e inferior a 15%."); sim800.begin(9600);
secundárias********* ); delay(5000);
delay(200); delay(200);
******************/ //Pausa de 5 segundos e
sim800.write((char)26)
void setup() reinicia o processo
;
{ Serial.begin(9600);
delay(200);
// Inicializa a Serial.println("Enviand
u8g.firstPage(); do { Serial.println("Feito");
comunicação serial o SMS, um
bitmap(); } while( }
Balanca.begin(DT, momento...");
u8g.nextPage() ); }/*****************
SKC); // sim800.write("AT+CM
delay(5000);}void **Medição do nível de
Inicializa a balança GF=1\r\n");
loop() { gás****************
******************* delay(200);
Balanca.set_scale(fator /******************
********/ sim800.write("AT+CM
_calibracao); // ajusta *Medição do nível de
/****************** GS=\"+244928962331\
fator de calibração gás****************
*Detector de Gás MQ- "\r\n");
Balanca.tare(); *******************
2****************** delay(200);
// Zera a Balança ********/ if
******************* sim800.write("Atencao
Serial.println("******* (Balanca.get_units() <
*********/valor = ! Existe vazamento de
*************Estado 7) {
analogRead(pinSensor) gas na sua cozinha.");
da u8g.firstPage(); do
; valor = map(valor, 0, delay(200);
Botija************** { draw (); }
1023, 0, 100); sim800.write((char)26)
******"); while( u8g.nextPage()
if(valor<ValDesarm){ ; delay(200);
Serial.println(""); ); delay(200);
digitalWrite(ledGreen, Serial.println("Feito");
pinMode(buzzer,OUTP //Pausa de 0,2 segundos
HIGH); A = 2;}} else{
UT); e reinicia o processo
digitalWrite(ledRed, A = 0;
pinMode(button, } else {
LOW); } else{ digitalWrite(buzzer,
INPUT); Valor_Obtido =
digitalWrite(ledRed, HIGH);
pinMode(ledGreen, (Balanca.get_units() -
HIGH); digitalWrite(ledOrange
OUTPUT); 7);
digitalWrite(ledGreen, , HIGH);
pinMode(ledOrange, Valor_Percentual =
LOW); } delay(400);
OUTPUT); (100*Valor_Obtido)/5;
controlButton = digitalWrite(buzzer,
pinMode(ledRed, u8g.firstPage();
digitalRead(3); f LOW);
OUTPUT); do { draw1(); }
(controlButton == digitalWrite(ledOrange
while( u8g.nextPage()
if ( u8g.getMode() == HIGH){ , LOW);
); delay(200); //Pausa
U8G_MODE_R3G3B2 digitalWrite(buzzer, delay(400);
de 0,2 segundos e
) LOW); } } else{
reinicia o processo
u8g.setColorIndex(255 delay(60000); digitalWrite(buzzer,
if(Valor_Percentual >=
); // white else if ( Serial.print(valor);} LOW);
12 && alor_Percentual
u8g.getMode() == else{ if delay(1000); }}
<= 15){
U8G_MODE_GRAY2 sim800.begin(9600); (valor>=ValDesarm){
/******************
BIT ) Serial.print(valor);
*Detector de Gás MQ-
u8g.setColorIndex(1); delay(200); if( valor>=65){
2******************
// max intensity Serial.println("Enviand digitalWrite(buzzer,
*******************
o SMS, um HIGH);
******/}
momento..."); digitalWrite(ledOrange
4
6.2. Fotos do ilustrativas

Figura 6.12 Visão geral da maquete


Figura 6.13 Dispositivo de visualização (LCD)

Figura 6.14 Componentes


Figura 6.15 Balança

5
Na figura 6.12 é apresentado a visão geral da maquete onde constam o dispositivo de
visualização na parte superior, o sensor MQ-2 no centro da maquete e a balança na parte
inferior.
Na figura 6.13 é apresentado o dispositivo de vizualização onde é exibido ao utilizador
o estado da botija em percentagem. Nesta figuram constam também os LED’s de sinalização
que indicam ou não a presença de GLP.
Na figura 6.14 Temos a parte posterior da maquete onde são apresentados alguns dos
componentes usados no projecto como o GSM e a sua antena, o módulo HX711, o Buzzer e
o sensor MQ-2.
Na figura 6.15 é apresentado a balança que faz a leitura do peso da botija que permite
determinar o nível de gás na botija.

Você também pode gostar