Arduino开发从入门到实战程序源代码Word文档下载推荐.docx

上传人:b****3 文档编号:16402955 上传时间:2022-11-23 格式:DOCX 页数:122 大小:46.63KB
下载 相关 举报
Arduino开发从入门到实战程序源代码Word文档下载推荐.docx_第1页
第1页 / 共122页
Arduino开发从入门到实战程序源代码Word文档下载推荐.docx_第2页
第2页 / 共122页
Arduino开发从入门到实战程序源代码Word文档下载推荐.docx_第3页
第3页 / 共122页
Arduino开发从入门到实战程序源代码Word文档下载推荐.docx_第4页
第4页 / 共122页
Arduino开发从入门到实战程序源代码Word文档下载推荐.docx_第5页
第5页 / 共122页
点击查看更多>>
下载资源
资源描述

Arduino开发从入门到实战程序源代码Word文档下载推荐.docx

《Arduino开发从入门到实战程序源代码Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Arduino开发从入门到实战程序源代码Word文档下载推荐.docx(122页珍藏版)》请在冰豆网上搜索。

Arduino开发从入门到实战程序源代码Word文档下载推荐.docx

//点亮与j引脚相连的LED灯

delay(200);

//延时200ms

}

for(j=6;

j=1;

j--)//每隔200ms依次熄灭与6~1引脚相连的LED灯

digitalWrite(j,LOW);

//熄灭与j引脚相连的LED灯

//灯闪烁子程序

voidflash(void)

unsignedcharj,k;

for(k=0;

k=1;

k++)//闪烁两次

j++)//点亮与1~6引脚相连的LED灯

j++)//熄灭与1~6引脚相连的LED灯

//LED灯花样显示样式2子程序

voidstyle_2(void)

//设置k的初值为1

for(j=3;

j--)

//点亮灯

digitalWrite(j+k,HIGH);

delay(400);

//延时400ms

k+=2;

//k值加2

k=5;

//设置k值为5

j=3;

j++)

//熄灭灯

digitalWrite(j+k,LOW);

k-=2;

//k值减2

//LED灯花样显示样式3子程序

voidstyle_3(void)

//LED灯花样显示样式3子程序

k=3;

//设置k值为3

for(j=2;

voidsetup()

unsignedchari;

for(i=1;

i=6;

i++)//依次设置1~6个数字引脚为输出模式

pinMode(i,OUTPUT);

//设置第i个引脚为输出模式

voidloop()

style_1();

//样式1

flash();

//闪烁

style_2();

//样式2

style_3();

//样式3

 

第六章按键开关输入

6.4.2程序源码

intLED=13;

//设置控制LED的数字I/O脚

pinMode(LED,OUTPUT);

//设置数字I/O引脚为输出模式

voidloop(){

inti;

while

(1)

i=analogRead(A0);

//读取模拟0口电压值

if(i>

1000)//如果电压值大于1000(即4.88V)

digitalWrite(LED,HIGH);

//设置第13引脚为高电平,点亮LED灯

else

digitalWrite(LED,LOW);

//设置第13引脚为低电平,熄灭LED灯

6.6拓展实验

#defineLED13

#definesw7

intval=0;

intold_val=0;

intstate=0;

//定义状态位

voidsetup(){

pinMode(sw,INPUT);

voidloop(){

val=digitalRead(sw);

if((val==HIGH)&

&

(old_val==LOW)){

state=1-state;

//状态位取反

delay(10);

old_val=val;

if(state==1){

else{

第七章触摸开关

7.4.2程序源码

#defineLED13//设置控制LED的数字I/O脚

i=digitalRead(10);

//读取电压值

if(i==LOW)//如果为低电平

digitalWrite(LED,HIGH);

else

digitalWrite(LED,LOW);

7.6拓展实验

#defineLED13//设置控制LED的数字I/O脚

i=digitalRead(10);

if(i==LOW){//如果为低电平

while

(1){

delay(10000);

break;

}

}

第8章温度与湿度监测

8.4.2程序源码

#defineDHT11_PIN0

byteread_dht11_dat()//读取DHT11数据(每次获取8位)

bytei=0;

byteresult=0;

for(i=0;

i<

8;

i++)

while(!

(PINC&

_BV(DHT11_PIN)));

delayMicroseconds(30);

if(PINC&

_BV(DHT11_PIN))

result|=(1<

<

(7-i));

while((PINC&

returnresult;

//返回获取的结果

DDRC|=_BV(DHT11_PIN);

PORTC|=_BV(DHT11_PIN);

Serial.begin(19200);

Serial.println("

Ready"

);

//串口输出提示信息

bytedht11_dat[5];

bytedht11_in;

bytei;

PORTC&

=~_BV(DHT11_PIN);

delay(18);

delayMicroseconds(40);

DDRC&

dht11_in=PINC&

_BV(DHT11_PIN);

if(dht11_in)

dht11startcondition1notmet"

return;

delayMicroseconds(80);

dht11_in=PINC&

if(!

dht11_in)

dht11startcondition2notmet"

5;

dht11_dat[i]=read_dht11_dat();

//获取40位温度与湿度数据

bytedht11_check_sum=dht11_dat[0]+dht11_dat[1]+dht11_dat[2]+dht11_dat[3];

if(dht11_dat[4]!

=dht11_check_sum)//校验

DHT11checksumerror"

Serial.print("

Currenthumdity="

Serial.print(dht11_dat[0],DEC);

//显示湿度整数部分

."

Serial.print(dht11_dat[1],DEC);

//显示湿度小数部分

%"

temperature="

Serial.print(dht11_dat[2],DEC);

//显示温度整数部分

Serial.print(dht11_dat[3],DEC);

//显示温度小数部分

C"

8.6拓展实验

intLED=8;

intBuzzer=7;

byteread_dht11_dat()

pinMode(Buzzer,OUTPUT);

i++)//获取40位温度与湿度数据

=dht11_check_sum)//校验

if(dht11_dat[0]==25)

if(dht11_dat[2]==28)

digitalWrite(Buzzer,HIGH);

digitalWrite(Buzzer,LOW);

delay(2000);

第9章气体监测

9.4.2程序源码

Serial.begin(9600);

intval;

val=analogRead(0);

//获取当前气体浓度

Serial.println(val,DEC);

//十进制串口输出

第十章LCD显示

10.4程序设计

2)实验程序

LCD显示实验参考程序源代码为:

intDI=12;

intRW=11;

intDB[]={3,4,5,6,7,8,9,10};

//使用数组来定义总线需要的引脚

intEnable=2;

voidLcdCommandWrite(intvalue){

//定义所有引脚

inti=0;

for(i=DB[0];

i<

=DI;

i++)//总线赋值

digitalWrite(i,value&

01);

//因为1602液晶信号识别是D7~D0(不是D0~D7),这里是

//用来反转信号

value>

>

=1;

digitalWrite(Enable,LOW);

delayMicroseconds

(1);

digitalWrite(Enable,HIGH);

//延时1ms

}

voidLcdDataWrite(intvalue){

digitalWrite(DI,HIGH);

digitalWrite(RW,LOW);

=DB[7];

i++)

voidsetup(void){

for(i=Enable;

delay(100);

//短暂的停顿后初始化LCD

用于LCD控制需要

LcdCommandWrite(0x38);

//设置为8位接口,2行显示,5×

7文字大小

delay(64);

delay(50);

delay(20);

LcdCommandWrite(0x06);

//输入方式设定

//自动增量,没有显示移位

LcdCommandWrite(0x0E);

//显示设置

//开启显示屏,光标显示,无闪烁

LcdCommandWrite(0x01);

//屏幕清空,光标位置归零

LcdCommandWrite(0x80);

voidloop(void){

LcdCommandWrite(0x80+4);

//写入欢迎信息

LcdDataWrite('

W'

e'

l'

c'

o'

m'

!

'

LcdCommandWrite(0xc0);

//定义光标位置为第2行第1个位置

I'

'

L'

v'

A'

r'

d'

u'

i'

n'

delay(5000);

第11章电机控制

11.4

2)步进电机实验程序

#include<

Stepper.h>

//这里设置步进电机旋转一圈是多少步

#defineSTEPS100

//attachedto设置步进电机的步数和引脚

Stepperstepper(STEPS,8,9,10,11);

//定义变量用来存储历史读数

intprevious=0;

//设置电机每分钟的转速为90步

stepper.setSpeed(90);

intval=analogRead(0);

//移动步数为当前读数减去历史读数

stepper.step(val-previous);

//保存历史读数

previous=val;

11.6

voidsetup(){

//初始化数字的引脚为输出

pinMode(13,OUTPUT);

pinMode(12,OUTPUT);

digitalWrite(13,HIGH);

digitalWrite(12,HIGH);

digitalWrite(13,LOW);

digitalWrite(12,LOW);

第12章

第12章蓝牙通信

12.4程序设计

while(Serial.available())

charc=Serial.read();

if(c=='

HelloIamamarino"

第13章Wi-Fi无线数据传输

13.4程序设计

voidloop(){

HelloWorld!

"

第14章

第14章ZigBee无线数据传输

14.4程序设计

ZigBee无线通信实验参考程序源代码分为主机程序和从机程序两部分。

1)主机程序

intbutton_open=4;

//开灯按钮

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1