Escolar Documentos
Profissional Documentos
Cultura Documentos
DEPARTAMENTO DE ENGENHARIAS
BENGUELA
2022
EGÍDIO FABIÃO BUMBA NHIMI
BENGUELA
2022
EGÍDIO FABIÃO BUMBA NHIMI
BANCA EXAMINADORA
______________________________
Orientador
______________________________
Professor (a)
Membro da Banca
______________________________
Professor (a)
Membro da Banca
BENGUELA
2022
Aos meus pais.
AGRADECIMENTOS
Agradeço em primeira instância a Deus pela vida, pela força e
discernimento que me foi concedido ao longo desta caminhada. Aos meus pais,
António Fabião Nhimi e Rosária Francisco Da Conceição Bumba, que sempre
me apoiaram incondicionalmente.
Aos meus irmãos que palavras faltam para descrever o quão agradecido
estou por tudo o que eles são pra mim.
Acreditem só …!
Bumba - G
RESUMO
Nos últimos anos o desenvolvimento contínuo das tecnologias propriamente
os sistemas de controlo tem gerado grandes resultados da vida social, este
trabalho de pesquisa aborda sobre criação de um protótipo de controlo e
detecção de vandalismo em contentores de lixo associado a uma câmara de
vigilância no Bairro Caponte City no município de Benguela, tendo como foco a
problemática do controlo dos contentores de lixo no bairro em destaque e ajudar
na minimização dos constrangimentos na qualidade de vida dos moradores.
Determinou-se como objectivo geral a criação de um protótipo de controlo e
detenção de vandalismo em contentores de lixo associado a uma camara de
vigilância no bairro da Caponte City a fim de mitigar o problema da recolha de
lixo e tratamento dado aos contentores de lixo. Trata-se de uma pesquisa
aplicada e baseada em uma metodologia mista, tendo-se recorrido a diversos
métodos e técnicas tais como: o método histórico-lógico, Observação, Inquérito
por Entrevista, Inquérito por Questionário e Matemático – Estatístico. Para a
realização deste trabalho utilizamos vários componentes electrónicos em
destaque Arduíno uno, Módulo bluetooth, etc. Em função dos resultados que
serão obtidos, apos a conclusão do protótipo, afirmaremos que as dificuldades
de controlo dos contentores de lixo serão supridas. Facto que aumentará maior
conforto aos moradores
DC Direct Current;
1.8.11 Led................................................................................................ 39
1.8.13 Potenciómetro............................................................................... 40
CONCLUSÕES ................................................................................................ 46
RECOMENDAÇÕES ........................................................................................ 47
Justificativa
15
De acordo com a justificação apresentada, levantou-se o seguinte problema
de investigação: Como melhorar o controlo dos contentores de lixo usando
arduino uno associado a câmara de vigilância?
Geral
Específicos
Conferir literaturas;
16
Neste ponto faz-se abordagem das metodologias utilizadas para realização
da pesquisa e que segundo Andrade (2003, p.67) “é todo o conjunto de
procedimentos e que se utiliza para a realização de trabalhos de natureza
científica”, neste caso na criação de um sistema de controlo e detenção de
vandalismo em contentores de lixo associado a uma câmera de vigilância no
bairro da Caponte City. Assim podemos referir que para este trabalho faremos
recurso aos seguintes métodos e técnicas:
17
Para o desenvolvimento e fundamentação do presente estudo e o cumprimento
de todos os objectivos preconizados, optou-se pela seguinte pesquisa:
Do Nível Teórico:
De Nível Empírico:
18
Inquérito por Entrevista: Segundo Marconi e Lakatos (2002, p.15) “é um
método de recolha de informações que consiste em conversas orais, individuais
ou em grupo, com várias perguntas cuidadosamente seleccionadas, a fim de
obter informações sobre os factos ou representações, cujo grau de pertinência,
validade e fiabilidade são analisados”. Este método permitirá a recolha de
informações directamente aos entrevistados de forma oral, sobre o impacto da
criação de um protótipo de controlo detenção de vandalismo em contentores de
lixo associado a uma câmera de vigilância no Bairro da Fronteira no município
de Benguela;
19
CAPÍTULO I - FUNDAMENTAÇÃO TEÓRICA
Comumente o engenheiro está envolvido na criação de novas coisas e em
diversos momentos tem a responsabilidade global sobre o desenvolvimento de
sistemas complexos para que consiga realizar as suas actividades com sucesso,
é fundamental que este tenha a clareza sobre os objectivos a serem alcançados
e os meios teóricos e práticos aplicáveis a cada problema.
20
Tal como afirma OGATA (1970, p.3) “ Um sistema de controlo é um conjunto
de componentes e subsistemas interligados com objectivo principal, manter uma
ou muitas variáveis de um processo dentro de valores preestabelecidos,
necessitando de pouca ou nenhuma supervisão humana”. Existem dois tipos de
sistemas de controlo que são: sistema em malha aberta e sistema em malha
fechada.
São sistemas em que a saída não tem efeito sobre a acção de controlo. Em
outras palavras, num sistema de controlo em malha aberta, a saída medida não
é realimentada para a comparação com a entrada (OGATA, 1970;4)… Cada
entrada de referência corresponde a uma condição fixa de funcionamento; como
resultado, a precisão do sistema, a precisão do sistema depende da calibração.
Note que qualquer sistema de controlo que opera em regime de tempo é em
malha aberta, um exemplo prático são as máquinas de lavar roupa.
21
Figura 1 - Sistema de malha aberta
Vantagens:
Desvantagens:
22
Figura 2 - Sistema de malha fechada
Pneumático
Hidráulico
Eléctrico
Vantagens:
Uma das vantagens do sistema de controlo em malha fechada é o facto de
que a utilização de realimentação torna a resposta do sistema relativamente
incessíveis a interferências externas e variações internas nos parâmetros do
sistema. É possível a utilização de componentes relativamente inexatos e pouco
dispendiosos para obter o controlo preciso de uma dada planta, enquanto isso é
possível no caso do ciclo aberto.
Desvantagens:
A estabilidade é problema principal no sistema de controlo em malha
fechada, que pode ter tendência para corrigir erros e pode causar oscilações
constantes e alteração da amplitude constante.
23
1.1.4 Configuração dos sistemas de controlo
Directo
Indirecto
Adaptativo
Aprendizado
24
Figura 4 - Sistema de controlo indirecto
1.2 Automação
25
muitas tarefas que antes eram realizadas manualmente e despediam muito
tempo para a sua conclusão.
“Pode ser definir a automação todo e qualquer processo que possa realizar
actividades de forma autónomo, bem como que possa auxiliar o homem em suas
actividades”
26
contentor grande para resíduos orgânicos e outros para resíduos secos,
dispostos de uma maneira que atenda a demanda local. Portanto, o contentor de
lixo é a base para a gestão de resíduos por conteinerização.
27
As imagens a baixos ilustram os contentores de lixo
Resíduos Urbanos
Resíduos Industriais
Resíduos de Serviços de Saúde
Resíduos de Atividades Rurais
Resíduos provenientes de Portos, Aeroportos e Terminais
Rodoviários, Ferroviários, Postos de Fronteira e Estruturas Similares
Resíduos da Construção Civil
28
corrosividade, reatividade, patogenicidade, toxicidade e inflamabilidade. Classe
II é a classificação dada aos resíduos não perigosos, na Classe II temos os não
inertes (potencialmente biodegradáveis e combustíveis) e na II b os inertes.
Para este trabalho o foco será os resíduos urbanos, que são de acordo com
a PNRS os resíduos resultantes de residências, estabelecimentos comerciais e
prestadores de serviços, da varrição, logradouros públicos, de podas e da
limpeza de vias urbana passíveis de contratação ou delegação a particular.
29
1.5 Critérios qualitativos de riscos e doenças ocupacionais
1.6 Ergonomia
30
o mesmo funcionar. Já a qualidade ergonômica está relacionada com a interação
dele com o operador. E por fim a qualidade estética relaciona-se com o prazer
gerado no consumidor do produto.
Em entrevista com uma das anciãs do bairro Avó Joana e o Soba David
Catchiungo, foi observado que o bairro era chamado de Caponte Pequena
porque inicialmente haviam poucos habitantes nessa região, que eram
trabalhadores na fazenda ali existente pertencente a um agente económico
naquela altura, isso na década dos anos 40. A partir de 1975, o bairro começou
a progredir no que ao aumento da população diz respeito, isso fruto das guerras
que se viveram sentir naquela altura fazendo com que os proprietários das
fazendas da região muitos deles estrangeiros deixassem vazias as mesmas,
resultando na ocupação por parte dos povos locais. De lá para cá, com o passar
do tempo o bairro ficou vasto e já em tempo paz isso a partir dos anos 2005-10
o que outrora se chamava bairro da Caponte Pequena passou a ser chamado
de bairro da Caponte City pois as suas construções habitacionais já eram
diferentes em relação ao antigamente. E hoje em dia a Caponte City continua
evoluindo.
31
o vandalismo no contentor e mau uso do mesmo a população reuniu com quem
de direito para a resolução dos mesmos de modo a existir políticas consistentes
de educação ambiental a população, e não obtendo respostas positivas urgiu a
necessidade de se fazer uma contribuição em comunhão com a coordenação do
Bairro para a contratação de alguns jovens para poder controlar o contentor de
lixo de modo a evitar a constante vandalização do contentor de lixo pelos
próprios moradores e assim aconteceu. Mas ainda assim, mesmo com o novo
contentor de lixo não chegava para todos. Mas nem isso tem tido o resultado
desejado e a problemática dos contentores de lixo só piora contribuindo assim
para a má qualidade de vida dos habitantes do bairro. O soba em nome da
população clama por pelo menos mais contentores de lixo suprir a necessidades
lá vividas e responsabilidade dos moradores ao usar os mesmos.
32
1.8 Descrição dos materiais utilizados para execução do
projecto.
1.8.1 Arduíno
33
1.8.2 Proteus Design Suite
34
Figura 10 - Ambiente de Trabalho do Proteus
35
muito tempo (mais de 5 segundo como a programação), o controlador intenderia
como contentor cheio, avisando assim o controlador.
Figura 11 - Sensor de Presença
36
estado do ambiente ou simplesmente detetar e responder a presença de uma
chama ou incendio e encaminhar o sinal para o controlador arduíno.
1.8.6 Fotoresistor
Figura 15 - Câmera
37
1.8.8 Bluetooth
Figura 16 - Bluetooth
1.8.9 Capacitores
38
1.8.10 Buzzer
Figura 18 - Buzzer
1.8.11 Led
Um díodo emissor de luz ( LED ) é uma fonte de luz semicondutora que emite
luz quando a corrente flui através dela.
Figura 19 - Leds
1.8.12 Resistor
39
A unidade de medida da resistência eléctrica é o Ohm, simbolizada por Ω.
Os resistores mais comuns são os de carbono, utilizados nos aparelhos
eletrônicos, como rádios, DVDs, televisores são pequenos, com potências de
1/8W à 5 W, tipicamente.
1.8.13 Potenciómetro
Figura 21 - Potenciómetro
40
CAPÍTULO II – APRESENTAÇÃO, ANÁLISE E
INTERPRETAÇÃO DOS RESULTADOS DA INTERFACE
GRÁFICA
2.1. Diagrama de estudo do funcionamento do projecto
O sensor de luminosidade que foi utilizado foi o LDR de 5mm, o qual tem a
variação de sua resistência dependendo da variação de luminosidade incidente
nele. O sensor de luminosidade LDR não possui polarização, assim podendo ser
ligados de ambos os lados no sistema. Para o bloco de LED servirá para fazer a
41
conversão do sinal proveniente do arduíno em sinal luminoso, o sinal eléctrico
proveniente do arduíno é enviados pelo LDR. O Bloco Web camara considerado
como um periférico de entrada é responsável pela visualização e a captação das
imagens de toda acção que ocorre no recinto e em seguida encaminhas as
informações para o PC. O Bloco Bluetooth é a parte que vai permitir estabelecer
a comunicação entre o arduino e o computador. Arduíno é o bloco de
processamento de toda informação para garantir o bom funcionamento de todo
circuito. Sensor de fumo é o responsável pela detecção de fumo e por seguinte
mandar a informação para o arduíno. Sensor de chamas ou simplesmente
detetor de fogo responsável pela detecção de fogo no recinto.
42
principal, tem a função de receber e tratar os dados conforme a programação
feita, nesse projecto, o arduino também foi utlizado para comunicar com a
interface gráfica.
7
5
d
a
1 i
n
t
e
2 6r
f
da
ac
3 e
i
ng
tr
eá
rf
fi
ac
4 ca
Fonte: O autor (2022) e
d
a g
r
1. O ponto imostra a figura da interface gráfica do grupo A, que foi á
n f
desenvolvida no Visual Studio, este grupo mostrará a percentagem de
t i
chamas que
e há no interior do contentor de lixo. c
r a
2. Este ponto realça o grupo B que representa o estado do contentor de lixo,
f
se está cheio ou vazio.
a d
c a
3. Neste bloco,
e encontramos a parte da notificação, é esta parte onde nos
apresentará o estado do contentor se há existência de fumo ou não. i
g n
r t
á e
f r
43
i f
c a
a c
e
4. O ponto quatro remete-nos no modelo de controlo dos blocos, neste bloco
é apresentado o número de problemas que podem ocorrer no sistema.
5. Neste ponto mostramos com se estabelece a comunicação serial, nesta
parte selecionamos a porta de comunicação e conectar e desconectar a
interface gráfica.
6. Neste bloco é apresentada em formato de vídeo toda acção que é feita
em volta do contentor de lixo, e com duas opções de manuseamento da
câmera de vigilância que são: ligar câmera e desligar câmera.
7. É o botão sair que permite fechar a aplicação.
44
Figura 26 - Análise e comportamento da interface gráfica “Part 1”
45
CONCLUSÕES
Tendo em conta a melhoria da qualidade de vida dos moradores no bairro
da Caponte City, guiando-se através do problema, dados recolhidos, e objectivos
preconizados concluímos que:
46
RECOMENDAÇÕES
Após feito sistema recomenda-se para os futuros desenvolvedores deste
trabalho o seguinte:
47
REFERÊNCIAS BIBLIOGRÁFICAS
Bagnato, V. S., Menezes, P. F., Chianfrone, D. J., Kurachi, C., & Ruela, G. F.
(2016). Dispositivo Emissor de luz para Iluminação Oral e Método para o
funcionamento do referido dispositivo emissor de luz. Portugal:
Recuperação de htts:// scholar.google.pt.
49
APÊNDICE A – INQUÉRITO AOS MORADORES DO BAIRRO
Feminino
32%
Masculino
68%
Fonte: Autor
50
A figura abaixo nos ajuda a compreender os dados acima apresentados em
forma de gráfico.
40 anos 24 anos
384%
anos 4%
4% 25 anos
35 anos 8%
4%34 anos
4% 33 anos 27 anos
30 anos 28 anos 8%
4% 29 anos
4% 4% 4%
Fonte: O autor
Com base no inquérito feito podemos dizer que o tempo de vivência dos
moradores inquiridos encontra-se num intervalo 1-52 anos
51
Com base no gráfico abaixo apresentado, dos 25 moradores inquiridos, 22
que representam 88% confirmam a existência de vandalismo dos contentores de
lixo no bairro e 3 que representam 12% afirmam o contrário.
Não
12%
Sim
88%
Fonte: O autor
Com base no gráfico abaixo nos é possível verificar que dos moradores
inquiridos, 8 moradores que representam 32% afirmam que o vandalismo nos
contentores do bairro tem frequência regular e 17 moradores que representam
68% asseguram que o vandalismo dos contentores do bairro é de frequência não
regular.
Gráfico 5 - Com que frequência tem tido vandalismo dos contentores de lixo no bairro?
Regular
32%
Não
Regular
68%
Fonte: O autor
52
não tem nenhuma Comissão que controla os contentores de lixo e 18 deles que
representam 72% dizem que o bairro tem sim..
Não
28%
Sim
72%
Fonte: O autor
O gráfico a seguir mostra-nos uma igualdade entre ideias que nos faz pensar
muito nessa questão, mas vejamos dos 25 inquiridos, 11 moradores que
representam 44% dizem que a relação com a Comissão do Bairro responsável
pela gerência dos contentores de lixo é má, 11 moradores que também
representam 44% dizem que a relação com empresa em destaque é razoável, 3
moradores que representam 12% garantem que a relação com a empresa é boa.
Má
44%
Razoável
44%
Fonte: O autor
53
O gráfico que se segue apresenta-nos novamente uma igualdade entre
ideias que nos faz pensar seriamente nessa questão, mas vejamos dos 25
inquiridos, 11 moradores que representam 44% dizem que a posição da
Comissão do Bairro face ao problema de vandalismo nos contentores de lixo é
má, 11 moradores que também representam 44% dizem que a posição da
empresa em destaque é razoável, 2 moradores que representam 8% garantem
que a posição da empresa é boa e 1 morador que representa 4% diz que a face
a problemática no bairro a posição da empresa é muito boa.
Razoável
44%
Fonte: O autor
54
Gráfico 9 - O que acha da ideia de construir um sistema de monitorização e controlo de
vandalismo em contentores de lixo aqui no bairro para melhorar a qualidade do estado ambiental
no mesmo local?
Má
4% Razoável
Muito Boa 16%
32%
Boa
48%
Fonte: O autor
No gráfico abaixo exposto, podemos verificar que maior parte dos moradores
(23 inquiridos que representam 92%) concorda, ou seja, diz que sim naquilo que
pode ser um impacto significativo nas suas vidas com uma possível
implementação deste projecto, mas ainda assim 2 moradores que representam
4% cada um, dizem que não e talvez ao impacto deste projecto.
Gráfico 10 - A implementação desse projecto criará impacto significativo na vida dos moradores?
Não Talvez
4% 4%0%
Sim
92%
Fonte: O autor
55
neste projecto uma possível oportunidade para a melhoria qualidade das suas
vidas. Com certeza que de igual modo seria também uma mais-valia para a
Comissão do Bairro – Uma organização criada pela Administração comunal, no
que aos seus serviços diz respeito.
56
APÊNDICE B - CÓDIGO ARDUÍNO
1. /*
2. *Autor: Egidio Fabiao Bumba Nhimi
3. *Data de Inicio: 01-05-2022
4. *Data de Término:
5. *Universidade: Instituto Superior Técnico de Benguela
6. *Descrição: Sistema de Controle de Contentor de Residuos Sólidos
7.
8. *Sensores: MQ4(fumaça),Chamas, LDR( detector de contentor cheio)
9. */
10. #include <SoftwareSerial.h>
11.
12. #define LDR_POSTO A0
13. #define LDR_CONTENTOR A1
14. #define SENSOR_CHAMAS A2
15. #define SENSOR_MQ4 A3
16. #define BUZZER 2
17. #define POSTO 3
18.
19. #define NUMERO_CONTENTOR 500
20. SoftwareSerial bluetooth(11, 10); // RX, TX
21.
22. //Variaveis para
23. int mq4=0, chamas=0, ldrPosto=0, ldrContentor=0;
24. byte contadorProblemas=0;
25. unsigned long tempoDelay=0;
26. //Variavies de estado
27. boolean estadoContentor=false, estadoFumaca=false,
estadoChamas=false;
28.
29. void setup() {
30. // put your setup code here, to run once:
31. pinMode(BUZZER, OUTPUT);
32. pinMode(POSTO, OUTPUT);
33. digitalWrite(BUZZER, LOW);
34. digitalWrite(POSTO, LOW);
35. Serial.begin(9600);
36. bluetooth.begin(9600);
37. delay(1000);
38. }
39.
40. void loop() {
41. // put your main code here, to run repeatedly:
57
42. if((millis()-tempoDelay)>1200)
43. {
44. tempoDelay= millis();
45. lerSensores();
46. analisarDados();
47. enviarDados();
48. visualizador();
49. contadorProblemas=0;
50. }
51.
52. delay(1000);
53. }
54.
55. void ligarAlarme()
56. {
57. digitalWrite(BUZZER, HIGH);
58. }
59.
60. void desligarAlarme()
61. {
62. digitalWrite(BUZZER, LOW);
63. }
64.
65. /*void biparAlarme()
66. {
67. digitalWrite(BUZZER, HIGH);
68. delay(100);
69. digitalWrite(BUZZER, LOW);
70. }*/
71.
72. void ligarPosto()
73. {
74. digitalWrite(POSTO, HIGH);
75. //biparAlarme();
76. }
77.
78. void desligarPosto()
79. {
80. digitalWrite(POSTO, LOW);
81. }
82.
83. void lerSensores()
84. {
85.
58
86. mq4 =analogRead(SENSOR_MQ4);
87. chamas = 100-map(analogRead(SENSOR_CHAMAS), 0, 1024, 0,100);
88. ldrPosto = map(analogRead(LDR_POSTO), 0, 1024, 0, 100);
89. ldrContentor = map(analogRead(LDR_CONTENTOR), 0, 1024, 0, 100);
90. }
91.
92. void analisarDados()
93. {
94. if(ldrPosto>= 50 && !digitalRead(POSTO)) ligarPosto();
95. else if(ldrPosto < 50 && digitalRead(POSTO)) desligarPosto();
96.
97. if(ldrContentor >= 50)
98. {
99. estadoContentor = true;
100. contadorProblemas++;
101. }
102. else if(ldrContentor <50) estadoContentor = false;
103.
104. if(mq4>405)//2volts de saida do mq4 qndo tem fumo
105. {
106. estadoFumaca = true;
107. contadorProblemas++;
108. }
109. else estadoFumaca = false;
110.
111. if(chamas > 50)
112. {
113. estadoChamas = true;
114. contadorProblemas++;
115. }
116. else estadoChamas = false;
117.
118. if(contadorProblemas>0)
119. ligarAlarme();
120. else
121. desligarAlarme();
122. }
123.
124. void visualizador()
125. {
126. Serial.print("MQ4:"); Serial.println(mq4);
127. Serial.print("SENSOR_CHAMAS:"); Serial.println(chamas);
128. Serial.print("LDR_POSTO:"); Serial.println(ldrPosto);
129. Serial.print("LDR_CONTENTOR:"); Serial.println(ldrContentor);
59
130. Serial.print("N_Problemas:");
Serial.println(contadorProblemas);
131. Serial.println("---------------------------------------\n");
132. }
133. void enviarDados()
134. {
135. if(estadoContentor || estadoFumaca || estadoChamas)
136. Serial.print("A");
137.
138. else
139. Serial.print("N");
140.
141. Serial.print("*");
142. Serial.print(mq4); Serial.print("*");//1
143. Serial.print(chamas); Serial.print("*");//2
144. Serial.print((estadoContentor)?"CHEIO":"NAO CHEIO");
Serial.print("*");//3
145. Serial.print(contadorProblemas); Serial.println("*");//4
146.
147. if(estadoContentor || estadoFumaca || estadoChamas)
148. bluetooth.print("A");
149.
150. else
151. bluetooth.print("N");
152.
153. bluetooth.print("*");
154. bluetooth.print((!estadoFumaca)?"SEM FUMO":"FUMO
DETETADO");
155. bluetooth.print("-");
bluetooth.print(mq4);
156. bluetooth.print("*");//1
157. bluetooth.print(chamas);
bluetooth.print("*");//2
158. bluetooth.print((estadoContentor)?"CHEIO":"VAZIO");
bluetooth.print("*");//3
159. bluetooth.print(contadorProblemas);
bluetooth.print("*");//4
160. bluetooth.print(NUMERO_CONTENTOR);
bluetooth.print("*");//5
161. bluetooth.print((digitalRead(POSTO))?"POSTO
LIGADO":"POSTO LIGADO"); bluetooth.println("*");//6
bluetooth.println("*");//5
162.
163. }
60
APÊNDICE C – CÓDIGO SOFTWARE
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports;
using System.Threading;
using Emgu;
using Emgu.CV;
using Emgu.CV.Structure;
using System.Data.SqlServerCe;
namespace Supervisório_do_Sat1
{
public partial class form : Form
{
delegate void funcaoRecepcao();
String pastaImagens = Application.StartupPath + @"\Imagens\";
bool isCasa1Conectada = false;
string[] estadoConexaoCasa = new string[2] {"Conectado",
"Desconectado"};
bool flagIncendio = false;
string caminhoDB = "Data Source="+ Application.StartupPath+
@"\database\registrosContentores.sdf";
string nomeDB = "registrosContentores";
VideoCapture capture;
public form()
{
InitializeComponent();
serialPort1.DataReceived += new
SerialDataReceivedEventHandler(SerialPort1_DataReceived);
timer1.Enabled = true;
labelRecepcao.Visible = false;
string fileName = @"C:\emocao.png";
try
{
Image<Bgr, byte> imf = new Image<Bgr, byte>(fileName);
}
catch
61
{
}
}
private void SerialPort1_DataReceived(object sender,
SerialDataReceivedEventArgs e)
{
funcaoRecepcao recepcaodelegate = new
funcaoRecepcao(RecepcaoSerial);
Invoke(recepcaodelegate);
}
#region RecepçãoComunication Serial
public void RecepcaoSerial()
{
String[] pacotes = new String[15];
String msg = serialPort1.ReadTo("\n");
String txt = msg;
pacotes = msg.Split('*');
labelRecepcao.Text = txt;
if (pacotes[0] == "A" || pacotes[0] == "N")
{
isCasa1Conectada = true;
gb_Casa1.Text ="Contentor nº "+ pacotes[5] + " -
"+estadoConexaoCasa[0];
gb_Casa1.ForeColor = Color.Green;
label_EstadoContentor.Text = pacotes[3];
label_Fumaca1.Text = pacotes[1];
label_Chamas1.Text = pacotes[2] + "%";
label_NProblemas.Text = pacotes[4];
label_EstadoContentor.ForeColor = Color.FromArgb(65, 105,
225);
label_Fumaca1.ForeColor = Color.FromArgb(65, 105, 225);
label_Chamas1.ForeColor = Color.FromArgb(65, 105, 225);
label_NProblemas.ForeColor = Color.FromArgb(65, 105, 225);
if(pacotes[0] == "N")
flagIncendio = false;
62
#endregion
private void form_Load(object sender, EventArgs e)
{
#region COM_PORT´S_Configuration
String[] valoresCOM = SerialPort.GetPortNames();
for (byte i = 0; i < valoresCOM.Length; i++) {
cbBoxCOM.Items.Add(valoresCOM[i]);
}
#endregion
#region BAUD_RATE´S_Configuration
int[] valoresBAUD = { 2400, 4800, 9600, 19200, 57600, 115200 };
for (byte i = 0; i < valoresBAUD.Length; i++)
{
//cbBoxBAUD.Items.Add(valoresBAUD[i].ToString());
}
#endregion
}
private void btnConectar_Click(object sender, EventArgs e)
{
if(serialPort1.IsOpen == true)
{
serialPort1.Close();
btnConectar.Text = "Desconectado";
cbBoxCOM.Enabled = true;
}
else
{
serialPort1.PortName = cbBoxCOM.Text;
serialPort1.BaudRate = int.Parse("9600");
try
{
serialPort1.Open();
timer1.Enabled = true;
btnConectar.Text = "Conectado";
cbBoxCOM.Enabled = false;
}
catch {
MessageBox.Show("Ocorreu um erro ao abrir a porta!\nVerifique as
configurações");
btnConectar.Enabled = true;
cbBoxCOM.Enabled = true; //cbBoxBAUD.Enabled = true;
btnConectar.Text = "Desconectado";
}
}
63
}
private void btExit_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void panel3_Paint(object sender, PaintEventArgs e)
{
}
private string pegarData()
{
string dia = "0", mes = "0";
64
private bool inserirDB(string id,string numeroContentor, string
estadoContentor, string percChamas, string percFumaca, string
numeroProblemas, string dataOcorrencia)
{
SqlCeConnection ligacao = new SqlCeConnection();
ligacao.ConnectionString = caminhoDB;
string query = "INSERT INTO " + nomeDB +" VALUES('" + id + "'" + "," +
"'" + numeroContentor.ToString() + "'" +
"," +
"'" + estadoContentor.ToString() + "'" +
"," +
"'" + percChamas.ToString() + "'" + "," +
"'" + percFumaca.ToString() + "'" + "," +
"'" + numeroProblemas.ToString() + "'"
+ "," +
"'" + dataOcorrencia + "')";
ligacao.Open();
ligacao.Close();
return true;
MessageBox.Show("Erro na comunicação com o BD-I!");
return false;
}
private bool actualizarDB(string colunaPorActualizar, string
dadoASubstituir,string dadoPorActualizar)
{
SqlCeConnection ligacao = new SqlCeConnection();
ligacao.ConnectionString = caminhoDB;
string query = "UPDATE "+ nomeDB+ " SET " + colunaPorActualizar+ " =
'"+ dadoPorActualizar +"'"+
"WHERE " + colunaPorActualizar +" = '" + dadoASubstituir+"'";
try
{
ligacao.Open();
SqlCeCommand operario = new SqlCeCommand(query, ligacao);
operario.ExecuteNonQuery();
ligacao.Close();
65
return true;
}
catch
{
MessageBox.Show("ERRO: Problema ao se comunicar com o Banco
de Dados!-A");
return false;
}
}
private bool deletarDB()
{
SqlCeConnection ligacao = new SqlCeConnection();
ligacao.ConnectionString = caminhoDB;
string query = "DELETE FROM "+ nomeDB;
try
{
ligacao.Open();
ligacao.Close();
return true;
}
catch
{
return false;
}
}
66
if (isCasa1Conectada == false)
{
gb_Casa1.Text = "Casa Desconectada";
gb_Casa1.ForeColor = Color.FromArgb(65, 105, 225);
label_EstadoContentor.Text = "-";
label_Fumaca1.Text = "-";
label_Chamas1.Text = "-";
}
isCasa1Conectada = false;
}
67
{
capture.Pause();
}
}
private void Capture_ImageGrabbed(object sender, EventArgs e)
{
try
{
Mat m = new Mat();
if (capture != null)
{
capture.Retrieve(m);
picBox_Video.Image = m.ToImage<Bgr, byte>().Bitmap;
}
else
picBox_Video.Load(Application.StartupPath +
@"\Imagens\Contentor.png");
}
catch(Exception)
{
}
}
private void botao_iniciarVideo_Click(object sender, EventArgs e)
{
iniciarVideo();
}
68