北邮arduino实验报告
arduino实验报告

arduino实验报告Arduino实验报告引言Arduino是一款开源的电子原型平台,通过简单的硬件和软件结合,可以实现各种创意和创新的项目。
本文将对Arduino进行实验探究,展示其在电子制作中的应用和潜力。
一、Arduino简介Arduino是由意大利的团队开发的一款开源电子平台,它基于易于使用的硬件和软件,使得电子制作变得简单易行。
Arduino板上有输入输出引脚,可以连接各种传感器和执行器,通过编写简单的代码,实现各种功能。
二、实验一:LED闪烁LED闪烁是Arduino的入门实验之一。
通过连接一个LED灯到Arduino板上的数字引脚,编写代码使其闪烁,可以初步了解Arduino的基本操作和编程语言。
三、实验二:温度监测温度监测是Arduino在传感器应用方面的一个典型实验。
通过连接温度传感器到Arduino的模拟引脚,编写代码读取传感器的数值,并将其转化为温度显示在串口监视器上。
四、实验三:无线通信Arduino通过无线模块可以实现与其他设备的通信。
通过连接无线模块到Arduino的串口引脚,编写代码实现与另一个Arduino板或者计算机的通信,可以实现远程控制和数据传输等功能。
五、实验四:机器人控制Arduino可以用于控制机器人的运动。
通过连接电机驱动器和传感器到Arduino,编写代码实现机器人的运动控制和避障等功能,可以制作出简单的智能机器人。
六、实验五:音乐播放器Arduino可以用于控制音乐播放。
通过连接音乐模块和扬声器到Arduino,编写代码实现音乐的播放和控制,可以制作出简单的音乐播放器。
七、实验六:环境监测Arduino可以用于环境监测。
通过连接各种传感器到Arduino,编写代码读取传感器的数值,并将其显示在LCD屏幕上,可以实现对温度、湿度、光照等环境参数的监测。
八、实验七:物联网应用Arduino可以与互联网进行连接,实现物联网应用。
通过连接以太网模块到Arduino,编写代码实现与云平台的通信,可以实现远程监控、数据上传等功能。
arduino液晶屏显示实训报告

arduino液晶屏显示实训报告本次实训旨在通过使用Arduino控制液晶屏显示信息来加深对于Arduino的理解,并实际运用其功能。
本报告将详细介绍实训的目标、步骤和结果,并对实训过程中遇到的问题进行总结和分析。
一、实训目标:1.熟悉Arduino开发环境的搭建和基本操作;2.掌握Arduino控制液晶屏显示的基本原理和方法;3.实现Arduino与液晶屏的连接和数据传输;4.利用液晶屏显示特定信息,如温度、湿度等。
二、实训步骤:1.硬件准备:准备Arduino开发板、液晶屏、杜邦线等硬件设备;2.软件设置:安装Arduino开发环境,并选择合适的库文件以支持液晶屏;3.连接电路:按照液晶屏的引脚定义,将Arduino与液晶屏进行正确连接;4.编写代码:使用Arduino编程语言,编写控制液晶屏显示的代码;5.上传代码:将编写好的代码上传至Arduino开发板,实现与液晶屏的通信;6.测试验证:观察液晶屏显示的效果,并进行必要的调试。
三、实训结果:通过本次实训,我们成功实现了Arduino控制液晶屏显示信息的目标。
液晶屏能够准确显示我们预设的各种信息,如温度、湿度等。
在实际的应用场景中,我们可以通过传感器采集环境数据,并通过Arduino将这些数据显示在液晶屏上,从而提供给用户实时的信息反馈。
四、问题总结与分析:在实训过程中,我们遇到了一些问题,如液晶屏的接线错误、代码逻辑错误等。
通过仔细检查接线、逐行调试代码等方法,我们逐一解决了这些问题,并最终实现了预期的功能。
在今后的实践中,我们需要更加注意细节,认真阅读硬件设备和库文件的说明文档,以避免类似的错误。
结论:通过本次实训,我们深入了解了Arduino控制液晶屏显示的原理和方法,并成功实现了相关功能。
这对于我们进一步学习和应用Arduino有着积极的促进作用。
同时,我们也提高了对于硬件设备接线和软件编程的实践能力。
希望今后能够将所学知识应用于更广泛的领域,为社会的发展做出贡献。
arduino实习报告

arduino实习报告在上学期结束后的暑假里,我有幸得到了一份在一家科技公司的实习机会。
这家公司专注于物联网领域的研究和开发,并使用Arduino作为主要的开发平台。
作为一名对电子技术有浓厚兴趣的学生,这对我来说是一次绝佳的机会。
在这篇报告中,我将分享我在实习期间所学到的知识和经验。
1. 简介与背景在开始正式介绍我的实习经历之前,我想先为大家提供一些关于Arduino的基本背景信息。
Arduino是一款开源的电子原型平台,它使用易于理解且易于编程的软件和硬件,旨在帮助初学者和专业人士创造交互式的电子作品。
它由一个开放的硬件和一个集成开发环境(IDE)构成,可以轻松地编写和上传程序代码到Arduino板上。
2. 实习目标在实习的开始阶段,我与我的导师一起制定了一系列的实习目标。
首先,我希望能够熟练掌握Arduino的基本操作和编程语言。
其次,我想在物联网项目的实际开发中获得经验,并学习如何将传感器与Arduino板相互连接。
最后,我希望能够参与到一个完整的项目中,亲身体验从设计到制作再到调试的整个过程。
3. 实习内容在整个实习期间,我主要从事两个方面的工作。
首先,我负责为公司开发的智能家居系统编写代码,以实现远程控制和传感器数据的采集。
这对我来说是一个很好的学习机会,因为我不仅能够巩固自己在Arduino编程方面的知识,还能够了解智能家居领域的最新发展动向。
4. 实习心得与体会实习期间,我深刻体会到了实际工作与课堂学习之间的差距。
在学校里,我们通常只会进行一些简单的实验和模拟项目,很少涉及到真实的应用场景。
但在实习过程中,我亲身体验到了产品开发的全过程,包括从需求分析到系统设计,再到最后的测试和部署。
这让我对自己的专业有了更深入和全面的认识。
5. 总结与展望通过这次实习,我不仅提升了自己的技术能力,还了解了物联网领域的最新发展。
我相信,这些经历将对我未来的学习和职业发展产生积极的影响。
未来,我希望能够继续学习和研究Arduino和物联网技术,并将所学应用于更多实际项目中,为社会的发展做出贡献。
arduino实习报告

arduino实习报告这学期,我有幸参加了一家公司的Arduino实习。
在这段时间里,我收获了很多,不仅学会了很多硬件和软件知识,还锻炼了自己的动手能力和解决问题的能力。
首先,我要感谢我的导师,一个非常有耐心和负责的工程师。
他每次都会认真对待我的问题,给予我很多指导和建议。
如果没有他的帮助和支持,我不可能完成实习任务,也不可能学会这么多有用的知识。
在实习期间,我的主要任务是学习Arduino的基础知识,并用Arduino制作一些简单的电路和程序,体验这种开发板的强大功能。
在导师的帮助下,我读了很多经典的Arduino教材,学会了如何使用Arduino IDE进行电路设计、程序编写和上传。
接着,我参与了一个小组项目,任务是制作一个智能家居系统,随时监控室内温度和湿度,并自动调节空气净化器和加湿器的工作模式。
我负责设计Arduino的硬件模块,包括传感器、继电器和LED灯,还负责编写程序,实现数据传输和控制功能。
这是一个非常有挑战性的项目,在实践中我遇到了不少困难,比如传感器读数不准、继电器无法控制等等。
但是我通过仔细阅读文档、查找资料和与同事讨论,最终成功完成了任务,并得到了公司领导的一致好评。
除此之外,我还参加了一些技术培训和研讨会,聆听了许多优秀工程师的经验分享和案例分析。
他们的经验和想法启发了我,提高了我的技术素养和创新能力。
在这个行业里,知识的更新和创新的推动非常重要,只有不断学习和升级自己的技能,才能不被淘汰、不被取代。
总的来说,这个Arduino实习让我获得了很多。
除了硬件和软件技术,我还学会了如何与团队协作、如何从错误中吸取教训、如何面对挑战和解决问题。
这些经验和能力,对我今后的学习和工作都非常有帮助。
我希望将来可以继续从事这个行业,探索更多未知的领域,实现自己的梦想和价值。
arduino实验报告

arduino实验报告《Arduino实验报告》Arduino是一种开源的电子原型平台,由意大利的开发者设计,用于快速搭建原型并进行实验。
它可以用于各种项目,包括机器人、音乐播放器、智能家居设备等。
在本次实验中,我们将使用Arduino平台进行一系列实验,以探索其功能和应用。
实验一:LED灯控制我们首先搭建了一个简单的电路,将一个LED灯连接到Arduino板上,并编写了一个简单的程序,以控制LED灯的亮灭。
通过这个实验,我们学会了如何使用Arduino的数字输出引脚来控制外部设备。
实验二:温度传感器接下来,我们使用了一个温度传感器,将其连接到Arduino板上,并编写了一个程序来读取传感器的数据,并将其显示在串行监视器上。
通过这个实验,我们学会了如何使用Arduino的模拟输入引脚来读取外部传感器的数据。
实验三:蜂鸣器控制在第三个实验中,我们连接了一个蜂鸣器到Arduino板上,并编写了一个程序,以控制蜂鸣器的发声。
通过这个实验,我们学会了如何使用Arduino的数字输出引脚来控制发声设备。
实验四:无线通信最后,我们使用了一个无线模块,将其连接到Arduino板上,并编写了一个程序,以实现两个Arduino板之间的无线通信。
通过这个实验,我们学会了如何使用Arduino的串行通信功能来实现设备之间的数据传输。
通过以上一系列实验,我们对Arduino平台的功能和应用有了更深入的了解。
它不仅可以用于教育和学习,还可以用于各种实际项目中。
我们期待未来能够进一步探索Arduino的潜力,以应用于更多的创新和实践中。
arduino实验报告3000字论文

arduino实验报告3000字论文篇一:Arduino毕业设计说明书(论文)模板示例摘要本文针对Arduino能通过各种传感器感知环境的功能,对现有的物联网技术进行了分析和研究,详细介绍了Arduino平台下植物状态监测系统的设计与实现。
文章首先分析了物联网技术的背景和意义。
然后在第一章和第二章简单介绍了单片机和Arduino的相关信息,第三章介绍了本次设计所需要的器材,从第四章到第六章中详细描述了关键的数据上传和实时监控部分,包括:如何采集数据,如何进行数据上传,将从传感器上获取的数据上传到后台WEB,以及上传之后处理数据,设置预警等。
最后本文还分析了在数据上传和处理数据时遇到的一些问题和解决方案,展望了一些扩展功能。
【关键词】物联网Arduino 植物状态监测AbstractAccording to the Arduino through a variety of sensors to perceive the environment function, the existing networking technology for analysis and research, introduces the design and implementation of plant condition monitoring system based on Arduino platform.This paper analyzes the background and significance of the technology of IOT firstly. And then, from the fourth chapter to the sixth chapter, the key data upload and real-time monitoring parts are described in detail, including: How to upload data, upload the data from the sensor to the background WEB, and processing data, set the alarm, etc. Finally, thispaper also analyzes some problems in data processing and data upload and solutions.【Key Words】 IOTArduinoplant conditionmonitoring目录摘要................................................................... (I)Abstract ............................................................ ..................................................... II 目录................................................................... (III)前言................................................................... .. (1)1单片机为核心器件——Arduino.......................................................... . (2)1.1单片机定义................................................................... (2)1.2单片机和个人计算机之间的异同 (2)1.3单片机的功能................................................................... .. (2)1.4单视图................................................................... .. (2)2 Arduino的基本组成 .................................................................. (3)2.1 Arduino定义 .................................................................. . (3)2.2 Arduino的诞生 .................................................................. (3)2.3 Arduino语言 .................................................................. . (3)2.3.1 关键字................................................................... (4)2.3.2 语法符号................................................................... .. (4)2.3.3 运算符................................................................... (4)2.3.4 数据类型................................................................... .. (5)2.3.5 常量................................................................... (5)2.3.6 结构................................................................... (6)2.3.7 功能................................................................... (6)3 本次设计所需的硬件与软件................................................................... . (7)3.1 Arduino UNO.................................................................. . (7)3.1.1 Arduino uno基本概要 (8)3.1.2 通信接口................................................................... .. (8)3.1.3 下载程序................................................................... .. (9)3.1.4 注意要点................................................................... .. (9)3.2 DHT11传感器和LY-69................................................................ (9)3.3 开发环境................................................................... .. (11)4 植物生长状态监测系统介绍................................................................... . (12)4.1 设计思路................................................................... . (12)4.2设计步骤................................................................... .. (13)4.2.1设置网络................................................................... (13)4.2.2获取数据................................................................... (13)4.2.3数据分析................................................................... (13)4.2.4处理分析结果................................................................... . (13)4.2.5设置预警................................................................... (13)4.2.6与用户交互................................................................... .. (13)5植物生长状态监测系统概要设计...................................................................135.1工作原理................................................................... .. (13)图................................................................... . (15)6植物生长状态监测系统详细设计...................................................................166.1设计目的................................................................... .. (16)6.2功能模块设计................................................................... (16)6.2.1网络连接................................................................... (16)6.2.2获取数据................................................................... (17)6.3系统调试................................................................... .. (19)6.3.1编译程序................................................................... . (19)序................................................................... . (20)7运行环境与结论................................................................... . (24)7.1硬件环境................................................................... .. (24)7.2软件环境................................................................... .. (24)7.3运行环境................................................................... .. (24)7.4运行结果................................................................... .. (24)存在的问题和不足................................................................... . (28)总结................................................................... (29)致谢................................................................... (30)参考文献................................................................... . (31)前言物联网是新一代信息技术的重要组成部分,也是信息化时代的重要发展阶段。
arduino实训报告总结1000字

arduino实训报告总结1000字
本次实训是一次非常有意义的经历。
在这次实训中,我们学习了如何使用Arduino板进行编程和控制。
我们学习了许多有关电子和编程的知识,并且最终成功地构建了一个完整的项目。
在实训的开始,我们学习了基本的电子知识和电路理论,包括电路元件的功能、电路组成、电流电压等基本概念。
我们还学习了如何使用Arduino板和电脑进行编程,并且学习了如何使用Arduino 的IDE软件进行代码编写和上传。
在接下来的实训中,我们开始探索如何使用Arduino板控制各种不同的电子元件,如LED灯、蜂鸣器、电机等。
我们学习了如何使用Arduino的数字和模拟输出来控制这些元件的电流和电压,以达到控制它们的目的。
在接下来的几周中,我们开始着手设计我们的项目。
我们讨论了各种不同的想法,并最终决定设计一个智能家居控制系统。
我们使用了各种传感器和元件,如温度传感器、湿度传感器、LED灯、电机等,并使用了各种控制算法和逻辑来实现我们的目标。
在实现我们的项目时,我们遇到了许多困难和挑战。
例如,我们需要确保不同的元件之间能够正确地通信和互动,我们需要确保我们的代码能够正确地实现我们的控制逻辑。
在这个过程中,我们学习了如何使用调试工具和技术来解决这些问题,并最终成功地实现了
我们的项目。
总的来说,这次实训是一次非常有意义和有益的经历。
我们学习了许多关于电子和编程的知识,并最终成功地构建了一个完整的项目。
这次实训不仅提高了我们的技能和知识水平,也提高了我们的团队合作和解决问题的能力。
我们相信这次实训对我们未来的学习和职业生涯都会产生积极的影响。
arduino实习报告

arduino实习报告一、引言在本次实习中,我有幸参与了一个关于Arduino的项目,通过实际操作和团队合作,我对Arduino的应用和原理有了更深入的了解。
本报告将对我在实习中的学习经历和所取得的成果进行详细的介绍。
二、实习概述在实习初期,我与我的团队成员共同制定了项目的目标和计划。
我们的目标是设计一个基于Arduino的智能家居控制系统,通过连接各种传感器和执行器,实现对家居设备的远程监控和控制。
三、实习内容1. 学习Arduino的基础知识在实习开始前,我对Arduino的了解仅限于书本知识。
因此,我在实习初期花了大量的时间学习Arduino的基础知识,包括如何搭建和配置Arduino开发环境,如何编写Arduino程序以及如何与各种传感器和执行器进行交互。
2. 设计和搭建智能家居系统的硬件为了实现我们的目标,我们需要选择合适的传感器和执行器,并将它们与Arduino进行连接。
在这个过程中,我学会了如何选择合适的硬件组件以及如何将它们连接到Arduino上。
3. 编写智能家居系统的控制程序在硬件搭建完成后,我们需要编写控制程序来实现对家居设备的监控和控制。
通过研究和学习,我使用Arduino编程语言开发了一套完整的控制程序,通过该程序,用户可以通过手机应用远程监控和控制家居设备。
4. 测试和优化智能家居系统为了确保我们的系统能够正常工作,我们进行了多次测试和优化。
在测试过程中,我发现了一些硬件和软件方面的问题,并及时进行了修复和改进。
通过多次优化,我们的系统逐渐趋于稳定和可靠。
四、实习成果通过参与这个项目,我获得了许多宝贵的经验和技能。
首先,我深入了解了Arduino的应用和原理,学会了如何搭建和配置Arduino开发环境,以及如何编写Arduino程序。
其次,我学会了如何选择和使用合适的传感器和执行器,并将它们与Arduino进行连接。
最重要的是,我学会了如何通过团队合作来解决问题,这在实际工作中非常重要。
arduino实验心得与总结

arduino实验心得与总结一、引言Arduino是一款开源的电子原型平台,可以用来进行各种物联网项目的开发。
作为一个初学者,我在学习使用Arduino的过程中遇到了很多问题,但也取得了不少进展。
在这篇文章中,我将分享我的实验心得和总结,希望对其他初学者有所帮助。
二、基础知识在开始实验之前,我们需要掌握一些基础知识。
首先是Arduino的基本概念和功能,包括它的工作原理、输入输出接口、编程语言等等。
其次是电路原理图和电子元件的基础知识,例如LED灯、电位器、电容等等。
三、实验步骤1. LED灯闪烁实验:这是最基本的实验之一,通过控制LED灯闪烁来了解Arduino的输入输出接口和编程语言。
2. 电位器调节LED亮度实验:这个实验可以让我们了解模拟输入输出接口以及如何使用变量和函数。
3. 蜂鸣器发声实验:这个实验可以让我们了解如何使用PWM(脉冲宽度调制)来控制蜂鸣器发声,并且可以通过改变频率和占空比来改变声音。
4. 温度传感器实验:这个实验可以让我们了解如何使用模拟输入接口来读取温度传感器的数值,并且可以通过串口通信将数据传输到计算机上进行处理。
5. 红外遥控器实验:这个实验可以让我们了解如何使用红外遥控器来控制Arduino,包括接收和发送红外信号。
四、问题解决在实验过程中,我们可能会遇到各种各样的问题。
例如,代码编写错误、电路连接错误、元件损坏等等。
在这种情况下,我们需要逐步排除问题并找到正确的解决方法。
五、总结通过学习Arduino,我对电子原型设计和物联网有了更深入的了解。
同时,我也学会了如何使用基本的电子元件和编程语言来构建简单的电路和程序。
在未来,我希望能够继续深入学习Arduino,并且将它应用于更多有趣的项目中。
六、参考资料1. Arduino官方网站2. 《Arduino入门指南》3. 《Arduino编程从入门到精通》。
arduino实习报告

arduino实习报告【Arduino实习报告】一、实习介绍本次实习是在一家科技公司进行的,主要任务是学习和应用Arduino开发平台。
Arduino是一款开源硬件和软件平台,可用于构建各种创意项目和原型设计。
通过实习,我希望能够深入了解Arduino的原理和应用,并且能够独立完成一个简单的项目。
二、实习内容1. 学习Arduino基础知识在实习初期,我花了一些时间来学习Arduino的基础知识。
这包括了Arduino的硬件组成、编程语言以及常用的传感器和模块。
通过学习,我掌握了Arduino的开发流程和基本编程语法,并且了解了如何使用各种传感器和模块来与Arduino进行交互。
2. 完成一个LED灯控制项目在学习的基础上,我开始着手完成第一个项目,即控制LED灯的亮灭。
首先,我搭建了电路,将一个LED灯和一个电阻连接到Arduino开发板上。
然后,我编写了相应的代码来控制LED的亮灭。
通过调试和修改代码,最终实现了通过Arduino控制LED灯的功能。
3. 实现温度监测系统在掌握了基础操作后,我决定挑战一个稍微复杂一些的项目。
我选择实现一个温度监测系统,并将温度数据通过串口传输到计算机上显示。
为了实现这个功能,我需要使用一个温度传感器和一个串口模块。
通过调试和不断学习,我成功地完成了这个项目,并且在计算机上实时监测到了温度的变化。
4. 自主设计一个智能家居控制系统在完成了前两个项目后,我对Arduino的应用越发感到兴趣。
因此,我决定自主设计一个智能家居控制系统。
我利用各种传感器和模块,实现了对家居设备的智能控制,包括灯光、窗帘和空调等。
同时,我还通过编写手机App来实现对家居设备的远程控制。
这个项目带给我很大的满足感和成就感。
三、实习收获通过这次实习,我学到了许多知识和技能。
首先,我掌握了Arduino的基本原理和开发流程,了解了如何使用各种传感器和模块与Arduino进行交互。
其次,我通过实际操作,提高了我的解决问题的能力和动手实践的能力。
ARDUINO按键实验报告

digitalWrite(key_1,HIGH);//设置第1引脚为高电平,点亮led灯
digitalWrite(key_2,LOW);//设置第2引脚为低电平,熄灭led灯
}
else
{
digitalWrite(key_1,LOW);//设置第1引脚为低电平,熄灭led灯
digitalWrite(key_2,HIGH);//设置第2引脚为高电平,点亮led灯
ARDUINO实验报告
实验名称
按键试验
课程名称
物联网设计与实践
学期
2016-2017(1)
专业、班级
物联网工程15-01
实验地点
计算机楼215实验室
指导教师
实验时间
2016.11.02 14:00-15:50
成员1姓名
学 号
成员2姓名
学 号
成员3姓名
学 号
实验任务和目的
练习按键操作,按键产生随机数点亮对应LED。
实验条件
Arduino开发板,Arduino软件,面包板,红蓝LED灯各一个,按键开关一个,导线若干等,
实验过程和结果
程序设计思路:在未按下按键时,红灯亮,按下按键开关时,蓝灯亮。一号端口接蓝灯,二号端口接红灯,负极连接电阻,然后接地,按键开关一端接5V输出端口,另一端在接电阻前连接A5端口,通过电阻后就GND端口。导入附录中的程序,实验结果如下:
实验总结和心得
亲手把实验做出来了,感觉挺好的,虽然只是一个小实验,但毕竟也是大家一起努力的成果,此次试验让我们懂得,原来Arduino还是可以扫描电压的,这一次试验过后,我更加喜欢这一门课了,真的,Arduino真是太博大精深了,我们要走的路还很长。
附录
arduino实习报告

arduino实习报告一、实习背景作为一名电子工程专业的学生,我对于Arduino这个开源电子原型平台有着浓厚的兴趣。
为了更好地了解和掌握Arduino的应用,我决定在大学暑假期间参加一家电子公司的实习项目。
这个实习项目的主要内容是利用Arduino开发一款智能家居控制系统。
二、实习内容在实习的第一天,我被分配到了一个由几名工程师组成的团队中。
他们对我进行了详细的介绍和培训,让我了解了Arduino的基本原理和使用方法。
随后,我开始参与到项目的开发中。
首先,我们团队制定了一个详细的项目计划,并确定了各个阶段的目标和时间节点。
然后,我们开始进行硬件设计和电路连接。
通过使用Arduino板和各种传感器、执行器等电子元件,我们搭建了一个完整的智能家居系统的原型。
接下来,我们开始进行软件开发。
我们使用Arduino编程语言来编写控制程序,实现各种功能,如温度、湿度等传感器的数据采集和显示,以及灯光、窗帘等执行器的控制。
通过不断调试和优化,我们最终实现了一个功能齐全、稳定可靠的智能家居控制系统。
三、实习收获通过这次实习,我不仅学到了很多关于Arduino的知识和技能,还锻炼了自己的团队合作能力和问题解决能力。
在与团队成员的合作中,我学会了如何与他人进行有效的沟通和协作,如何分工合作,如何互相支持和帮助。
在遇到问题和困难时,我学会了主动思考和寻找解决方案,不断尝试和改进。
此外,通过参与实际项目的开发,我对于Arduino的应用有了更深入的理解。
我了解到Arduino不仅可以用于简单的电子实验和小型项目,还可以应用于更复杂的系统和设备。
我看到了Arduino的潜力和广阔的应用前景,对于将来的职业发展有了更清晰的规划和目标。
四、实习总结这次Arduino实习给我提供了一个宝贵的机会,让我在实际项目中应用所学知识,提升了自己的能力和水平。
通过与团队成员的合作,我不仅学到了专业知识和技能,还培养了良好的工作态度和团队精神。
arduino数字IO实验报告

实验题目:实验一、Arduino数字IO实验目的:1、学习Aduino数字IO基本函数2、学习键盘输入与控制输出实验仪器设备及材料:计算机、Proteus软件实验原理:代码:int LED1=8;int LED2=9;int LED3=10;int LED4=11;int button=12; //开关接IO12void setup(){pinMode(LED1,OUTPUT);pinMode(LED2,OUTPUT);pinMode(LED3,OUTPUT);pinMode(LED4,OUTPUT); pinMode(button,INPUT);} //配置IO引脚的输入模式void loop(){ if(digitalRead(button)==LOW) //判断按钮是否按下{ digitalWrite(LED1,HIGH);digitalWrite(LED2,HIGH);digitalWrite(LED3,HIGH);digitalWrite(LED4,HIGH); } //按钮按下输出高电平,LED灯全亮else{ digitalWrite(LED1,LOW); digitalWrite(LED2,LOW);digitalWrite(LED3,LOW); digitalWrite(LED4,LOW); //按钮释放输出低电平,LED灯全灭LED } }实验内容、步骤及结果:一、实验内容:利用按键控制LED灯的亮灭二、实验步骤:1、打开Proteus软件,按照原理图(图1.1)连接电路,IO6连接控制按键且电路连接后IO12的初始状态为高电平,IO8,IO9,IO10,IO11分别连接LED灯。
2、编写代码,将代码编译运行,当代码无错误时,写入Aduino中。
3、运行仿真。
三、仿真步骤及结果:四、实验结果:按下按钮IO12的输入发生了变化由高电平变成低电平,当IO12为低电平时IO8、IO9、IO10、IO11的输出由低电平变为高电平,四盏LED灯亮起。
arduino实习报告

arduino实习报告[Your Name][Your Student ID][Date][Centered Title: Arduino Internship Report]1. IntroductionIn this report, I will provide an overview of my internship experience at [Company Name], where I worked with Arduino, an open-source electronics platform. This report aims to reflect on the knowledge and skills gained during the internship and evaluate the overall learning outcomes.2. BackgroundArduino is a widely-used platform for creating interactive electronic projects. It consists of both hardware (a microcontroller board) and software (Arduino IDE) components. With its user-friendly interface and extensive community support, Arduino enables users to develop innovative projects in various fields such as robotics, automation, and IoT applications.3. ObjectivesThe main objectives of my internship were as follows:a) Gain hands-on experience with Arduino hardware and software.b) Design and implement a practical project using Arduino.c) Collaborate with team members and learn about project management in a professional setting.4. Internship activities4.1 Training and FamiliarizationDuring the initial phase of the internship, I underwent comprehensive training on the basics of Arduino technology. This training included lectures, workshops, and practical exercises conducted by experienced engineers. Through various coding challenges and hands-on projects, I familiarized myself with the Arduino IDE and different types of Arduino boards available.4.2 Project DevelopmentAfter the training, I was assigned to a project team responsible for developing an automated greenhouse system using Arduino. The project aimed to create an environment where plants could thrive by continually monitoring and adjusting factors such as temperature, humidity, and lighting conditions.I actively contributed to the overall development process, including:a) Designing the circuit layout for connecting sensors, actuators, and the Arduino board.b) Writing code to read sensor data, control actuators, and perform necessary calculations for environmental control.c) Testing and troubleshooting the system to ensure accurate data collection and proper functioning.d) Collaborating with team members to integrate the hardware and software components seamlessly.e) Documenting the project's progress and results, including technical diagrams and code explanations.Throughout the project, I faced challenges that required problem-solving skills and creativity. However, with the guidance of senior engineers and effective teamwork, we successfully completed the project within the given timeline.5. Learning OutcomesWorking with Arduino during the internship provided me with valuable insights and practical skills, including:a) Proficiency in programming Arduino boards using the Arduino IDE.b) Understanding of circuit design and electronic component integration.c) Knowledge of various sensors and actuators and their applications in real-world projects.d) Experience in troubleshooting and debugging complex systems.e) Collaboration and effective communication within a team environment.6. ConclusionMy internship experience at [Company Name] introduced me to the fascinating world of Arduino and expanded my understanding of itsapplications. I successfully achieved the internship objectives, gaining practical knowledge and enhancing my technical skills. This experience has further motivated my interest in embedded systems and opened doors to potential career opportunities in the field.I am grateful to [Company Name] for providing me with this valuable opportunity and to the entire project team for their guidance and support throughout the internship. I look forward to continuing my engagement with Arduino and contributing to innovative projects in the future.[End of the report]Note: The above report is a sample representation of an Arduino internship report. Please make sure to adapt it to your own experience, add relevant details, and proofread it thoroughly before submission.。
arduino实习报告

arduino实习报告1. 实习背景和目的在校期间,为了提升自己的硬件开发实践能力,我决定选择一份与电子设计相关的实习岗位。
通过实习,我希望能够深入了解Arduino开发平台,并在实际应用中掌握相关技能,为未来的职业发展打下良好基础。
2. 实习岗位和工作内容在实习期间,我被分派到公司的硬件开发团队,负责参与Arduino 项目的设计、调试和优化。
具体的工作内容主要包括:a. 初期学习:深入了解Arduino的基本原理和开发工具,熟悉相关编程语言和开发环境。
b. 项目设计:参与Arduino项目的设计过程,包括硬件电路设计、传感器模块的选型和连接,以及与其他外部设备的接口设计。
c. 编程开发:根据项目需求,通过编写Arduino的C/C++代码,实现功能模块的控制和响应。
d. 调试和优化:通过实际测试和调试,排除硬件和软件因素导致的问题,并进行性能优化,提升项目的稳定性和效率。
3. 实习收获和成果在实习期间,我取得了一些实际成果,并获得了宝贵的经验和知识:a. 熟悉Arduino平台:通过实际应用,我深入了解了Arduino的工作原理、开发环境和常用的开发板及传感器模块。
b. 掌握硬件设计:通过参与项目设计,我学会了进行硬件电路的设计和搭建,了解了电子元器件的选型和连接方式。
c. 编程能力提升:在实习期间,我熟练掌握了Arduino的编程语言和编程环境,能够进行基本的功能开发和调试。
d. 团队协作能力:通过与团队成员合作,我学会了如何与他人协作,有效地沟通和分工合作,提高了团队的整体效能。
4. 实习心得和感想在整个实习期间,我遇到了一些困难和挑战,但通过实践和不断的学习,我逐渐克服了这些问题,并取得了一定的成绩。
同时,我也意识到在未来的学习和工作中,需要不断提升自己的综合素质和技能,才能更好地适应快速发展的科技行业。
此外,通过实习我还结交了一些优秀的同事和导师,他们的经验和指导对我产生了积极的影响。
arduino实习报告

arduino实习报告在我的实习期间,我主要参与了一个基于Arduino的智能家居系统的开发。
下面是对我在实习期间所做的工作以及我在该项目中的贡献的详细讨论。
首先,我负责设计和开发智能家居系统的硬件部分。
我使用Arduino开发板和各种传感器(如温度传感器、湿度传感器、人体红外传感器等),通过Arduino的引脚和接口连接传感器,并编写相应的代码来读取传感器数据。
经过测试和调试,我成功地集成了这些传感器,并将其数据传输到主控制器。
其次,我参与了智能家居系统的软件开发。
我使用Arduino的开发环境编写代码来控制各种设备。
例如,我编写了一段代码,使得当温度传感器检测到室内温度超过设定值时,Arduino会控制空调开关。
我还编写了代码用于控制智能灯泡,使其根据环境光线自动调节亮度。
除了硬件和软件开发,我还负责测试和调试整个系统。
我通过编写测试用例,确保系统的各个部分能够正常工作。
我也与团队成员合作,修复了一些错误和BUG,确保系统的稳定性和可靠性。
在整个实习期间,我学到了很多关于Arduino的知识和技能。
我深入了解了Arduino的基本原理和开发流程。
我学会了使用Arduino开发环境编写代码,并与各种传感器和设备进行交互。
我还学到了如何测试和调试Arduino项目,以及如何与团队成员合作完成一个大型的项目。
通过这次实习,我对于物联网和智能家居的概念和应用有了更深入的了解。
我认识到Arduino作为一个简单易用的开发平台,可以实现各种创意和想法。
我也意识到了物联网技术的巨大潜力和广阔前景。
总结来说,我的实习期间主要集中在设计、开发和测试基于Arduino的智能家居系统。
通过这个项目,我获得了丰富的经验和知识,并进一步提高了我的技能水平。
我将这次实习视为一个宝贵的机会,帮助我更好地理解和应用物联网技术。
我相信我在这个项目中所学到的东西将对我的未来职业发展有着重要的影响。
arduino实验心得

arduino实验心得《arduino 实验心得》在接触 Arduino 之前,我对电子制作和编程的了解仅限于书本上的理论知识。
然而,当我真正开始进行 Arduino 实验时,才发现这是一个充满惊喜和挑战的领域。
Arduino 是一款便捷灵活、容易上手的开源电子平台,它为我们这些电子爱好者和初学者打开了一扇通往创造和探索的大门。
在进行Arduino 实验的过程中,我深刻地感受到了它的魅力所在。
首先,Arduino 的硬件部分非常易于理解和操作。
它的板载接口清晰明了,各种传感器和模块的连接也相对简单。
即便是像我这样之前没有太多硬件基础的人,也能够在短时间内完成基本的电路搭建。
我还记得第一次成功将一个 LED 灯连接到 Arduino 板上,并通过简单的代码控制其闪烁的时候,那种成就感简直难以言表。
在软件方面,Arduino 所使用的编程环境也十分友好。
它基于 C/C++语言,对于有一定编程基础的人来说,很快就能上手。
而且,网上有大量的开源代码和示例可供参考,这为我们解决问题和学习提供了极大的便利。
比如,当我在尝试实现一个温度传感器的读取和显示时,遇到了一些数据处理的问题。
通过在网上搜索相关的代码示例,并对其进行分析和修改,最终成功地解决了问题。
在进行Arduino 实验的过程中,我也遇到了不少困难和挫折。
其中,最让我头疼的就是信号干扰的问题。
有一次,我在制作一个基于超声波传感器的测距装置时,发现测量结果总是不稳定,而且误差很大。
经过反复检查电路和代码,最终发现是由于周围的电磁干扰导致的。
为了解决这个问题,我尝试了多种方法,包括更换传感器的位置、增加屏蔽线等,经过多次尝试和调整,终于得到了较为准确和稳定的测量结果。
另外,电源管理也是一个需要特别注意的问题。
在一些复杂的项目中,如果电源供应不足或者不稳定,很容易导致系统出现异常甚至崩溃。
这让我明白了在进行电子设计时,不仅要关注功能的实现,还要充分考虑电源的可靠性和稳定性。
北邮arduino实验报告

电子电路综合实验设计实验名称:基于 Arduino 的电压有效值测量电路设计与实现学院:班级:学号:姓名:班内序号:实验基于Arduino 的电压有效值测量电路设计与实现一. 摘要Arduino是一个基于开放原始码的软硬件平台,可用来开发独立运作、并具互动性的电子产品,也可以开发与PC 相连的周边装置,同时能在运行时与PC 上的软件进行交互。
为了测量正弦波电压有效值,首先我们设计了单电源供电的半波整流电路,并进行整流滤波输出,然后选择了通过Arduino设计了读取电压有效值的程序,并实现使用此最小系统来测量和显示电压有效值。
在频率和直流电压幅度限定在小范围的情况下,最小系统的示数基本和毫伏表测量的值相同。
根据交流电压有效值的定义,运用集成运放和设计的Arduino最小系统的结合,实现了运用少量元器件对交流电压有效值的测量。
关键字:半波整流整流滤波 Arduino最小系统读取电压有效值二. 实验目的1、熟悉Arduino 最小系统的构建和使用方法;2、掌握峰值半波整流电路的工作原理;3、根据技术指标通过分析计算确定电路形式和元器件参数;4、画出电路原理图(元器件标准化,电路图规范化);5、熟悉计算机仿真方法;6、熟悉Arduino 系统编程方法。
三. 实验任务及设计要求设计实现 Arduino 最小系统,并基于该系统实现对正弦波电压有效值的测量和显示。
1、基本要求(1)实现Arduino 最小系统,并能下载完成Blink 测试程序,驱动Arduino 数字13 口LED 闪烁;(2)电源部分稳定输出5V 工作电压,用于系统供电;(3)设计峰值半波整流电路,技术指标要求如下:输入信号电压范围:0~1V;频率范围:500Hz~2KHz;电源电压:5V;(4)采用Arduino 最小系统读取峰值半波整流电路的输出结果,并计算正弦波电压有效值;(5)测量出的有效值通过Arduino 串口监视器进行读取。
2、提高要求(1)用数码管显示正弦信号有效值的测量结果;(2)用Arduino 最小系统直接读取正弦信号计算有效值,比较不同测试方法的测量误差;(3)自拟其他功能。
Arduino智能小车实践学习报告

Arduino智能⼩车实践学习报告Arduino智能⼩车实践学习报告参与⼈员:20135316 王剑桥20135312 吴汉彦20135319 朱锂⼀、背景了解:1. 单⽚机:将中央处理单元CPU(进⾏运算、控制)、随机存储器RAM(数据存储)、存储器ROM(程序存储)、输⼊/输出设备I/O(串⾏⼝、并⾏输出⼝等)全部做到⼀块集成电路芯⽚中,即单⽚(单芯⽚)机。
⼀些单⽚机中除了上述部份外,还集成了其它部份如模拟量/数字量转换(A/D)和数字量/模拟量转换(D/A)等。
2. Arduino:这是⼀个能够⽤来感应和控制现实物理世界的⼀套⼯具。
它由⼀个基于单⽚机并且开放源码的硬件平台,和⼀套为Arduino板编写程序的开发环境组成。
Arduino编程语⾔可以通过C++库进⾏扩展,如果有⼈想去了解技术上的细节,可以跳过Arduino语⾔⽽直接使⽤AVR C 编程语⾔(因为Arduino语⾔实际上是基于AVR C的)。
性能:Digital I/O 数字输⼊/输出端⼝0—13。
Analog I/O 模拟输⼊/输出端⼝0-5。
⽀持ICSP下载,⽀持TX/RX。
输⼊电压:USB接⼝供电或者5V-12V外部电源供电。
输出电压:⽀持3.3V级5V DC输出。
处理器:使⽤Atmel Atmega168 328处理器⼆、编程知识总结1、基础C语⾔(1)关键字:ifif...elseforswitch casewhiledo... whilebreakcontinuereturngoto(2)语法符号:;{}//(3)运算符:=+-*/%==!=<><=>=&&||!++--+=-=*=/=(4)数据类型:boolean 布尔类型charbyte 字节类型intunsigned intlongunsigned longfloatdoublestringarrayvoid(5)数据类型转换:char()byte()long()float()(6)常量:HIGH | LOW 表⽰数字IO⼝的电平,HIGH 表⽰⾼电平(1),LOW 表⽰低电平(0)。
arduino实习报告

arduino实习报告一. 引言在大学期间,学生们通常都需要进行一些实习活动,以加深对所学知识的理解和应用。
本文将详细介绍我的Arduino实习报告,包括实习的背景、目的和实习期间的实际工作。
二. 实习背景Arduino是一款开源的电子原型平台,旨在帮助人们快速学习和实践电子设计。
作为一个电子与通信工程专业的学生,我决定选择Arduino实习来提升自己在硬件设计与编程方面的能力。
三. 实习目的我的实习目的主要有以下几个方面:1. 深入了解Arduino平台的原理和工作方式,掌握基本的硬件设计技巧;2. 学习如何使用Arduino进行电子原型的制作和测试,提高自己的实践能力;3. 探索Arduino在物联网、智能家居等领域的应用,了解当前的技术发展方向。
四. 实习内容1. 学习基础知识在实习开始之前,我首先对Arduino平台的基础知识进行了学习。
包括了Arduino的硬件结构、编程语言和常用的传感器、执行器等组件的使用方法。
通过阅读相关的书籍和教程,并结合实际操作进行实践,我逐渐掌握了Arduino的基本原理和操作技巧。
2. 完成实际项目在实习期间,我参与了一个实际的项目,旨在通过Arduino平台构建一个智能家居系统。
我与团队成员合作,负责设计和实现系统中的温度控制和照明控制功能。
首先,我们使用Arduino连接温度传感器,通过读取传感器的数据并进行处理,实现了室内温度的监测和控制。
其次,我们将Arduino与LED灯条相连,通过编写程序调节灯光的亮度和颜色。
通过不断优化和调试,我们成功地实现了一个简单但功能完善的智能家居系统。
3. 学习社区交流为了进一步提升自己的技能和认识到Arduino平台的更多应用,我积极参与了Arduino社区的交流活动。
在社区中,我与来自世界各地的工程师和爱好者分享了自己的项目经验和问题,得到了他们宝贵的建议和指导。
同时,我也学习了其他人的项目,拓宽了自己的思路和眼界。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子电路综合实验设计实验名称:基于 Arduino 的电压有效值测量电路设计与实现学院:班级:学号:姓名:班内序号:实验基于Arduino 的电压有效值测量电路设计与实现一. 摘要Arduino是一个基于开放原始码的软硬件平台,可用来开发独立运作、并具互动性的电子产品,也可以开发与PC 相连的周边装置,同时能在运行时与PC 上的软件进行交互。
为了测量正弦波电压有效值,首先我们设计了单电源供电的半波整流电路,并进行整流滤波输出,然后选择了通过Arduino设计了读取电压有效值的程序,并实现使用此最小系统来测量和显示电压有效值。
在频率和直流电压幅度限定在小范围的情况下,最小系统的示数基本和毫伏表测量的值相同。
根据交流电压有效值的定义,运用集成运放和设计的Arduino最小系统的结合,实现了运用少量元器件对交流电压有效值的测量。
关键字:半波整流整流滤波 Arduino最小系统读取电压有效值二. 实验目的1、熟悉Arduino 最小系统的构建和使用方法;2、掌握峰值半波整流电路的工作原理;3、根据技术指标通过分析计算确定电路形式和元器件参数;4、画出电路原理图(元器件标准化,电路图规范化);5、熟悉计算机仿真方法;6、熟悉Arduino 系统编程方法。
三. 实验任务及设计要求设计实现 Arduino 最小系统,并基于该系统实现对正弦波电压有效值的测量和显示。
1、基本要求(1)实现Arduino 最小系统,并能下载完成Blink 测试程序,驱动Arduino 数字13 口LED 闪烁;(2)电源部分稳定输出5V 工作电压,用于系统供电;(3)设计峰值半波整流电路,技术指标要求如下:输入信号电压范围:0~1V;频率范围:500Hz~2KHz;电源电压:5V;(4)采用Arduino 最小系统读取峰值半波整流电路的输出结果,并计算正弦波电压有效值;(5)测量出的有效值通过Arduino 串口监视器进行读取。
2、提高要求(1)用数码管显示正弦信号有效值的测量结果;(2)用Arduino 最小系统直接读取正弦信号计算有效值,比较不同测试方法的测量误差;(3)自拟其他功能。
3、提交材料(1)实验报告(含仿真结果、原理图)(2)峰值半波整流等相关电路的仿真文件;(3)Arduino 程序;(4)电路原理图文件。
四. 设计思路及结构框图设计思路:系统组成框图Arduino 电压有效值测量电路包括峰值半波整流电路、最小系统、显示、稳压电路四部分,其中最小系统包括微处理器、振荡电路、下载电路和测试电路。
峰值半波整流电路电源显示部分Arduino 最小系统元器件资料本实验中用到了一个LM741CN芯片,通过查找资料了解LM741CN的主要参数,管脚设置等。
一片ATMEGA8 芯片来搭建一个最小系统,通过查找资料了解ATMEGA8的主要参数和管脚设置。
.分块电路和总体电路的设计(1)半波电路的设计本实验需要的是输入7~10V的直流稳压电源,输出5V。
具体电源电路包括整流,滤波等部分,具体的设计如下。
仿真波形如下图所示(2)半波电路加上整流滤波的设计。
交流电经过整流后得到的是脉动直流,采用滤波电路可以大大降低这种交流纹波成分,让整流后的波形变得比较平滑。
通过整流滤波电路得到电压的峰峰值等于√2倍电压有效值。
仿真波形如下图所示四、功能实现及扩展1基本要求:实际实验中的波形截图及相关分析:五. 故障及问题分析1.问题一:半波整流电路的问题1)选择了不合适的半波电路左图为半波整流实验图,从图中可以看到半波波形无失真,利用直流抬高2.5V左右,读数为2.55V,符合仿真结果。
左图为滤波后实际实验图,从图中可以看到滤波效果很好,减去抬高的2.55V所得值为毫伏表测量值的√2倍,符合滤波要求。
失真波形图电路如下在使用LM741CN之前尝试用LM358做半波整流,由于滤波后峰值太低,采用全波整流完成,但仿真和实验均失真,故最终放弃使用LM358。
半波仿真波形图如下滤波仿真波形图如下2)电路没有共地(此时使用LM358)LM358严重失真波形图实际半波波形比仿真波形好,原因可能是仿真软件的元件库对元件的性能统计不完全,导致了与实际情况不符。
但无论仿真还是实际操作中都存在明显失真,故舍弃此电路设计。
可能和电容值有关。
此图也为LM358实际滤波图,原因是电路没有全部共地,共地后波形为上面的波形图。
分析及解决方法:器件LM358仿真始终就没能找到合适的半波整流电路,所以更换为LM741 最终得到了合适的半波波形。
3)在使用LM741时波形失真,电路没有接错。
分析及解决方法:LM741四号管脚没有接地。
问题二:使用Arduino过程中遇到的问题1)第一次接触Arduino接线接错导致ATMEGA8直接烧毁。
解决方法:确认下载器接口和图示的对应关系,重接导线。
2)没有把VCC和AREF相接,电压读数是错的。
分析及解决方法:AREF是A/D转换的参考电压输入端,是5V,不接入参考电压读数必然不对。
将两端连接问题解决。
问题三:读数时将电压改变范围扩大,出现不能忽略的误差分析及解决方法:通过示波器上测量的输出电压值和毫伏表测量的输入电压值的比值发现,输出和输入并非完美的线性关系,即在电路中存在一定的失真,但由于仿真中没有问题,迫于时间限制没能做出完美的线性输出,但可通过改写程序减小误差,如将电压值分段,计算几组比值,在代码中给每段不同的参数。
改进代码附在最后(在验收时未使用)。
六.实验改进1)将运算放大器U1由LM358换成LM741,将电路改为经典半波整流电路,观测波形,滤波电路最初使用20kΩ电阻,滤波后幅值较低,与毫伏表读数相差较多,后改为200Ω,幅值正常。
原因是20kΩ消耗能量过多,电路的负载能力可能不够。
改小电阻虽能减小损耗,但理论上输出电流的平滑性会降低,好在实验中没有出现此类现象。
2)Arduino程序改进。
①电压示数不对:第一次获得电压示数的时候发现是毫伏表测量的有效值的√2倍,于是我们在获取的电压上乘以了0.707,使读数相对准确了许多但误差依然存在。
②电压读数存在误差:为了使读数更加准确,我在不同幅值处都计算了输出端和毫伏表示数的比值并求平均,最终使Arduino读数在小范围内零误差读数。
但输入幅值一旦非常小或者非常大之后会体现出不小的误差,由于时间问题最终没能对程序进行改进,个人认为由于输出和输入并非完全线性关系,所以对电压读值进行分段,每段计算出不同的输出/输入的比例系数,相对会减少误差,但非线性关系也意味着输出存在失真,所以电路还应进行改进。
同组同学的滤波电阻都取的较小,相对的误差也较小,仿真中并无区别,希望还能在实际操作中进行探究。
后面附了改进之后的代码,一共进行两次改进,但最后一次停留在理论,未能进行实际操作的验证。
七. 总结和结论1.实验总结:本次试验是综合设计性实验,要求我们将以前学过的知识都综合运用起,并和新接触的Arduino器件结合起来使用,设计出具有一定综合功能的电路。
对Arduino进行了解并未花费太多时间,而半波整流电路的设计却是整个过程中最难的一部分,由于器件的性能和仿真似乎有出入,不同电路的仿真做了不下十种最终才找到了比较合适的。
2.实验结论:通过Arduino搭建最小系统和模拟电路的结合实现了电压有效值的读取,还有许多功能有待尝试。
有程序通过下载器经导线对ATMEGA8的输入输出管脚进行控制来实现自己的程序是非常有意思的事情,希望日后还有机会做此类尝试。
3.心得体会:这是一年的模电实验里最有意义的一次,约了六次实验,跑了9次实验室,用了非常多的时间去解决各种问题,起初觉得别人拿着现有的数据很快出图出结果非常羡慕,但是到后来一步一步慢慢达成试验目的也获得了许多成就感。
尤其是很难忘记烧掉一个ATMEGA8之后第二次连上导线接到电脑成功地进行第一次blink之后的喜悦,当时甚至给自己起了个新名字叫“布令客1号”,现在回想起来有点像小学生做的事情,但真的在完成一个之前全然不懂的任务之后非常的有成就感。
越到后期进步就越缓慢,但和同组的人交流之后发现并不是在原地踏步,虽然很长一段时间没能确定下来电路,但同时排除了不少错误的电路设计。
实验中收获的知识有限,但我觉得我得到了我几乎从来没有过的耐心,我甚至在实验结束后的五一小长假前一天认真的百度了色环读阻值,并且把所有的未知电阻挨个读值之后插回了电阻箱,那一刻我觉得电路实验是大学这两年最珍贵的课程,不能糊弄,不能投机取巧虽然在一定程度上可以,还培养了耐心,上了北邮之后我也算是第一次真正的觉得自己的专业还不错。
八. 所用元器件及测试仪表清单元器件清单仪器仪表清单九. 参考文献1.北邮电路中心《电子电路综合设计实验》2.《电子电路基础》北京邮电大学出版社刘宝玲3.电路中心网站4.极客工房Arduino教程资料附代码:1)初次代码:const int D=5;int a;int V;int Num[4];void disp(int pos,int num){for(int i(0);i<6;i++){digitalWrite(i,LOW);}digitalWrite(6,HIGH);digitalWrite(7,HIGH);digitalWrite(8,HIGH);digitalWrite(9,HIGH);digitalWrite(10,HIGH);digitalWrite(11,HIGH);digitalWrite(12,HIGH);digitalWrite(13,HIGH);if(num==0){digitalWrite(6,HIGH);digitalWrite(7,HIGH); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); }else if(num==1){digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,HIGH); }else if(num==2){digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,HIGH); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,HIGH); digitalWrite(12,LOW); digitalWrite(13,LOW); }else if(num==3){digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); }else if(num==4){digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,HIGH);}else if(num==5){digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,HIGH); digitalWrite(13,LOW); }else if(num==6){digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,HIGH); digitalWrite(13,LOW); }else if(num==7){digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); }else if(num==8){digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); }else if(num==9){digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW);digitalWrite(13,LOW);}digitalWrite(pos,HIGH);}// the setup routine runs once when you press reset: void setup() {// initialize the digital pin as an output.pinMode(0, OUTPUT);pinMode(1, OUTPUT);pinMode(2, OUTPUT);pinMode(3, OUTPUT);pinMode(4, OUTPUT);pinMode(5, OUTPUT);pinMode(6, OUTPUT);pinMode(7, OUTPUT);pinMode(8, OUTPUT);pinMode(9, OUTPUT);pinMode(10, OUTPUT);pinMode(11, OUTPUT);pinMode(12, OUTPUT);pinMode(13, OUTPUT);pinMode(A0,INPUT);digitalWrite(6,HIGH);digitalWrite(7,LOW);digitalWrite(8,LOW);digitalWrite(9,LOW);digitalWrite(10,LOW);digitalWrite(11,LOW);digitalWrite(12,LOW);digitalWrite(13,LOW);for(int i(0);i<6;i++){digitalWrite(i,HIGH);delay(500);digitalWrite(i,LOW);}}// the loop routine runs over and over again forever: void loop() {a=analogRead(A0);V=a*(5000.0/1023.0);Num[0]=V/1000;Num[1]=(V-Num[0]*1000)/100;Num[2]=(V-Num[0]*1000-Num[1]*100)/10;Num[3]=(V-Num[0]*1000-Num[1]*100-Num[2]*10)/1; for(int i(0);i<100;i++){disp(2,Num[0]);delay(D);disp(3,Num[1]);delay(D);disp(4,Num[2]);delay(D);disp(5,Num[3]);delay(D);}}2)实验时最终改进:[解决了不停地闪的问题]/*for measuring voltage*/const int S=5;int adData=0;int V=0,preV=0;int Num[4];void disp(int pos,int num){for(int i(0);i<6;i++){digitalWrite(i,LOW);}digitalWrite(6,HIGH);digitalWrite(7,HIGH);digitalWrite(8,HIGH);digitalWrite(9,HIGH);digitalWrite(10,HIGH);digitalWrite(11,HIGH);digitalWrite(12,HIGH);digitalWrite(13,HIGH);//definations of numbersif(num==0){digitalWrite(6,HIGH);digitalWrite(7,HIGH);digitalWrite(8,LOW);digitalWrite(9,LOW);digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); }else if(num==1){digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,HIGH); }else if(num==2){digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,HIGH); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,HIGH); digitalWrite(12,LOW); digitalWrite(13,LOW); }else if(num==3){digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); }else if(num==4){digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,HIGH); }else if(num==5){digitalWrite(6,HIGH); digitalWrite(7,LOW);digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,HIGH); digitalWrite(13,LOW); }else if(num==6){digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,HIGH); digitalWrite(13,LOW); }else if(num==7){digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); }else if(num==8){digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); }else if(num==9){digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); }else{digitalWrite(11,0);}digitalWrite(pos,HIGH);}// the setup routine runs once when you press reset: void setup() {// initialize the digital pin as an output.pinMode(0, OUTPUT);pinMode(1, OUTPUT);pinMode(2, OUTPUT);pinMode(3, OUTPUT);pinMode(4, OUTPUT);pinMode(5, OUTPUT);pinMode(6, OUTPUT);pinMode(7, OUTPUT);pinMode(8, OUTPUT);pinMode(9, OUTPUT);pinMode(10, OUTPUT);pinMode(11, OUTPUT);pinMode(12, OUTPUT);pinMode(13, OUTPUT);// pinMode(A5,INPUT);}// the loop routine runs over and over again forever: void loop() {analogReference(DEFAULT);adData=analogRead(A5);V=(adData*(5000.0/1023.0)-2550);preV=V;Num[0]=V/1000;Num[1]=(V%1000)/100;Num[2]=(V%100)/10;Num[3]=(V%10);for(int i(0);i<10;i++){disp(2,Num[0]);delay(S);disp(3,Num[1]);delay(S);disp(4,Num[2]);delay(S);disp(5,Num[3]);delay(S);}}3)实验后制作的改进版[没在实验中测试,添加了电压值范围的判断,用红色标记] /*for measuring voltage*/const int S=5;int adData=0;int V=0,preV=0;int Num[4];void disp(int pos,int num){for(int i(0);i<6;i++){digitalWrite(i,LOW);}digitalWrite(6,HIGH);digitalWrite(7,HIGH);digitalWrite(8,HIGH);digitalWrite(9,HIGH);digitalWrite(10,HIGH);digitalWrite(11,HIGH);digitalWrite(12,HIGH);digitalWrite(13,HIGH);//definations of numbersif(num==0){digitalWrite(6,HIGH);digitalWrite(7,HIGH);digitalWrite(8,LOW);digitalWrite(9,LOW);digitalWrite(10,LOW);digitalWrite(11,LOW);digitalWrite(12,LOW);digitalWrite(13,LOW);}else if(num==1){digitalWrite(6,HIGH);digitalWrite(7,HIGH);digitalWrite(8,HIGH);digitalWrite(9,HIGH);digitalWrite(10,HIGH);digitalWrite(12,LOW); digitalWrite(13,HIGH); }else if(num==2){digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,HIGH); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,HIGH); digitalWrite(12,LOW); digitalWrite(13,LOW); }else if(num==3){digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); }else if(num==4){digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,HIGH); }else if(num==5){digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,HIGH); digitalWrite(13,LOW); }else if(num==6){digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW);digitalWrite(10,LOW);digitalWrite(11,LOW);digitalWrite(12,HIGH);digitalWrite(13,LOW);}else if(num==7){digitalWrite(6,HIGH);digitalWrite(7,HIGH);digitalWrite(8,HIGH);digitalWrite(9,HIGH);digitalWrite(10,HIGH);digitalWrite(11,LOW);digitalWrite(12,LOW);digitalWrite(13,LOW);}else if(num==8){digitalWrite(6,HIGH);digitalWrite(7,LOW);digitalWrite(8,LOW);digitalWrite(9,LOW);digitalWrite(10,LOW);digitalWrite(11,LOW);digitalWrite(12,LOW);digitalWrite(13,LOW);}else if(num==9){digitalWrite(6,HIGH);digitalWrite(7,LOW);digitalWrite(8,LOW);digitalWrite(9,HIGH);digitalWrite(10,LOW);digitalWrite(11,LOW);digitalWrite(12,LOW);digitalWrite(13,LOW);}else{digitalWrite(11,0);digitalWrite(10,0);}digitalWrite(pos,HIGH);}// the setup routine runs once when you press reset: void setup() {// initialize the digital pin as an output.pinMode(0, OUTPUT);pinMode(1, OUTPUT);pinMode(2, OUTPUT);pinMode(3, OUTPUT);pinMode(4, OUTPUT);pinMode(5, OUTPUT);pinMode(6, OUTPUT);pinMode(7, OUTPUT);pinMode(8, OUTPUT);pinMode(9, OUTPUT);pinMode(10, OUTPUT);pinMode(11, OUTPUT);pinMode(12, OUTPUT);pinMode(13, OUTPUT);// pinMode(A5,INPUT);}// the loop routine runs over and over again forever: void loop() {analogReference(DEFAULT);adData=analogRead(A5);if(V<=100) //判断语句{V=((adData*(5000.0/1023.0)-2550)*0.7);}else if(V<=200){V=((adData*(5000.0/1023.0)-2550)*0.703);}else if(V<=300){V=((adData*(5000.0/1023.0)-2550)*0.707);}else if(V<=400){V=((adData*(5000.0/1023.0)-2550)*0.710);}else if(V<=500){V=((adData*(5000.0/1023.0)-2550)*0.714);}else if(V<=600){V=((adData*(5000.0/1023.0)-2550)*0.717);}else if(V<=700){V=((adData*(5000.0/1023.0)-2550)*0.720);}else if(V<=800){V=((adData*(5000.0/1023.0)-2550)*0.723);}else if(V<=900){V=((adData*(5000.0/1023.0)-2550)*0.726);}else if(V<=1000){V=((adData*(5000.0/1023.0)-2550)*0.730);}else if(V>1000){V=((adData*(5000.0/1023.0)-2550)*0.735);}preV=V;Num[0]=V/1000;Num[1]=(V%1000)/100;Num[2]=(V%100)/10;Num[3]=(V%10);for(int i(0);i<10;i++){disp(2,Num[0]);delay(S);disp(3,Num[1]);delay(S);disp(4,Num[2]);delay(S);disp(5,Num[3]);delay(S);}}。