“模拟光线”的版本间的差异

来自Labplus盛思维基百科
跳转至: 导航搜索
(创建页面,内容为“== 概述 == 基于SHT20数字温湿度传感器集成IC。用于检测环境温湿度,具有极高的可靠性和长期稳定性。采用I2C通讯方式,操作简…”)
 
使用教程
 
(未显示3个用户的14个中间版本)
第1行: 第1行:
 +
[[文件:黑色传感器最终版12.20 (已恢复)-06.png|350px|缩略图|右]]
 
== 概述 ==
 
== 概述 ==
基于SHT20数字温湿度传感器集成IC。用于检测环境温湿度,具有极高的可靠性和长期稳定性。采用I2C通讯方式,操作简便。
+
内置光敏电阻,可实现光电转换。一般用于光线测量、光线控制。
  
 
== 技术参数 ==
 
== 技术参数 ==
* 工作电压:3.3V or 5V
+
* 工作电压: VCC 3.3V -5V
* I2C数字信号输出
+
* 模拟输出:0-VCC
* 温度测量范围:-40~125℃
+
* 可测光亮:<100000lux
* 温度测量精度:±0.3℃
+
* 可调触发阈值:触发时,输出高电平
* 湿度测量范围:0~100%RH
 
* 湿度测量精度:±3%RH
 
 
* 模块尺寸:24x46x7.5mm
 
* 模块尺寸:24x46x7.5mm
  
第16行: 第15行:
 
| <small>VCC</small> || <small>电源</small>
 
| <small>VCC</small> || <small>电源</small>
 
|-
 
|-
| <small>SDA</small> || <small>I2C数据</small>
+
| <small>DO</small> || <small>数字输出</small>
 
|-
 
|-
| <small>SCL</small> || <small>I2C时钟</small>
+
| <small>AO</small> || <small>模拟输出</small>
 
|-
 
|-
 
| <small>GND</small> || <small>地</small>
 
| <small>GND</small> || <small>地</small>
第24行: 第23行:
  
 
== 使用教程 ==
 
== 使用教程 ==
=== <small>连接示意图</small> ===
+
1.AO口输出模拟值,DO口输出数字值0/1。
=== <small>Arduino示例</small> ===
+
 
=== <small>MicroPython示例</small> ===
+
2.DO口数字值触发阈值可通过模块正面电位器进行调节,当红色LED亮,表示触发数字输出1,反之代表数字输出0。
 +
 
 +
=== <font size="3">掌控板及mPython编程</font> ===
 +
 
 +
<pre style="color:blue">
 +
#程序功能:当模拟光线传感器的测量值大于500时,掌控板RGB灯亮。
 +
</pre>
 +
{|
 +
|-
 +
| [[文件:光线接线图.png |800px|居中|无框]]
 +
|-
 +
|style="text-align:center"|连接示意图
 +
|}
 +
<br/>
 +
 
 +
{|
 +
|-
 +
| [[文件:光线mPython编程.png |900px|居中|无框]]
 +
|-
 +
|style="text-align:center"|图形化及mPython代码
 +
|}
 +
<br/>
 +
<br/>
 +
 
 +
=== <font size="3">Arduino示例</font> ===
 
<pre style="color:blue">
 
<pre style="color:blue">
from microbit import *
+
//程序功能:当光线采样值小于180,灯亮,否则灯不亮;当光线采样值大于设定的阈值,蜂鸣器响,否则蜂鸣器不响//
 +
int analoglightPin =A0;   
 +
int thresholdPin=3;   
 +
int ledPin =7;   
 +
int buzzerPin=8;     
 +
int val;
 +
void setup() {
 +
  Serial.begin(9600); 
 +
  pinMode(analoglightPin, INPUT);   
 +
  pinMode(thresholdPin, INPUT);   
 +
  pinMode(ledPin, OUTPUT);   
 +
  pinMode(buzzerPin, OUTPUT);   
 +
}
  
def getTemp():
+
void loop() {
   i2c.write(0x40,bytearray([0xE3]))
+
   val=analogRead(analoglightPin);
   sleep(85)
+
  Serial.println(val);   
   t=i2c.read(0x40,2)
+
   if(val<180)    
   return -46.86+175.72*(t[0]*256+t[1])/65535
+
   {
    
+
    digitalWrite(ledPin,HIGH)
    
+
   }
def getHumi():
+
   else   
   i2c.write(0x40,bytearray([0xE5]))
+
   {
   sleep(40)
+
    digitalWrite(ledPin,LOW);
  t=i2c.read(0x40,2)
+
  }
  return -6+125*(t[0]*256+t[1])/65536
+
   if(digitalRead(thresholdPin)==HIGH)    
    
+
   {
while True:
+
    digitalWrite(buzzerPin,HIGH);
    print('TEMP:',getTemp())   #获取温度并打印出来
+
    delayMicroseconds(110);
    print('HUMi:',getHumi()#获取湿度并打印出来
+
    digitalWrite(buzzerPin,LOW);
    sleep(500)
+
    delayMicroseconds(60);
 +
   }
 +
  else
 +
   {
 +
    digitalWrite(buzzerPin,LOW);   
 +
   }
 +
}
 
</pre>
 
</pre>
  
=== <small>图形化示例</small> ===
+
===<font size="3"> Bluebit主控</font> ===
 +
{|
 +
|-
 +
|实物连接如上
 +
|-
 +
|[[文件:模拟光线1.png|600px|left|无框]]
 +
|-
 +
|程序功能:数码管显示模拟光线的测量值
 +
|-
 +
|[[文件:模拟光线0.png|1000px|无框|左]]
 +
|}
 +
 
 +
== 版本历史记录 ==
 +
 
 +
{|  border="1" cellspacing="0" align="left" cellpadding="0" width="60%" style="text-align:center;"
 +
|- style="text-align:center;background-color:#6fa8dc;color:#fffff;"
 +
!width="10%"|Version !!width="15%"| Date !! Note  <small>[+]新增[-]删除[^]修复</small>
 +
|-
 +
| V2.0 || || style="text-align:left"|
 +
|}

2020年4月10日 (五) 15:08的最新版本

黑色传感器最终版12.20 (已恢复)-06.png

概述

内置光敏电阻,可实现光电转换。一般用于光线测量、光线控制。

技术参数

  • 工作电压: VCC 3.3V -5V
  • 模拟输出:0-VCC
  • 可测光亮:<100000lux
  • 可调触发阈值:触发时,输出高电平
  • 模块尺寸:24x46x7.5mm

引脚定义

VCC 电源
DO 数字输出
AO 模拟输出
GND

使用教程

1.AO口输出模拟值,DO口输出数字值0/1。

2.DO口数字值触发阈值可通过模块正面电位器进行调节,当红色LED亮,表示触发数字输出1,反之代表数字输出0。

掌控板及mPython编程

#程序功能:当模拟光线传感器的测量值大于500时,掌控板RGB灯亮。
光线接线图.png
连接示意图


光线mPython编程.png
图形化及mPython代码



Arduino示例

//程序功能:当光线采样值小于180,灯亮,否则灯不亮;当光线采样值大于设定的阈值,蜂鸣器响,否则蜂鸣器不响//
int analoglightPin =A0;    
int thresholdPin=3;    
int ledPin =7;     
int buzzerPin=8;      
int val;
void setup() {
  Serial.begin(9600);  
  pinMode(analoglightPin, INPUT);    
  pinMode(thresholdPin, INPUT);    
  pinMode(ledPin, OUTPUT);     
  pinMode(buzzerPin, OUTPUT);     
}

void loop() {
  val=analogRead(analoglightPin);
  Serial.println(val);    
  if(val<180)      
  {
     digitalWrite(ledPin,HIGH);  
  }
  else     
  {
     digitalWrite(ledPin,LOW);
  } 
  if(digitalRead(thresholdPin)==HIGH)     
  {
     digitalWrite(buzzerPin,HIGH);
     delayMicroseconds(110);
     digitalWrite(buzzerPin,LOW);
     delayMicroseconds(60);
  }
  else
  {
     digitalWrite(buzzerPin,LOW);    
  }
}

Bluebit主控

实物连接如上
模拟光线1.png
程序功能:数码管显示模拟光线的测量值
模拟光线0.png

版本历史记录

Version Date Note [+]新增[-]删除[^]修复
V2.0