智能硬件 Arduino 实验记录
2022/4/25 6:13:05
本文主要是介绍智能硬件 Arduino 实验记录,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
智能硬件 Arduino 实验记录
实验一 在Proteus中进行Arduino仿真
Arduino 环境搭建
-
按照自己的平台,在 Arduino 官网下载对应版本的 Arduino IDE。
-
安装过程中可以勾选驱动安装选项,便于后面连接电脑和开发板的连接。
-
启动 Arduino 后,可以考虑调整代码字号,
文件 - 首选项 - 编辑器字体(参考字号20)
。 -
修改 Arduino 默认的项目所在路径,方便以后统一管理项目。在
文件 - 首选项 - 项目文件夹位置
这里填入目标项目所在路径即可。 -
修改 Arduino 默认的编译后文件存放路径, 从
文件 - 首选项
的设置页面下方的preferences.txt
这里的可点击文字进入设置文件, 添加build.path=[your-path]
([]及其内容以你需要设置的目标路径替代)。
Proteus 环境搭建
- 由于Proteus收费,可以考虑下载破解版用于学习。可以关注公众号【软件安装管家目录】输入
proteus
即可获取下载链接(非广告)。此处提供proteus 8
的百度云下载【链接:https://pan.baidu.com/s/1YZ5-xsalW2afOpdH58i6zQ?pwd=9u5w
提取码:9u5w】。 - 添加
Arduino
库文件,以在Proteus
中进行模拟。【链接:https://pan.baidu.com/s/1yKpKJmJv1c5IV9RZcfSJvQ?pwd=4ymd
提取码:4ymd】
编译 hex 文件
进入 Arduino IDE
,选择 文件 - 实例 - Basics - Blink
,保存源码,再选择 项目 - 验证/编译
编译成 hex 文件。
在 Proteus 中进行仿真
- 进入
Proteus 8
,新建工程(创建 default 模板原理图 - 不创建 PCB 布板设计 - 没有布件项目 - 完成)。 - 在左侧
device
方格处右键(从库中挑选),按关键字arduino
选择 开发板ARDUINO UNO V2.0
,按LED
关键字 选择LED-RED
, 按resis 220
关键字选择电阻3WATT220R
。 - 在左边界面的按钮中选择终端,在方格中选择
GROUND
。 - 将以上元器件放置在模拟图上,并用线连接起来。
- 双击
arduino
模拟开发版,在Update HEX File
处选择编译得到的 hex 文件。 - 点击左下角的
运行仿真按钮
,可观察到 LED 灯元器件亮灭交替,亮灭状态各持续 1 秒。
实验二 七段数码管闪烁
要求:利用 Arduino 实现七段数码管从数字 0
到 数字 9
的循环闪烁。
首先,要区分共阴数码管和共阳数码管。共阴数码管就是把七段数码管上的 7 个LED灯的一段统一接地,某一引脚被设置为高电平,则对应的 LED 灯就亮起。共阳数码管同理,只是统一接入高电平,被设置为低电平的引脚所对应的 LED 亮起。
本次实验选择共阴数码管,按照共阴数码管的引脚编号,让 Arduino 上的引脚 1~7 分别自上到下对应 L1~L7 。那么我们可以枚举出每个数字对应要求的引脚状态。
int seg_7_cathold[10][7] = { HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, LOW, /*0*/ LOW, HIGH, HIGH, LOW, LOW, LOW, LOW, /*1*/ HIGH, HIGH, LOW, HIGH, HIGH, LOW, HIGH, /*2*/ HIGH, HIGH, HIGH, HIGH, LOW, LOW, HIGH, /*3*/ LOW, HIGH, HIGH, LOW, LOW, HIGH, HIGH, /*4*/ HIGH, LOW, HIGH, HIGH, LOW, HIGH, HIGH, /*5*/ HIGH, LOW, HIGH, HIGH, HIGH, HIGH, HIGH, /*6*/ HIGH, HIGH, HIGH, LOW, LOW, LOW, LOW, /*7*/ HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, /*8*/ HIGH, HIGH, HIGH, HIGH, LOW, HIGH, HIGH /*9*/ };
接着,用 C 程序编写一个一位的十进制计数器,即限制其允许计数值为 [0, 9] 之间的整数。
int cnt = 0; // 十进制计数器 void setup() { // 将引脚 1~7 均设置为输出模式 int i; for (i = 1; i <= 7; ++i) { pinMode(i, OUTPUT); } } // 按照传入参数,让七段数码管显示对应的数字 void light(int cnt) { int num = cnt % 10; int i; for (i = 0; i < 7; ++i) { digitalWrite(i + 1, seg_7_cathold[num][i]); } } void loop() { light(cnt); cnt = (cnt + 1) % 10; delay(1000); }
可观察到七段数码管循环闪烁数字 0 到数字 9 ,实验结果如下。
【以上内容已同步更新至个人博客】
这篇关于智能硬件 Arduino 实验记录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南