Arduino 学习之路II

 光照传感器

            一、光敏电阻 :光照强度强弱影响电压读取值

                                   【void setup()

                                                       {}

      void loop()

{ int value = analogRead(pin); }

    】

                               二、传感器BH1705FVI:  

电电源 :3-5V    光照度范围:0-65535 lx传感器内置16bitAD转换器

不区分环境光源接近于视觉灵敏度的分光特性可对广泛的亮度进行1勒克斯的高精度测定

标准NXP IIC通信协议模块内部包含通信电平转换,与5V单片机I/O直接连接

【用法:使用的库:Wire.h   BH1750FVI

#include <Wire.h>

#include <BH1750FVI>

BH1750FVI LightSensor  /*申明一个BH1750FVI传感器*/

void setup()
{
     LightSensor.begin();   /*开启并设置引脚 在该传感器的库里默认17引脚即A3引脚*/  /*LightSensor.sleep() 关闭 */
     LightSensor.SetAddress(Device_Address_H);  
LightSensor.SetMode(Continuous_H_resolution_Mode);
}
void loop()
{
     unit16_t lux = lightSensor.GetlightIntensity();
}
接线:

传感器常识:http://www.openjumper.com/guangzhaochuanganqi/

温湿度 传感器

DHT22温湿度传感器:  尺寸:35x25mm

工作电压:5V
信号类型:数字信号
温度范围:-40-80℃ 分辨率0.1℃  误差±0.5℃
湿度范围:0-100%RH 分辨率0.1%RH 误差±2%RH

                使用

#include<DHT22.h>
#include<stdio.h>
#define DHT22_PIN pin
DHT22 name (DHT22_PIN)
void setup()
{
      Serial.begin(9600);
      ~
}
void loop()
{
    DHT22_ERROR_t   name2
<pre name="code" class="cpp">   delay(2000);   /*预热至少2~3秒在每次接通电源*/
  errorCode = myDHT22.readData();
      Serial.print("Got Data ");
      Serial.print(myDHT22.getTemperatureC());
      Serial.print("C ");
      Serial.print(myDHT22.getHumidity());
      Serial.println("%");   
      char buf[128];
      sprintf(buf, "Integer-only reading: Temperature %hi.%01hi C, Humidity %i.%01i %% RH",
                   myDHT22.getTemperatureCInt()/10, abs(myDHT22.getTemperatureCInt()%10),
                   myDHT22.getHumidityInt()/10, myDHT22.getHumidityInt()%10);
      Serial.println(buf);
}

 
<span style="font-size:12px; line-height: 22px;"><strong></strong></span>
               土壤温湿度传感器:
                   SHT11参数:
温度测量范围 -40 ~ +123.8°C
湿度测量范围 0 ~ 100% RH
温度测量精度 ±0.4°C
湿度测量精度 ±3%RH
导线长度 1m


                 SHT10参数
温度测量范围 -40 ~ +123.8°C
湿度测量范围 0 ~ 100% RH
温度测量精度 ±0.5°C
湿度测量精度 ±4.5%RH
导线长度 1m
 
引脚定义:
 S 黄色 SCK时钟信号
+ 红色 VDD电源
- 黑色或绿色 GND
D 兰色 DATA数据输出

【使用:Sensirion.h

#include <Sensirion.h>
 
const uint8_t dataPin  =  2;
const uint8_t clockPin =  3;
 
float temperature;
float humidity;
float dewpoint;
 
Sensirion tempSensor = Sensirion(dataPin, clockPin);
 
void setup()
{
  Serial.begin(9600);
}
 
void loop()
{
  tempSensor.measure(&temperature, &humidity, &dewpoint);
 
  Serial.print("Temperature: ");
  Serial.print(temperature);
  Serial.print(" C, Humidity: ");
  Serial.print(humidity);
  Serial.print(" %, Dewpoint: ");
  Serial.print(dewpoint);
  Serial.println(" C");
  
  delay(5000);  
}

紫外线传感器

     UVM-30A

        紫外线强度越大从传感器返回的电压值越大,直接通过读取传感器电压值反应紫外线强度

             使用    analogRead(pin)

             紫外线强度分是11个级数

<pre name="code" class="cpp">void setup()
{}
void loop()
{
     int uv = UV();
}
int UV()
{
 int  a= analogRead(A0);
 if(0<=a && a<=50)
 {
   return (0);
 }
 else if(50<a && a<=227)
{
   return (1);
 }
 else if(227<a && a<=318)
 {
   return (2);
 }
 else if(318<a && a<=408)
 {
   return (3);
 }
 else if(408<a && a<=503)
 {
   return (4);
 }
 else if(503<a && a<=606)
 {
   return (5);
 }
 else if(606<a && a<=696)
 {
 return (6);
 }
 else if(696<a && a<=795)
 {
 return (7);
 }
 else if(795<a && a<=881)
 {
 return (8);
 }
 else if(881<a && a<=976)
 {
 return (9);
 }
 else if (976<a && a<=1079)
 {
 return (10);
 }
 else 
 {
 return (11);
 }
}


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值