• 激光、超声波、霍尔、DS18B20 温度、模拟温度传感器 | 配合Arduino使用案例


    激光传感器

    u=452107949,2046680132&fm=224&app=112&f=JPEG.jpg

    用来发出红色激光。

     /**
     **** Arduino 接线 注意哈,这里直接两根****
     * Arduino   传感器
     * VCC       5v
     * GND       A0   
     **********************
     */ 
    int pin = A0;   
    
    void setup() {  
      Serial.begin(9600); // 串口通信用于输出 log  
      pinMode(pin, OUTPUT);
    }
    
    void loop() {    
      delay(2000);
      digitalWrite(pin, LOW);  //关闭激光
      delay(2000);
      digitalWrite(pin, HIGH);  //打开激光
    }
    

    超声波传感器

    1436511-20180710155930774-1367752406.png

    可用于测距。

    开始之前先安装依赖

    image.png

     /**
     **** Arduino 接线 ****
     * Arduino   传感器
     * VCC       5v
     * GND       GND
     * Trig        A0   
     * Echo        A1   
     **********************
     */
    
    #include  
    
    #define TRIGGER_PIN A0
    #define ECHO_PIN A1
    #define MAX_DISTANCE 500 // 最大测量距离 cm, 我手头的最大测量距离 180cm, 设置多了也没用
    
    NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
    
    void setup() {  
      Serial.begin(9600); // 串口通信用于输出 log   
    }
      
    void loop() {   
      delay(100);
      unsigned int uS = sonar.ping();  
      Serial.print(uS / US_ROUNDTRIP_CM);
      Serial.print(" cm \n");
    }
    

    模拟霍尔传感器

    src=http___cbu01.alicdn.com_img_ibank_2020_107_088_19881880701_980414148.jpg&refer=http___cbu01.alicdn.webp

    霍尔传感器用于接近开关、定位、速度检测和电流检测应用。

     /**
     **** Arduino 接线 ****
     * Arduino   传感器
     * VCC       5v
     * GND       GND
     * A0        A0   磁场越大越高   
     * A1        7   达到阈值时输出低电平
     **********************
     */
    
    int pin = A0;   
    int pin2 = 7;   
    
    void setup() {  
      Serial.begin(9600); // 串口通信用于输出 log  
      pinMode(pin2, INPUT);
    }
     
    int val = 0;
    int val2 = 0; // 达到阈值时输出低电平
    void loop() {    
      val = analogRead(pin);
      Serial.println(val);
    
      val2 = digitalRead(pin2);
      if(val2 == 1){  
        Serial.println("达到阈值");
      }
    
      delay(300);
    }
    

    DS18B20 温度传感器

    20210208112105630.png

    DS18B20 温度传感器是一款常用的数字温度传感器,具有体积小、成本低、抗干扰能力强、精度高的特点。
    可以直接输出温度数据。

    开始前安装两个依赖

    image.png
    image.png

     /**
     **** Arduino 接线 ****
     * Arduino   传感器
     * VCC       5v
     * GND       GND
     * A0        A0   
     **********************
     */
    
    #include 
    #include 
    
    #define ONE_WIRE_BUS A0  // 引脚
    
    OneWire oneWire(ONE_WIRE_BUS);
    DallasTemperature sensors(&oneWire);
    
    void setup() {  
      Serial.begin(9600); // 串口通信用于输出 log   
      sensors.begin();
    }
      
    void loop() {     
      sensors.requestTemperatures();
      Serial.println(sensors.getTempCByIndex(0)); // 30.23
      delay(300);
    }
    

    模拟温度传感器

    src=http___cbu01.alicdn.com_img_ibank_2018_916_059_10120950619_692559966.jpg&refer=http___cbu01.alicdn.webp

    模拟温度传感器模块使用 NTC热敏电阻,因此可以对温度进行敏感测试。该模块可以用于温度测量和温度报警。

     /**
     **** Arduino 接线 ****
     * Arduino   传感器
     * VCC       5v
     * GND       GND
     * A0        A0   
     * D0        A1   
     **********************
     */
    
    int pin = A0;   
    int pin2 = A1;   
    
    void setup() {  
      Serial.begin(9600); // 串口通信用于输出 log  
      pinMode(pin2, INPUT);
    }
     
    int val = 0; // 数值越大则越热
    int val2 = 0; // 超过阈值是 0, 反之为 1
    void loop() {    
      
      // 检测的数值输出
      val = analogRead(pin);
      Serial.print(val);
      Serial.print("\t");
    
      // 阈值输出
      val2 = digitalRead(pin2);
      Serial.print(val2);
      Serial.print("\t");
      Serial.println();
    
      delay(300);
    }
    
  • 相关阅读:
    【问题解决】容器部署MySQL的数据在docker commit导出的镜像中丢失
    过去完成时习题
    自我成长自学必备网站,终生学习平台
    数据库导入现有的mysql文件和_列的别名_和_去重
    ElementUI浅尝辄止31:Tabs 标签页
    具有记忆功能的海鸥优化算法-附代码
    vs2019生成c++库文件警告dll链接不一致
    go自建线程池执行任务
    【web3py】批量创建eth账号
    Oracle中查询表结构的六种方法
  • 原文地址:https://blog.csdn.net/weixin_44787578/article/details/139429277