第十四课--指尖开关(三极管触发)/zh

来自Microduino Wikipedia
跳转至: 导航搜索

目的

不知大家有没有触电的经历,之所以能触电是因为人体相当于电阻,当有大电流流过人体就会有触电的感觉。有人会问为什么我接触几伏特的电压为什么不会触电?其实电压较低的时候人体也有电流流过,只是电流太小,没有触电的感觉。本课我们利用人体电阻做一个指尖开关,换而言之就是通过放大流经人体的电流,来点亮一个LED灯。

设备

Microduino-CoreSTM32是采用 STM32F103CBT6芯片的ARM开发板,采用独特的Upin7接口,大小与一枚一元硬币差不多大,完全兼容Microduino其他扩展模块。

  • 其他硬件设备
    • 面包板跳线 一盒
    • 面包板 一块
    • LED发光二极管 一个
    • 10k、1K、220欧电阻 各一个
    • USB数据连接线 一根
    • 9014三极管 一个

原理图

人体一端接Microduino-CoreSTM32的Vcc,另一端接9014三极管的基极。集电极通过10K的电阻与Vcc相连,发射极通过1K的电阻与GND相连。如上图所示。

程序

void setup()
{
  SerialUSB.begin();
  pinMode(13,OUTPUT);  //LED pin
  pinMode(14,INPUT_ANALOG);  //// set up pin for analog input
}
void loop()
{
  int n=analogRead(14);   // read the input pin      
  if(n>0)         // executing  program if the analog input value is greater than zero
  {
    digitalWrite(13,HIGH); //turn on the LED
  }
  else
  {
    digitalWrite(13,LOW);  //turn off the LED
  }
  SerialUSB.println(n);   // print the ananlog input value
  delay(1000); 
}

第D13引脚控制LED灯的两灭,A0(14)引脚用来读取人体到后放大的电流在发射极和GND之间产生的电压值。

调试

  • 步骤一:根据原理图连接好电路图。
  • 步骤二:将以上程序代码拷贝到Maple IDE,编译下载程序。
  • 步骤三:打开串口监视界面,用手握住两引出来的线的金属头,观察LED灯的状态,查看串口监视界面数据的变化。

结果

  • 用手握住两引出来的线的金属头后,LED等点亮。
  • 在引出来的两根线没和人体接触时,串口监视界显示值为零,当用手握住后,显示值不为零。
  • 松开引线后,串口监视界面上显示值又变为零,LED灯熄灭。

视频