Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Tecnologia industrial

Comunicação Serial no Arduino: Dominando UART, Básicos e Solução de Problemas

Arduino Serial: Comunicação Serial pelo Arduino

Contexto da Comunicação Serial

Quando microcontrolador ou microprocessador precisa se comunicar com o mundo externo, fornece dados em pacotes de 8 bits. Se um sistema precisa se comunicar com outro, seriam necessários 8 fios (comunicação paralela), o que nem sempre é prático: o sinal distorce em longas distâncias e é caro pelo alto custo do cabo de 8 fios. Surgiu a necessidade de novo protocolo: o protocolo serial, que usa apenas 3 fios para transmitir todos os dados de 8 linhas.

Protocolo Serial

No protocolo serial, dados de 8 bits são convertidos em fluxo serial de bits pelo registrador de deslocamento paralelo-entrada serial-saída (PISO). No lado receptor, convertido de volta para 8 bits paralelos pelo registrador serial-entrada paralelo-saída (SIPO).

A comunicação serial usa dois métodos: síncrono (transfere bloco de dados por vez) e assíncrono (transfere byte a byte). O modo assíncrono é o mais usado.

Três tipos de sistemas de comunicação serial:

  1. Simplex: Apenas transmite dados
  2. Half-duplex: Transmite ou recebe, mas não simultaneamente
  3. Full-duplex: Transmite e recebe simultaneamente

O protocolo serial é conhecido como RS232. Um byte de dados é colocado entre bits de start e stop — processo chamado enquadramento (framing). Este padrão foi definido para PC padrão anos antes da lógica TTL. Na lógica RS232, nível alto (1) é -1 a -25V, nível baixo (0) é +3 a +25V. Para compatibilidade com TTL, usa-se conversor de tensão; o CI mais usado é o MAX232. O Arduino tem capacidade integrada para compatibilizar TTL e porta serial padrão de PC.

Programando Arduino para Comunicação Serial

O Arduino tem biblioteca integrada para RS232, não precisamos escrever todo o protocolo nem nos preocupar com integridade dos dados — a biblioteca cuida disso.

Funções Principais:

Exemplo de Programação de Porta Serial no Arduino:

void setup() {
  Serial.begin(9600);
}

void loop() {
  if (Serial.available() > 0) {
    char recebido = Serial.read();
    Serial.print("Recebido: ");
    Serial.println(recebido);
  }
}

Execute este programa e modifique para seu entendimento e prática. Fique ligado para mais tutoriais!

Leitura Adicional:

Tecnologia industrial

  1. MQTT vs. DDS: Escolhendo o Protocolo M2M Certo para IoT
  2. Comunicação Industrial IoT: 6 Protocolos de Infraestrutura Comprovados
  3. Entendendo Fluxo de Dados: De Simplex a Comunicação Full-Duplex
  4. Comunicação Óptica de Dados: Aproveitando Luz para Transmissão de Alta Largura de Banda e Livre de Interferência
  5. Entendendo Protocolos de Rede: Da Camada Física à Arbitragem Avançada
  6. Microprocessadores: A Evolução da Computação com Programa Armazenado
  7. Integração I2C Arduino‑Raspberry Pi 2 Perfeita para Projetos IoT de Sensores
  8. Transferência de Dados Magnética Sem Fio com Arduino e Sensor 3D Infineon
  9. Facilitando Comunicação Surdo-Cego com 1Sheeld e Arduino
  10. Registrador de Temperatura e Umidade com Arduino, DHT11 e Ethernet Shield