Arduino程序代码及结果
- 格式:docx
- 大小:158.29 KB
- 文档页数:13
Arduino报告
报告简介:做了很多实验,强化了单片机和C语言知识。
有个更为直观了解。
视频中虽然不太清楚,但是实验结果都达到了。
实验目录:
实验一:数码管显示数字: (2)
1实验简介: (2)
2程序代码: (2)
3程序部分截图: (5)
4 程序效果 (5)
实验2:手动控制LED 闪烁频率: (5)
1 程序简介 (5)
2 程序代码 (5)
3 程序效果 (6)
实验3:串行通信控制LED灯。
(6)
1 功能描述 (6)
2 实验程序截图: (7)
3 实验效果展示 (7)
实验4:串行通信——温度传感器实例; (7)
1 功能实现 (7)
2 程序截图: (9)
3 程序效果图: (9)
实验5:串行通信-环境光传感器 (10)
1 功能介绍: (10)
2 程序代码: (10)
实验6 :串行通信-火焰传感器 (10)
1 功能介绍: (10)
2 程序代码: (10)
3 程序截图: (11)
实验7 :手动控制LED亮灭 (11)
1 功能介绍 (11)
2 程序代码: (11)
4 效果 (12)
实验8 :手动控制LED灯亮度 (12)
1 功能介绍 (12)
2程序代码: (13)
3效果 (13)
实验9 模拟量输出-灯光渐变 (13)
1 功能介绍 (13)
2 代码 (13)
3 程序效果: (13)
实验一:数码管显示数字:
1实验简介:数码管显示0,1 2,3,4,5,6,7,8,9数字,其中1,2两个数字延迟5秒。
其他数字延迟1秒。
2程序代码:
void setup()
{
pinMode( 3 , OUTPUT);
pinMode( 8 , OUTPUT);
pinMode( 2 , OUTPUT);
pinMode( 4 , OUTPUT);
pinMode( 7 , OUTPUT);
pinMode( 9 , OUTPUT);
pinMode( 6 , OUTPUT);
pinMode( 5 , OUTPUT);
}
void loop()
{
digitalWrite( 9 , HIGH );
digitalWrite( 8 , HIGH );
digitalWrite( 7 , HIGH );
digitalWrite( 6 , HIGH );
digitalWrite( 5 , HIGH );
digitalWrite( 4 , LOW );
digitalWrite( 3 , HIGH );
digitalWrite (2, HIGH);
delay( 1000 );
digitalWrite( 9 , LOW );
digitalWrite( 8 , HIGH );
digitalWrite( 7 , HIGH );
digitalWrite( 6 , LOW );
digitalWrite( 5 , LOW );
digitalWrite( 4 , LOW );
digitalWrite( 3 , LOW );
delay( 5000 ); digitalWrite( 9 , HIGH ); digitalWrite( 8 , LOW ); digitalWrite( 7 , HIGH ); digitalWrite( 6 , HIGH ); digitalWrite( 5 , LOW ); digitalWrite( 4 , HIGH ); digitalWrite( 3 , HIGH ); digitalWrite(2,HIGH); delay( 5000 ); digitalWrite( 9 , HIGH ); digitalWrite( 8 , HIGH ); digitalWrite( 7 , HIGH ); digitalWrite( 6 , HIGH ); digitalWrite( 5 , LOW ); digitalWrite( 4 , HIGH ); digitalWrite( 3 , HIGH ); digitalWrite (2, LOW); delay( 1000 ); digitalWrite( 9 , HIGH ); digitalWrite( 8 , HIGH ); digitalWrite( 7 , HIGH ); digitalWrite( 6 , LOW ); digitalWrite( 5 , HIGH ); digitalWrite( 4 , HIGH ); digitalWrite( 3 , LOW ); digitalWrite (2, LOW); delay( 1000 ); digitalWrite( 9 , HIGH ); digitalWrite( 8 , HIGH ); digitalWrite( 7 , LOW ); digitalWrite( 6 , HIGH ); digitalWrite( 5 , HIGH ); digitalWrite( 4 , HIGH ); digitalWrite( 3 , HIGH ); digitalWrite (2, LOW); delay( 1000 ); digitalWrite( 9 , HIGH ); digitalWrite( 8 , HIGH ); digitalWrite( 7 , LOW ); digitalWrite( 6 , HIGH ); digitalWrite( 5 , HIGH ); digitalWrite( 4 , HIGH);
digitalWrite (2, HIGH); delay( 1000 ); digitalWrite( 9 , LOW ); digitalWrite( 8 , HIGH ); digitalWrite( 7 , HIGH ); digitalWrite( 6 , HIGH ); digitalWrite( 5 , LOW ); digitalWrite( 4 , LOW ); digitalWrite( 3 , LOW ); digitalWrite (2, LOW); delay( 1000 ); digitalWrite( 9 , HIGH ); digitalWrite( 8 , HIGH ); digitalWrite( 7 , HIGH ); digitalWrite( 6 , HIGH ); digitalWrite( 5 , HIGH ); digitalWrite( 4 , HIGH ); digitalWrite( 3 , HIGH ); digitalWrite (2, HIGH); delay( 1000 ); digitalWrite( 9 , HIGH ); digitalWrite( 8 , HIGH ); digitalWrite( 7 , HIGH ); digitalWrite( 6 , HIGH ); digitalWrite( 5 , HIGH ); digitalWrite( 4 , HIGH ); digitalWrite( 3 , LOW ); digitalWrite (2, LOW); delay( 1000 );
}
3程序部分截图:
4 程序效果:见视频
实验2:手动控制LED 闪烁频率:
1 程序简介:不按按钮时候,灯以1秒亮,1秒灭的频率闪烁。
按按钮时候,以0.1秒亮,0.1秒灭频率闪烁。
2 程序代码:
void setup()
{
pinMode(13,OUTPUT);
pinMode(4,INPUT);
digitalWrite(4,HIGH);
}
void loop()
{
digitalWrite(13,HIGH);
if(digitalRead(4)==HIGH)
{
delay(500);
}
else
{
delay(100);
}
digitalWrite(13,LOW);
if(digitalRead(4)==HIGH)
{
delay(500);
}
else
{
delay(100);
}
}
3 程序效果:见视频。
实验3:串行通信控制LED灯。
1 功能描述:当计算机发送o时候,点亮LED灯,同时发送说明内容TURN on。
当发送c时候,熄灭LED灯。
同时说明内容TURN OFF,串行波特率为9600
2 实验程序截图:
3 实验效果展示:见视频
实验4:串行通信——温度传感器实例;
1 功能实现:通过温度传感器采集温度,并在屏幕显示出温度值。
int valueTemp;
void setup()
{
Serial.begin(9600);
}
void loop()
{
valueTemp=analogRead(A0); valueTemp=valueTemp*125/256; Serial.println(valueTemp); delay(500);
}
3 程序效果图:见视频:
实验5:串行通信-环境光传感器
1 功能介绍:通过光敏电阻测量光强度并把测量值传送到计算机上显示
2 程序代码:
Void setup()
{
Serial.begin(9600);
}
Void loop()
{
Serial.println(analogRead(A0));
Delay(500);
}
3 忘记截图和拍摄了。
所以截图和视频都没有
实验6 :串行通信-火焰传感器
1 功能介绍:通过火焰传感器把火焰的强弱转换为模拟量信号,然后再计算机屏幕显示。
2 程序代码:
Void setup()
{
Serial.begin(9600);
}
Void loop()
{
Serial.println(analogRead(A0));
Delay(500);
}
3 程序截图:
实验7 :手动控制LED亮灭
1 功能介绍:单片机读取引脚状态,根据引脚状态调节板载LED灯的亮灭
2 程序代码:
int pinValue;
void setup()
{
pinMode(13,OUTPUT);
pinMode(4,INPUT);
}
Void loop()
{
pinValue=digitalRead(4);
digitalWrite(13,pinValue);
}
3 程序截图:
4 效果:见视频
实验8 :手动控制LED灯亮度
1 功能介绍:旋转电位器,改变电阻,然后单片机检测引脚电压值的模拟量并传送至电脑,电脑检测并输出对应电压值
2程序代码:
Int pinValue;
Void setup()
{
pinMode(13,OUTPUT);
}
Void loop()
{
pinValue=analogRead(A0);
pinValue=map(pinValue,0,1023,0,255);
analogWrite(13,pinValue);
}
3效果:见视频
实验9 模拟量输出-灯光渐变
1 功能介绍:模拟量引脚13的输出电压以0.02V增加,每一秒变化一次,知道最大的5V。
然后熄灭,重新开始
2 代码:略
3 程序效果:视频(视频里灯光变化可能不太明显。
但是有变化)。