“第十三课--Microduino 光照报警器(自己DIY光敏三极管)/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(Created page with "{| style="width: 800px;" |- | ==目的== 今天介绍下温度传感器,与Microduino结合做个简单的温度计,常见数字温度传感器有DS18b20、DHT11,SHT10...")
 
(photo added)
 
(未显示2个用户的6个中间版本)
第1行: 第1行:
 +
{{Language|Lesson_13--Microduino_"Light_alarm_(DIY_a_phototransistor_by_yourself)}}
 
{| style="width: 800px;"
 
{| style="width: 800px;"
 
|-
 
|-
 
|
 
|
 
==目的==
 
==目的==
今天介绍下温度传感器,与Microduino结合做个简单的温度计,常见数字温度传感器有DS18b20、DHT11,SHT10等;模拟温度传感器有热敏电阻、AD590、LM35D等。
+
以前LED用来做指示,利用了其发光效应,今天我们实验其另外一个功能——光电效应,原理是LED发光二极管在受到强光照射时会产生微弱的电流,我们可用三极管将其放大。当检测有变化就用蜂鸣器提醒。
 +
LED来达到指示的目的。
 
==设备==
 
==设备==
*'''[[Microduino-Core]]'''
+
*'''[[Microduino-Core/zh]]'''
*'''[[Microduino-FT232R]]'''
+
*'''[[Microduino-USBTTL/zh]]'''
 
*其他硬件设备
 
*其他硬件设备
**面包板跳线   一盒   
+
**面包板跳线 一盒   
**面包板   一块   
+
**面包板 一块   
**LM35D温度传感器 一个  
+
**LED发光二极管  一个
==LM35温度传感器==
+
**10k、1K电阻 各一个 
这款传感器能够测量0-100摄氏度的温度,并以电压的数值输出。从0度开始温度每升高1度输出电压就会提高10mv,这样我们就能够使用模拟口检测传感器的电压,经过简单计算得到测量的温度数值了。
+
**蜂鸣器         一个
===LM35接法===
+
**USB数据连接线  一根
[[File:第十三课-LM35.jpg|600px|center|thumb]]
+
**9014三极管 一个
==原理图==
+
 
接线很简单,注意正负极就好了。
+
==三极管==
[[File:第十三课-原理图.jpg|600px|center|thumb]]
+
三极管是一种电流控制电流的半导体器件,其作用是把微弱信号放大成辐值较大的电信号,也作开关或者电压跟随等。三极管有三个极,分别叫做集电极C(collector),基极B(base),发射极E(emitter)。分成NPN和PNP两种。
==程序==
 
<source lang="cpp">
 
void setup() {
 
 
  Serial.begin(115200);        //使用115200速率进行串口通讯
 
}
 
  
void loop() {
+
常用三极管的区别大家参考:http://wenku.baidu.com/view/0fc3bc5077232f60ddcca1ae.html
  
  int n = analogRead(A0);    //读取A0口的电压值
+
三极管的引脚识别大家参考:http://wenku.baidu.com/view/3e636bb469dc5022aaea0098.html
  
  float vol = n * (5.0 / 1023.0*100);  //使用浮点数存储温度数据,温度数据由电压值换算得到
+
本实验用的是9014三极管(NPN型),写有型号数字一面的朝自己,从左往右数分别是E,B,C。如图:
 +
[[File:第十二课-三极管.jpg|600px|center|thumb]]
  
  Serial.println(vol);                  //串口输出温度数据
+
==原理图==
 +
[[File:lesson13-schematic.jpg|600px|center|thumb]]
 +
本实验采用电压跟随的接法,即触发信号接基极B,集电极C接VCC,发射极接GND,输出信号通过下拉电阻接到GND。若中间的基极B有微弱电流触发,三极管就如同开关被打开,电流由C-B-E,发射机电压几乎等于基极电压。起始状态光照强度不够时,光电效应产生的电流还不足以触发,所以三极管断开,直接通过下拉电阻将电压拉低。当光照强度增强,光电效应产生的电流使三极管触发导通,但电压很低,所以很难考虑光线的强弱,只要检测到有电压变化就说明有光照有作用,就让蜂鸣器发出声响。
  
   delay(1000);                           //等待1秒,控制刷新速度
+
==程序==
 +
<source lang="cpp">
 +
void setup()
 +
{
 +
Serial.begin(115200);
 +
}
 +
void loop()
 +
{
 +
  int n=analogRead(A0);   //读取模拟口数据       
 +
  if(n>0)                //有电压反应就运行以下程序,产生特定脉冲,让蜂鸣器响
 +
  {   
 +
    tone(9, 1000);       
 +
    delay(100);
 +
    noTone(9);
 +
  }
 +
Serial.println(n);
 +
delay(10);//串口监视最好加延时,不然速率太快,容易死机。
 
}
 
}
 
</source>
 
</source>
 +
===Tone()函数===
 +
*功能:在某个引脚上产生一个指定的频率占空比为50%的的方波。持续时间可指定,直到调用noTone()才结束。函数会干扰对引脚3和11的PWM输出。
 +
*语法:
 +
**tone(pin, frequency)
 +
**tone(pin, frequency, duration)
 +
*参数:
 +
**pin:音频输出引脚
 +
**frequency:以赫兹为单位的音调的频率 - int型
 +
**duration:以毫秒为单位的色调的持续时间 - long型(可选)
 
==结果==
 
==结果==
下载好程序之后打开串口监视就可以看到温度数据了,数据每秒更新一次。
+
当有强光靠近时,蜂鸣器发出“滴滴滴。。。”的响声,DIY一个光敏三极管。
 +
 
 +
[[File:Lesson13.jpg|600px|thumbnail|center]]
 +
 
 
==视频==
 
==视频==
 
|}
 
|}
 +
 +
http://v.youku.com/v_show/id_XNzEwMDA0NjI0.html

2015年7月3日 (五) 07:44的最新版本

Language English

目的

以前LED用来做指示,利用了其发光效应,今天我们实验其另外一个功能——光电效应,原理是LED发光二极管在受到强光照射时会产生微弱的电流,我们可用三极管将其放大。当检测有变化就用蜂鸣器提醒。 LED来达到指示的目的。

设备

  • Microduino-Core/zh
  • Microduino-USBTTL/zh
  • 其他硬件设备
    • 面包板跳线 一盒
    • 面包板 一块
    • LED发光二极管 一个
    • 10k、1K电阻 各一个
    • 蜂鸣器 一个
    • USB数据连接线 一根
    • 9014三极管 一个

三极管

三极管是一种电流控制电流的半导体器件,其作用是把微弱信号放大成辐值较大的电信号,也作开关或者电压跟随等。三极管有三个极,分别叫做集电极C(collector),基极B(base),发射极E(emitter)。分成NPN和PNP两种。

常用三极管的区别大家参考:http://wenku.baidu.com/view/0fc3bc5077232f60ddcca1ae.html

三极管的引脚识别大家参考:http://wenku.baidu.com/view/3e636bb469dc5022aaea0098.html

本实验用的是9014三极管(NPN型),写有型号数字一面的朝自己,从左往右数分别是E,B,C。如图:

第十二课-三极管.jpg

原理图

Lesson13-schematic.jpg

本实验采用电压跟随的接法,即触发信号接基极B,集电极C接VCC,发射极接GND,输出信号通过下拉电阻接到GND。若中间的基极B有微弱电流触发,三极管就如同开关被打开,电流由C-B-E,发射机电压几乎等于基极电压。起始状态光照强度不够时,光电效应产生的电流还不足以触发,所以三极管断开,直接通过下拉电阻将电压拉低。当光照强度增强,光电效应产生的电流使三极管触发导通,但电压很低,所以很难考虑光线的强弱,只要检测到有电压变化就说明有光照有作用,就让蜂鸣器发出声响。

程序

void setup()
{ 
Serial.begin(115200);
}
void loop()
{
  int n=analogRead(A0);   //读取模拟口数据        
  if(n>0)                 //有电压反应就运行以下程序,产生特定脉冲,让蜂鸣器响
  {    
    tone(9, 1000);        
    delay(100);
    noTone(9);
  }
 Serial.println(n);
 delay(10);//串口监视最好加延时,不然速率太快,容易死机。
}

Tone()函数

  • 功能:在某个引脚上产生一个指定的频率占空比为50%的的方波。持续时间可指定,直到调用noTone()才结束。函数会干扰对引脚3和11的PWM输出。
  • 语法:
    • tone(pin, frequency)
    • tone(pin, frequency, duration)
  • 参数:
    • pin:音频输出引脚
    • frequency:以赫兹为单位的音调的频率 - int型
    • duration:以毫秒为单位的色调的持续时间 - long型(可选)

结果

当有强光靠近时,蜂鸣器发出“滴滴滴。。。”的响声,DIY一个光敏三极管。

Lesson13.jpg

视频

http://v.youku.com/v_show/id_XNzEwMDA0NjI0.html