演習
第一回
問題1-1
void setup() {
//LED_BUILTIN(ボード上に標準搭載されているLED=ビルトインされているLED) のデジタルピンを出力モードに設定
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
}
問題1-2
void setup() {
//シリアル通信のデータ転送レートをbps(baud)で指定します。
Serial.begin(115200);
}
void loop() {
//デフォルトで定義されている内蔵温度センサーの関数を使用してtempratureValue結果をtempratureValueに代入します。
int tempratureValue = temperatureRead();
Serial.println(tempratureValue); //tempratureValue の結果をコンソール画面に出力します。
}
問題1-3
#include <DHT.h> // DHT.h をインポート
#define DHTPIN 22 // DHT センサアウトプットピンの指定
#define DHTTYPE DHT11 // DHT型の指定
#define PERIOD 3 // delay の値を指定 (例:3 -> 3秒間間隔で温湿度の読み取りを実行)
DHT dht(DHTPIN, DHTTYPE); // DHTセンサーライブラリーを使うための設定(インスタンス生成)
/***************************************/
/*** ここから 環境によって書き換える ***/
/***************************************/
void setup() {
Serial.begin(115200); // シリアル通信の速度を指定
dht.begin(); // DHT11の初期化
}
void loop() {
float temperature = dht.readTemperature(); // 温度読み取り
float humidity = dht.readHumidity(); // 湿度読み取り
// 読み取りに失敗しているかチェック
// 失敗している場合はもう一度、温湿度の読み取りをする
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// 温湿度をシリアルモニターに表示
Serial.print("温度: ");
Serial.print(temperature);
Serial.print(" *C\t ");
Serial.print("湿度: ");
Serial.print(humidity);
Serial.println(" %");
// 不快指数を求める計算
float discomfortIndex = 0.81 * temperature + 0.01 * humidity * (0.99 * temperature - 14.3) + 46.3;
// 不快指数をシリアルモニターに表示
Serial.print("不快指数: ");
Serial.println(discomfortIndex);
// 3秒間待つ
delay(PERIOD * 1000);
}
問題1-4
#include <DHT.h> // DHT.h をインポート
#define DHTPIN 22 // DHT センサアウトプットピンの指定
#define DHTTYPE DHT11 // DHT型の指定
#define PERIOD 3 // delay の値を指定 (例:3 -> 3秒間間隔で温湿度の読み取りを実行)
DHT dht(DHTPIN, DHTTYPE); // DHTセンサーライブラリーを使うための設定(インスタンス生成)
void setup() {
Serial.begin(115200); // シリアル通信の速度を指定
dht.begin(); // DHT11の初期化
}
void loop() {
float temperature = dht.readTemperature(); // 温度読み取り
float humidity = dht.readHumidity(); // 湿度読み取り
// 読み取りに失敗しているかチェック
// 失敗している場合はもう一度、温湿度の読み取りをする
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// 温湿度をシリアルモニターに表示
Serial.print("温度: ");
Serial.print(temperature);
Serial.print(" *C\t ");
Serial.print("湿度: ");
Serial.print(humidity);
Serial.println(" %");
// 不快指数を求める計算
float discomfortIndex = 0.81 * temperature + 0.01 * humidity * (0.99 * temperature - 14.3) + 46.3;
// 不快指数をシリアルモニターに表示
Serial.print("不快指数: ");
Serial.println(discomfortIndex);
Serial.print("体感: ");
Serial.println(calculateTemperature(discomfortIndex));
// 1行空けて次のデータを表示
Serial.println();
// 3秒間待つ
delay(PERIOD * 1000);
}
String calculateTemperature(float discomfortIndex){
if (discomfortIndex < 55){
return "寒い";
}else if (discomfortIndex >= 55 && discomfortIndex < 60) {
return "肌寒い";
}else if (discomfortIndex >= 60 && discomfortIndex < 65) {
return "何も感じない";
}else if (discomfortIndex >= 65 && discomfortIndex < 70) {
return "快い";
}else if (discomfortIndex >= 70 && discomfortIndex < 75) {
return "暑くない";
}else if (discomfortIndex >= 75 && discomfortIndex < 80) {
return "やや暑い";
}else if (discomfortIndex >= 80 && discomfortIndex < 85) {
return "暑くて汗が出る";
}else{
return "暑くてたまらない";
}
}
問題1-5
void setup() {
//LED_BUILTIN(ボード上に標準搭載されているLED=ビルトインされているLED) のデジタルピンを出力モードに設定
pinMode(LED_BUILTIN, OUTPUT);
//シリアル通信のデータ転送レートをbps(baud)で指定します。
Serial.begin(115200);
}
void loop() {
// put your main code here, to run repeatedly:
// T0(GPIO04,p4)のタッチセンサー
int touchValue = touchRead(T0);
Serial.println(touchValue);
// touchValue が10以下の場合()
if(touchValue < 10){
// LEDを点灯させます
digitalWrite(LED_BUILTIN, HIGH);
} else {
// LEDを消灯させます。
digitalWrite(LED_BUILTIN, LOW);
}
// 0.5秒間待ちます。
delay(500);
}
問題1-6
void setup() {
//LED_BUILTIN(ボード上に標準搭載されているLED=ビルトインされているLED) のデジタルピンを出力モードに設定
pinMode(LED_BUILTIN, OUTPUT);
//シリアル通信のデータ転送レートをbps(baud)で指定します。
Serial.begin(115200);
}
void loop() {
//ESP32では、hallRead()の関数がデフォルトで定義されています。hallValue というint型を持っている変数名に、hallRead関数 hallRead() を使用して結果を hallValue に代入します。
int hallValue = hallRead();
Serial.println(hallValue);
// hallValue が10以下の場合(N極)
// hallValue が23以上の場合(S極)
if(hallValue < 10 || hallValue > 25){
// LEDを点灯させます
digitalWrite(LED_BUILTIN, HIGH);
} else {
// LEDを消灯させます。
digitalWrite(LED_BUILTIN, LOW);
}
// 0.5秒間待ちます。
delay(500);
}
第二回
問題2-1
#include <Ambient.h> // Ambient.h をインクルード
#include <DHT.h> // DHT.h をインポート
#include <WiFi.h> // WiFi.h をインクルード
#define DHTPIN 22 // DHT センサアウトプットピンの指定
#define DHTTYPE DHT11 // DHT型の指定
#define PERIOD 30 // delay の値を指定 (例:3 -> 3秒間間隔で温湿度の読み取りを実行)
DHT dht(DHTPIN, DHTTYPE); // DHTセンサーライブラリーを使うための設定(インスタンス生成)
WiFiClient client; // WiFiClientを使うための設定(インスタンス生成)
Ambient ambient; // Ambientを使うための設定(インスタンス生成)
/***************************************/
/*** ここから 環境によって書き換える ***/
/***************************************/
//WiFi接続情報
const char* ssid = "<YOUR_SSID>";
const char* password = "<YOUR_PASSWORD>";
//Ambient接続情報
unsigned int channelId = <YOUR_CHANNEL_ID>;
const char* writeKey = "<YOUR_WRITEKEY>";
void setup() {
Serial.begin(115200); // シリアル通信の速度を指定
// Wi-Fiの初期化
WiFi.begin(ssid, password);
Serial.print("WiFi connecting");
// Wi-Fiアクセスポイントへの接続待ち
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println(" connected"); // Wi-Fi に接続したらコンソール画面に connected を表示
// チャネルIDとライトキーを指定してAmbientの初期化
ambient.begin(channelId, writeKey, &client);
dht.begin(); // DHT11の初期化
}
void loop() {
float temperature = dht.readTemperature(); // 温度読み取り
float humidity = dht.readHumidity(); // 湿度読み取り
// 読み取りに失敗しているかチェック
// 失敗している場合はもう一度、温湿度の読み取りをする
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// 温湿度をシリアルモニターに表示
Serial.print("温度: ");
Serial.print(temperature);
Serial.print(" *C\t ");
Serial.print("湿度: ");
Serial.print(humidity);
Serial.println(" %");
// 不快指数を求める計算
float discomfortIndex = 0.81 * temperature + 0.01 * humidity * (0.99 * temperature - 14.3) + 46.3;
// 不快指数をシリアルモニターに表示
Serial.print("不快指数: ");
Serial.println(discomfortIndex);
// データーがint型かfloat型であれば、直接セットすることができます。
// 1番目のデーターとして温度をセット。
ambient.set(1, temperature);
//2番目のデーターとして湿度をセット
ambient.set(2, humidity);
// データーがint型かfloat型であれば、直接セットすることができます。
// 1番目のデーターとして温度をセット。
ambient.set(3, discomfortIndex);
// Ambientにデーターを送信
ambient.send();
// 3秒間待つ
delay(PERIOD * 1000);
}
問題2-2
#include <Ambient.h> // Ambient.h をインクルード
#include <DHT.h> // DHT.h をインポート
#include <WiFi.h> // WiFi.h をインクルード
#define DHTPIN 22 // DHT センサアウトプットピンの指定
#define DHTTYPE DHT11 // DHT型の指定
#define PERIOD 30 // delay の値を指定 (例:3 -> 3秒間間隔で温湿度の読み取りを実行)
DHT dht(DHTPIN, DHTTYPE); // DHTセンサーライブラリーを使うための設定(インスタンス生成)
WiFiClient client; // WiFiClientを使うための設定(インスタンス生成)
Ambient ambient; // Ambientを使うための設定(インスタンス生成)
/***************************************/
/*** ここから 環境によって書き換える ***/
/***************************************/
//WiFi接続情報
const char* ssid = "<YOUR_SSID>";
const char* password = "<YOUR_PASSWORD>";
//Ambient接続情報
unsigned int channelId = <YOUR_CHANNEL_ID>;
const char* writeKey = "<YOUR_WRITEKEY>";
void setup() {
Serial.begin(115200); // シリアル通信の速度を指定
// Wi-Fiの初期化
WiFi.begin(ssid, password);
Serial.print("WiFi connecting");
// Wi-Fiアクセスポイントへの接続待ち
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println(" connected"); // Wi-Fi に接続したらコンソール画面に connected を表示
// チャネルIDとライトキーを指定してAmbientの初期化
ambient.begin(channelId, writeKey, &client);
dht.begin(); // DHT11の初期化
}
void loop() {
float temperature = dht.readTemperature(); // 温度読み取り
float humidity = dht.readHumidity(); // 湿度読み取り
// 読み取りに失敗しているかチェック
// 失敗している場合はもう一度、温湿度の読み取りをする
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// 温湿度をシリアルモニターに表示
Serial.print("温度: ");
Serial.print(temperature);
Serial.print(" *C\t ");
Serial.print("湿度: ");
Serial.print(humidity);
Serial.println(" %");
// 不快指数を求める計算
float discomfortIndex = 0.81 * temperature + 0.01 * humidity * (0.99 * temperature - 14.3) + 46.3;
// 不快指数をシリアルモニターに表示
Serial.print("不快指数: ");
Serial.println(discomfortIndex);
Serial.print("体感: ");
Serial.println(calculateTemperature(discomfortIndex));
// 1行空けて次のデータを表示
Serial.println();
// データーがint型かfloat型であれば、直接セットすることができます。
// 1番目のデーターとして温度をセット。
ambient.set(1, temperature);
//2番目のデーターとして湿度をセット
ambient.set(2, humidity);
// データーがint型かfloat型であれば、直接セットすることができます。
// 1番目のデーターとして温度をセット。
ambient.set(3, discomfortIndex);
// Ambientにデーターを送信
ambient.send();
// 30秒間待つ
delay(PERIOD * 1000);
}
String calculateTemperature(float discomfortIndex){
if (discomfortIndex < 55){
return "寒い";
}else if (discomfortIndex >= 55 && discomfortIndex < 60) {
return "肌寒い";
}else if (discomfortIndex >= 60 && discomfortIndex < 65) {
return "何も感じない";
}else if (discomfortIndex >= 65 && discomfortIndex < 70) {
return "快い";
}else if (discomfortIndex >= 70 && discomfortIndex < 75) {
return "暑くない";
}else if (discomfortIndex >= 75 && discomfortIndex < 80) {
return "やや暑い";
}else if (discomfortIndex >= 80 && discomfortIndex < 85) {
return "暑くて汗が出る";
}else{
return "暑くてたまらない";
}
}
問題2-3
#include <Ambient.h> // Ambient.h をインクルード
#include <DHT.h> // DHT.h をインクルード
#include <WiFi.h> // WiFi.h をインクルード
#define DHTPIN 22 // DHT センサアウトプットピンの指定
#define DHTTYPE DHT11 // DHT型の指定
#define PERIOD 30 // delay の値を指定 (例:30 -> 30秒間間隔でデーターをAmbientに送信)
DHT dht(DHTPIN, DHTTYPE); // DHTセンサーライブラリーを使うための設定(インスタンス生成)
WiFiClient client; // WiFiClientを使うための設定(インスタンス生成)
Ambient ambient; // Ambientを使うための設定(インスタンス生成)
/***************************************/
/*** ここから 環境によって書き換える ***/
/***************************************/
//WiFi接続情報
const char* ssid = "<YOUR_SSID>";
const char* password = "<YOUR_PASSWORD>";
//Ambient接続情報
unsigned int channelId = <YOUR_CHANNEL_ID>;
const char* writeKey = "<YOUR_WRITEKEY>";
void setup() {
Serial.begin(115200); // シリアル通信の速度を指定
// Wi-Fiの初期化
WiFi.begin(ssid, password);
Serial.print("WiFi connecting");
// Wi-Fiアクセスポイントへの接続待ち
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println(" connected"); // Wi-Fi に接続したらコンソール画面に connected を表示
// チャネルIDとライトキーを指定してAmbientの初期化
ambient.begin(channelId, writeKey, &client);
//LED_BUILTIN(ボード上に標準搭載されているLED) のデジタルピンを出力モードに設定
pinMode(LED_BUILTIN, OUTPUT);
dht.begin(); // DHT11の初期化
}
void loop() {
float outsideTemperatureValue = dht.readTemperature(); // 温度読み取り
float humidityValue = dht.readHumidity(); // 湿度読み取り
// 読み取りに失敗しているかチェック
// 失敗している場合はもう一度、温湿度の読み取りをする
if (isnan(outsideTemperatureValue) || isnan(humidityValue)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
//デフォルトで定義されている内蔵温度センサーの関数を使用してtempratureValue結果をinternalTemperatureValueに代入します。
int internalTemperatureValue = temperatureRead();
//ESP32にはhallRead()関数がデフォルトで定義されています。hallValue というint型の変数に、hallRead()関数を使用して結果を hallValue に代入します。
int hallValue = hallRead();
// outsideTemperatureValue の結果をコンソール画面に出力します。
Serial.print("outsideTemperatureValue: ");
Serial.print(outsideTemperatureValue);
// humidityValue の値をコンソール画面に出力します。
Serial.print(", humidityValue: ");
Serial.print(humidityValue);
// tempratureValue の結果をコンソール画面に出力します。
Serial.print(" internalTemperatureValue: ");
Serial.print(internalTemperatureValue);
// T0(GPIO04,p4)のtouch sensor の値をコンソール画面に出力します。
Serial.print(", touchValue: ");
Serial.print(touchRead(T0));
// hallValue の結果をコンソール画面に出力します。
Serial.print(", hallValue: " );
Serial.println(hallValue);
// データーがint型かfloat型であれば、直接セットすることができます。
// 1番目のデーターとして温度をセット。
ambient.set(1, outsideTemperatureValue);
//2番目のデーターとして湿度をセット
ambient.set(2, humidityValue);
// データーがint型かfloat型であれば、直接セットすることができます。
// 1番目のデーターとして温度をセット。
ambient.set(3, internalTemperatureValue);
//2番目のデーターとしてタッチセンサの値をセット
ambient.set(4, touchRead(T0));
//3番目のデーターとしてhallValueをセット
ambient.set(5, hallValue);
// Ambientにデーターを送信
ambient.send();
// 30秒間待つ
delay(PERIOD * 1000);
}
問題2-4
#include <Ambient.h> // Ambient.h をインクルード
#include <DHT.h> // DHT.h をインクルード
#include <WiFi.h> // WiFi.h をインクルード
#define DHTPIN 22 // DHT センサアウトプットピンの指定
#define DHTTYPE DHT11 // DHT型の指定
#define DHTTYPE DHT11 // DHT型の指定
#define PERIOD 30 // delay の値を指定 (例:30 -> 30秒間間隔でデーターをAmbientに送信)
DHT dht(DHTPIN, DHTTYPE); // DHTセンサーライブラリーを使うための設定(インスタンス生成)
WiFiClient client; // WiFiClientを使うための設定(インスタンス生成)
Ambient ambient; // Ambientを使うための設定(インスタンス生成)
/***************************************/
/*** ここから 環境によって書き換える ***/
/***************************************/
//WiFi接続情報
const char* ssid = "<YOUR_SSID>";
const char* password = "<YOUR_PASSWORD>";
//Ambient接続情報
unsigned int channelId = <YOUR_CHANNEL_ID>;
const char* writeKey = "<YOUR_WRITEKEY>";
void setup() {
Serial.begin(115200); // シリアル通信の速度を指定
// Wi-Fiの初期化
WiFi.begin(ssid, password);
Serial.print("WiFi connecting");
// Wi-Fiアクセスポイントへの接続待ち
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println(" connected"); // Wi-Fi に接続したらコンソール画面に connected を表示
// チャネルIDとライトキーを指定してAmbientの初期化
ambient.begin(channelId, writeKey, &client);
dht.begin(); // DHT11の初期化
}
void loop() {
float temperature = dht.readTemperature(); // 温度読み取り
float humidity = dht.readHumidity(); // 湿度読み取り
// 読み取りに失敗しているかチェック
// 失敗している場合はもう一度、温湿度の読み取りをする
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// シリアルモニターに表示
Serial.print("温度: ");
Serial.print(temperature);
Serial.print(" *C\t ");
Serial.print("湿度: ");
Serial.print(humidity);
Serial.println(" %");
// データーがint型かfloat型であれば、直接セットすることができます。
// 1番目のデーターとして温度をセット。
ambient.set(1, temperature);
//2番目のデーターとして湿度をセット
ambient.set(2, humidity);
if(temperature >= 30){
// Ambientにデーターを送信
ambient.send();
Serial.println("Ambient にデータを送信しました。");
}
// 30秒間待つ
delay(PERIOD * 1000);
}
問題2-5
#include <Ambient.h> // Ambient.h をインクルード
#include <DHT.h> // DHT.h をインクルード
#include <WiFi.h> // WiFi.h をインクルード
#define DHTPIN 22 // DHT センサアウトプットピンの指定
#define DHTTYPE DHT11 // DHT型の指定
#define PERIOD 30 // delay の値を指定 (例:30 -> 30秒間間隔でデーターをAmbientに送信)
DHT dht(DHTPIN, DHTTYPE); // DHTセンサーライブラリーを使うための設定(インスタンス生成)
WiFiClient client; // WiFiClientを使うための設定(インスタンス生成)
Ambient ambient; // Ambientを使うための設定(インスタンス生成)
/***************************************/
/*** ここから 環境によって書き換える ***/
/***************************************/
//WiFi接続情報
const char* ssid = "<YOUR_SSID>";
const char* password = "<YOUR_PASSWORD>";
//Ambient接続情報
unsigned int channelId = <YOUR_CHANNEL_ID>;
const char* writeKey = "<YOUR_WRITEKEY>";
void setup() {
//LED_BUILTIN(ボード上に標準搭載されているLED=ビルトインされているLED) のデジタルピンを出力モードに設定
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(115200); // シリアル通信の速度を指定
// Wi-Fiの初期化
WiFi.begin(ssid, password);
Serial.print("WiFi connecting");
// Wi-Fiアクセスポイントへの接続待ち
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println(" connected"); // Wi-Fi に接続したらコンソール画面に connected を表示
// チャネルIDとライトキーを指定してAmbientの初期化
ambient.begin(channelId, writeKey, &client);
dht.begin(); // DHT11の初期化
}
void loop() {
float temperature = dht.readTemperature(); // 温度読み取り
float humidity = dht.readHumidity(); // 湿度読み取り
// 読み取りに失敗しているかチェック
// 失敗している場合はもう一度、温湿度の読み取りをする
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// シリアルモニターに表示
Serial.print("温度: ");
Serial.print(temperature);
Serial.print(" *C\t ");
Serial.print("湿度: ");
Serial.print(humidity);
Serial.println(" %");
// データーがint型かfloat型であれば、直接セットすることができます。
// 1番目のデーターとして温度をセット。
ambient.set(1, temperature);
//2番目のデーターとして湿度をセット
ambient.set(2, humidity);
// LEDを点灯させます
digitalWrite(LED_BUILTIN, HIGH);
// Ambientにデーターを送信
ambient.send();
Serial.println("Ambient にデータを送信しました。");
// LEDを消灯させます。
digitalWrite(LED_BUILTIN, LOW);
// 30秒間待つ
delay(PERIOD * 1000);
}
問題3-1
#define BLYNK_PRINT Serial // Blynkライブラリーのデバッグ情報出力先を指定
#define BLYNK_DEBUG // Blynkデバッグ情報を出力
#include <BlynkSimpleEsp32.h> // BlynkSimpleEsp32.h をインクルード
#include <DHT.h> // DHT.h をインクルード
#define BLYNK_PRINT Serial // Blynkライブラリーのデバッグ情報出力先を指定
#define DHTPIN 22 // DHTセンサーアウトプットピンの指定
#define DHTTYPE DHT11 // DHT型の指定
DHT dht(DHTPIN, DHTTYPE); // DHTセンサーライブラリーを使うための設定
/***************************************/
/*** ここから 環境によって書き換える ***/
/***************************************/
//WiFi接続情報
const char* ssid = "<YOUR_SSID>";
const char* password = "<YOUR_PASSWORD>";
//Blynk接続情報
const char* auth = "<YOUR_AUTH>";
void setup() {
Serial.begin(115200); //シリアル通信の速度を指定
dht.begin(); // DHT11の初期化
// auth, ssid, pass を指定してBlynkの初期化
Blynk.begin(auth, ssid, password);
}
void loop() {
Blynk.run(); // Blynkの起動
float temperature = dht.readTemperature(); // 温度読み取り
float humidity = dht.readHumidity(); // 湿度読み取り
// 読み取りに失敗しているかチェック
// 失敗している場合はもう一度、温湿度の読み取りをする
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// 温湿度をシリアルモニターに表示
Serial.print("温度: ");
Serial.print(temperature);
Serial.print(" *C\t ");
Serial.print("湿度: ");
Serial.print(humidity);
Serial.println(" %");
// 不快指数を求める計算
float discomfortIndex = 0.81 * temperature + 0.01 * humidity * (0.99 * temperature - 14.3) + 46.3;
// 不快指数をシリアルモニターに表示
Serial.print("不快指数: ");
Serial.println(discomfortIndex);
Serial.print("体感: ");
Serial.println(calculateTemperature(discomfortIndex));
// V0 ピンに対して温度の値を送信
Blynk.virtualWrite(V0, temperature);
// V1 ピンに対して湿度の値を送信
Blynk.virtualWrite(V1, humidity);
// V2 ピンに対して不快指数の値を送信
Blynk.virtualWrite(V2, discomfortIndex);
// V3 ピンに対して体感を送信
Blynk.virtualWrite(V3, calculateTemperature(discomfortIndex));
// 1行空けて次のデータを表示
Serial.println();
delay(2000);// 2秒間待つ
}
String calculateTemperature(float discomfortIndex){
if (discomfortIndex < 55){
return "寒い";
}else if (discomfortIndex >= 55 && discomfortIndex < 60) {
return "肌寒い";
}else if (discomfortIndex >= 60 && discomfortIndex < 65) {
return "何も感じない";
}else if (discomfortIndex >= 65 && discomfortIndex < 70) {
return "快い";
}else if (discomfortIndex >= 70 && discomfortIndex < 75) {
return "暑くない";
}else if (discomfortIndex >= 75 && discomfortIndex < 80) {
return "やや暑い";
}else if (discomfortIndex >= 80 && discomfortIndex < 85) {
return "暑くて汗が出る";
}else{
return "暑くてたまらない";
}
}
- サンプル イメージ
- 以下のように、 不快指数 と 体感 が表示されるのを確認します。