Neste projeto, criamos um velocímetro legal para bicicletas ou qualquer automóvel, usando o Arduino que transmite a velocidade usando Bluetooth para um aplicativo Android que criamos usando o Processing. O projeto completo é alimentado por uma célula de lítio 18650 e, portanto, altamente portátil junto com o seu veículo. Para incrementar um pouco mais, eu adicionei a opção & nbsp; de carregar seu telefone celular, pois ele exibe sua velocidade. & nbsp; Sim, você também pode use-o como um banco de potência para seus celulares onde estiver, pois o 18650 possui alta densidade de carga e pode ser facilmente carregado e descarregado.
Vou guiá-lo completamente do zero até a conclusão. O velocímetro pode ser conectado ao nosso veículo e testado. O recurso interessante aqui é que você pode personalizar seu aplicativo Android para sua personalização e adicionar mais recursos, de acordo com sua criatividade. Mas, se você não deseja criar o aplicativo sozinho e apenas construir a parte do Arduino, não se preocupe, basta baixar o arquivo APK (leia mais) e instalar no seu telefone Android. Verifique também o vídeo completo no final.
Então, vamos ver quais materiais precisaríamos para construir este projeto e planejar nosso orçamento. Todos esses componentes estão facilmente disponíveis; se você tiver problemas para comprar um desses, entre em contato na seção de comentários.
Requisitos de hardware:
- Arduino Pro Mini (5V 16MHz)
- FTDI board (para programar mini você também pode usar o UNO)
- Conversor de impulso de 3V a 5V DC-DC com carregador de saída USB
- Módulo de bateria de lítio TP4056
- Módulo Bluetooth (HC-05 / HC-06)
- Sensor de efeito Hall (US1881 / 04E)
- 18650 Lithium Cell
- Pequeno pedaço de ímãs
- ProtoBoard
- Conectores Berg Sticks (Macho e Fêmea)
- Kit de solda
- Pequenas caixas de proteção para montar o kit.
Programming Requirements:
- Arduino IDE
- Processando o IDE com o Android ADK (apenas se você quiser codificar seu próprio aplicativo.)
- Windows/Mac PC
- Celular Android.
Pode parecer um punhado de componentes e materiais, mas confie em mim depois de concluir este projeto, você sentirá que eles valem o tempo que o esforço.
Medindo a velocidade usando o sensor Hall e o Arduino:
Antes de colocarmos as mãos no hardware, informe-nos como vamos realmente medir a velocidade usando o Arduino. Existem várias maneiras de medir a velocidade de um veículo usando o Arduino, mas usar um sensor de salão é a maneira mais econômica e fácil de fazê-lo. A & nbsp; Hall Sensor & nbsp; é um componente que detecta a polaridade de um ímã. Por exemplo, sempre que um polo específico do ímã é aproximado do sensor, ele muda de estado. Existem muitos tipos de sensores de salão disponíveis. Você pode usar qualquer um dos deste projeto, mas verifique se é um sensor de salão digital .
Para medir a velocidade, temos que prender um pequeno pedaço de ímã na roda do veículo, cada vez que o ímã cruza o sensor do salão, ele o detecta e envia as informações ao Arduino.
Uma interrupção será recebida pelo Arduino toda vez que o ímã for detectado. Executamos um timer contínuo usando a função millis() e calculamos o tempo necessário para a roda concluir duas rotações (para minimizar o erro) usando as fórmulas abaixo:
Timetaken = millis() – pevtime;
Depois de saber o tempo gasto, podemos calcular as rpm usando as fórmulas abaixo:
rpm = (1000/timetaken) * 60;
Onde (1000 / intervalo de tempo) fornece os rps (rotações por segundo) e é multiplicado por 60 para converter rps em rpm (rotações por minuto).
Depois de calcular a rotação, podemos calcular a velocidade do veículo usando as fórmulas abaixo, desde que conheçamos o raio da roda.
v= radius_of_wheel * rpm * 0.37699;
O Arduino, depois de calcular a velocidade, irá transmiti-lo usando o módulo Bluetooth. O & nbsp; código completo foi fornecido abaixo na seção Código .
Parte de esquemas e hardware:
O diagrama completo do circuito do projeto é dado abaixo:
Aqui, a parte de hardware é dividida em duas partes: uma é a placa principal que contém todos os arquivos principais. A outra placa consiste apenas de um sensor de corredor e um resistor que será montado perto da roda. Deixe-nos começar a construir o quadro principal.
![Building-Perf-board-for-Arduino-speedometer](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqKoar6iNkpaIyVhK6SB8-jO40Etb2gDChNLf2hr7DQ1_FU_BCLxE39zHcQtT6XZWByxc5IpM8g3HEVVOFtD0iGru3VW4xKuO_8mXgUVAOBfeh8HqiHrd4Q5vDr3TKETWpPe0VY6nS_bc/s1600/SpeedometerusingArduinoProcessingAndroidAppCircuit.png)
![Speedometer-using-Arduino-and-Processing-Android-app](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEim4yN-vO1qH3iuh2ifF4dSL0r-N0iTiK-PEYPWncApLwcSLNHVtQ6kQKBhoJ0Zh1SPaDFyfPH4PNS4g3X94_lTZfHVO2A9mSbUzLfAh8ZznjIK2EvdfPYqHKydNJXdxxVyiAsz1BHKoYY/s1600/SpeedometerusingArduinoProcessingAndroidAppCircuitPronto.png)
Uma vez que a conexão é feita, vamos testar a configuração usando nosso 18650 bateria de lítio . A bateria de lítio é altamente explosiva por natureza, portanto, deve ser manuseada com extrema cautela. É por essa razão que usamos um Módulo de Carregamento de Bateria de Lítio TP4056 . Este módulo possui proteção contra sobrecarga / descarga e proteção contra inversão de polaridade. Portanto, a bateria pode ser facilmente carregada usando um carregador micro USB normal e pode ser descarregada com segurança até atingir os limites de corte de subtensão. Alguns detalhes importantes do módulo de carga TP4056 são fornecidos na tabela abaixo.
Parâmetros :
|
Valor por célula :
|
Corte sob tensão
|
2.4V
|
Sobre a tensão de corte
|
4.2V
|
Corrente de carregamento
|
1A
|
Protecção
|
Sobre a tensão e proteção reversa da polaridade
|
IC's presentes
|
TP4056 (carregador IC) e DW01 Protection IC
|
Indication LED’s
|
Vermelho- Carregamento em andamento
Verde – Cobrança concluída
|
Agora, vamos começar com o Hall Sensor Board. Esta placa contém apenas dois componentes: um resistor de 10K e o outro é o sensor do hall. &Nbsp; As conexões podem ser feitas conforme mostrado nos esquemas acima. Quando a placa estiver pronta, conecte-os usando fios de jumper, conforme os esquemas. Uma vez feito, deve ser algo como isto.
![Hall-sensor-board-for-Speedometer-using-Arduino-and-Android](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJq-ugrfTIebfom3IOrfaZlOJjobgOLUEvfaHulfTfyiReW67866cewN0EXBvoarQxhH69zIMEy-utwDpeoFGYpHtG5CX2ALDsMCCZTniWCO9fbRa29mrfamyvu_APhWi-fp1G-bz3xeg/s320/SpeedometerusingArduinoProcessingAndroidAppCircuitFoto.png)
Outro passo crucial no projeto é conectando a bateria 18650 aos terminais B + e B- do módulo TP4056 usando um fio. Como as células Li + são explosivas, não é recomendável usar um ferro de solda sobre essas células. Embora as pessoas tenham feito isso, é altamente arriscado e pode facilmente acabar em uma grande confusão. Portanto, a maneira mais fácil de fazer isso é usar ímãs, como mostrado abaixo
![18650-Lithium-battery-for-Arduino-speedometer](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXEcLZcoj6asJj5yE24vZkRycXVrRSfjJBCJY-y3YlgLgGB-LgG57aXEFg3shac_FXPbDxIOpFn262WZMSFXSXJ2WHsnGuzXrOz9QN63rNmLX2UJ5A2SkuOTOTyNEbv_OAXjlthVQIDKw/s1600/SpeedometerusingArduinoProcessingAndroidAppCircuitCelula.png)
Simplesmente solde o fio a um pequeno pedaço de ímã e cole os ímãs nos terminais & nbsp; da bateria (eles são atraídos pelos terminais muito bem) como mostrado acima. Você pode usar uma torneira de pato para garantir ainda mais a posição do ímã.
Programando o Arduino:
O programa para este projeto é muito simples. Nós apenas temos que calcular a velocidade da roda giratória usando as entradas de interrupção do sensor de hall e transmitir a velocidade calculada pelo ar usando o Módulo Bluetooth. O programa completo do & nbsp; é fornecido na seção Código abaixo e explicado usando as linhas de comentário.
Cada vez que o sensor do hall detecta o ímã, ele aciona uma interrupção. Essa função de interrupção é chamada pela função magnet_detect () function. & nbsp; Este é o local onde é calculada a rpm do veículo.
Uma vez calculada a rpm, a velocidade da roda é calculada na função loop() Quando o código estiver pronto, vamos despejá-lo no nosso Arduino pro mini e testar seu funcionamento, conforme mostrado no vídeo fornecido no final.
Aplicativo para Android para velocímetro:
O aplicativo Android para este projeto é feito usando o software chamado Processing. Se você não está interessado em criar seu próprio aplicativo Android e gostaria de instalar o usado aqui, pode fazer o download do arquivo APK e instalá-lo diretamente no seu smartphone, seguindo as etapas abaixo.
1. Você pode baixar diretamente o arquivo APK do link abaixo. Este arquivo APK é feito para a versão Android 4.4.2 e posterior (Kitkat acima). Extraia o arquivo APK do arquivo zip.
2. Transfira o arquivo .Apk do seu computador para o seu celular.
3. Habilite a instalação do aplicativo de fontes desconhecidas nas configurações do Android.
4. Instale o aplicativo.
Se instalado com sucesso, você encontrará o aplicativo denominado “ Processing_code ” instalado no telefone, como mostrado abaixo:
![Android-app-for-Arduino-speedometer-using-processing](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsMVqF9naLFJsGMYGpw4XkLoBBqrYfIR1jRrsrYHeRr5Qx18WtJcE8Edb6EW0adYA3-DiINx-t-5rMLLKbFBm1Hx_U4zQlz2QJj-DfLa1T7jmUJWLzA9wSFAx6WJK_c5MxTHbGgYiWXIg/s1600/AriCellProcessingCode.png)
Desenvolva seu próprio aplicativo usando Processing:
Você pode usar o arquivo .APK fornecido acima ou criar seu próprio aplicativo usando o Processing, conforme explicado aqui. Você pode fazer o download de todos os Processando o código do aplicativo Android a partir daqui. O programa é auto-explicado usando as linhas de comentário. Mas se você tiver algum problema ou quiser modificar um pouco o aplicativo, use a seção de comentários e eu o ajudarei.
O programa android estabelece uma conexão com nosso módulo Bluetooth durante a inicialização do aplicativo e recebe a velocidade do veículo que foi calculada e transmitida pelo Arduino Pro mini. Criei gráficos pequenos também para exibir a velocidade usando um velocímetro analógico para torná-lo um pouco atraente. Você pode criar suas próprias idéias e ajustar o código para personalizá-lo para suas necessidades. Verifique também nossos outros Projetos de Processamento para saber mais sobre isso:
Depois de instalar o aplicativo no seu celular, é hora de testar o nosso projeto. Mas ainda não montamos nosso kit em um veículo. Vamos fazer isso.
Montagem do kit Velocímetro em um veículo:
Montei este kit no meu bi-ciclo e o testei, e funciona como um encanto. A montagem do kit é deixada para a sua criatividade. você pode obter sua própria caixinha numa loja e fazer furos para os fios e conexões e montou no seu veículo. Uma coisa importante a ser observada é que o ímã deve estar preso na borda da roda e o sensor do hall deve ser montado o mais próximo possível do ímã, para que cada vez que o ímã cruze o sensor do hall, ele possa detectá-lo , o arranjo é mostrado abaixo.
![Place-for-installing-3D-printed-arduino-speedometer-box-on-bicycle](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhevExAJICzZivzpHbLBcOA4TrZqaZ4eaOsDBYkGcRNDrihiD8yZu_1GqXDvH0d_qGNwPXF5i-NBtdZgeYhQFXmJuWm1PCf0zGDUmDYzpRMclhWc5K9WlvgalIgdH2PUdUv6uUv8DtiCqI/s1600/ImageBike.png)
![Installing-3D-printed-hall-sensor-board-box-on-bicycle](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirxtto8KcB_dx3heePuf4-3vTToXXptPM3zKM_a8w_FtqnISNAlb_hJfPuAQhqnSo4hD7le3u4twYgT5OuWC7-az2ADDYfohOeAgRXHf2rXO0uCrIvjsiM9X2UV7oslkq1VFu0jrqDD9U/s1600/ImageBike3d.png)
Se você decidiu usar meus arquivos de design e imprimir seus gabinetes, verifique se sua placa principal está perto das dimensões abaixo.
![Perf-board-for-Arduino-speedometer](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKFS0WC287jMrDWZFOTcEo4JCj5nzrYTAN3pxl6GdtrSVxBI9W5I6TvtkSfvJxhcg-_t7G0ThPShMIclvsThJnA2ydTE4kF6IWo93HIkus8ZDCMFeXKIGdlTEEHTLE_LMGEjEPR4kcRiA/s1600/PlacaCircuitoPerfurada.png)
O completo Arquivos de design e STL para impressão 3D podem ser baixados aqui. Se a placa for semelhante à que foi criada aqui, você poderá imprimir diretamente em 3D seus gabinetes usando os arquivos STL fornecidos, ou então poderá usar os arquivos de design e modificá-los de acordo com a sua placa.
Vamos começar com o Gabinete pequeno impresso em 3D que será usado para o módulo do sensor de hall. Imprima o gabinete, coloque o circuito dentro dele e use os fios através do orifício fornecido e monte-o em seu veículo para que o sensor do hall fique próximo ao imã, conforme mostrado abaixo.
![3D-printed-box-for-Hall-sensor-perf-board-for-Speedometer](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSPVRpqr4sqUlUwtR2-ZJ89aEL2tfaiHnpGul2tXmi72VQsHvh2K6zHQFF9QSkey1Lok_fb-alBjBRyECcTPHJd_-5XGL2JUeUYCXH5IIruCWx3OS0aHUCxofdO6-ZpAMawvxM9F2VAeQ/s1600/SensorPerfBoardSpeedMeter.png)
![Installing-3D-printed-hall-sensor-board-box-on-bicycle](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2vM_tGEW7L6faeRv6FfPVTLcBsvYtyOlPJ8nJo3UuApv_SCsCAA3BQMwHt_IpDkE0exafcW56A4sDUewC4dLiUdpUUcLa0JQiJz0MLsL3VzTmTx-81ZfvSbDN3tIWBtAneKHV4884CQg/s1600/SensorPerfBoardSpeedMeterFeito.png)
Recomenda-se modelar a placa principal antes de projetar o gabinete para que possamos garantir que ele se encaixe corretamente, porque confie em mim, seria um pesadelo quando você imprimir seu gabinete por 6 longas horas e, no final, ele não se encaixará na sua placa de desempenho. A placa modelo para minha placa principal de perf é mostrada abaixo.
![Speedometer-using-Arduino-and-Processing-Android](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYFVuZBnErPzWbw04ay5PhzOVBO55OXXHCJ_WevijtqYXYhrIv-Sgvwe-b-wxM5SwOTLehfwRsQ2ALXwlz3lL-HqJVqPt1nn8yl_ibELtwk_jXBbaRUfFOnDjL1ahNm5bXLdxL-tPXGi8/s1600/SensorPerfBoardSpeedMeterCircuitos.png)
![Speedometer-using-Arduino-and-Processing-Android-3D-model](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipOEIPLQbHp_1dO0hQy8kwoWU5UaWBeLSM6e5OlFLKuFMwfuV4N3vXMncsAXKdr1UbP50XOMGu-hgjQgRAHkVMd0zFI_2qze72wh1IJwGieFtxPPuDN7xszqt8rDeUBnTBEfKlgohm6l0/s1600/SensorPerfBoardSpeedMeter3D.png)
Agora será fácil & nbsp; projetar a caixa principal do gabinete . Projetei a caixa principal em dois arquivos, para que uma parte da caixa retenha os componentes eletrônicos e a outra fique permanentemente fixa ao ciclo usando grampos e parafusos. Essas duas partes podem ser facilmente consertadas para formar um invólucro completo e depois serem separadas quando precisarmos recarregar nossa bateria de lítio ou trabalhar em nossos eletrônicos.
Uma vez que a primeira parte do recinto é projetada e impressa, vamos colocar todos os nossos componentes dentro como mostrado abaixo e deve ser algo como isto.
![3D-printed-case-for-Speedometer-using-Arduino-and-Processing-1](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk0aaNObGnB8-_5EfoOiOq0ZaBmKdhUThGNxLxmBAIcsiSzSzSV1ehOFVcUtsnpggbEnuUrbTCptgc81X4MXJRQfoOEJ2uR-k5A50W3DzpgpVgvH7DtCizPtFvzwMCM3IG6vvRQTbunQs/s1600/SensorPerfBoardSpeedMeter3DPronto.png)
![3D-printed-case-for-Speedometer-using-Arduino-and-Processing-2](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX_Oqc2FZsBDjcRLncYLd3JdzO3DNzxOSWcvx956KZ3iUZEMZ-frVpbeTzfeHR-igmI2Jay8UeCvhsnCOengX1TwE979T52g0976CmE4_r6AeiyATVP8BDkM_CNiw-gwAstm6TLENB_Bg/s1600/SensorPerfBoardSpeedMeter3DCircuitos.png)
Como você pode ver, existem duas aberturas na frente da caixa, uma é usada para o USB através do qual podemos carregar nosso telefone celular. O outro é para o micro USB usando o qual podemos carregar nossa bateria de lítio.
Agora vamos imprimir a segunda parte do gabinete principal e verificar se ela se encaixa na primeira parte conforme o esperado.
![3D-printed-case-for-Speedometer-using-Arduino-and-Processing-3](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6CcVxQlwT5cvjjNfX_TAMvosIRtp33xw2P1q85IqQLJDGRmulXZN3RsdmvSkwBTnl-JPi849fhG26IOnfZz1WknW3q3DhGL2pGLJvF3nh8BPEhzk7hZqhd1NoU5em0pZL0kH5PqLWXbA/s1600/SensorPerfBoardSpeedMeter3DMontado.png)
![3D-printed-case-for-Speedometer-using-Arduino-and-Processing-4](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHCDxuM4UArSw6X4STvuLgDdpfYG6rHnogcUyWQg_OQgzIHp7CfgVgD9_55N1bgSZBdkf5Tvs8VZzEhNXhhan4pBvPthAr9-Ck843Ofprszf8PXXtqN1OJQ0g-J3f1rep5i2pX6d38cSU/s1600/SensorPerfBoardSpeedMeter3DMontadoFechado.png)
Quando estivermos satisfeitos com as peças, podemos montar a segunda parte do gabinete usando uma braçadeira C e algumas porcas e parafusos, conforme mostrado abaixo:
![nut-bolts-for-tightening-3D-printed-speedometer-box](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbRlT2dMOYWvkhbaxpPpATyerJ-VGUcrc3fQm_PsKgNzbIuoeQ15fhTWNTB_YzPcUFOazcqVSA9Dq9nYsSxr2tpEUu2Pv7ZDoBMg_OZ9ramlBFhXDkYi7RTbXwNg5g7lkN_XzTpgaa9dA/s1600/SensorPerfBoardSpeedMeter3DMontadoFechadoPecas.png)
![Installing-3D-printed-arduino-speedometer-box-on-bicycle](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH8SXfW30fDOokzxtxU6A64DORAgMii2FFBzvmEy21nD-fujXXZH1hjNYZxGvFRkE3RIDMu8KwtFlYWUTfdk_n3H3-gv3fi49jtxLMTM6l3wfvIRz7yLC2DAuThKatViEHnksHQ3mSfpw/s1600/SensorPerfBoardSpeedMeterMontadoFechadoPecas.png)
Agora, vamos conectar a bateria ao nosso circuito principal usando ímãs e fita, conforme discutido acima, e mantê-la permanentemente segura dentro de nosso gabinete.
![Perf-board-inside-3D-printed-speedometer-box-with-battery-1](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqVt1nN6pHcEPCFGdHO7-mcvNaHRrQrBJnr8ocHyAmXNlGGTnQaHde9o1PbSspb-nq0RA4qX5txvzW8-26E_pMg5exvKds-197g1KTob8KaCxE0LfVlsHnU-deSJvO0J6oaXeNWQY0YI8/s1600/SensorPerfBoardSpeedMeterMontadoFechadoPecasBateria.png)
![Perf-board-inside-3D-printed-speedometer-box-with-battery-2](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2IiYbk2MgEX9PyMNjs_PQVxMDlqwW4qAI-fEMwj7xy8PUArLlzvDgrQxI3p2IdbxARhrcGHyEF_9ZxkIIqBdtGRV0v3iOUSKLfPD29fPxHU9JjQyl2jd18PAOWuTmxtm1C8TAyYimm-0/s1600/SensorPerfBoardSpeedMeterMontadoFechadoComBateria.png)
É isso que o nosso hardware está pronto para a montagem final. Simplesmente conecte o módulo sensor do hall com a placa principal e deslize o compartimento móvel para dentro do gabinete fixo e pronto para a ação.
![Arduino-speedometer-setup-mounted-on-bicycle](https://circuitdigest.com/sites/default/files/inlineimages/Arduino-speedometer-setup-mounted-on-bicycle.jpg)
![Installed-3D-printed-arduino-speedometer-box-on-bicycle](https://circuitdigest.com/sites/default/files/inlineimages/Installed-3D-printed-arduino-speedometer-box-on-bicycle.jpg)
Explicação de trabalho:
Depois de certificar-se de que sua bateria de lítio está carregada, basta ligar o kit usando a chave de alternância e abra o aplicativo Android. Se tudo correr bem, você deve obter a tela abaixo e mostrar que seu aplicativo está conectado ao seu módulo Bluetooth HC-05, como mostrado abaixo. Lembre-se de emparelhar o seu módulo Bluetooth com o telefone antes de abrir o aplicativo.
![measuring-speed-using-android-app-and-arduino-Speedometer-1](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzXhslkGdoiFO2c1XmnY0104g4Rfgp8l85bFAsp-glQ5bJSWWhQm2lkX1YhXJKg42U70k_QSRSEVzp2WBkD6D7PM5rrAAULNg0T_eb_CII3tVah3uFChLlPGX5_fkkNmAfgpre6yQocOI/s1600/SensorPerfBoardSpeedMeterMontadoFechadoComBateria.png)
![measuring-speed-using-android-app-and-arduino-Speedometer-2](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvG_E_ZYyU9PyYhyphenhyphensurvn09Q-QNHArBpYpctCAyZZQch7jqn9pArIZt-Rg_M4U_d6UG3jrVmMluegplpN5vglhzdBFriW7FFYMdkK0ErvsBuXRgV55DHNX10vrS8OoPpNg4eW_VTL43TY/s1600/AndroidProjetoSpeedConectado.png)
Agora simplesmente monte seu veículo e você deve notar o velocímetro mostrando a velocidade atual do seu veículo. Você também pode cobrar seu celular enquanto dirige usando um cabo carregador normal. Depois de terminar o seu passeio, você pode deslizar para fora da caixa do ciclo e carregá-lo de corrente alternada usando qualquer carregador móvel do telefone inteligente.
Então, como você pode não só medir a velocidade do seu veículo, mas também carregar o celular ao mesmo tempo. Espero que você tenha gostado do projeto. Você pode adicionar muito mais recursos ao aplicativo, apenas ajustando os códigos. Você pode calcular a distância percorrida pelo seu percurso, o topo e a velocidade média do seu percurso, etc. Deixe-me saber se você tem algum quires através dos comentários e eu ficarei feliz em ajudá-lo.
Código:
/*Código Arduino para medir a velocidade do veículo usando o sensor Hall
*/
*/
/*CONNECTION DETIALS
* Arduino D11 -> RX do módulo BT
* Arduino D12 -> Tx de BT
* Arduino D2 -> Pino do sensor Hall 3
*/
* Arduino D11 -> RX do módulo BT
* Arduino D12 -> Tx de BT
* Arduino D2 -> Pino do sensor Hall 3
*/
#include <SoftwareSerial.h>// importar a biblioteca serial
SoftwareSerial Cycle_BT(11, 12); // RX, TX
int ledpin=13; // led on D13 will show blink on / off
int BluetoothData; // the data given from Computer
int ledpin=13; // led on D13 will show blink on / off
int BluetoothData; // the data given from Computer
float radius_of_wheel = 0.33; //Meça o raio da sua roda e insira aqui
volatile byte rotation; //variável para interrupção divertida deve ser volátil
float timetaken,rpm,dtime;
int v;
unsigned long pevtime;
volatile byte rotation; //variável para interrupção divertida deve ser volátil
float timetaken,rpm,dtime;
int v;
unsigned long pevtime;
void setup()
{
Cycle_BT.begin(9600); //iniciar a comunicação Bluetooth a 9600 baudrate
//pinMode(ledpin,OUTPUT); //Saída de pinos LED para depuração
attachInterrupt(0, magnet_detect, RISING); //segundo pino de arduino usado como interrupção e magnet_detect será chamado para cada interrupção
rotation = rpm = pevtime = 0; //Inicialize todas as variáveis para zero
}
void loop()
{
/*Para cair para zero se o veículo parar*/
if(millis()-dtime>1500) //nenhum imã encontrado para 1500ms
{
rpm= v = 0; //faça rpm e velocidade como zero
Cycle_BT.write(v);
dtime=millis();
}
v = radius_of_wheel * rpm * 0.37699; //0,33 é o raio da roda em metro
}
void magnet_detect() //Chamado sempre que um ímã é detectado
{
rotation++;
dtime=millis();
if(rotation>=2)
{
timetaken = millis()-pevtime; //tempo em milissegundos para duas rotações
rpm=(1000/timetaken)*60; //formular para calcular rpm
pevtime = millis();
rotation=0;
Cycle_BT.write(v);
//Cycle_BT.println("Magnet detected...."); //ativar durante o teste do hardware
}
}
Nenhum comentário:
Postar um comentário
Peço que use somente caixa baixa, não todo escrito em letra grande.