初学arduino

一、三色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

       

猜你喜欢

转载自blog.csdn.net/zm1450805304/article/details/80554899
今日推荐