经过四周的实训课,不同的内容让我们收获了很多。
实训一: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灯的闪烁频率表达出来,并成功破译了其他小组的摩斯密码内容。


(马羽彤撰写)
实训三:设计炫酷流水灯
一、实训流程
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函数进行数值转换,提升了编程控制硬件的能力。

(绪永鑫撰写)
(绪永鑫整理汇总)