第十四课--指尖开关(三极管触发)/zh
目的
不知大家有没有触电的经历,之所以能触电是因为人体相当于电阻,当有大电流流过人体就会有触电的感觉。有人会问为什么我接触几伏特的电压为什么不会触电?其实电压较低的时候人体也有电流流过,只是电流太小,没有触电的感觉。本课我们利用人体电阻做一个指尖开关,换而言之就是通过放大流经人体的电流,来点亮一个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灯熄灭。