Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
A comunicação serial é um dos métodos mais utilizados para a troca de dados entre dispositivos eletrônicos. No contexto do Arduino, a comunicação serial é fundamental para depuração, controle de dispositivos externos e integração com outros sistemas, como computadores e módulos de comunicação sem fio. Este artigo abordará a importância da comunicação serial e como utilizá-la no ambiente Arduino, fornecendo exemplos práticos e detalhados.
Project: Neste projeto, vamos criar um sistema simples de comunicação serial entre um Arduino e um computador. O objetivo é enviar mensagens do computador para o Arduino e vice-versa, permitindo o controle de um LED através de comandos seriais. Este projeto demonstrará como configurar a comunicação serial, interpretar comandos recebidos e enviar respostas apropriadas.
Components List:
Examples:
Código para o Arduino:
// Definindo o pino do LED
const int ledPin = 13;
void setup() {
// Inicializa a comunicação serial a 9600 bps
Serial.begin(9600);
// Configura o pino do LED como saída
pinMode(ledPin, OUTPUT);
// Inicializa o LED desligado
digitalWrite(ledPin, LOW);
}
void loop() {
// Verifica se há dados disponíveis na porta serial
if (Serial.available() > 0) {
// Lê o byte recebido
char received = Serial.read();
// Verifica o comando recebido
if (received == '1') {
// Liga o LED
digitalWrite(ledPin, HIGH);
// Envia uma mensagem de confirmação
Serial.println("LED Ligado");
} else if (received == '0') {
// Desliga o LED
digitalWrite(ledPin, LOW);
// Envia uma mensagem de confirmação
Serial.println("LED Desligado");
} else {
// Envia uma mensagem de erro para comandos desconhecidos
Serial.println("Comando desconhecido");
}
}
}
Código para o computador (Python):
import serial
import time
# Configura a porta serial (substitua 'COM3' pela porta correta)
ser = serial.Serial('COM3', 9600)
time.sleep(2) # Aguarda a inicialização da comunicação serial
def enviar_comando(comando):
ser.write(comando.encode())
resposta = ser.readline().decode().strip()
print(f"Resposta do Arduino: {resposta}")
while True:
comando = input("Digite 1 para ligar o LED ou 0 para desligar: ")
if comando in ['0', '1']:
enviar_comando(comando)
else:
print("Comando inválido. Digite 1 ou 0.")
Neste exemplo, o Arduino espera comandos seriais para ligar ou desligar um LED. O código Python no computador envia esses comandos e exibe as respostas do Arduino. Este projeto pode ser expandido para incluir mais funcionalidades, como controle de múltiplos LEDs ou outros dispositivos.