[Diao Ye apprend la programmation] Arduino pratique (05) --- commutateur de contrôle de température analogique du module de thermistance, température d'affichage du port série et état de la lumière LED

insérez la description de l'image ici

La référence à 37 capteurs et modules a largement circulé sur Internet, en effet il doit y avoir plus de 37 modules capteurs compatibles avec Arduino. Compte tenu du fait que j'ai accumulé des modules de capteurs et d'actionneurs sous la main, conformément au concept de vraie connaissance (doit être pratique), à ​​des fins d'apprentissage et de communication, ici, je vais essayer de faire plus expériences une à une, qu'elles soient réussies ou non, elles seront enregistrées —— Petits progrès ou problèmes insolubles, j'espère pouvoir jeter des briques et étinceller du jade.

[Arduino] 168 types d'expériences de série de modules de capteurs (code de données + programmation de simulation + programmation graphique)
expérience cinq: module de capteur de thermistance commutateur de relais accessoires de robot de voiture intelligente capteur de température ambiante (fil 3/4)

insérez la description de l'image ici
insérez la description de l'image ici

4. Expérience 6 : Programmation graphique open source (Mind+, apprendre en éditant)

insérez la description de l'image ici

3. Expérience 7 : thermomètre simple

1. L'expérience 7 fait référence au code open source (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. Expérience 7 : ouvrez le moniteur série et vérifiez les données de sortie (doigt toucher la thermistance pendant trois secondes, voir le point rouge)

insérez la description de l'image ici
4. Expérience 8 : Thermomètre simple 2, utilisant une thermistance pour surveiller les changements de température ambiante

1. Code open source de référence de l'expérience 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. Expérience 8 Ouvrez le moniteur du port série et sortez les données de température de référence

insérez la description de l'image ici
5. Expérience 9 : Commutateur de contrôle de température analogique, température d'affichage du port série et état de la LED --------- retester
1. L'expérience 9 fait référence au code open source (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. Expérience 9 Allumez le moniteur série, affichez la valeur de température de référence et l'état de la lumière LED.Lorsque
le point rouge est supérieur à la valeur de température (23,9 degrés), la LED s'allume.

insérez la description de l'image ici
3. Expérience 10 Programmation graphique open source (Mind+, Learning by Playing)

insérez la description de l'image ici
6. Expérience 11 : La LED de contrôle de température simple de quantité numérique s'allume et s'éteint
1. Instructions pour régler le potentiomètre sur le module de thermistance - connectez VCC et GND, l'indicateur d'alimentation du module s'allume, placez le module sur la table, ajustez le bleu sur le potentiomètre de la carte jusqu'à ce que le voyant de l'interrupteur sur la carte soit allumé, puis tournez-le un peu pour que le voyant de l'interrupteur s'éteigne, puis trouvez un moyen d'augmenter la température de la thermistance, à ce moment le commutateur du module le voyant lumineux sera allumé. Si la température de la thermistance est à nouveau abaissée, le voyant de l'interrupteur reviendra à l'état éteint.

2. Code open source de référence de l'expérience 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. Expérience 12 Programmation de simulation open source (Linkboy V4.2)

insérez la description de l'image ici
4. Expérience 13 Programmation graphique open source (Mind+, Learning by Playing)

insérez la description de l'image ici

5. Touchez la thermistance et allumez la lumière LED

insérez la description de l'image ici

insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/weixin_41659040/article/details/132192751
conseillé
Classement