Есть код.
#include <SPI.h>
#include <SD.h>
const int chipSelect = 4;
void setup() {
Serial.begin(9600);
if( !SD.begin( chipSelect )){
Serial.println("initialization failed!");
return;
}
// открываем файл для чтения
File cdFile = SD.open("config");
if (cdFile) {
char conf_file[40];
// считываем все байты из файла и выводим их в COM-порт
while (cdFile.available()) {
Serial.write(cdFile.read());
}
// закрываем файл
cdFile.close();
} else {
// выводим ошибку если не удалось открыть файл
Serial.println("error opening config");
}
}
void loop() {
}
Который выводит в монитор порта, все что в файле config.
sensor1=0x28, 0xD, 0xAE, 0x9, 0x0, 0x0, 0x0, 0x56;
sensor2=0x28, 0x6A, 0xA2, 0xAA, 0x6, 0x0, 0x0, 0xC1;
sensor3=0x28, 0xFF, 0x64, 0x6, 0xC8, 0x24, 0xBD, 0xC;
Подскажите, как одну строку или адрес датчика(что после равно) передать в переменную?
Это другой код. В котором адрес датчика защит в скетч, интерес разделить. Для последующей замены датчиков.
#include <OneWire.h>
#include <DallasTemperature.h>
OneWire oneWire(9); // вход датчиков 18b20
DallasTemperature ds(&oneWire);
DeviceAddress sensor1 = {0x28, 0xD, 0xAE, 0x9, 0x0, 0x0, 0x0, 0x56};
DeviceAddress sensor2 = {0x28, 0x6A, 0xA2, 0xAA, 0x6, 0x0, 0x0, 0xC1};
DeviceAddress sensor2 = {0x28, 0xFF, 0x64, 0x6, 0xC8, 0x24, 0xBD, 0xC};
void setup() {
Serial.begin(9600);
ds.begin();
}
void loop() {
ds.requestTemperatures(); // считываем температуру с датчиков
Serial.print("Sensor 1: ");
Serial.print(ds.getTempC(sensor1)); // отправляем температуру
Serial.println("C");
Serial.print("Sensor 2: ");
Serial.print(ds.getTempC(sensor2));
Serial.println("C");
Serial.print("Sensor 3: ");
Serial.print(ds.getTempC(sensor3));
Serial.println("C");
Serial.println();
delay(1000);
}