Todas as Discussões Marcadas 'Bluetooth' - Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)2024-03-29T08:31:54Zhttps://labdegaragem.com/forum/topic/listForTag?tag=Bluetooth&feed=yes&xn_auth=noNao consigo ler meu HC-05 com arduinotag:labdegaragem.com,2021-05-08:6223006:Topic:8690212021-05-08T22:22:21.202Zguilherme spillere da rosahttps://labdegaragem.com/profile/guilhermespilleredarosa
<p>Ola!</p>
<p></p>
<p>Estou com dificuldade para mensagens com o arduino utilizando o bluetooth HC-05.</p>
<p>estou usando o codigo em anexo para tentar fazer a leitura, e a unica coisa que ele me retorna é 248 como na imagem em anexo.</p>
<p>Ola!</p>
<p></p>
<p>Estou com dificuldade para mensagens com o arduino utilizando o bluetooth HC-05.</p>
<p>estou usando o codigo em anexo para tentar fazer a leitura, e a unica coisa que ele me retorna é 248 como na imagem em anexo.</p> Motores DC controlados via bluetooth por Apptag:labdegaragem.com,2020-08-31:6223006:Topic:7415242020-08-31T19:52:34.557ZMPShttps://labdegaragem.com/profile/MessiasPSousa
<p>Olá pessoal. Entrei agora para o fórum, com interesse em arduino. Meu primeiro projeto vai andar junto com aprendizado, pois não sei nada ainda. </p>
<p>Quero controlar dois motores através de um app (<a href="https://play.google.com/store/apps/details?id=com.thehlab.pc.rccar">https://play.google.com/store/apps/details?id=com.thehlab.pc.rccar</a>) via bluetooth.</p>
<p>O visual do app é assim: …</p>
<p></p>
<p>Olá pessoal. Entrei agora para o fórum, com interesse em arduino. Meu primeiro projeto vai andar junto com aprendizado, pois não sei nada ainda. </p>
<p>Quero controlar dois motores através de um app (<a href="https://play.google.com/store/apps/details?id=com.thehlab.pc.rccar">https://play.google.com/store/apps/details?id=com.thehlab.pc.rccar</a>) via bluetooth.</p>
<p>O visual do app é assim: </p>
<p><a href="https://storage.ning.com/topology/rest/1.0/file/get/7756301258?profile=original" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/7756301258?profile=RESIZE_710x" class="align-full"/></a></p>
<p>As informações dos códigos são esses:</p>
<div>Steering wheel: send code from T00 to T99, middle point is T50</div>
<div>Gas Pedal: send code from S00 to S99</div>
<div>Guear P-R-N-D: send code G00 (P), G01(R), G02(N) and G03(D)</div>
<div>.</div>
<div>Vou usar uma ponte H L293D, para controlar dois motores traseiros, sendo que estes vão fazer o protótipo virar para direita ou esquerda. Já vi muitos projetos no youtube de robôs com dois motores, mas são diferentes do que pretendo.</div>
<div>.</div>
<div>Minha intenção é: ao acelerar (Gas Pedal) os dois motores girem por igual com controle da velocidade, ao girar o volante (Steering Wheel) um dos motores teria uma diminuição da velocidade, fazendo o protótipo virar mantendo a velocidade para frente.</div>
<div>.</div>
<div>Minha dúvida inicial é:</div>
<div>.</div>
<div><strong>Seria possível usar tanto o volante quanto o pedal para controlar simultaneamente os dois motores DC?</strong></div>
<div>.</div>
<div>E se caso uma alma bondosa puder me ajudar com a adaptação da programação, acredito que tenho as bases necessárias e que estão fáceis para quem entende. (ANEXOS).</div>
<div>.</div>
<div>No anexo as sketchs originais desse app da imagem, mas ele usa um servo motor para virar as rodas dianteiras. No meu caso as rodas dianteiras ficarão livres (tipo roda boba).</div>
<div>.</div>
<div>E tbm a sketch de um outro app (<a href="https://play.google.com/store/apps/details?id=braulio.calle.bluetoothRCcontroller">https://play.google.com/store/apps/details?id=braulio.calle.bluetoothRCcontroller</a>) bastante conhecido pelo pessoal que faz robôs, nessa sketch tem programado a velocidade do motor PWM. Que estão em anexo. O arquivo pdf APP SEM VOLANTE é do link postado agora, já o arquivo APP COM VOLANTE é do app que desejo usar, que tem a imagem acima. O terceiro anexo são as duas programações no word.</div>
<div>.</div>
<div>Muito obrigado pela atenção.</div>
<div>E já peço desculpas por qualquer falha nessa minha primeira postagem.</div> Comunicação bluetooth entre ESP32 e celular por meio do Blynktag:labdegaragem.com,2019-10-03:6223006:Topic:7194452019-10-03T17:48:34.666ZHiago Marqueshttps://labdegaragem.com/profile/HiagoMarques
<p>Olá estou montando um projeto, mas travei na primeira parte que seria conectar o bluetooth do esp 32 no bluetooth do celular por meio do blynk , já tentei 2 opções diferentes no blynk como: Bluetooth e Ble. e ele não consegue encontrar alguém saberia me dizer como faço para parear os dois?</p>
<p>Olá estou montando um projeto, mas travei na primeira parte que seria conectar o bluetooth do esp 32 no bluetooth do celular por meio do blynk , já tentei 2 opções diferentes no blynk como: Bluetooth e Ble. e ele não consegue encontrar alguém saberia me dizer como faço para parear os dois?</p> Implementação do PCOM WiFi Bluetooth ESP32 para Arduinotag:labdegaragem.com,2019-08-28:6223006:Topic:7167472019-08-28T01:20:25.355ZElcids Chagashttps://labdegaragem.com/profile/ElcidsChagas
<p><span style="font-size: 14pt;"><strong><em><span style="text-decoration: underline;">Primeira parte</span></em>: apresentação.</strong></span></p>
<p></p>
<p><span style="font-size: 12pt;">olá a todos.</span></p>
<p><span style="font-size: 12pt;"> </span></p>
<p><span style="font-size: 12pt;"> Esta é a publicação que se originou de um tópico iniciado pela <strong><em>Marcela de Souza</em></strong> para uma implementação <strong><em>ESP32</em></strong> na <strong><em>Plataforma…</em></strong></span></p>
<p><span style="font-size: 14pt;"><strong><em><span style="text-decoration: underline;">Primeira parte</span></em>: apresentação.</strong></span></p>
<p></p>
<p><span style="font-size: 12pt;">olá a todos.</span></p>
<p><span style="font-size: 12pt;"> </span></p>
<p><span style="font-size: 12pt;"> Esta é a publicação que se originou de um tópico iniciado pela <strong><em>Marcela de Souza</em></strong> para uma implementação <strong><em>ESP32</em></strong> na <strong><em>Plataforma Arduino</em></strong>, descrita neste link: <strong><em><a href="http://labdegaragem.com/forum/topics/esp32-wiffi-e-bluetooth-classic?xg_source=activity" target="_blank" rel="noopener">"Esp32 Wiffi e Bluetooth Classic"</a></em></strong></span></p>
<p><span style="font-size: 12pt;"> </span></p>
<p><span style="font-size: 12pt;"> Marcela já havia aberto um outro tópico sobre a questão, mas não obteve sucesso naquele momento. Então teve insistência e abriu outro tópico (o do link anterior), me solicitando ajuda sobre a questão.</span></p>
<p><span style="font-size: 12pt;"> O que Marcela desejava era apenas um Sistema que funcionasse preferencialmente no <strong><em>WiFi</em></strong>, mas que também fosse capaz de funcionar no <strong><em>Bluetooth</em></strong> caso em algum momento o WiFi não estivesse disponível. Por exemplo: parece que a Marcela implementou no Hardware do <strong><em>ESP32</em></strong> alguma alimentação a Bateria, de forma que mesmo sem energia da rede elétrica convencional, o ESP32 continuava alimentado, e poderia se comunicar via Bluetooth, o que permitiria todos os controles estarem disponíveis no Smartphone, já que o WiFi dependeria do Roteador e este seria um problema a mais se tivesse que alimentar com alguma Bateria ou Nobreak.</span></p>
<p><span style="font-size: 12pt;"> Então analisei a questão, olhando tópicos especializados no mundo todo (inclusive publicados por quem escreve a plataforma do <strong><em>ESP32</em></strong> na <strong><em>Espressif</em></strong>), e vi que haviam de fato problemas de convivência entre WiFi e Bluetooth. Estes problemas estavam enraizados no fato de que o WiFi e Bluetooth compartilham o mesmo Hardware Wireless, e embora fosse possível uma convivência entre eles (pois usam canais wireless distintos), esta “disputa” no Hardware do ESP32 inicialmente levou o pessoal da Espressif a separar completamente as coisas (talvez imaginando que as pessoas não iriam usar WiFi e Bluetooth "simultaneamente"). Essa separação se deu a nível da BIOS do ESP32, ou seja: estava separado na raiz do Sistema. Qualquer alteração, implicaria em alterar a alma da coisa toda. Mas aparentemente, a Espressif o fez, embora existam algumas poucas restrições de uso. No entanto, isso ainda não chegou à implementação do ESP32 para a Plataforma Arduino.</span></p>
<p><span style="font-size: 12pt;"> Apesar disso, ainda assim seria possível obter-se o comportamento que a Marcela desejava: ter um Sistema que permitisse tanto o controle via WiFi como via Bluetooth, e que isso se desse de forma automática, conforme qual deles estivesse disponível. Se a Rede WiFi estivesse disponível, o Sistema usaria o WiFi. E se não estivesse, e se algum Smartphone, Tablet, ou mesmo um computador com Bluetooth, iniciasse uma conexão, então todo o controle poderia ser feito via Bluetooth. E ao se desconectar do Bluetooth e o WiFi estiver novamente ao alcance, então automaticamente o Sistema usaria o WiFi. Tudo de forma automática sem nenhuma necessidade de intervenção externa nem no código do Arduino.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Então aqui está sendo publicada esta implementação, a qual foi chamada de "<strong><em>PCOM WiFi-Bluetooth</em></strong>" (a sigla "<strong><em>PCOM</em></strong>" é uma alusão a “<em>Port de Comunicação</em>”). <span style="font-size: 14pt;"><em>O código implementado é totalmente aberto, sem restrições</em></span>.</span></p>
<p><span style="font-size: 12pt;"> </span></p>
<p><span style="font-size: 12pt;"> Marcela já tinha implementado por sua conta, um <strong><em>APP</em></strong> executando no <strong><em>Android</em></strong>, que era exatamente como ela precisava. Mas para que tudo fosse mais genérico e pudesse ser utilizado por todos, o <strong><em>PCOM WiFi-Bluetooth</em></strong> (ou simplesmente <strong><em>PCOM WF-BT</em></strong>) pode ser usado através de um <strong><em>APP dedicado</em></strong> como o da Marcela, ou então através de um <strong><em>APP</em></strong> de <strong><em>Terminal Serial Bluetooth</em></strong>.</span></p>
<p><span style="font-size: 12pt;"> No link no início desta publicação, pode-se encontrar outras informações a respeito das conjecturas da implementação. Por exemplo o fato de que usar <strong><em>Máquinas de Estados</em></strong> para simplificar a implementação e torná-la robusta, era o caminho a seguir. Também sobre a necessidade de se reescrever a Biblioteca original <strong><em>SPP Bluetooth</em></strong> do <strong><em>ESP32</em></strong> para o <strong><em>Arduino</em></strong>, pois na minha análise inicial, descobri o quanto "travada" e problemática era aquela biblioteca (inclusive com erros graves na metodologia de implementação, o que tornava impossível se fazer o que a Marcela desejava).</span></p>
<p><span style="font-size: 12pt;"> </span></p>
<p><span style="font-size: 12pt;"> Ao longo desta publicação, serão apresentados de forma gradativa, exemplos para demonstrar o uso dos recursos disponíveis no PCOM WF-BT. No Bluetooth por exemplo, para segurança há um <strong><em>Processo de Autenticação do Cliente</em></strong>, e uma <strong><em>Lista de Clientes Autenticados</em></strong> é mantida no Sistema, o que abre diversas possibilidades. No WiFi, pode-se ter exemplos de como usar um Mecanismo existente no PCOM para gerenciar facilmente diversas <strong><em>Páginas HTML</em></strong> (aninhadas ou não), dando uma sofisticação adicional para o Sistema (utilizando quaisquer protocolos sobre o TCP/IP, sejam padrões ou dedicados). E também exemplos sobre a forma mais adequada de se controlar o que se quiser (sejam dispositivos de Entrada ou de Saída, Digitais ou Analógicos, ou então apenas Gerenciamento de Dados). Assim estes exemplos poderão servir de base para explorar o Sistema PCOM WF-BT conforme cada um desejar.</span></p>
<p><span style="font-size: 12pt;"> Ainda sobre os exemplos, a ideia é apresentar os mesmos com complexidade crescente, pois acredito que isto é a forma mais acessível a todos, permitindo trilhar um caminho ascendente no uso dos recursos apresentados.</span></p>
<p><span style="font-size: 12pt;"> E claro, que as pessoas também fiquem à vontade para explorar a coisa toda, e da forma como acharem mais adequada a cada um.</span></p>
<p><span style="font-size: 12pt;"> </span></p>
<p><span style="font-size: 12pt;"> </span></p>
<p><span style="font-size: 12pt;"> No tópico que originou a questão, apresentei a metodologia para a solução da implementação, a qual consistia em usar <strong><em>Máquinas de Estados</em></strong> para controlar o Sistema, e também redesenhar a <strong><em>Biblioteca SPP Bluetooth</em></strong> do <strong><em>ESP32</em></strong>. E isto foi seguido. Porém imediatamente depois, surgiu a necessidade de um <strong><em>Processo de Autenticação Bluetooth</em></strong> (pois a <strong><em>Espressif</em></strong> não implementou uma requisição de senha para o pareamento Bluetooth), para se ter algum controle de acesso ao Sistema, aumentando a segurança do mesmo. Esta questão da Autenticação Bluetooth, implicou em se fazer alguns ajustes nas Máquinas de Estados, porque a implementação manteve separados o Controle da Conexão e o Gerenciamento da Autenticação Bluetooth, pois para que a Autenticação fosse possível, a Conexão Bluetooth deveria estar ativa com um Cliente conectado.</span></p>
<p><span style="font-size: 12pt;"> Então os <strong><em>Diagramas de Estados</em></strong> das Máquinas implementadas, não é exatamente igual ao publicado inicialmente. E para o Processo de Autenticação Bluetooth, mais duas Máquinas foram implementadas, o que totalizou em 5 Máquinas de Estados no Sistema.</span></p>
<p><span style="font-size: 12pt;"> </span></p>
<p><span style="font-size: 12pt;"> Na figura a seguir é mostrado como estas Máquinas se inter-relacionam, e onde os <strong><em>Processos do Usuário</em></strong> se encaixam no Sistema:</span></p>
<p></p>
<p style="text-align: center;"><span style="font-size: 10pt;"><em><strong>(clique na figura para "zoom")</strong></em></span></p>
<p><span style="font-size: 12pt;"><a href="https://storage.ning.com/topology/rest/1.0/file/get/3469208845?profile=original" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/3469208845?profile=RESIZE_710x" width="618" height="669" class="align-center"/></a></span></p>
<p></p>
<p><span style="font-size: 12pt;"> </span></p>
<p><span style="font-size: 12pt;"> Observar que podem existir num mesmo Sistema, diversos Processos do Usuário. Cada um desses Processos, pode estar ocupado com o controle de algum elemento no Sistema, e estes Processos podem inclusive ser totalmente independentes uns do outros.</span></p>
<p><span style="font-size: 12pt;"> </span></p>
<p><span style="font-size: 12pt;"> A figura a seguir mostra alguns detalhes da estrutura de um Processo do Usuário:</span></p>
<p style="text-align: center;"><span style="font-size: 10pt;"><em><strong> (clique na figura para "zoom")</strong></em></span></p>
<p><span style="font-size: 12pt;"><a href="https://storage.ning.com/topology/rest/1.0/file/get/3469236942?profile=original" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/3469236942?profile=RESIZE_710x" class="align-center" width="679" height="1061"/></a></span></p>
<p></p>
<p><span style="font-size: 12pt;"> Assim, um <strong><em>Processo do Usuário</em></strong>, seria algo próximo a um “sketch” do Arduino (ESP32) que faz alguma coisa específica. E se for considerado um “sketch” mais complexo que faz diversas coisas, então um Processo do Usuário pode ser um trecho de código desse “sketch”, onde neste trecho de código também é feito algo específico. Por exemplo, um “sketch” simples que lê um Sensor de Temperatura, e informa a um “Cliente” conectado via PCOM, o valor da Temperatura a intervalos regulares. Como exemplo de um “sketch” um pouco mais complexo, pode ser um Sistema que controla o aquecimento de um forno, monitora a temperatura desse forno, e ainda controla motores: neste caso, o Cliente pode determinar a temperatura desejada do forno, assim como obter a qualquer instante o valor real da temperatura, e também determinar parâmetros de controle dos motores (qual motor, qual a velocidade, etc). Neste último exemplo, do “sketch” mais complexo, cada uma das ações descritas, é um <strong><em>Processo do Usuário</em></strong>.</span></p>
<p><span style="font-size: 12pt;"> </span></p>
<p><span style="font-size: 12pt;"> Como foi dito, os Processos podem ser independentes, ou então interligados de alguma forma. O importante é identificar os Processos, e implementar cada um deles seguindo uma “receita” ou “<strong><em>Modelo de Programação</em></strong>” para que cada Processo se comunique com o Cliente conectado (via WiFi ou Bluetooth), e através de comandos enviados pelo Cliente (ou pelo próprio Processo), controle adequadamente os elementos do Sistema que fazem parte daquele Processo. Isto é preciso ser descrito assim, porque um erro muito comum quando as pessoas “leigas” escrevem seus códigos para o Arduino, é misturar tudo como se fosse uma salada de frutas, onde mal se consegue distinguir um Processo individual sendo executado, e esta é a receita perfeita para tudo sair errado (o que acontece muito, e se não acontece é por uma certa “sorte” em se conseguir um código que mesmo “bagunçado” tem um resultado parecido com o desejado – mas normalmente frágil e muitas vezes instável).</span></p>
<p><span style="font-size: 12pt;"> </span></p>
<p><span style="font-size: 12pt;"> Nas próximas cinco figuras, são mostrados os <strong><em>Diagramas de Estados</em></strong> das <strong><em>Máquinas de Estados</em></strong> implementadas, junto a algumas descrições simples. Embora o funcionamento dessas Máquinas possa dar a impressão de serem implementações complexas, na realidade são simples. Ocorre que a falta de conhecimento dos princípios de funcionamento de uma Máquina de Estados, leva a se ter a impressão da complexidade.</span></p>
<p><span style="font-size: 12pt;"> Além disso, é importante notar que os diversos elementos nos Diagramas de Estados (círculos, setas de cores diferentes, e descrições simples), indicam justamente que é implementado sempre o mesmo tipo de comportamento, fazendo que toda a técnica de implementação e o próprio funcionamento de uma Máquina de Estados, seja algo <em>sistemático</em>. Ou seja, conhecendo-se as técnicas básicas de como se implementa uma Máquina de Estados, pode-se abstrair e expandir tudo isso, levando a implementações bastante sofisticadas, com a vantagem da extrema confiabilidade (inexistência de bugs) e ainda mantendo a simplicidade.</span></p>
<p><span style="font-size: 12pt;"> As cinco Máquinas aqui implementadas, tem sim algum nível de sofisticação e até complexidade, mas nada que seja de difícil de entendimento.</span></p>
<p style="text-align: center;"><span style="font-size: 12pt;"><span style="font-size: 10pt;"><em><strong> (clique na figura para "zoom")</strong></em></span><a href="https://storage.ning.com/topology/rest/1.0/file/get/3469267660?profile=original" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/3469267660?profile=RESIZE_710x" width="776" height="1221" class="align-center"/></a></span></p>
<p></p>
<p style="text-align: center;"><em><strong>(clique na figura para "zoom")</strong></em></p>
<p><a href="https://storage.ning.com/topology/rest/1.0/file/get/3469290884?profile=original" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/3469290884?profile=RESIZE_710x" class="align-center" width="720" height="873"/></a></p>
<p></p>
<p style="text-align: center;"><span style="font-size: 10pt;"><em><strong>(clique na figura para "zoom")</strong></em></span></p>
<p><span style="font-size: 12pt;"><a href="https://storage.ning.com/topology/rest/1.0/file/get/3469316425?profile=original" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/3469316425?profile=RESIZE_710x" class="align-center" width="744" height="889"/></a></span></p>
<p></p>
<p style="text-align: center;"><span style="font-size: 10pt;"><em><strong>(clique na figura para "zoom")</strong></em></span></p>
<p><span style="font-size: 12pt;"><a href="https://storage.ning.com/topology/rest/1.0/file/get/3469335110?profile=original" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/3469335110?profile=RESIZE_710x" class="align-center" width="799" height="1114"/></a></span></p>
<p></p>
<p style="text-align: center;"><span style="font-size: 10pt;"><em><strong>(clique na figura para "zoom")</strong></em></span></p>
<p><span style="font-size: 12pt;"><a href="https://storage.ning.com/topology/rest/1.0/file/get/3469354259?profile=original" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/3469354259?profile=RESIZE_710x" class="align-center" width="659" height="800"/></a></span></p>
<p></p>
<p></p>
<p><span style="font-size: 12pt;"> O tópico está continuado imediatamente a seguir, apresentando o primeiro exemplo, que mostra o controle via <em><strong>WiFi</strong></em> (<em><strong>Página HTML</strong></em>) e <em><strong>Bluetooth</strong></em> (um dispositivo que foi chamado de "<em><strong>BlueLAMP</strong></em>"). Este exemplo mostra o controle de uma <em><strong>Lâmpada</strong></em> (ou <em><strong>LED</strong></em>, para quem quiser apenas testar a funcionalidade), sendo o primeiro de uma série de exemplos.</span></p>
<p></p>
<p><span style="font-size: 12pt;"> E finalizando esta primeira parte, segue o link para <em><strong>Download</strong></em> da <em><strong>Biblioteca do PCOM WiFi-Bluetooth</strong></em> (o link é do <em><strong>GitHub</strong></em>, pois o arquivo zipado tem mais de 8MBytes, impedindo de anexá-lo aqui no LDG).</span></p>
<p><span style="font-size: 12pt;"> Para adicionar a biblioteca, basta seguir o <em><strong>método padrão</strong></em> de <em><strong>acrescentar bibliotecas</strong></em> na <em><strong>IDE</strong></em> do <em><strong>Arduino</strong></em>, através do <em><strong>Menu</strong></em> "<em><strong>Sketch</strong></em>", <em>opção</em> "<em><strong>Incluir Biblioteca</strong></em>", <em>opção</em> "<em><strong>Adicionar biblioteca .ZIP</strong></em>" (fazendo isso a partir do arquivo "zip", nenhum ajuste no nome de arquivos será necessário para uma compilação sem erros relacionados a "<em>arquivos não-encontrados</em>"). No arquivo zipado, além da Biblioteca, já se encontra toda a documentação e o primeiro exemplo aqui publicado).</span></p>
<p></p>
<p><span style="font-size: 12pt;"> Link para a Biblioteca: <em><a href="https://github.com/Elcids/PCOM-WiFi-Bluetooth-ESP32---Portuguese/blob/master/PCOM_WF_BTC_001.zip" target="_blank" rel="noopener">"PCOM WiFi-Bluetooth ESP32/Arduino"</a></em></span></p>
<p></p>
<p><span style="font-size: 12pt;"> Para fazer o download na página do link, basta clicar no <em><strong>Botão</strong></em> "<strong>Download</strong>" mostrado na figura a seguir:</span></p>
<p style="text-align: center;"><span style="font-size: 10pt;"><strong><em>(clique na figura para "zoom")</em></strong></span></p>
<p><span style="font-size: 12pt;"><a href="https://storage.ning.com/topology/rest/1.0/file/get/3469614902?profile=original" target="_blank" rel="noopener"><img src="https://storage.ning.com/topology/rest/1.0/file/get/3469614902?profile=RESIZE_710x" class="align-center" width="625" height="414"/></a></span></p>
<p></p>
<p></p>
<p><span style="font-size: 12pt;">Abrçs,</span></p>
<p><span style="font-size: 12pt;">Elcids</span></p>
<p></p> Ajuda - Comunicação Entre Bluetoothtag:labdegaragem.com,2019-05-08:6223006:Topic:7077692019-05-08T00:31:07.704ZWendel Martins de Jesushttps://labdegaragem.com/profile/WendelMartinsdeJesus
<p>Boa noite,</p>
<p></p>
<p>Estou tendo dificuldades em um projeto da faculdade, na parte da comunicação bluetooth.</p>
<p>Preciso realizar a movimentação de um servo e de dois motores, através de uma ponte H.</p>
<p>Consigo realizar a movimentação do servo normalmente, porém, ao tentar programar o acionamento do motor não estou tendo sucesso.</p>
<p></p>
<p>São dóis módulos Bluetooth se comunicando. Em um lado, (Mestre) tenho 2 Joysticks, sendo 1 para o servo e o outro para os motores. Do…</p>
<p>Boa noite,</p>
<p></p>
<p>Estou tendo dificuldades em um projeto da faculdade, na parte da comunicação bluetooth.</p>
<p>Preciso realizar a movimentação de um servo e de dois motores, através de uma ponte H.</p>
<p>Consigo realizar a movimentação do servo normalmente, porém, ao tentar programar o acionamento do motor não estou tendo sucesso.</p>
<p></p>
<p>São dóis módulos Bluetooth se comunicando. Em um lado, (Mestre) tenho 2 Joysticks, sendo 1 para o servo e o outro para os motores. Do outro lado (Escravo), tenho 1 servo motor, 1 ponte H e 2 motores ligados na ponte.</p>
<p></p>
<p>Na programação, quando tento configurar a parte dos motores, sempre acaba misturando com os sinais do servo, e no final 1 Joystick acaba controlando tudo.</p>
<p></p>
<p>O projeto é um carrinho de controle remoto.</p>
<p></p>
<p>Segue a programação do Mestre e Esravo:</p>
<p></p>
<p><strong>Mestre:</strong></p>
<p>int state = 0;<br/>int potValue = 0;<br/>int pot2Value = 0;</p>
<p>void setup() {<br/> Serial.begin(38400); // Default communication rate of the Bluetooth module<br/>}</p>
<p>void loop() {<br/> if(Serial.available() > 0){ // Checks whether data is comming from the serial port<br/> state = Serial.read(); // Reads the data from the serial port<br/> }<br/> // Reading the potentiometer<br/> potValue = analogRead(A0);<br/> int potValueMapped = map(potValue, 0, 1023, 0, 255);<br/> Serial.write(potValueMapped); // Sends potValue to servo motor<br/> delay(10);</p>
<p>if(Serial.available() > 0){ // Checks whether data is comming from the serial port<br/> pot2Value = Serial.read(); // Reads the data from the serial port<br/> }<br/> // Reading the potentiometer 2<br/> pot2Value = analogRead(A1);<br/> int pot2ValueMapped = map(pot2Value, 0, 1023, 0, 255);<br/> Serial.write(pot2Value); // Sends potValue to servo motor<br/> delay(10);</p>
<p>}</p>
<p></p>
<p><strong>Escravo:</strong></p>
<p>#include <Servo.h></p>
<p>Servo myServo;<br/>int motorA = 5; // velocidade motor A - de 0 a 255<br/>int motorB = 6; // velocidade motor B - de 0 a 255<br/>int dirA = 7; // direcao do motor A - HIGH ou LOW<br/>int dirB = 8; // direcao do motor B - HIGH ou LOW<br/>int state = 20;<br/>int pot2Value = 20;</p>
<p>void setup() {<br/> pinMode(motorA, OUTPUT);<br/> pinMode(motorB, OUTPUT);<br/> pinMode(dirA, OUTPUT);<br/> pinMode(dirB, OUTPUT);<br/> myServo.attach(9);<br/> Serial.begin(38400); // Default communication rate of the Bluetooth module<br/>}</p>
<p>void loop() {<br/> if(Serial.available() > 0){ // Checks whether data is comming from the serial port<br/> state = Serial.read(); // Reads the data from the serial port<br/> }<br/> // Controlling the servo motor<br/> myServo.write(state);<br/> delay(10);</p>
<p>if(Serial.available() > 0){ // Checks whether data is comming from the serial port<br/> pot2Value = Serial.read(); // Reads the data from the serial port<br/> }<br/> //Reverso<br/> int velocidade = map(pot2Value, 512, 0, 0, 255);<br/> digitalWrite(dirA, LOW); // SENTIDO DE ROTACAO<br/> digitalWrite(dirB, LOW);<br/> analogWrite(motorA, velocidade); // VELOCIDADE<br/> analogWrite(motorB, velocidade);</p>
<p>if(Serial.available() > 0){ // Checks whether data is comming from the serial port<br/> pot2Value = Serial.read(); // Reads the data from the serial port<br/> }<br/> //Frente<br/> int velocidade2 = map(pot2Value, 512, 1023, 0, 255);<br/> digitalWrite(dirA, HIGH); // SENTIDO DE ROTACAO<br/> digitalWrite(dirB, HIGH);<br/> analogWrite(motorA, velocidade2); // VELOCIDADE<br/> analogWrite(motorB, velocidade2);<br/> <br/>}</p>
<p></p>
<p>Segue em anexo a programação.</p>
<p></p>
<p>Estou ficando sem tempo, preciso de ajuda.</p>
<p></p>
<p>Obrigado !!!!</p> Como fazer para o bluetooth de um microcontrolador reconhecer meu celulartag:labdegaragem.com,2019-04-12:6223006:Topic:7055792019-04-12T17:44:24.547ZHiago Marqueshttps://labdegaragem.com/profile/HiagoMarques
<div class="ipsType_normal ipsType_richText ipsContained"><p>Boa tarde estou montando um projeto e tenho um seguinte problema, eu tenho que fazer um projeto com arduino ou ESP32 esse projeto vai funcionar da seguinte maneira quando eu estiver no ambiente e ligar o Bluetooth do meu celular ele tem que reconhecer automaticamente somente o Bluetooth do meu celular e ligar um lâmpada (sem aplicativo) e quando eu sair ele tem reconhecer que fui embora e desligar essa lâmpada, o problema e como faço…</p>
</div>
<div class="ipsType_normal ipsType_richText ipsContained"><p>Boa tarde estou montando um projeto e tenho um seguinte problema, eu tenho que fazer um projeto com arduino ou ESP32 esse projeto vai funcionar da seguinte maneira quando eu estiver no ambiente e ligar o Bluetooth do meu celular ele tem que reconhecer automaticamente somente o Bluetooth do meu celular e ligar um lâmpada (sem aplicativo) e quando eu sair ele tem reconhecer que fui embora e desligar essa lâmpada, o problema e como faço isso eu acho sobre isso na internet porém e tudo com aplicativo e não posso usar aplicativo para ligar e desligar lâmpada, alguém poderia me ajudar com isso?</p>
</div> Bluetooth LE perdendo conexãotag:labdegaragem.com,2018-04-17:6223006:Topic:6674232018-04-17T18:33:43.496ZWilliam Bhttps://labdegaragem.com/profile/WilliamBenatti
<p>Olá! </p>
<p>Pessoal, estou montando um dispositivo que opera com Bluetooth Low Energy (BLE). Está com problema de queda de conexão, em que hora conecta e se mantém por algum tempo, mas a maior parte do tempo se conecta e desconecta em seguida. Sequer há tempo de conseguir transferir alguma coisa...<br></br>O chip Bluetooth que estou usando é RN4870_71 da Microchip. Estou tentando inicialmente usar o próprio aplicativo da Microchip para me conectar via Android com o chip BluetoothLE, mas também…</p>
<p>Olá! </p>
<p>Pessoal, estou montando um dispositivo que opera com Bluetooth Low Energy (BLE). Está com problema de queda de conexão, em que hora conecta e se mantém por algum tempo, mas a maior parte do tempo se conecta e desconecta em seguida. Sequer há tempo de conseguir transferir alguma coisa...<br/>O chip Bluetooth que estou usando é RN4870_71 da Microchip. Estou tentando inicialmente usar o próprio aplicativo da Microchip para me conectar via Android com o chip BluetoothLE, mas também já tentei usar outros aplicativos com mais recursos.</p>
<p> </p>
<p>Alguém sabe já viu ocorrer esse problema de queda de conexão? tem alguma sugestão sobre como resolver?</p> Carro Robô - Lógica Pisca alerta. AJUDAtag:labdegaragem.com,2017-11-20:6223006:Topic:6468792017-11-20T05:10:20.955ZFábio Moraeshttps://labdegaragem.com/profile/FabioMoraes
<p>Amigos, tenho um projeto de um carrinho controlado via Bluetooth. Tudo funcionando, motores, luz freio, farol, seta e tudo mais. Porém preciso implementar o Pisca Alerta.</p>
<p>Todos os comandos são acionados com state. Veja exemplo:</p>
<p>--------------------Código --------------------</p>
<p>f (digitalRead(BTState) == LOW) {</p>
<p>state_rec = 'S';<br></br> }</p>
<p>// Salva os valores da variável 'state'<br></br> if (Serial.available() > 0) {<br></br> state_rec = Serial.read();<br></br> state =…</p>
<p>Amigos, tenho um projeto de um carrinho controlado via Bluetooth. Tudo funcionando, motores, luz freio, farol, seta e tudo mais. Porém preciso implementar o Pisca Alerta.</p>
<p>Todos os comandos são acionados com state. Veja exemplo:</p>
<p>--------------------Código --------------------</p>
<p>f (digitalRead(BTState) == LOW) {</p>
<p>state_rec = 'S';<br/> }</p>
<p>// Salva os valores da variável 'state'<br/> if (Serial.available() > 0) {<br/> state_rec = Serial.read();<br/> state = state_rec;</p>
<p></p>
<p>if (state != 'S') {<br/> Serial.print(state);<br/> }</p>
<p></p>
<p>// Se o estado recebido for igual a 'F', o carro se movimenta para frente.<br/> if (state == 'F') {<br/> analogWrite(motorDB1, vSpeed);<br/> analogWrite(motorDA1, vSpeed);<br/> analogWrite(motorDA2, 0);<br/> analogWrite(motorDB2, 0);<br/> <br/> analogWrite(motorTB1, vSpeed);<br/> analogWrite(motorTA1, vSpeed);<br/> analogWrite(motorTA2, 0);<br/> analogWrite(motorTB2, 0);<br/> <br/> digitalWrite(FreioParadaEsquerda, LOW);<br/> digitalWrite(FreioParadaDireita, LOW);<br/> }</p>
<p></p>
<p>else if (state == 'B') { // Se o estado recebido for igual a 'B', o carro se movimenta para trás.<br/> analogWrite(motorDA1, 0);<br/> analogWrite(motorDB1, 0);<br/> analogWrite(motorDB2, vSpeed);<br/> analogWrite(motorDA2, vSpeed);<br/> analogWrite(motorTA1, 0);<br/> analogWrite(motorTB1, 0);<br/> analogWrite(motorTB2, vSpeed);<br/> analogWrite(motorTA2, vSpeed);</p>
<p> digitalWrite(FreioParadaEsquerda, LOW);<br/> digitalWrite(FreioParadaDireita, LOW);</p>
<p> digitalWrite(ReDireita, HIGH);<br/> digitalWrite(ReEsquerda, HIGH);<br/> }</p>
<p>-----------------E assim por diante----------------------</p>
<p></p>
<p>O pisca alerta deve ser acionado com o "X" e interrompido com "x"</p>
<p>Preciso de uma lógica para ele piscar ao receber "X" e para de piscar com o "x".</p>
<p></p>
<p>Alguém pode me dar uma luz para isso?</p>
<p></p>
<p>Ficarei muito grato pela ajuda.</p>
<p></p>
<p></p>
<p></p>
<p></p> Identificando um dispositivo Bluetooth entre váriostag:labdegaragem.com,2017-11-02:6223006:Topic:6438172017-11-02T22:02:20.870ZWilliam Bhttps://labdegaragem.com/profile/WilliamBenatti
<p>Olá! </p>
<p>Criei um dispositivo eletrônico com Bluetooth e usei um shield HC-06 Arduino. Também criei um aplicativo para gerenciar e controlar estes dispositivos. Será montado um sistema para usar vários destes dispositivos juntos e vendido dessa forma para o usuário final (que provavelmente será uma pessoa leiga). Considerando que existirão vários destes dispositivos ligados no mesmo ambiente, gostaria de saber como posso fazer para que o cliente (leigo) possa identificar cada um deles na…</p>
<p>Olá! </p>
<p>Criei um dispositivo eletrônico com Bluetooth e usei um shield HC-06 Arduino. Também criei um aplicativo para gerenciar e controlar estes dispositivos. Será montado um sistema para usar vários destes dispositivos juntos e vendido dessa forma para o usuário final (que provavelmente será uma pessoa leiga). Considerando que existirão vários destes dispositivos ligados no mesmo ambiente, gostaria de saber como posso fazer para que o cliente (leigo) possa identificar cada um deles na lista de Bluetooth que aparecerão no aplicativo (por exemplo DEV1, DEV2,... DEVn).</p>
<p></p>
<p>OBS.: Entendo que depois de conectar a primeira vez com cada um dos dispositivos será possível renomear os mesmos na lista de bluetooth. Porém um usuário leigo provavelmente não saberá identificar um a um e ir renomeando.</p>
<p></p>
<p>Obrigado.</p> Leitura de Sensor via Bluetooth usando Android Studiotag:labdegaragem.com,2017-10-24:6223006:Topic:6415092017-10-24T14:04:30.320ZJuliene E. do Nascimentohttps://labdegaragem.com/profile/JulieneEdoNascimento
<p>Boa Tarde pessoal,</p>
<p>Tenho um app em Android Studio e preciso captar os dados de um sensor que está sendo enviado via bluetooth. Já testei a comunicação arduino->bluetooth e os dados estão sendo enviados porém não consigo mostrá-los no app.<br></br> No android studio fiz a parte de ativar o bluetooth se estiver desligado e de se conectar ao mac do dispositivo pareado, até ai ok. Porém não sei como mostrar os dados que estão vindo do bluetooth em tempo real.<br></br> Alguém consegue me…</p>
<p>Boa Tarde pessoal,</p>
<p>Tenho um app em Android Studio e preciso captar os dados de um sensor que está sendo enviado via bluetooth. Já testei a comunicação arduino->bluetooth e os dados estão sendo enviados porém não consigo mostrá-los no app.<br/> No android studio fiz a parte de ativar o bluetooth se estiver desligado e de se conectar ao mac do dispositivo pareado, até ai ok. Porém não sei como mostrar os dados que estão vindo do bluetooth em tempo real.<br/> Alguém consegue me ajudar?</p>
<p>Obrigada.</p>