سلام به دوستان
ایا راهی هست خروجی سنسور dht22 از نوع float هست رو به char تغییر داد .
دو نوع کد دارم من که هرکدوم به روشی از سنسور مربوط خروجی میگیرند
کد اول :
و کد دوم
در کل کد ها زمین تا اسمون با هم فرق دارن
ایا راهی هست بشه خروجی ها به char تبدیل کرد ؟؟؟
ایا راهی هست خروجی سنسور dht22 از نوع float هست رو به char تغییر داد .
دو نوع کد دارم من که هرکدوم به روشی از سنسور مربوط خروجی میگیرند
کد اول :
char temperature[] = " 00.00";
char temperature_msb;
if(temperature_msb < 0){
temperature_msb = abs(temperature_msb);
temperature[0] = '-';
}
else
temperature[0] = ' ';
temperature_lsb >>= 6;
temperature[2] = temperature_msb % 10 + 48;
temperature[1] = temperature_msb / 10 + 48;
if(temperature_lsb == 0 || temperature_lsb == 2){
temperature[5] = '0';
if(temperature_lsb == 0) temperature[4] = '0';
else temperature[4] = '5';
}
if(temperature_lsb == 1 || temperature_lsb == 3){
temperature[5] = '5';
if(temperature_lsb == 1) temperature[4] = '2';
else temperature[4] = '7';
}
// Temperature (Celcius)
char temperature_msb;
if(temperature_msb < 0){
temperature_msb = abs(temperature_msb);
temperature[0] = '-';
}
else
temperature[0] = ' ';
temperature_lsb >>= 6;
temperature[2] = temperature_msb % 10 + 48;
temperature[1] = temperature_msb / 10 + 48;
if(temperature_lsb == 0 || temperature_lsb == 2){
temperature[5] = '0';
if(temperature_lsb == 0) temperature[4] = '0';
else temperature[4] = '5';
}
if(temperature_lsb == 1 || temperature_lsb == 3){
temperature[5] = '5';
if(temperature_lsb == 1) temperature[4] = '2';
else temperature[4] = '7';
}
// Temperature (Celcius)
و کد دوم
//include library
#include "DHT.h"
//Define the input pin (pin #2)
#define I_DHT22 19
//Define the sensor type (here DHT22)
#define DHTTYPE DHT22
//Object declaration
DHT dht(I_DHT22, DHTTYPE);
void setup() {
//Serial port communication
Serial.begin(9600);
Serial.println("DHT22 - Test");
//Initialization
dht.begin();
}
void loop() {
//2 seconds delay between measurements
delay(2000);
//Temperature (Celcius)
float temperature = dht.readTemperature();
if (isnan(temperature)) {
Serial.println("Failed to read temperature from DHT sensor.");
}
else {
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" *C\r\n");
}
//Humidity
float humidity = dht.readHumidity();
if (isnan(humidity)) {
Serial.println("Failed to read humidity from DHT sensor.");
}
else {
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print(" %\r\n");
}
//Heat index
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Unable to compute heat index (missing parameters).");
}
else {
float heatIndex = dht.computeHeatIndex(temperature, humidity, false);
if (isnan(heatIndex)) {
Serial.println("Failed to compute heat index.");
}
else {
Serial.print("Heat index: ");
Serial.print(heatIndex);
Serial.print(" *C\r\n");
}
}
}
#include "DHT.h"
//Define the input pin (pin #2)
#define I_DHT22 19
//Define the sensor type (here DHT22)
#define DHTTYPE DHT22
//Object declaration
DHT dht(I_DHT22, DHTTYPE);
void setup() {
//Serial port communication
Serial.begin(9600);
Serial.println("DHT22 - Test");
//Initialization
dht.begin();
}
void loop() {
//2 seconds delay between measurements
delay(2000);
//Temperature (Celcius)
float temperature = dht.readTemperature();
if (isnan(temperature)) {
Serial.println("Failed to read temperature from DHT sensor.");
}
else {
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" *C\r\n");
}
//Humidity
float humidity = dht.readHumidity();
if (isnan(humidity)) {
Serial.println("Failed to read humidity from DHT sensor.");
}
else {
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print(" %\r\n");
}
//Heat index
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Unable to compute heat index (missing parameters).");
}
else {
float heatIndex = dht.computeHeatIndex(temperature, humidity, false);
if (isnan(heatIndex)) {
Serial.println("Failed to compute heat index.");
}
else {
Serial.print("Heat index: ");
Serial.print(heatIndex);
Serial.print(" *C\r\n");
}
}
}
در کل کد ها زمین تا اسمون با هم فرق دارن
ایا راهی هست بشه خروجی ها به char تبدیل کرد ؟؟؟
دیدگاه