#include <Arduino.h>
#include <SPI.h>
#include <SD.h>
// Pinos da chave seletora e LEDs
#define PINO_CHAVE 4
#define PINO_LED_R 25
#define PINO_LED_B 27
// Pino CS do SD
#define PINO_CS 5
// Flag para saber se o SD foi inicializado
bool sdConectado = false;
void setup() {
Serial.begin(115200);
pinMode(PINO_CHAVE, INPUT_PULLUP);
pinMode(PINO_LED_R, OUTPUT);
pinMode(PINO_LED_B, OUTPUT);
if (!SD.begin(PINO_CS)) {
Serial.println("Cartão SD não detectado.");
sdConectado = false;
} else {
Serial.println("Cartão SD conectado com sucesso.");
sdConectado = true;
}
}
void loop() {
int estadoChave = digitalRead(PINO_CHAVE);
if (estadoChave == LOW) {
// Modo Serial
digitalWrite(PINO_LED_R, HIGH);
digitalWrite(PINO_LED_B, LOW);
Serial.println("Modo Serial ativo");
} else {
// Modo Bluetooth
digitalWrite(PINO_LED_R, LOW);
digitalWrite(PINO_LED_B, HIGH);
Serial.println("Modo Bluetooth ativo");
}
// Teste de gravação no SD
if (sdConectado) {
File arquivo = SD.open("/dados.txt", FILE_APPEND);
if (arquivo) {
arquivo.println("Registro de funcionamento");
arquivo.close();
Serial.println("Dados gravados no SD.");
} else {
Serial.println("Erro ao abrir arquivo no SD.");
}
} else {
Serial.println("Nenhum cartão SD conectado, dados não foram gravados.");
}}