实训随笔记录

经过四周的实训课,不同的内容让我们收获了很多。

实训一:blink程序命令

一、实训流程

1.硬件搭建:将LED的长引脚(正极)通过限流电阻连接到Arduino开发板的数字引脚(如D13),短引脚(负极)连接到开发板的GND(接地)引脚 。电阻起到限制电流的作用,防止LED因电流过大而损坏。

2.软件准备:安装Arduino IDE编程软件。在软件中进行开发板和端口的选择,确保电脑正确识别Arduino开发板。

3.编写代码:在Arduino IDE中编写Blink程序代码。基本代码如下: void setup() {  pinMode(13, OUTPUT);  // 将数字引脚13设置为输出模式}void loop() {  digitalWrite(13, HIGH); // 点亮LED  delay(1000);            // 延迟1000毫秒  digitalWrite(13, LOW);  // 熄灭LED  delay(1000);            // 延迟1000毫秒}

4.上传代码:点击Arduino IDE中的上传按钮,将编写好的代码上传到Arduino开发板中。上传成功后,开发板上的RX和TX指示灯会闪烁。

5.观察现象:代码上传完成后,观察连接在开发板上的LED。正常情况下,LED会以1秒亮、1秒灭的频率闪烁。

二、实训中出现的问题及解决方法

1. LED不亮- 原因:硬件连接错误,如LED正负极接反、引脚连接错误;代码中引脚设置错误;Arduino开发板未正常供电。

                  - 解决方法:检查硬件连接,确认LED正负极及引脚连接正确;核对代码中设置的引脚与实际硬件连接是否一致;检查Arduino开发板的供电情况,确保供电正常。

2. LED闪烁频率异常- 原因:代码中delay函数设置的延迟时间错误。

                              - 解决方法:检查delay函数中的参数,根据期望的闪烁频率进行调整。例如,如果希望LED快速闪烁,可以减小delay函数中的参数值。

3. 上传失败- 原因:开发板选择错误、端口选择错误、电脑驱动问题、代码错误。

                  -解决方法:在Arduino IDE中重新选择正确的开发板和端口;更新或重新安装Arduino开发板的驱动程序;检查代码是否存在语法错误或逻辑错误。

三、学习收获

1.硬件知识:了解了电子元件(如LED、电阻)的基本特性和使用方法,掌握了Arduino开发板的引脚功能及硬件连接方式,明白了电路中电流、电压和电阻之间的关系。

2.编程知识:学会使用Arduino IDE进行简单的C/C++编程,理解了setup函数和loop函数的作用及执行顺序,掌握了数字输入输出函数(如pinMode、digitalWrite)和延时函数(delay)的使用方法。

3.问题解决能力:在实训过程中遇到各种问题,通过查阅资料、分析错误原因、不断尝试不同的解决方法,提高了自己独立思考和解决问题的能力。

4.工程思维:明白了一个完整的工程项目从硬件设计、软件编程到调试优化的流程,培养了严谨、细致的工程思维习惯 ,为今后学习更复杂的知识和技术打下基础。

                                                                                                                                  (苏贤撰写)

实训二:永不消逝的电波

⒈理论学习:围绕着主题“永不消逝的电波”学习了摩斯密码的发明背景,编码规则以及应用领域;认识了LED灯的构造原理,电阻的基本知识,面包板的构造和连接方法。

发光二极管


⒉实践操作:小组合作利用Arduino开发板、LED灯和电阻等元件,按照指导搭建了一个简单的电路,用于发送摩斯密码中的SOS求救信号。通过编写和上传程序代码,成功实现了LED灯的闪烁,模拟了摩斯密码的发送过程。在掌握了基本的原理后,开始将一些有趣的内容通过摩斯密码和LED灯的闪烁频率表达出来,并成功破译了其他小组的摩斯密码内容。

摩斯密码


SOS程序代码

                                                                                                                                      (马羽彤撰写)

实训三:设计炫酷流水灯

一、实训流程

1. 需求分析与设计阶段  - 明确项目目标:通过LED灯闪烁来传递摩斯密码信息

                                  - 设计系统架构:输入系统、编码系统、LED输出系统  - 确定摩斯密码编码规则(点、划、间隔时间)

2. 硬件准备

Arduino开发板 , LED灯及电阻 ,面包板和连接线  ,可选:按钮或传感器作为输入设备

3. 系统集成与测试

- 连接硬件电路

- 上传程序到开发板

- 测试不同字符串的摩斯编码输出

- 调整时间参数优化可读性实训中出现的问题及解决方案

1. LED闪烁时间不准确  - 问题:点划持续时间不一致,影响解码

                                  - 解决:使用millis()函数替代delay()实现非阻塞时间控制

2. 电路连接不稳定  - 问题:LED时亮时不亮,接触不良

                            - 解决:检查并重新固定所有连接,添加适当电阻保护LED  - 硬件改进:使用焊接替代面包板连接提高稳定性

二、学习收获

1. 嵌入式系统开发技能

- 掌握了LED与微控制器的接口技术

- 学会了非阻塞式编程方法处理时间敏感任务

2. 算法设计能力:实现了从字符到摩斯码的高效转换算法 ,理解了编码表数据结构的设计与优化

3. 问题解决能力  - 通过调试解决了硬件连接和时序控制问题  - 学会了系统化测试方法(单元测试→集成测试)

                                                                                                                                    (董晨阳撰写)

实训四 :让Arduino转起来

一、实训中出现的问题及解决方法

1. 舵机不转动:可能是控制线连接错误或代码中引脚设置错误。检查舵机控制线连接,确保棕色线接GND、红线接5V、橙色线接正确数字口(如代码中的9脚);仔细核对代码中attach函数设置的引脚是否与实际连接一致。

2. 舵机角度控制不准确:可能是电位器值转换错误或舵机本身精度问题。检查map函数的参数设置是否正确,确保能将电位器的0 - 1023值准确转换为舵机合适的角度范围;若舵机本身精度不足,可考虑更换更高精度的舵机。

二、从中学到的知识与技能

1. 硬件知识:深入了解了舵机的结构、工作原理和应用场景,以及电位器作为输入设备的使用方法,学会正确连接硬件电路。

2. 编程技能:掌握了Arduino中Servo库的使用,包括舵机对象创建、接口设定、角度控制等函数的运用,学会使用analogRead函数读取模拟值,以及map函数进行数值转换,提升了编程控制硬件的能力。

实物图

                                                                                                                                        (绪永鑫撰写)

                                                                                                                                (绪永鑫整理汇总)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容