Arduino: Comunicacao Serial e Bluetooth: mudanças entre as edições
m (Root moveu Arduino: Bluetooth para Arduino: Comunicacao Serial e Bluetooth) |
Sem resumo de edição |
||
Linha 1: | Linha 1: | ||
=Arduíno: Bluetooth= | =Arduíno: Comunicação Serial e Bluetooth= | ||
==Comunicação Serial== | |||
===Conceitos sobre comunicação serial e paralela=== | |||
;[[Comunicação serial e paralela]] | |||
===Comunicação Serial no Arduíno=== | |||
O '''Arduíno UNO''' possui uma '''porta serial''' ([https://www.arduino.cc/reference/en/language/functions/communication/serial/ '''Serial''']) (também referida como UART) e se comunica através dos pinos 0 ('''RX''') e 1 ('''TX'''), assim como com o computador via USB. Se você utiliza a comunicação serial não pode utilizar os pinos 0 e 1 como entradas e saídas. | |||
Também é possível utilizar o '''monitor serial''', disponível na IDE do Arduíno, para comunicação bidirecional com uma placa Arduíno conectada em uma porta USB. | |||
Não é possível utilizar as '''portas seriais''' do '''Arduíno''' diretamente em uma comunicação com uma '''interface RS232''', pois esta usa tensões de -12 V e 12 V. | |||
;Outras placas Arduíno: | |||
*O '''Arduíno Leonardo''' usa a '''Serial''' exclusivamente para comunicação com a '''porta USB'''. Para '''comunicação serial''' nos pinos 0 (RX) and 1 (TX) deve-se utilizar a '''Serial1'''. | |||
*O '''Arduíno Mega''' tem três portas de '''comunicação serial''' adicionais: '''Serial1''', '''Serial3''' e '''Serial3'''. | |||
===Laboratório 1: Comunicação serial entre dois Arduínos=== | |||
;Monitor Serial: O '''monitor serial''' permite enviar dados do '''computador''' ao '''Arduíno''' pela '''interface serial USB'''. | |||
Procedimentos: | |||
#Carregar programa exemplo '''[http://www.arduino.cc/en/Tutorial/PhysicalPixel Arquivo/Exemplos/Communication/PhysicalPixel]''' e '''acionar''' o '''led''' do '''pino 13''' a partir de comandos '''H''' e '''L''' enviados pelo '''monitor serial'''. | |||
;Comunicação entre dois Arduínos: | |||
Procedimentos: | |||
#Conectar com um par de fios os dois Arduínos através das '''portas seriais''' de ambos os microcontroladores: TX->RX e RX<-TX; | |||
#Carregar no '''receptor''' o programa exemplo '''[http://www.arduino.cc/en/Tutorial/PhysicalPixel Arquivo/Exemplos/Communication/PhysicalPixel]'''; | |||
#Carregar no '''emissor''' o código abaixo; | |||
#Observar a comunicação serial a partir do led piscando no receptor e também monitorar a troca de mensagens a partir do monitor serial. | |||
<syntaxhighlight lang="c"> | |||
//emissor | |||
int num = 0; | |||
void setup(){ | |||
Serial.begin(9600); | |||
} | |||
void loop(){ | |||
Serial.write('H'); | |||
delay(2000); | |||
Serial.write('L'); | |||
delay(2000); | |||
} | |||
} | |||
</syntaxhighlight> | |||
===Configuração do SimulIDE para comunicação serial com Arduíno=== | |||
É possível realizar '''comunicação serial''' entre um '''Arduíno''' rodando no '''SinulIDE''' e um '''Arduíno''' conectado a porta '''USB''' do computador. | |||
#No Arduíno conectado a '''USB''', verificar a partir da IDE a porta de comunicação que está sendo utilizada: '''ttyACM0''' (p.ex.); | |||
#No Arduíno no '''SimulIDE''', clicar com o botão direito do mouse sobre a placa e selecionar '''Open Serial Port'''; | |||
#No bloco '''Uart''' que vai abrir, clicar com o botão direito do mouse e selecionar '''properties'''; | |||
#Escrever em '''port name''' o nome da porta serial; | |||
#Clicar em '''Open''' para ativar a porta (deve indicar sucesso com o botão vermelho). | |||
==Comunicação com Módulo Bluetooth== | ==Comunicação com Módulo Bluetooth== | ||
Linha 86: | Linha 140: | ||
---- | ---- | ||
[[Usuário:Evandro.cantu|Evandro.cantu]] ([[Usuário Discussão:Evandro.cantu|discussão]]) | [[Usuário:Evandro.cantu|Evandro.cantu]] ([[Usuário Discussão:Evandro.cantu|discussão]]) 16h25min de 20 de junho de 2023 (-03) | ||
---- | ---- | ||
[[Categoria:Arduíno]] [[Categoria:IoT]] | [[Categoria:Arduíno]] [[Categoria:IoT]] |
Edição das 19h25min de 20 de junho de 2023
Arduíno: Comunicação Serial e Bluetooth
Comunicação Serial
Conceitos sobre comunicação serial e paralela
Comunicação Serial no Arduíno
O Arduíno UNO possui uma porta serial (Serial) (também referida como UART) e se comunica através dos pinos 0 (RX) e 1 (TX), assim como com o computador via USB. Se você utiliza a comunicação serial não pode utilizar os pinos 0 e 1 como entradas e saídas.
Também é possível utilizar o monitor serial, disponível na IDE do Arduíno, para comunicação bidirecional com uma placa Arduíno conectada em uma porta USB.
Não é possível utilizar as portas seriais do Arduíno diretamente em uma comunicação com uma interface RS232, pois esta usa tensões de -12 V e 12 V.
- Outras placas Arduíno
- O Arduíno Leonardo usa a Serial exclusivamente para comunicação com a porta USB. Para comunicação serial nos pinos 0 (RX) and 1 (TX) deve-se utilizar a Serial1.
- O Arduíno Mega tem três portas de comunicação serial adicionais: Serial1, Serial3 e Serial3.
Laboratório 1: Comunicação serial entre dois Arduínos
- Monitor Serial
- O monitor serial permite enviar dados do computador ao Arduíno pela interface serial USB.
Procedimentos:
- Carregar programa exemplo Arquivo/Exemplos/Communication/PhysicalPixel e acionar o led do pino 13 a partir de comandos H e L enviados pelo monitor serial.
- Comunicação entre dois Arduínos
Procedimentos:
- Conectar com um par de fios os dois Arduínos através das portas seriais de ambos os microcontroladores: TX->RX e RX<-TX;
- Carregar no receptor o programa exemplo Arquivo/Exemplos/Communication/PhysicalPixel;
- Carregar no emissor o código abaixo;
- Observar a comunicação serial a partir do led piscando no receptor e também monitorar a troca de mensagens a partir do monitor serial.
//emissor
int num = 0;
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.write('H');
delay(2000);
Serial.write('L');
delay(2000);
}
}
Configuração do SimulIDE para comunicação serial com Arduíno
É possível realizar comunicação serial entre um Arduíno rodando no SinulIDE e um Arduíno conectado a porta USB do computador.
- No Arduíno conectado a USB, verificar a partir da IDE a porta de comunicação que está sendo utilizada: ttyACM0 (p.ex.);
- No Arduíno no SimulIDE, clicar com o botão direito do mouse sobre a placa e selecionar Open Serial Port;
- No bloco Uart que vai abrir, clicar com o botão direito do mouse e selecionar properties;
- Escrever em port name o nome da porta serial;
- Clicar em Open para ativar a porta (deve indicar sucesso com o botão vermelho).
Comunicação com Módulo Bluetooth
O módulo Bluetooth permite interagir com o Arduíno, por exemplo, utilizando um aplicativo em um smartphone.
Dois módulos Bluetooth bastante utilizados são o HC05 e o HC06. O HC05 pode funcionar como mestre ou escravo. O HC06 somente como escravo. Isto significa que o HC05 pode iniciar conexões com outros dispositivos e o HC06 pode somente aceitar conexões de outros dispositivos [1].
Pinagem e conexão com o Arduíno
Estes módulos apresentam 6 pinos, mas com apenas 4 pinos é possível colocar o mesmo para funcionar e fazer o Arduíno interagir dispositivos Bluetooth (o HC06 tem conexões apenas com estes 4 pinos).
_________ | | | | | | |Bleutooth| | | | HC06 | | | | | |_________| | | | | Vcc ----+ | | +---- Txd Gnd ------+ +------ Rxd
- O pino EN, quando colocado em 0V desabilita o módulo;
- O pino Status pode ser lido e indica de esta desconectado (LOW) ou conectado (HIGH).
- Cuidados com a conexão do módulo Bluetooth HC06 com o Arduíno
- Os módulos HC05 e HC06 funcionam com alimentação (Vcc) de 3,3V, mas possuem regulador interno e podem ser alimentados com tensão de 5 V;
- A comunicação serial, entretanto, opera somente com 3,3V, Como o Arduíno opera com 5V, é necessário utilizar um divisor de tensão na entrada Rxd do módulo, conforme exemplo abaixo:
VRxd = R2/(R1 + R2).5
- Exemplo:
R1=470 Ω, R2=1 KΩ -> VRxd = 3,4 V
Laboratório: Comunicação serial entre Arduíno com módulo Bluetooth e Android
Permite acender e apagar led a partir de aplicativo Android pareado com módulo Bluetooth rodando em um Arduíno:
- Procedimentos
- Conectar hardware Bluetooth no Arduíno, utilizando divisor de tensão para adaptar as tensões de comunicação serial;
- Carregar programa exemplo Arquivo/Exemplos/Communication/PhysicalPixel;
- Instalar em um dispositivo Android o aplicativo Bluetooth Terminal;
- Abrir aplicativo Bluetooth Terminal e parear com módulo Bluetooth;
- Enviar a partir do Bluetooth Terminal os caracteres H e L para acender a apagar o led 13 do Arduíno.
Smartphone Android
Para enviar caracteres de um Smartphone Android para o módulo Bluetooth pode-se utilizar aplicativos como o Bluetooth Serial Port Terminal ou Bluetooth V2.1 SPP Terminal
Referências
Evandro.cantu (discussão) 16h25min de 20 de junho de 2023 (-03)