Arduino: Ethernet: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Linha 147: Linha 147:
*Enviar a partir do '''Bluetooth Terminal''' os caracteres '''H''' e '''L'''para acender a apagar o led 13 do Arduíno.
*Enviar a partir do '''Bluetooth Terminal''' os caracteres '''H''' e '''L'''para acender a apagar o led 13 do Arduíno.


===Exemplos de programas de aplicação===
===Laboratório 7: Comunicação serial entre Arduíno com módulo Bluetooth e Android===
Fonte: http://www.instructables.com/id/Add-bluetooth-to-your-Arduino-project-ArduinoHC-06


;Echo Code: Permite enviar uma string ao '''Arduíno''' via Bluetooth e receber de volta a mesma      string no '''monitor serial'''.
Permite enviar uma string ao '''Arduíno''' via Bluetooth e receber de volta a mesma      string no '''monitor serial''' <ref>http://www.instructables.com/id/Add-bluetooth-to-your-Arduino-project-ArduinoHC-06</ref>.


;Procedimentos:
*Carregarno Arduíno o programa exemplo:
<syntaxhighlight lang="c">
<syntaxhighlight lang="c">
  String message; //string that stores the incoming message
  String message; //string that stores the incoming message
Linha 175: Linha 176:
  }
  }
</syntaxhighlight>
</syntaxhighlight>
*Enviar strings pelo '''Bluetooth Terminal''' no Android e visualizar o retorno do dado no monitor do terminal.


===''Smartphone'' Android===
===''Smartphone'' Android===
Para enviar caracteres de um '''''Smartphone'' Android''' para o módulo '''Bluetooth''' pode-se utilizar aplicativos como o [https://play.google.com/store/apps/details?id=com.ucconnect.ucbtadapter_hex&hl=pt-BR Bluetooth Serial Port Terminal] ou [https://play.google.com/store/apps/details?id=project.bluetoothterminal&hl=pt-BR Bluetooth V2.1 SPP Terminal]
Para enviar caracteres de um '''''Smartphone'' Android''' para o módulo '''Bluetooth''' pode-se utilizar aplicativos como o [https://play.google.com/store/apps/details?id=com.ucconnect.ucbtadapter_hex&hl=pt-BR Bluetooth Serial Port Terminal] ou [https://play.google.com/store/apps/details?id=project.bluetoothterminal&hl=pt-BR Bluetooth V2.1 SPP Terminal]
;Arduíno Leonardo: O '''Arduíno Leonardo''' usa a '''Serial''' exclusivamente para comunicação com a '''porta USB'''. Para comunicação serial TTL (5V) nos pinos 0 (RX) and 1 (TX) deve-se utilizar a '''Serial1'''.


==Referências==
==Referências==

Edição das 16h53min de 30 de outubro de 2021

Arduíno: Comunicação e Rede

Comunicação Serial

Conceitos sobre comunicação serial e paralela

Comunicação serial e paralela

Comunicação Serial no Arduíno

Veja referência sobre 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.
Comunicação entre dois Arduínos
  • 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:
 //emissor  
 int num = 0;
 void setup(){
  Serial.begin(9600);
 }
 void loop(){
  Serial.write('H');
  delay(2000);
  Serial.write('L');
  delay(2000);
 }
 }
  • 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.

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 usando módulo Ethernet

O módulo Ethernet (Ethernet Shield), juntamente com a biblioteca Ethernet [1], permite que um Arduíno se conecte a Internet. Esta biblioteca provê funcionalidades tanto para cliente quanto par servidor, além de permitir a conexão com a rede local tanto usando IP fixo, DHCP e também usando DNS.

O Ethernet Shield 2 permite conectar o Arduíno a rede local e a Internet com conector RJ45 e velocidade de 10/100 Mbps. A conexão do shield com o Arduíno é realizada pelo barramento SPI (Serial Peripheral Interface), que faz uso dos pinos 10, 11, 12 e 13 do Arduíno para comunicação e necessita da biblioteca SPI.h. O SPI é uma interface de comunicação serial síncrona usada para comunicação em distâncias curtas. O Ethernet Shield possui ainda um slot para cartão SD e usa o pino 4 para controlar o pino de seleção do cartão SD.

Para uso do módulo Ethernet há uma serie de exemplos prontos (Examples from Libraries).

Labortório 2: Web Server

Este laboratório mostra como utilizar um Ethernet Shield juntamente com o Arduíno para criar um Web Server que forneça informações sobre sensores conectados a entradas analógicas [2].

Procedimentos
  • Conectar o Shield Ethernet a placa Arduíno e a rede local (usando cabos de rede CAT 5/6 e conector RJ45);
  • Carregar o programa exemplo:Arquivo/Exemplos/Ethernet/Web Server;
  • Conectar alguns sensores as entradas analógicas do Arduíno para monitorar via Web (Pode Modificar o programa exemplo em função dos sensores que utilizar);
  • Testar o acesso ao servidor Web a partir de um navegador.

Labortório 3: Consulta a Servidor de Data/Hora

Este laboratório mostra como utilizar um Ethernet Shield para o Arduíno obter. por meio de uma requisição UDP, a dada e hora de um servidor da Internet por meio do protocolo NTP (Network Time Protocol). [3].

Procedimentos
  • Conectar o Shield Ethernet a placa Arduíno e a rede local (usando cabos de rede CAT 5/6 e conector RJ45);
  • Carregar o programa exemplo:[hhttps://www.arduino.cc/en/Tutorial/LibraryExamples/UdpNtpClient Arquivo/Exemplos/Ethernet/UdpNtpClient];
  • Testar o programa e acompanhar pelo monitor serial a data e hora obtida.
  • Pesquisar e testar consulta a servidores NTP no Brasil.

Cartão SD do módulo Ethernet

O Ethernet Shield 2 possui um slot para cartão SD que pode ser utilizado para gravação e leitura de dados com ajuda da biblioteca SD. A biblioteca usa nomes curtos 8.3 para arquivos (8 caracteres para o nome do arquivo e 3 para extensão) e o diretório de trabalho é sempre a raiz do cartão SD.

A comunicação entre o microcontrolador e o cartão SD usa o barramento SPI, que faz uso dos pinos 10, 11, 12 e 13 do Arduíno. O pino 4 é usado também para controlar a seleção do cartão SD.

Labortório 4: Escrita e litura no cartão SD

Este laboratório mostra como utilizar o cartão SD para escrita e leitura de dados em um arquivo.

Procedimentos
  • Conectar o Shield Ethernet a placa Arduíno e inserir um cartão SD no módulo;
  • Carregar o programa exemplo:Arquivo/Exemplos/SD/ReadWrite;
  • Testar o programa e acompanhar pelo monitor serial o processo de escrita e leitura.

Labortório 5: Armazenamento de dados de sensores em cartão SD

Este laboratório mostra como utilizar o cartão SD para armazenamento de dados de sensores em um arquivo.

Procedimentos
  • Conectar o Shield Ethernet a placa Arduíno e inserir um cartão SD no módulo;
  • Conectar ao Arduíno três sensores para leitura pelas entradas analógicas;
  • Carregar o programa exemplo:Arquivo/Exemplos/SD/Datalogger;
  • Adaptar o programa exemplo para os sensores conectados.

Comunicação com Módulo Bluetooth

O módulo Bluetooth permite interagir com o Arduíno, por exemplo, utilizando um aplicativo em um smartphone.

Um módulo Bluetooth bastante utilizado é o HC06:

Pinagem e conexão com o Arduíno

Este módulo apresenta 6 pinos, mas com apenas 4 pinos é possível colocar o mesmo para funcionar e fazer o Arduíno interagir dispositivos Bluetooth.

            _________
           |         |
           |         |
           |         |
           |Bleutooth|
           |         |
           |   HC06  |
           |         |
           |         |
           |_________|
             | | | |
     Vcc ----+ | | +---- Txd
     Gnd ------+ +------ Rxd

Cuidados com a conexão do módulo Bluetooth HC06 com o Arduíno:

  • O HC06 funciona com alimentação Vcc=3,3V, a qual também é fornecida pelo Arduino ao lado da alimentação de 5V;
  • Na comunicação serial, como o Arduíno fornece 5V, é necessário utilizar um divisor de tensão na entrada Rxd do HC06, conforme exemplo abaixo:

VRxd = R2/(R1 + R2).5
Exemplo:
R1=470 Ω, R2=1 KΩ -> VRxd = 3,4 V

Laboratório 6: 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
  • 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 Lpara acender a apagar o led 13 do Arduíno.

Laboratório 7: Comunicação serial entre Arduíno com módulo Bluetooth e Android

Permite enviar uma string ao Arduíno via Bluetooth e receber de volta a mesma string no monitor serial [4].

Procedimentos
  • Carregarno Arduíno o programa exemplo:
 String message; //string that stores the incoming message
 void setup()
 {
   Serial.begin(9600); //set baud rate
 }
 void loop()
 {
   while(Serial.available())
   {//while there is data available on the serial monitor
     message+=char(Serial.read());//store string from serial command
   }
   if(!Serial.available())
   {
     if(message!="")
     {//if data is available
       Serial.println(message); //show the data
       message=""; //clear the data
     }
   }
   delay(1000); //delay
 }
  • Enviar strings pelo Bluetooth Terminal no Android e visualizar o retorno do dado no monitor do terminal.

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) 19h13min de 29 de outubro de 2021 (-03)