• Nenhum resultado encontrado

Figura 1: Mapa Conceitual. F onte : Autor.

N/A
N/A
Protected

Academic year: 2021

Share "Figura 1: Mapa Conceitual. F onte : Autor."

Copied!
21
0
0

Texto

(1)

Pulseira Babá

Guilherme Braga Brangioni

Julio Brandão Guimarães

Luiza Fernanda Germano de Oliveira

Matheus Borges Pereira

Nayara Thiandra Mendes Del Solano

Rayssa da Conceição Fernandes

Agosto de 2014

(2)

1

Introdução

Os projetos de automação das turmas de 2014 consistem na elaboração de algum projeto escolhido pelos alunos, sob a orientação do professor Ronaldo Trindade, para a conclusão do curso. A "Pulseira Babá"é uma alternativa de monitora-mento a distância de uma criança ou paciente que esteja a ultilizando, podendo assim saber a temperatura do usuário não estando em contato direto com o mesmo. Essa informação será enviada via rádio ou bluetooth como um email ou mensagem de texto para a mãe, enfermeira e etc. que tiver seu celular ou email cadastrado.

2

Descrição

O nosso projeto consiste na confecção de uma pulseira que tem a função de monitorar a temperatura do indivíduo que estiver utilizando-a e enviar para o celular ou email cadastrado. A figura 1 apresenta o mapa conceitual deste projeto.

Figura 1: Mapa Conceitual. F onte : Autor.

3

Objetivo

Tendo como objetivo principal, proposto pelo professor Ronaldo Trindade, a ela-boração e desenvolvimento de um projeto final da área de automação industrial à escolha dos alunos, pode-se então planejar o desenvolvimento da "Pulseira Babá"com o intuito de maior segurança e praticidade na verificação da tempe-ratura de quem a estiver utilizando .

(3)

Sensor de temperatura LM-35; Módulo Bluetooth HC 06; Protoboard;

Resistores;

Amplificador Operacional;

(4)

5

Desenvolvimento

(5)

Para se montar o circuito, utilizaram-se também fios, para fazer as devi-das ligações do Protoboard para o Arduino. Durante a montagem, houve um problema: o HC 06 não ligava e, por isso, os dados não seriam transmitidos. Então, verificou-se que as vias do Protoboard não estavam alimentando o mó-dulo Bluetooth, portanto, o problema foi resolvido apenas trocando alguns fios de posição. Posteriormente, será montada uma placa de metal que irá sobre o Arduino, que será a superfície que entrará em contato com o objeto que se deseja aferir a temperatura. Essa placa também “esconderá” todo o circuito, evitando que ele se danifique. À seguir algumas imagens da montagem do circuito do projeto: As figuras 3, 4 e 5 referem-se à montagem do circuito

Figura 3: Montagem do Circuito-Essa montagem representa a maneira de se ligar o módulo Bluetooth HC 06 à plataforma Arduino. F onte : Autor.

(6)

Figura 4: Montagem do Circuito-Essa montagem representa a maneira de se ligar o sensor de temperatura LM-35 à Plataforma Arduino.. F onte : Autor.

(7)

Figura 5: Montagem do Circuito Pronta. F onte : Autor.

Ultilizou-se o programa Eagle para projetar o shield para ser ultilizado no Arduino Uno, foi criado o Gerber, que serve para que a impressora realize a impressão da placa de acordo com o estabelecido anteriormente pelo projetista, em seguida esse projeto foi impresso em uma impressora prototipadora de cir-cuito impresso. Realizou-se então uma limpeza, envernização e soldagem dos componentes da placa. À seguir algumas imagens da montagem do circuito do projeto: A figura 6 e 7 refere-se ao cirtuito esquemático da placa.

(8)
(9)
(10)

Inicialmente, para a montagem do aplicativo desktop, utilizou-se o programa Elipse, mas posteriormente foi utilizado o construtor de interface Glade, devido a perca de alguns arquivos e melhor manuseio do programa, mas ambos foram utilizados com a mesma finalidade. Esse aplicativo desktop, basicamente fará conexão com o banco de dados construído. Através desse aplicativo que o usuá-rio da pulseira verá as temperaturas desejadas, medidas pela pulseira que estará em outra pessoa.Temos como exemplo, uma criança que a mãe deseja ter co-nhecimento sua temperatura à distância. Dentro desse aplicativo, podemos ver dois botões, um de conectar e outro de desconectar. Primeiro a pessoa que de-seja ver a temperatura, conectara o aplicativo e depois preencherá o usuário na qual deseja monitorar a temperatura. Assim, aparecerá em tela, a temperatura medida. Depois da informação recebida, basta a pessoa clicar em desconectar e sair para finalizar a operação. À seguir algumas imagens do aplicativo desktop do projeto: A figura 8 refere-se ao aplicativo desktop.

(11)

Para a realização do projeto "Pulseira Babá", teve-se como uma das tarefas o desenvolvimento da página web. Dessa maneira para a execução da mesma utilizou-se alguns software’s como o "Geany", para a elaboração do código do site, "Filezila", usado para armazenar o site em um local remoto, "Codgniter", para elaborar o site e o "Phpmyadmin"para fazer o banco de dados do site. Nessa página web pode-se encontrar o objetivos do projeto, nome e função de cada desenvolvedor, fotos do desenvolvimento do projeto e os benefícios desse projeto. No decorrer do desenvolvimento do projeto, ao desenvolver o site, a maior dificuldade encontrada foi fazer a comunicação do banco de dados com o site, mas com as orientações do orientador pode-se eliminar essa difilculdade. À seguir algumas imagens do site e banco de dados: As figuras 9, 10, 11 e 12 referem-se ao desenvolvimento do site do projeto.

Figura 9: Programa ultilizado para fazer o banco de dados- php My Admin. F onte : Autor.

(12)
(13)
(14)

Para o desenvolvimento do código fonte do Projeto "Pulseira Babá", foi ne-cessária a avaliação dos componentes para desenvolver um código compatível com eles. Primeiramente, como no projeto foi usado o Arduino UNO, o código foi desenvolvido na plataforma do Arduino, a Arduino IDE. Então, foi utilizada uma entrada analógica do Arduino como entradaTemperatura, para receber os dados adquiridos pelo sensor LM35, que envia o valor da temperatura corres-pondente em 100mV (1°C = 100mV), e também o led do próprio Arduino para indicar um alerta. Iniciando o código propriamente dito, foi definida a comu-nicação serial a 9600 bps. A temperatura foi lida 10 vezes e então se obteve a média aritmética dessas 10 temperaturas, para assim ter uma temperatura mais exata e com menos erros. Essa temperatura foi armazenada em uma variável e logo depois enviada para a entrada analógica entradaTemperatura. Quando o código executa o seguinte comando: ”temperatura = map (temperatura, 0, 1023, 0, 5000);” ele entrega a temperatura numericamente igual à tensão em volts. Mas, para diminuir possíveis distúrbios externos, foi projetado um ampli-ficador de ganho 10 para que fosse obtida a temperatura em volts, e não mais em miliVolts. Então, feitos os cálculos, o programa verifica se a temperatura é maior que 37°C (3,7V) e caso for, ele envia uma informação ao led, que começa a piscar de um em um segundo, indicando que a temperatura está alta.Uma das vantagens desse projeto com certeza é seu código fonte. É um código simples, de poucas linhas, que possui uma facilidade na sua manutenção e na sua alteração. Também, em uma visão geral, o código tem uma aparência agradável, então o programador não se assustará com tamanho nem complexidade do código, o que torna o projeto bem atrativo e agradável de operar. O código fonte citado anteriormente encontra-se no apêndice.

(15)

6

Resultados Obtidos

Após realizar os testes com a placa de circuito impresso, ultilizando o código fonte do projeto, obteve-se alguns erros, como por exemplo, no cálculo de medi-ção, pois o código fonte ultilizado foi projetado sem o uso de amplificador que estava incluso no circuito para a garantia de maior precisão da medição. Além disso com a realização dos testes obteve-se sucesso nos resultados de acordo com o esperado. Não foi realizada a conexão do aplicativo desktop com o banco de dados, o código fonte e com o site, por não ter tempo hábil para todos os testes até a entrega do projeto, não podendo dizer com precisão se pode obter sucesso nesse âmbito.

(16)

7

Conclusões

Durante o processo da execução da "Pulseira Babá", incluso na proposta dos "Projetos de Automação 2014"como conclusão do curso, foram encontradas al-gumas dificuldades e dúvidas, como em qualquer projeto. Dificuldades nas re-alizações de tarefas propostas, de comunicação entre o grupo, mas que com diálogo e orientação do professor essas dificuldades foram sanadas. Por ter sido pouco tempo para a realização do projeto foi criado apenas um protótipo do que seria a pulseira, não podendo ter um aprofundamento na projeção com me-lhorias e ideias adicionais as que tivemos no início do projeto. Com a realização do projeto aprofundamos nossos conhecimentos em algumas áreas e obteve-se aprendizado em outras desconhecidas até então, como o próprio "Write Latex", não ultilizado até então. Em um contexto geral obteve-se um bom aproveita-mento na realização desse projeto tendo em vista os objetivoas alcançados e o aprendizado adquirido, servindo de base para melhorias em projetos futuros que possam ser executados.

(17)

Referências

[1] http://www.inf.ufpr.br/instrutores/arquivos/latex/latex.pdf - PDF con-tendo instruções para o uso do LaTeX,

[2] http://www.ufpa.br/dicas/htm/htm-cor2.htm - Tabela de cores ,

[3] http://www.tecmundo.com.br/fitbit-flex/59443-analise-pulseira-inteligente-fitbit-flex.htm - Site de onde foi retirada a imagem da pulseira,

[4] PHPMyAdmin - Ultilizado para fazer o banco de dados , [5] Eclipse- Ultilizado para fazer o aplicativo desktop,

(18)

8

Apêndices

Editor de fotos Gimp,

8.1

software 1

Código fonte do software do Arduino.

// Montar amplificador com ganho 10 para o LM35 const int entradaTemperatura = A0;

int ledPin = 13;

float temperatura = 0;

void setup() {

// initialize serial communications at 9600 bps: Serial.begin(9600);

pinMode(ledPin,OUTPUT); }

void loop() { temperatura = 0;

for (int i = 0; i<10; i++){

temperatura += analogRead(entradaTemperatura); delay (10);

}

temperatura = temperatura/10;

temperatura = map(temperatura, 0, 1023, 0, 5000);

//Sensor entrega temperatura numericamente igual à tensão em volts temperatura = temperatura/10; Serial.print("T:" ); Serial.print(temperatura); delay(500); if (temperatura >= 37){ digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin,LOW); delay(1000); } }

8.2

software 2

Código fonte do Aplicativo Desktop #! /usr/bin/env python

(19)

-*-import time

from threading import Thread

import sys import MySQLdb

from gi.repository import Gtk

porta = ’/dev/ttyACM0’ baud_rate = 9600 Obj_porta = None THRD = None

conSql = MySQLdb.connect(’localhost’, ’aluno’, ’aluno’) # (servidor, usuario, senha) conSql.select_db(’teste’) # seleciona o banco de dados na conexao

curSql = conSql.cursor() # cria o cursor para o BD

’’’

cursor.execute(’ALGUM SQL’) # faz alguma query sql

# aqui você pode usar três maneira para pegar o resultado: rs = cursor.fetchone() # pega uma linha;

rs = cursor.fetchall() # pega todas as linhas;

rs = cursor.dictfetchall() # pega todas as linhas, cada linha tem um dicionário com os nomes dos campos print(rs[0]) # imprime o valor da primeira coluna

’’’

class IGraf(object):

def __init__(self):

builder = Gtk.Builder() #Criamos uma instancia da classe builder do Gtk builder.add_from_file("IGraf.glade") #Carregamos o arquivo do Glade

#Obtemos o widget window1 (nossa janela principal) self.window = builder.get_object("window1")

(20)

"on_bt_desconectar_clicked" : self.on_bt_desconectar_clicked, "on_bt_enviar_clicked" : self.on_bt_enviar_clicked,

"on_bt_sair_clicked" : self.on_bt_sair_clicked })

self.verifica_portas()

def on_bt_sair_clicked(self, widget): self.on_bt_desconectar_clicked(self) Gtk.main_quit()

def on_bt_conectar_clicked(self, widget): #print "Conectar" global Obj_porta porta = self.cb_portas.get_active_text() txt = self.txt_recebido.get_buffer() if porta <> None: txt.insert_at_cursor("Conectado!\n")

Obj_porta = serial.Serial(porta, baud_rate) global THRD

THRD = Thread(target=self.thrd_loop) THRD.morta=False

THRD.start() else:

txt.insert_at_cursor("Selecione uma porta!\n")

def on_bt_desconectar_clicked(self, widget): txt = self.txt_recebido.get_buffer()

txt.insert_at_cursor("Desconectado!\n") if THRD != None:

THRD.morta = True

def on_bt_enviar_clicked(self, widget): lin = self.txt_enviar.get_text() txt = self.txt_recebido.get_buffer() if txt.get_line_count() > 15: txt.delete(txt.get_iter_at_line(0),txt.get_iter_at_line(1)) txt.insert_at_cursor("Enviado: ") txt.insert_at_cursor(lin) txt.insert_at_cursor(’\n’) Obj_porta.write(lin) def verifica_portas(self): self.cb_portas.remove_all()

portas = commands.getoutput("ls /dev/ttyACM*") # lista portas do arqduino portas_ativas = portas.split()

(21)

txt = self.txt_recebido.get_buffer() txt.insert_at_cursor(valor)

if txt.get_line_count() > 15:

txt.delete(txt.get_iter_at_line(0),txt.get_iter_at_line(1)) self.grava_bd(valor)

def thrd_loop(self): # funcao a ser executada pela thread while not THRD.morta:

self.le_porta() time.sleep(0.5)

def grava_bd(self,linha):

linha = linha[:-2] # para remover \r\n do final da linha qry = "Insert into teste (id,nome,linha) values (0,’python’,’" qry += "".join(linha) qry += "’)" # print qry curSql.execute(qry) conSql.commit() if __name__ == "__main__": app = IGraf() Gtk.main()

Referências

Documentos relacionados

Após retirar, da maré observada, o valor da maré teórica, aplicou-se uma linha de tendência aos dados resultantes, a qual representa a variação do nível médio das águas no

A seleção portuguesa feminina de andebol de sub-20 perdeu hoje 21-20 com a Hungria, na terceira jornada do Grupo C do Mundial da categoria, a decorrer em Koprivnica, na

Considerando que, “a população brasileira é bombardeada pela indústria cultural e pouco tem acesso aos bens culturais e formas mais elaboradas de arte, música

Essa dimensão é composta pelos conceitos que permitem refletir sobre a origem e a dinâmica de transformação nas representações e práticas sociais que se relacionam com as

75.618 deste Ofício, com saldo devedor de responsabilidade de V.Sa., venho INTIMÁ-LO(A) a efetuar o pagamento das prestações vencidas e as que se venceram até a data do pagamento,

Neste trabalho, foram analisados os resultados da qualidade da água bruta (turbidez e pH), a concentração de sólidos iniciais e finais dos processos de adensamento e

Ora, evidentemente isto demanda trabalho, de modo que seja preciso, para apreender a essência de algo, proceder a uma variação eidética que é,

347 ms] fantásticas e inesperadas [p sil= 325 ms], visto reunir lado a lado [p sil= 313 ms] umas ultra sofisticadas e outras plenas de objectos de desuso [p sil=