arduino实验日记

 

 

 

 

 

 

 

 

 

 

 

 

    未来的世界也许是物联网的世界,机器人的天下,所以我觉得我们要让我们的孩子们从小了解物联网,熟悉机器人,甚至可以设计制造自己的机器人,未来的世界,超乎你想象!

   

    来吧,一起跟着我们开始Arduino世界的神奇旅行吧!

 

 


目录

 

第一章 Arduino自带的LED小灯闪烁... 4

第二章 使用面包板连接LED小灯... 6

第三章 LM35温度传感器... 8

第四章 光敏电阻... 11

第五章 超声波传感器测量距离... 14

第六章 红外传感器... 17

第七章 土壤湿度传感器... 19

第八章 火焰传感器... 22

 

 


 

第一章 Arduino自带的LED小灯闪烁

 

    这是我的第一个实验,是最简单的一个。

 

一、实验材料

   

    本实验只是验证Arduino电路板可以正常工作,因此本实验不需要其它的器材,只需要Arduino开发板本身。

    爸爸给我买了两块开发板,一块是Arduino UNO R3,另一块是Arduino mega 2560,都是从淘宝买来的,总共花了100块钱呢。我的这第一个实验决定采用Arduino UNO R3来进行,因为看上去UNOmega似乎简单不少呢!当然还需要一根USB连接线,这是购买UNO开发板的时候附带的。

 

二、实验效果

 

    实验准备达到这样的效果:把程序代码写入Arduino后,Arduino 自带的数字13 LED会每隔1秒闪烁1下。

 

三、实验接线图

 

    因为这个实验不需要连接其它的器件,只需要用USB连接线将Arduino UNO板连接到电脑的USB接口,因此实验接线图就省略了。

 

四、实验程序代码

 

void setup() {

  pinMode(13,OUTPUT);

}

void loop() {

  digitalWrite(13,HIGH);

  delay(1000);

  digitalWrite(13,LOW);

  delay(1000);

}

 

五、实验结果及总结

 

    程序上传成功后,自带的LED小灯每隔一秒亮一下,持续1秒。实验的照片如下图:

1-1 连接到电脑的Arduino UNO R3

   

    这是最简单的一个实验,实验前需要安装Arduino的驱动,并且注意选择正确的开发板类型,选择正确的COM口,如下两图所示:

 

1-2 选择开发板类型为Arduino UNO

 

1-3 选择Serial PortCOM3

 

 

第二章 使用面包板连接LED小灯

 

    第二章的实验其实和第一章差不多,都是让LED小灯闪烁。只不过,第一章的小灯是开发板上自带的,不用连接任何线;而本章的小灯是自己动手连接的!

 

一、实验材料

   

    Arduino UNO开发板1

  USB连接线1

    LED小灯1

  220欧电阻1

  导线2根(两端均为针)

  面包板1

 

二、实验效果

 

    实验准备达到这样的效果:把程序代码写入Arduino后, LED小灯会每隔1秒闪烁1下,持续2秒。当然还可以修改参数,来实现其它的闪烁频率。

 

三、实验接线图

 

2-1 LED小灯实验接线示意图

 

四、实验程序代码

 

int ledPin = 2;   //定义LED小灯所连接的数字接口

int highTime=2000; //定义小灯点亮的持续时间

int lowTime=1000; //定义小灯熄灭的持续时间

void setup() {

  pinMode(ledPin,OUTPUT);

}

void loop() {

  digitalWrite(ledPin,HIGH);

  delay(highTime);

  digitalWrite(ledPin,LOW);

  delay(lowTime);

}

 

五、实验结果及总结

 

    程序上传成功后,LED小灯每隔一秒亮一下,持续2秒。实验的照片如下图:

 

2-2 使用面包板连接LED小灯实验实物图

   

 

第三章 LM35温度传感器

    我们这章是利用LM35温度传感器来测量温度。LM35是一个简单易用的温度传感器,具有三根引脚:两边的引脚分别连接电源正负极,中间引脚输出温度。如下图所示:

 

3-1 LM35温度传感器

 

    注意的是,正负不要接反,否则LM35温度传感器会发热比较严重。在LM35平面朝上,圆柱面朝下放置时,左侧引脚为正,右侧引脚为负。测量温度只用到一个模拟输入口,但是需要将读取的模拟值转换为实际的温度。

 

一、实验材料

   

    Arduino UNO开发板1

  USB连接线1

  导线3根(两端均为针)

  面包板1

    LM35温度传感器1

 

二、实验效果

 

    实验准备达到这样的效果:把程序代码写入Arduino后,我们在串口监视器中会看到温度值,每秒刷新一次。

 

三、实验接线图

 

3-2 温度传感器实验接线示意图

 

四、实验程序代码

 

int potPin = 2; //定义模拟接口2 连接LM35 温度传感器

void setup()

{

Serial.begin(9600);//设置串口波特率

}

void loop()

{

int v;//定义变量

int d;//定义变量

v=analogRead(potPin);  // 读取传感器的模拟值并赋给v

d=(125*v)>>8;       //温度计算公式

Serial.print("Tep:");      //输出Tep字符串代表温度

Serial.print(d);         //输出显示d的值,即温度值

Serial.println("C");       //输出显示字母C,表示摄氏度符号

 

delay(1000);//延时1

}

 

五、实验结果及总结

 

    程序上传成功后,我们可以在串口监视器中看到温度的数值。实验的实物图如下:

 

3-3 温度传感器实验实物图

   

    IDE中点菜单"Tools",选择“Serial monitor”,就可以打开串口监视器,查看实验结果。如下图:

3-4 串口监视器中可以看到不算刷新的温度数值

 

 

第四章 光敏电阻

    本章将试验光敏电阻的特性。光敏电阻是一种可变阻值的电阻,当有光照到其表面时,阻值变小,没有光照的时候,阻值较大。这样我们可以利用光敏电阻的这个特性,来实现一些应用,比如可以实现根据光照情况自动开关的照明灯。

    本实验是利用光敏电阻来控制一个蜂鸣器发出的声音大小。实验所用光敏电阻和蜂鸣器分别如下所示:

 

     

4-1 光敏电阻和无源蜂鸣器

   

 

一、实验材料

   

    Arduino UNO开发板1

  USB连接线1

  导线3

  面包板1

    光敏电阻1

    无源蜂鸣器1

 

二、实验效果

 

    实验准备达到这样的效果:把程序代码写入Arduino后,用数字口控制蜂鸣器发出一定频率的声音;当用手电筒照射光敏电阻时,蜂鸣器声音加大。我们这里使用的是无源蜂鸣器,不分正负极,需要用数字口输出5V方波来驱动发音,如果是有源蜂鸣器,则分正负极,直接接到5V口就可以发音了。

 

三、实验接线图

 

4-2实验接线示意图

 

四、实验程序代码

 

int beepPin=8;  //定义蜂鸣器所接的数字口

void setup()

{

       pinMode(beepPin,OUTPUT);

}

void loop()

{

       while(1)

       {

              int i,j;

              while(1)

              {

                     for(i=0;i<80;i++)  //发出一个频率的声音

                     {

                            digitalWrite(beepPin,HIGH);

                            delay(1);

                            digitalWrite(beepPin,LOW);

                            delay(1);

                     }

                     for(i=0;i<100;i++)  //发出另一个频率的声音

                     {

                            digitalWrite(beepPin,HIGH);

                            delay(2);

                            digitalWrite(beepPin,LOW);

                            delay(2);

                     }

              }

       }

}

 

 

五、实验结果及总结

 

    实验的实物图如下:

 

4-3 光敏电阻实验实物图

   

    在代码上传后,可以听到蜂鸣器发出比较微小的声音。然后用手电筒照射光敏电阻,可以听到蜂鸣器发出的声音明显增大了,光线越强,声音越大。

 

 

第五章 超声波传感器测量距离

    本章将试验超声波传感器的使用。本实验是利用超声波传感器来测量前方障碍物的距离,然后将距离实时在串口监视器中显示出来。

    本实验所用的传感器HC-SR04,如下图所示。其具有4个引脚,分别为VccGndTrigEcho。采用IOTRIG触发测距,给至少10us的高电平信号,模块自动发送840khz的方波,自动检测是否有信号返回。有信号返回,通过IOECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。本模块使用方法简单,一个控制口发一个10US以上的高电平,就可以在接收口等待高电平输出。一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,可算出距离。

 

5-1 超声波传感器

   

 

一、实验材料

   

    Arduino UNO开发板1

  USB连接线1

  导线4

    超声波传感器1

 

二、实验效果

 

    实验准备达到这样的效果:把程序代码写入Arduino后,可以在串口监视器中显示出超声波传感器前方障碍物的距离,比如前方是墙,或者一本书等。

 

三、实验接线图

 

UNO          超声波传感器

5V-----------------------Vcc

GND--------------------Gnd

D7---------------------Echo

D8-----------------------Trig

 

5-2实验接线示意图

 

四、实验程序代码

 

const int TrigPin = 8;    //trig引脚连接数字口8

const int EchoPin = 7;   //echo引脚连接数字口7

float cm;

void setup()

{

Serial.begin(9600);

pinMode(TrigPin, OUTPUT);

pinMode(EchoPin, INPUT);

}

void loop()

{

digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去TrigPin

delayMicroseconds(2);

digitalWrite(TrigPin, HIGH);

delayMicroseconds(10);

digitalWrite(TrigPin, LOW);

cm = pulseIn(EchoPin, HIGH) / 58.0; //将回波时间换算成cm

cm = (int(cm * 100.0)) / 100.0; //保留两位小数

Serial.print(cm);

Serial.print("cm");

Serial.println();

delay(1000);

}

 

五、实验结果及总结

 

    实验的实物图如下:

 

5-3 超声波测量距离实验实物图

 

5-4 在串口监视器显示距离

 

 

第六章 红外传感器

    本章将试验红外传感器的使用。本实验是利用超声波传感器来测量前方障碍物的距离,然后将距离实时在串口监视器中显示出来。

    本实验所用的HC-SR501普通型人体红外感应模块,也称为热释电红外传感器。当有人进入其感应范围则输入高电平,人离开感应范围则自动延时关闭高电平。

 

6-1 红外传感器

   

 

一、实验材料

   

    Arduino UNO开发板1

  USB连接线1

  导线3

    HC-SR501传感器1

 

二、实验效果

 

    实验准备达到这样的效果:把程序代码写入Arduino后,可以在串口监视器中显示是否有人进入感应区内。

 

三、实验接线图

 

UNO          传感器

5V-----------------------Vcc

GND--------------------Gnd

A0---------------------OUT

 

6-2实验接线示意图

 

四、实验程序代码

 

void setup()

{

Serial.begin(9600);

}

void loop()

{

int i;//定义发量i

while(1)

{

i=analogRead(0);//读模拟口电压值

if(i>200)//如果大于5122.5V

{

Serial.print("person in");

}

else//否则

{

Serial.print("no person in");

}

Serial.println();

delay(1000);

 

}

}

五、实验结果及总结

 

    实验的实物图如下:

 

6-3 超声波测量距离实验实物图

 

6-4 在串口监视器显示距离

 

 

第七章 土壤湿度传感器

    本章将试验土壤湿度传感器的使用。本实验是利用土壤湿度传感器来测量花盘中土壤的湿度,然后将数值(此数值不是具体的湿度值,只是模拟口的电压相对数值)在串口监视器中显示出来。也可以只输出数字01,表示湿度的高低,是否缺水。

    我们使用的是YL-69湿度传感器,另外还需要一个YL-38的小电路板来采集传感器的数值。使用这个传感器可以制作一款自动浇花装置,让您的花园里的植物不用人去管理,或者远程检测农场的土壤情况等。其灵敏度可调(使用蓝色数字电位器调节),工作电压3.3V-5V,模块双输出模式,数字量输出简单,模拟量输出更精确。设有固定螺栓孔,方便安装。 小板PCB尺寸为3cm * 1.6cm。具有电源指示灯(红色)和数字开关量输出指示灯(绿色)。比较器采用LM393芯片,工作稳定。

小板接口说明(4线制)

VCC  外接3.3V-5V

GND  外接GND

DO   小板数字量输出接口(01

AO   小板模拟量输出接口

 

7-1 土壤湿度传感器

   

一、实验材料

   

    Arduino UNO开发板1

  USB连接线1

  导线5

    YL-69湿度传感器1

    YL-38小板1

    花盆1

 

二、实验效果

 

    实验准备达到这样的效果:把程序代码写入Arduino后,可以在串口监视器中显示出土壤的湿度数值。数值越高,表示土壤越干燥;数值越小,表示土壤越湿润。

 

三、实验接线图

 

UNO          YL-38 (通过两根线连接YL-69)

3.3V ----------------------------------------------Vcc       

GND----------------------------------------------Gnd  

A2--------------------------------------------------AO  

 

7-2实验接线示意图

 

四、实验程序代码

const int sensorPin=2;

void setup()

{

       pinMode(sensorPin,INPUT);

       Serial.begin(9600);

}

 

void loop()

{

       int v;

      v=analogRead(sensorPin);

      Serial.println(v);

       delay(1000);

}

 

五、实验结果及总结

 

    实验的实物图如下:

 

7-3 土壤湿度传感器实验实物图

 

7-4 在串口监视器显示结果

   

    从上图我们可以看到,开始的时候显示的数值较大,土壤比较干燥;后来给花盆浇水后,数值明显下降,显示出土壤湿度较大。

 

 

 

第八章 火焰传感器

    本章将试验火焰传感器的使用。火焰传感器(即红外接收三极管)是机器人专门用来搜寻火源的传感器,本传感器对火焰特别灵敏。火焰传感器利用红外线对火焰非常敏感的特点,使用特制的红外线接收管来检测火焰,然后把火焰的亮度转化为高低变化的电平信号,输入到中央处理器,中央处理器根据信号的变化做出相应的程序处理。红外接收三极管的短引线端为负极,长引线端为正极。

 

8-1 火焰传感器

   

一、实验材料

   

    Arduino UNO开发板1

  USB连接线1

  导线5

    火焰传感器1

    10K电阻1

    蜡烛1

    面包板1

 

二、实验效果

 

    实验准备达到这样的效果:把程序代码写入Arduino后,可以在串口监视器中显示出数值。数值越高,表示火焰亮度越高;数值越小,表示火焰亮度越低。

 

三、实验接线图

 

    将负极接到5V接口中,然后将正极和10K电阻相连,电阻的另一端接到GND接口中,最后从火焰传感器的正极端所在列接入一根跳线,跳线的另一端接在模拟口中。(本实验是接在模拟口2

8-2实验接线示意图

 

四、实验程序代码

const int sensorPin=2;

void setup()

{

       pinMode(sensorPin,INPUT);

       Serial.begin(9600);

}

 

void loop()

{

       int v;

      v=analogRead(sensorPin);

      Serial.println(v);

       delay(1000);

}

 

五、实验结果及总结

 

    实验的实物图如下:

 

8-3 火焰传感器实验实物图

 

8-4 在串口监视器显示结果

   

    实验中可以看到,蜡烛没有点燃的时候,输出的数值很小,当蜡烛点燃后,输出的数值增大。

 

 

  


Contact us: support@sensorslink.com

Copy right 2016. All rights reserved by sensorslink.com.