一、三色RGB模块(使用全彩LED制造)
显示原理:在一棵LED灯里,有三种基础颜色的灯,改变每个灯的驱动电压,使其亮度改变,组合在一起,就形成了各种颜色。
1、R,红色;
2、G,绿色;
3、B,蓝色。
*代码示例
int redpin=11; int bluepin=10; int greenpin=9; int val; void setup() { pinMode(redpin,OUTPUT); pinMode(bluepin,OUTPUT); pinMode(greenpin,OUTPUT); } void loop() { for(val=255; val>0; val--) { analogWrite(redpin, val); analogWrite(bluepin, 255-val); analogWrite(greenpin, 128-val); delay(2); } for(val=0; val<255; val++) { analogWrite(redpin, val); analogWrite(bluepin, 255-val); analogWrite(bluepin, 128-val); delay(2); } }
二、金属触摸传感器
简单介绍:金属触摸模块和数字13 接口自带LED 搭建简单电路, 制作触摸提示灯。利用数字13 接口自带的LED,将 金属触摸传感器接入数字3接口,当金属触摸传感器 感测到有按键信号时,LED 亮,反之则灭.
*代码示例
int Led=13; int buttonpin=3; int val; void setup() { pinMode(Led,OUTPUT); pinMode(buttonpin,INPUT); } void loop() { val=digitalRead(buttonpin); if(val==HIGH){ digitalWrite(Led,HIGH); } else{ digitalWrite(Led,LOW); } }
三、线性霍尔磁力传感器
简单介绍:霍尔磁力传感器能检测到磁场,从而输出检测信号。 模拟口能通过输出线性电压的变化来揭示出磁场的强 弱。数字输出口是达到某个阈值才会输出高低电平。 可调电阻能改变检测的灵敏度。
*代码示例
int Led=13; int buttonpin=3; int val; void setup() { pinMode(Led,OUTPUT); pinMode(buttonpin,INPUT); } void loop() { val=digitalRead(buttonpin); if(val==HIGH){ digitalWrite(Led,HIGH); } else{ digitalWrite(Led,LOW); } }
四、模拟霍尔传感器
简单介绍:和线性霍尔类似。有磁场则输出数值改变。
编程原理:传感器A0口接Arduino板模拟口的A1口,读取传 感器的值。当磁铁离传感器近时,数值变大,反之数值变小。
*代码示例
int sensorPin=1; int value=0; void setup() { Serial.begin(9600);//串口波特率为9600 } void loop() { value=alaogRead(sensorPin); Serial.println(value,DEC);//十进制数显示结果并换行 delay(50); }
五、温湿度传感器
简单介绍: DHT11数字温湿度传感器是一款含有已校准数字信 号输出的温湿度复合传感器,它应用专用的数字模块 采集技术和温湿度传感技术。
编程原理: DHT11是一款数字式的温湿度传感器,使用一根信号 线传输数据。其读取步骤如下:
1、将该引脚改为输出模式,先将数据线的电平拉低 (将该引脚置LOW)持续时间超过18MS以上。
2、再将该引脚置为高电平,持续时间40US.
3、再把该引脚设置为读取模式,此时读到低电平后, 延时80US,再读到高电平后80US,开始能接收到有 效数据。
4、数据总共有5个字节,忽略校验位,有四位是有效 数据。第0字节是湿度的整数位,第1字节是湿度的小 数为,第2字节是温度的整数位,第3字节是温度的小 数位。
*代码示例
#include <dht11.h> dht11 DHT11; #define DHT11PIN 2 void setup(){ Serial.begin(9600); } void loop(){ Serial.println("/n"); int chk = DHT11.read(DHT11PIN); Serial.print("Read sensor: "); switch (chk) { case DHTLIB_OK: Serial.println("OK"); break; case DHTLIB_ERROR_CHECKSUM: Serial.println("Checksum error"); break; case DHTLIB_ERROR_TIMEOUT: Serial.println("Time out error"); break; default: Serial.println("Unknown error"); break; } Serial.print("Humidity (%): "); Serial.println((float)DHT11.humidity, 2); Serial.print("Temperature (oC): "); Serial.println((float)DHT11.temperature, 2); delay(2000); }
注意事项:代码中用了#include <dht11.h>库文件,需要下载Dht11.zip 包。
下载地址:https://arduino-info.wikispaces.com/file/view/DHT-lib.zip/545470280/DHT-lib.zip