x MCP9701-E/TO 販売コード 103199
Temperature MCP9701 の関数化(改)(浮動小数点)(Arduino UNO)(リッチプログラミング)
Arduino 電子工作 ArduinoUno 温度センサー MCP9701
目的
温度センサーMCP9701のテスト
隠匿(20240224)
いろいろ
ほかのを見ていると「カプセル化と隠匿」しているので
まねてみた。
たぶん、UNO R3だと成り立つ
AIと小学生用
他は、専用ハードが固定ポートについているのでたぶん、問題が出ない。
ex
a=Temperature_MCP9701_A0();
b=Temperature_MCP9701_A1();
c=Temperature_MCP9701_A2();
d=Temperature_MCP9701_A3();
e=Temperature_MCP9701_A4();
f=Temperature_MCP9701_A5();
結果
プログラム
//SER_Temperature_MCP9701_UNO_2
//インクルド
#include <Arduino.h>
#include "Temperature_MCP9701.h"
//初期化処理
void setup()
{
//シリアルの初期化
Serial.begin(9600);
} //setup
//メインループ
void loop()
{
//センサーの値を読み込む
//int Sensor = analogRead(A0); // センサーの読み取り値
//温度の表示
//float Voltage = Sensor * ( 5.0 / 1024.0 );
//float Temperature = Temperature_MCP9701(Voltage);
//Serial.println(Temperature);
//温度の表示
Serial.println(Temperature_MCP9701_A0());
//1秒の待ち
delay(1000);
} //loop
Temperature_MCP9701.h
// Temperature_MCP9701.h
//
// ex 3.3V analogReadResolution(12);
// float Sensor = analogRead(A2);
// float Voltage = Sensor * ( 3.3 / 4096.0 );
// float Temperature = Temperature_MCP9701(Voltage);
//
float Temperature_MCP9701(float Voltage){
return((Voltage - 0.4) * (1.0 / 0.0195));
}//Temperature_MCP9701
float Temperature_MCP9701_A0(void){return Temperature_MCP9701(analogRead(A0)*(5.0/1024.0));}
float Temperature_MCP9701_A1(void){return Temperature_MCP9701(analogRead(A1)*(5.0/1024.0));}
float Temperature_MCP9701_A2(void){return Temperature_MCP9701(analogRead(A2)*(5.0/1024.0));}
float Temperature_MCP9701_A3(void){return Temperature_MCP9701(analogRead(A3)*(5.0/1024.0));}
float Temperature_MCP9701_A4(void){return Temperature_MCP9701(analogRead(A4)*(5.0/1024.0));}
float Temperature_MCP9701_A5(void){return Temperature_MCP9701(analogRead(A5)*(5.0/1024.0));}