Для измерения температуры на ESP8266 можно использовать встроенный термодатчик. Вот пример кода на C++ для измерения температуры:
#include <ESP8266WiFi.h> #include <Wire.h> void setup() { Serial.begin(115200); delay(100); // Инициализация термодатчика Wire.begin(); } void loop() { // Чтение температуры с термодатчика int temp = readTemperature(); Serial.print("Температура: "); Serial.print(temp); Serial.println(" градусов Цельсия"); delay(1000); } int readTemperature() { Wire.beginTransmission(0x40); Wire.write(0xf3); // Команда для запроса температуры Wire.endTransmission(); delay(20); Wire.requestFrom(0x40, 2); int temp = Wire.read() << 8 | Wire.read(); return ((175.72 * temp) / 65536) - 46.85; // Расчет температуры }
Этот код использует функцию readTemperature(), которая считывает данные с термодатчика и возвращает температуру в градусах Цельсия.
Чтобы измерить напряжение, можно использовать аналоговые пины на ESP8266. Вот пример кода для чтения напряжения с аналогового пина:
int analogPin = A0; // Подключение сигнала к пину A0 void setup() { Serial.begin(115200); delay(100); } void loop() { int val = analogRead(analogPin); float voltage = val * (3.3 / 1023); Serial.print("Напряжение: "); Serial.print(voltage); Serial.println(" В"); delay(1000); }
Этот код использует функцию analogRead() для чтения значения с аналогового пина и преобразует его в напряжение с помощью умножения на 3,3 и деления на 1023 (максимальное значение аналогового сигнала).
Для измерения температуры на ESP8266 можно использовать встроенный термодатчик. Вот пример кода на C++ для измерения температуры:
#include <ESP8266WiFi.h>#include <Wire.h>
void setup() {
Serial.begin(115200);
delay(100);
// Инициализация термодатчика
Wire.begin();
}
void loop() {
// Чтение температуры с термодатчика
int temp = readTemperature();
Serial.print("Температура: ");
Serial.print(temp);
Serial.println(" градусов Цельсия");
delay(1000);
}
int readTemperature() {
Wire.beginTransmission(0x40);
Wire.write(0xf3); // Команда для запроса температуры
Wire.endTransmission();
delay(20);
Wire.requestFrom(0x40, 2);
int temp = Wire.read() << 8 | Wire.read();
return ((175.72 * temp) / 65536) - 46.85; // Расчет температуры
}
Этот код использует функцию readTemperature(), которая считывает данные с термодатчика и возвращает температуру в градусах Цельсия.
Чтобы измерить напряжение, можно использовать аналоговые пины на ESP8266. Вот пример кода для чтения напряжения с аналогового пина:
int analogPin = A0; // Подключение сигнала к пину A0void setup() {
Serial.begin(115200);
delay(100);
}
void loop() {
int val = analogRead(analogPin);
float voltage = val * (3.3 / 1023);
Serial.print("Напряжение: ");
Serial.print(voltage);
Serial.println(" В");
delay(1000);
}
Этот код использует функцию analogRead() для чтения значения с аналогового пина и преобразует его в напряжение с помощью умножения на 3,3 и деления на 1023 (максимальное значение аналогового сигнала).