Exemplo de Vários Apps Bluetooth com Arduino UNO R4 WiFi - Tutorial BLE Tudo-em-Um
Visão Geral
O exemplo de Vários Apps Bluetooth mostra como executar 9 apps Bluetooth ao mesmo tempo em um único Arduino UNO R4 WiFi usando BLE. Feito para o Arduino UNO R4 WiFi usando BLE (Bluetooth Low Energy) para combinar Monitor, Chat, Slider, Joystick, Temperature, Plotter, Table, Analog Gauge e Rotator em um único sketch poderoso. Todos os apps compartilham uma única conexão BLE e podem interagir entre si. Perfeito para painéis completos, projetos IoT complexos e para aprender vários tipos de app de uma só vez.
Nota: O Arduino UNO R4 WiFi só suporta BLE (Bluetooth Low Energy). Ele não suporta Bluetooth Clássico. O app DIYables Bluetooth suporta BLE e Bluetooth Clássico no Android, e BLE no iOS. Como esta placa usa BLE, o app funciona no Android e no iOS.
Recursos
9 Apps em Um: Monitor, Chat, Slider, Joystick, Temperature, Plotter, Table, Analog Gauge, Rotator
Interação Entre Apps: o valor do slider atualiza o gauge e a tabela, o joystick atualiza a tabela, etc.
Uma Única Conexão BLE: todos os apps compartilham uma conexão de forma eficiente
Atualizações em Tempo Real: cada app atualiza no seu próprio intervalo
Painel Completo: veja todos os dados de um único dispositivo
Funciona no Android e no iOS: o BLE é suportado nas duas plataformas
Sem Necessidade de Pareamento: o BLE conecta automaticamente, sem pareamento manual
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.
Conecte a placa Arduino UNO R4 WiFi ao seu computador usando um cabo USB.
Abra o Arduino IDE no seu computador.
Selecione a placa Arduino UNO R4 WiFi e a porta COM apropriada.
Vá até o ícone Libraries na barra lateral esquerda do Arduino IDE.
Pesquise "DIYables Bluetooth" e encontre a biblioteca DIYables Bluetooth, da DIYables
Clique no botão Install para instalar a biblioteca.
Será pedido que você instale algumas outras dependências da biblioteca
Clique no botão Install All para instalar todas as dependências da biblioteca.
Código BLE
No Arduino IDE, vá em File Examples DIYables Bluetooth ArduinoBLE_MultipleApps para abrir o exemplo, ou copie o código acima e cole no editor do Arduino IDE
Clique no botão Upload no Arduino IDE para carregar o código no Arduino UNO R4 WiFi
Abra o Serial Monitor
Veja o resultado no Serial Monitor. Ele deve ficar parecido com o abaixo:
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
DIYables Bluetooth - Multiple Apps Example
Waiting for Bluetooth connection...
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2
App para Celular
Instale o app DIYables Bluetooth no seu smartphone: Android | iOS
Nota: O app DIYables Bluetooth suporta BLE e Bluetooth Clássico no Android, e BLE no iOS. Como o Arduino UNO R4 WiFi usa BLE, o app funciona no Android e no iOS. Não é preciso pareamento manual para o BLE — basta procurar e conectar.
Abra o app DIYables Bluetooth
Ao abrir o app pela primeira vez, ele vai pedir permissões. Conceda as seguintes:
Permissão de Dispositivos por Perto (Android 12+) / permissão de Bluetooth (iOS) - necessária para procurar e conectar dispositivos Bluetooth
Permissão de Localização (somente Android 11 e anteriores) - exigida por versões mais antigas do Android para procurar dispositivos BLE
Verifique se o Bluetooth está ligado no seu celular
Na tela inicial, toque no botão Connect. O app vai procurar dispositivos BLE.
Encontre e toque em "DIYables Multi-App" nos resultados da busca para conectar.
Depois de conectado, o app volta automaticamente para a tela inicial. A tela inicial mostra todos os apps disponíveis. Os 9 apps inicializados no código Arduino vão responder e funcionar — os outros apps da tela inicial aparecem, mas não funcionam com este sketch.
Nota: Você pode tocar no ícone de configurações na tela inicial para ocultar/mostrar apps na tela inicial. Para mais detalhes, veja o Manual do Usuário do DIYables Bluetooth App.
Toque em alguns dos apps a seguir para abri-los e interagir com o Arduino: Monitor, Chat, Slider, Joystick, Temperature, Plotter, Table, Analog Gauge, Rotator
Alterne entre os apps livremente — todos compartilham a mesma conexão BLE
Agora volte ao Serial Monitor no Arduino IDE. Você verá:
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
Bluetooth connected!
Monitor: System running, uptime: 5s
Chat message: Hello
Slider value: 128
Joystick: X=0.50, Y=-0.30
Temperature: 22.50 °C
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2
Como Funciona
Inicialização dos Apps
Cada app é criado com sua própria configuração e seus próprios callbacks:
// All apps share the same Bluetooth serverDIYables_BluetoothServer bluetoothServer(bluetooth);// Create individual appsDIYables_BluetoothMonitor bluetoothMonitor(bluetoothServer);DIYables_BluetoothChat bluetoothChat(bluetoothServer);DIYables_BluetoothSlider bluetoothSlider(bluetoothServer, 0, 255, 1);DIYables_BluetoothJoystick bluetoothJoystick(bluetoothServer, false, 5);DIYables_BluetoothTemperature bluetoothTemp(bluetoothServer, -10.0, 50.0, "°C");DIYables_BluetoothPlotter bluetoothPlotter(bluetoothServer);DIYables_BluetoothTable bluetoothTable(bluetoothServer);DIYables_BluetoothAnalogGauge bluetoothGauge(bluetoothServer, 0.0, 100.0, "%");DIYables_BluetoothRotator bluetoothRotator(bluetoothServer, ROTATOR_MODE_CONTINUOUS);
Interação Entre Apps
Os apps podem interagir entre si — quando um app recebe uma entrada, ele pode atualizar outros apps:
O exemplo cria uma tabela com 10 linhas mostrando os dados de todos os apps:
Linha
Rótulo
Descrição
0
Status
Status de conexão/execução
1
Uptime
Tempo desde a inicialização
2
Slider 1
Valor atual do slider
3
Slider 2
Valor do segundo slider
4
Joystick X
Posição X do joystick
5
Joystick Y
Posição Y do joystick
6
Temperature
Temperatura atual
7
Gauge Value
Porcentagem atual do gauge
8
Rotator Angle
Ângulo de rotação atual
9
Messages
Contagem de mensagens do chat
Personalização Criativa - Adapte o Código ao Seu Projeto
Adicionar ou Remover Apps
Você não precisa dos 9 apps. Basta incluir só os que você precisa:
// Minimal setup: just Monitor and SliderDIYables_BluetoothMonitor bluetoothMonitor(bluetoothServer);DIYables_BluetoothSlider bluetoothSlider(bluetoothServer, 0, 100, 1);// That's it! The app will only show these two
Lógica Personalizada Entre Apps
// Example: Temperature alarm via Monitorvoid checkTemperatureAlarm(float temp) {if (temp > 40.0) { bluetoothMonitor.send("⚠️ HIGH TEMP ALERT: " + String(temp, 1) + "°C"); bluetoothChat.send("Temperature alarm triggered!"); }}
Solução de Problemas
Problemas Comuns
1. Não consigo encontrar o dispositivo no app
Verifique se o Arduino UNO R4 WiFi está ligado e se o sketch foi carregado
Verifique se o Bluetooth do seu celular está ativado
No Android 11 e anteriores, ative também os serviços de Localização
2. Alguns apps não aparecem no menu
Todos os apps inicializados aparecem automaticamente
Verifique se cada objeto de app foi criado corretamente
O app descobre os apps disponíveis a partir do Arduino
3. As atualizações parecem lentas
Cada app tem intervalos de atualização diferentes — isso é proposital
O BLE tem largura de banda limitada; atualizações rápidas demais podem causar congestionamento
Reduza a frequência de atualização dos apps que não precisam de dados em tempo real
4. As atualizações entre apps não funcionam
Confirme que as funções de callback estão configuradas corretamente
Verifique se os nomes das linhas da tabela são exatamente iguais (diferenciam maiúsculas de minúsculas)
Garanta que o objeto do app de destino está acessível no escopo do callback
5. Problemas de memória ou travamentos
Executar 9 apps consome bastante memória
Remova os apps que você não usa para liberar recursos
Reduza o número de linhas da tabela, se necessário
6. O upload falha ou a placa não é reconhecida
Instale o pacote de placas Arduino UNO R4 mais recente pelo Board Manager
Tente outro cabo ou outra porta USB
Ideias de Projetos
Painel IoT completo
Painel de controle de robô (joystick + monitor + sliders)
Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!