[貂蝉がプログラミングを学ぶ] Arduinoハンズオン(05) --- サーミスタモジュールのアナログ温度制御スイッチ、シリアルポートの温度表示とLEDライトの状態

ここに画像の説明を挿入

37 個のセンサーとモジュールについての言及はインターネット上で広く広まっていますが、実際には、Arduino と互換性のあるセンサー モジュールは 37 個以上あるはずです。真の知識(実践的でなければならない)の概念に従って、学習とコミュニケーションの目的でいくつかのセンサーとアクチュエーターモジュールを手元に蓄積しているという事実を考慮して、ここではさらに試してみるつもりです成功しても失敗しても、それは記録されます ——小さな進歩や解決できない問題、レンガを投げてヒスイを輝かせることができれば幸いです。

【Arduino】168種類のセンサーモジュールシリーズ実験(データコード+シミュレーションプログラミング+グラフィックプログラミング)
実験5:サーミスタセンサーモジュールリレースイッチスマートカーロボットアクセサリー周囲温度センサー(3/4ワイヤー)

ここに画像の説明を挿入
ここに画像の説明を挿入

4. 実験 6: オープンソース グラフィックス プログラミング (Mind+、編集しながら学習)

ここに画像の説明を挿入

3. 実験 7: 簡易温度計

1. 実験 7 はオープン ソース コード (Arduino) を参照しています。

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验七:简易温度计
  实验接线:热敏电阻A0接Uno的A0
*/

#define Pot A0      //引脚命名
int PotBuffer = 0;    //AD读取数据缓存变量

void setup(){
    
    
  Serial.begin(9600);   //初始化串口波特率为9600
}

void loop(){
    
    
  PotBuffer = analogRead(Pot);               //读取AD值
  float temp = -0.10581 * PotBuffer + 73.4374; 
//浮点运算,根据拟合的温度与电阻曲线的斜率换算反函数
  Serial.print("TEMP = ");                 //串口输出“Pot = ”
  Serial.print(temp);                    //串口输出temp的值
  Serial.print("; AD = ");
  Serial.println(PotBuffer);
  delay(500);                       //延时500ms
}

2. 実験 7: シリアル モニターを開いて出力データを確認します (サーミスターに指で 3 秒間触れ、赤い点を確認してください)。

ここに画像の説明を挿入
4. 実験 8: サーミスターを使用して周囲温度の変化を監視する簡易温度計 2

1. 実験 8 参照オープンソース コード (Arduino):

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验八:简易温度计之二,利用热敏电阻器,监测环境温度变化
  实验接线:热敏电阻A0接Uno的A0
*/

#include <math.h> //导入数学运算库
double Thermister(int RawADC){
    
    
  double Temp;//当前温度Tsteinhart = 1/(A+B*log(Rth)+C*pow(log(Rth),3))-273.15
  Temp = log((10240000 / RawADC) - 10000);
  Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp)) * Temp);
  Temp = Temp - 273.15 - 4; //热敏电阻补偿系数
  return Temp;
}

void setup(){
    
    
  pinMode(A0, INPUT); //设置模拟A0为输入端
  Serial.begin(9600);
}

void loop(){
    
    
  Serial.print("当前温度:");
  Serial.print(Thermister(analogRead(A0)));
  Serial.println("c");
  delay(500);
}

2. 実験8 シリアルポートモニターを開いて基準温度データを出力する

ここに画像の説明を挿入
5. 実験 9: アナログ温度制御スイッチ、シリアル ポートの表示温度および LED ステータス --------- 再テスト
1. 実験 9 はオープン ソース コード (Arduino) を参照しています。

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验九:模拟量温控开关,串口显示温度与LED灯状态
  实验接线:热敏电阻A0接Uno的A0,D13为板载LED接脚
*/

volatile float i; // 设置动态变量

void setup() {
    
    
  Serial.begin(9600);
pinMode (13, OUTPUT);
  pinMode (A0, INPUT) ;
}

void loop() {
    
    
  i = ((map(analogRead(A0), 0, 1023, 1023, 0)) / 24.7);
  // 反向映射热敏电阻数值,使温度值正相关(24.7为补偿系数,参考实验值)
  Serial.print("室内气温");
  Serial.print(i);//打印温度值
  Serial.println("度");
  if ((i > 23.9)) {
    
     //条件判断,如果温度大于23.9度(阕值),则点亮LED
    digitalWrite(13, HIGH);
    Serial.println("打开LED灯");
  }
  else {
    
    
    digitalWrite(13, LOW);//否则熄灭LED
  }
  delay(1000);
}

2. 実験9 シリアルモニターの電源を入れ、基準温度値とLEDライトの状態を出力し、
赤い点が温度値(23.9度)より大きい場合、LEDが点灯します。

ここに画像の説明を挿入
3. 実験 10 オープンソース グラフィックス プログラミング (Mind+、遊びながら学ぶ)

ここに画像の説明を挿入
6. 実験 11: デジタル量の簡単な温度制御 LED の点灯と消灯
1. サーミスター モジュールのポテンショメータを調整する手順 - VCC と GND を接続すると、モジュールの電源インジケータが点灯し、モジュールをテーブルに置き、青色のインジケータを調整します。基板上のスイッチインジケータライトが点灯するまで基板ポテンショメータを動かし、少し戻してスイッチインジケータライトが消え、サーミスタの温度を上げる方法を見つけます。この時点でモジュールスイッチがオンになります。インジケーターライトが点灯します。サーミスタの温度が再度下がるとスイッチ表示灯は消灯状態に戻ります。

2. 実験 11 参照オープンソース コード (Arduino):

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验十一:数字量简易温度控制LED灯亮灭
  实验接线:热敏电阻D0接Uno的D2
  D13为板载LED接脚
*/

void setup() {
    
    
  pinMode(2, INPUT);//D2为热敏电阻输入
  pinMode(13, OUTPUT);//D13为输出
  digitalWrite(13, HIGH);
}

void loop() {
    
    
  if (digitalRead(2)) {
    
     //条件判断,如果温度超过阕值,则触发LED亮
    digitalWrite(13, LOW);
  }
  else {
    
    
    digitalWrite(13, HIGH);//否则LED熄灭
  }
}

3. 実験12 オープンソースシミュレーションプログラミング(Linkboy V4.2)

ここに画像の説明を挿入
4. 実験 13 オープンソース グラフィックス プログラミング (Mind+、遊びながら学ぶ)

ここに画像の説明を挿入

5. サーミスタに触れるとLEDライトが点灯します。

ここに画像の説明を挿入

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_41659040/article/details/132192751