BEC- Bafômetro Embutido em Carros Síntia Rodrigues Moreira Fernanda Rodrigues da Silva Márcia Jorge do Carmo Renata Cristina Guimarães Sofia Pereira Campos Agosto de 2014 1
1 Introdução O consumo de álcool está associado a 21% dos acidentes de trânsito de acordo com os dados levantados pelo Ministério da Saúde,em 2013.Atualmente, de cada 5 vítimas de acidente de trânsito, cinco ingeriram bebida alcóolica.no Brasil, por exemplo, as mortes em acidentes de trânsito nas cidades e nas estradas brasileiras chegaram a 46,5 mil em 2012, segundo dados do Mapa da Violência 2014, com dados do Ministério da Saúde. Portanto, é necessário desenvolver um mecanismo capaz de diminuir esses números, proporcionando maior segurança tanto para os motoristas quanto para os pedestres. 2
2 Descrição O projeto consiste em um Arduino utilizado para ler a informação de um sensor de álcool, processar a informação e enviá-la para o computador onde criou-se um programa que mostra os dados lidos pelo Arduino. 3
3 Objetivo O projeto BEC (Bafômetro Embutido em Carros) tem como objetivo desenvolver um equipamento capaz de impedir que um veículo seja ligado caso o motorista esteja embriagado, diminuindo assim os acidentes causados pela bebida em excesso que em muitos casos é fatal. 4
4 Materiais Utilizados 5
Motor Arduino 6
Protoboard Sensor de Álcool 7
Led Branco Led Verde 8
Led amarelo led vermelho 9
Resistores 10
5 Desenvolvimento Primeiramente pensamos que deveria ser algo útil e com aplicações práticas.então pensamos nos problemas diários que poderiam ser resolvidos com algum tipo de maquina ou ferramenta desenvolvidas por nós. Analisamos vários problemas e varias situações possíveis, foi ai que chegamos na ideia de um bafômetro que "decidiria"se o motorista está ou não apto a dirigir.não é um projeto original pois já existem algumas propostas e projetos em andamento no mercado. Uma das etapas do projeto foi a montagem do circuito do bafômetro, onde montou-se o circuito no protoboard para conectar o Arduino ao sensor de álcool e ao motor. 11
O circuito foi montado no protoboard, que é uma placa com conexões condutoras. O funcionamento do circuito se dá quando o sensor de álcool detecta o teor de álcool e o Arduino lê a informação do sensor, processa a informação e a envia para o computador onde criou-se um programa no Arduino que mostra os dados lidos pelo controlador, o qual é mostrado a seguir: 12
/* */ // These constants won t change. They re used to give names // to the pins used: const int sensoralcool = A0; // Detecta o teor de alcool const int relemotor = 12; // Abre ou fecha conforme o teor de alcool detectado const int ledbranco = 9; // const int ledvermelho3 = 7; // Digital output pin that the LED is attached to const int ledvermelho2 = 6; // Digital output pin that the LED is attached to const int ledvermelho1 = 5; // Digital output pin that the LED is attached to const int ledamarelo2 = 4; // Digital output pin that the LED is attached to const int ledamarelo1 = 3; // Digital output pin that the LED is attached to const int ledverde = 2; // Digital output pin that the LED is attached to float teoralcool=0; char situacao = D ; // L ligado,d desligado char comando= 0 ; void setup() // initialize serial communications at 9600 bps: Serial.begin(9600); pinmode(ledverde, OUTPUT); pinmode(ledamarelo1, OUTPUT); pinmode(ledamarelo2, OUTPUT); pinmode(ledvermelho1, OUTPUT); pinmode(ledvermelho2, OUTPUT); pinmode(ledvermelho3, OUTPUT); pinmode(relemotor, OUTPUT); void apagaleds() digitalwrite(ledverde, LOW); digitalwrite(ledamarelo1, LOW); digitalwrite(ledamarelo2, LOW); digitalwrite(ledvermelho1, LOW); digitalwrite(ledvermelho2, LOW); digitalwrite(ledvermelho3, LOW); void loop() teoralcool=0; for (int i=0; i<10; i++) // read the analog in value: teoralcool += analogread(sensoralcool); delay(10); teoralcool=teoralcool/10; Serial.println(teorAlcool); // map it to the range of the analog out: teoralcool = map(teoralcool, 60, 600, 0.04, 4); if(teoralcool<0) teoralcool=0; apagaleds(); 13
if (teoralcool < 0.05) digitalwrite(ledverde, HIGH); situacao = L ; else if (teoralcool < 1) digitalwrite(ledamarelo1, HIGH); if (teoralcool < 2) digitalwrite(ledamarelo2, HIGH); if (teoralcool < 3) digitalwrite(ledvermelho1, HIGH); if (teoralcool < 4) digitalwrite(ledvermelho2, HIGH); if (teoralcool >= 4) digitalwrite(ledvermelho3, HIGH); situacao = D ; // print the results to the serial monitor: Serial.print("teor(mg/L) = "); Serial.println(teorAlcool); while (Serial.available() > 0) comando = Serial.read(); // comando = Serial.read(); Serial.print("comando:"); Serial.println(comando); Serial.print("situacao:"); Serial.println(situacao); if (situacao == L comando == L ) digitalwrite(relemotor, HIGH); if (situacao == D comando == D ) digitalwrite(relemotor, LOW); comando = D ; delay(1000); De acordo com a lógica do programa, os leds vão acendendo e apagando de acordo com a situação. O led branco é ligado quando o teor de álcool medido pelo sensor é igual a 0, indicando que uma nova medição pode ser feita. O led verde é ligado quando o teor de álcool medido pelo sensor está abaixo de 0,05. Este valor é o máximo permitido para que uma pessoa possa dirigir. Portanto o motor é acionado. No circuito foram utilizados 2 leds amarelos. O primeiro indica se a quantidade de álcool detectado pelo sensor é inferior a 1 e o segundo se a quantidade de álcool detectado é inferior a 2. Para ambos os casos o motor não será acionado. No circuito foram utilizados 3 leds vermelhos. O primeiro indica se a quantidade de álcool detectado pelo sensor é inferior a 3, o segundo se a quantidade de álcool detectado é inferior a 4 e o terceiro se a quantidade de álcool ultrapassa a quantidade de 4. 14
5.1 Software Desktop Nessa parte do projeto, foi criada uma interface gráfica no programa Eclipse, utilizando a linguagem Java, com o objetivo de fazer a comunicaçao entre o banco de dados do site e o circuito do projeto. Para que isso fosse feito, foi preciso a instalacao do plugin WindowBuilder no Eclipse. Ao incorporara- lo na IDE Eclipse, temos a opçao de criar um novo projeto Java. Assim que foi criado, comecou-se a fazer a interface. Nesta interface foram colocados campos para que o usuario possa interagir com o BEC. As informaçoes (nome, cidade,estado e idade ) colhidas deste usuario sao dispostas em uma tabela onde, além destas informaçoes, encontra-se a mediçao do nivél de alcool feita pelo bafômetro. Manusear o programa foi uma grande dificuldade encontrada e isso acabou fazendo com que perdessemos muito tempo na elaboraçao do mesmo. 15
6 Resultados Obtidos Durante a montagem do circuito muitos erros foram encontrados, principalmente no programa que rodava no Arduino, mas ao final do trabalho, o bafômetro funcionou com sucesso. 16
7 Conclusões A ideia da montagem de um bafômetro embutido em carros proposta pelo nosso projeto possui bastante aplicabilidade devido ao grande número de acidentes que ocorrem no Brasil causados por motoristas embriagados. Durante a realização do projeto muitos obstáculos e dificuldades foram encontrados, principalmente no manuseio de programas desconhecidos pelo nosso grupo, mas mesmo com a dificuldade aprendemos a aplicar com sucesso todos os conhecimentos adquiridos por nós durante o nosso curso técnico. O trabalho em equipe e a colaboração de todos os membros do grupo foi de suma importância para que o projeto terminasse com êxito. 17