Comunicação Serial Avançada com Múltiplos Dispositivos
ste projeto demonstra a comunicação serial avançada entre um Arduino e vários
dispositivos escravos, utilizando endereçamento individual e protocolos de
comunicação mais complexos. O Arduino mestre envia comandos e recebe dados
de cada dispositivo escravo de forma organizada e eficiente.
Nível: Avançado
Código:
#include <Arduino.h>
#define MASTER_ADDRESS 0x01 // Endereço do Arduino mestre
#define SLAVE_ADDRESS_1 0x02 // Endereço do dispositivo escravo 1
#define SLAVE_ADDRESS_2 0x03 // Endereço do dispositivo escravo 2
int dataIn = 0; // Variável para armazenar dados recebidos
int dataOut = 0; // Variável para armazenar dados a serem enviados
void setup() {
Serial.begin(9600); // Iniciar comunicação serial
pinMode(2, OUTPUT); // Configurar pino LED como saída
void loop() {
// Enviar comando para ler sensor no dispositivo escravo 1
sendData(SLAVE_ADDRESS_1, 0x01); // Comando para ler sensor
delay(100); // Atraso para resposta do dispositivo
// Receber valor do sensor do dispositivo escravo 1
dataIn = readData(SLAVE_ADDRESS_1);
Serial.print("Valor do sensor 1: ");
Serial.println(dataIn);
// Enviar comando para ligar LED no dispositivo escravo 2
sendData(SLAVE_ADDRESS_2, 0x01); // Comando para ligar LED
// Enviar valor do sensor para o dispositivo escravo 2
sendData(SLAVE_ADDRESS_2, dataIn); // Enviar valor do sensor
// Piscar LED local por 1 segundo
digitalWrite(2, HIGH);
delay(