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 é uma técnica fundamental em sistemas embarcados e eletrônica, permitindo a troca de dados entre dispositivos como microcontroladores, sensores, computadores e outros periféricos. No contexto do Arduino, a comunicação serial é frequentemente usada para depuração, controle de dispositivos externos e integração com outros sistemas. Este artigo explora a comunicação serial com Arduino, abordando sua importância, conceitos básicos e exemplos práticos para ajudar o leitor a dominar essa técnica essencial.
Projeto: Neste projeto, vamos criar um sistema de comunicação serial entre um Arduino e um computador. O objetivo é enviar dados do Arduino para o computador e vice-versa, permitindo o controle de um LED conectado ao Arduino através de comandos enviados pelo computador. Este projeto demonstrará como configurar a comunicação serial, enviar e receber dados, e interpretar comandos para controlar dispositivos.
Lista de componentes:
Exemplos:
Código no Arduino:
// Configuração inicial
void setup() {
// Inicializa a comunicação serial com baud rate de 9600
Serial.begin(9600);
// Define o pino digital 13 como saída (onde o LED está conectado)
pinMode(13, OUTPUT);
}
// Loop principal
void loop() {
// Verifica se há dados disponíveis para leitura na porta serial
if (Serial.available() > 0) {
// Lê o byte recebido
char receivedChar = Serial.read();
// Verifica o comando recebido e executa a ação correspondente
if (receivedChar == '1') {
digitalWrite(13, HIGH); // Liga o LED
Serial.println("LED Ligado");
} else if (receivedChar == '0') {
digitalWrite(13, LOW); // Desliga o LED
Serial.println("LED Desligado");
} else {
Serial.println("Comando inválido");
}
}
}
Explicação do código:
Código no computador (Python):
import serial
import time
# Configura a porta serial (ajuste o nome da porta conforme necessário)
ser = serial.Serial('COM3', 9600)
time.sleep(2) # Aguarda a inicialização da comunicação
# Envia comandos para o Arduino
while True:
command = input("Digite '1' para ligar o LED, '0' para desligar: ")
ser.write(command.encode()) # Envia o comando para o Arduino
time.sleep(1) # Aguarda um segundo para a resposta
response = ser.readline().decode('utf-8').strip() # Lê a resposta do Arduino
print("Resposta do Arduino: " + response)
Explicação do código: