智能硬件 Arduino 实验记录

发布时间:2022-06-20 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了智能硬件 Arduino 实验记录脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

智能硬件 Arduino 实验记录

实验一 在Proteus中进行Arduino仿真

Arduino 环境搭建

  1. 按照自己的平台,在 Arduino 官网下载对应版本的 Arduino IDE。

  2. 安装过程中可以勾选驱动安装选项,便于后面连接电脑和开发板的连接。

  3. 启动 Arduino 后,可以考虑调整代码字号,文件 - 首选项 - 编辑器字体(参考字号20)

  4. 修改 Arduino 默认的项目所在路径,方便以后统一管理项目。在 文件 - 首选项 - 项目文件夹位置 这里填入目标项目所在路径即可。

  5. 修改 Arduino 默认的编译后文件存放路径, 从 文件 - 首选项 的设置页面下方的 preferences.txt 这里的可点击文字进入设置文件, 添加 build.path=[your-path] ([]及其内容以你需要设置的目标路径替代)。

    智能硬件 Arduino 实验记录

Proteus 环境搭建

  1. 由于Proteus收费,可以考虑下载破解版用于学习。可以关注公众号【软件安装管家目录】输入 proteus 即可获取下载链接(非广告)。此处提供 proteus 8 的百度云下载【链接:https://pan.baidu.com/s/1YZ5-xsalW2afOpdH58i6zQ?pwd=9u5w 提取码:9u5w】。
  2. 添加 Arduino 库文件,以在 Proteus 中进行模拟。【链接:https://pan.baidu.com/s/1yKpKJmJv1c5IV9RZcfSJvQ?pwd=4ymd 提取码:4ymd】

编译 hex 文件

进入 Arduino IDE ,选择 文件 - 实例 - Basics - Blink ,保存源码,再选择 项目 - 验证/编译 编译成 hex 文件。

在 Proteus 中进行仿真

  1. 进入 Proteus 8 ,新建工程(创建 default 模板原理图 - 不创建 PCB 布板设计 - 没有布件项目 - 完成)。
  2. 在左侧 device 方格处右键(从库中挑选),按关键字 arduino 选择 开发板ARDUINO UNO V2.0 ,按 LED 关键字 选择 LED-RED, 按 resis 220 关键字选择电阻 3WATT220R
  3. 在左边界面的按钮中选择终端,在方格中选择 GROUND
  4. 将以上元器件放置在模拟图上,并用线连接起来。
  5. 双击 arduino 模拟开发版,在 Update HEX File 处选择编译得到的 hex 文件。
  6. 点击左下角的 运行仿真按钮 ,可观察到 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 实验记录

智能硬件 Arduino 实验记录

智能硬件 Arduino 实验记录

智能硬件 Arduino 实验记录

智能硬件 Arduino 实验记录

智能硬件 Arduino 实验记录

智能硬件 Arduino 实验记录

智能硬件 Arduino 实验记录

智能硬件 Arduino 实验记录

智能硬件 Arduino 实验记录

【以上内容已同步更新至个人博客】

脚本宝典总结

以上是脚本宝典为你收集整理的智能硬件 Arduino 实验记录全部内容,希望文章能够帮你解决智能硬件 Arduino 实验记录所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: