- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Arduino的乐高电源控制系统
了解如何使用您的 Arduino 控制乐高电机和伺服系统,并构建您自己的 Android 应用程序来远程控制您的模型。
背景
您是否拥有带有电动机和 伺服电机的超棒Lego Power Func tions 模型之一?在本文中,我将向您展示如何使用 Arduino 和最少的 电子元件来控制乐高模型。我将详细解释电路和 编程,以便于初学者理解。
我们还将学习如何使用MIT 应用程序发明者来编写我们自己的远程控制 Android 应用程序。很快,您将在您的后院拥有自己的乐高火星 探测器!
这是我的第一个 Arduino 项目,我儿子有一个漂亮的 Lego Techn ic 汽车模型(9398 4X4 Crawler ),带有乐高动力功能:一个用于转向的乐高伺服 电机和两个用于驾驶的乐高 L 电机。同时他也允许我在这个项目中使用这辆车。
了解 电源功能接线
首先,购买一些乐高电源功能延长线。接下来,将它们切断。我们将制作一些“分线”电缆,一端有乐高积木,另一端有别针。将引脚焊接在上面或类似的地方。以下是接线说明:
GND 代表接地,它是电池组(阳极)的负极 端子 (-)。C1和C2可以切换极性,使电机和舵机切换方向。对于乐高伺服 连接器,你需要将针脚焊接到所有四根电缆上。您可以使用浅灰色插头。对于连接电池盒和面包板的电源线,我们只需要 +9 Volt 和 GND 但您必须使用深灰色插头:
对于电机电缆,我们只需连接 C1 和 C2,您可以使用浅灰色插头。
使用 L293D 芯片控制乐高电机
我们需要直流电机的变速控制和乐高伺服的位置控制。这是通过脉冲宽度调制 (PWM)实现的。Arduino的编程语言使PWM易于使用;只需调用 analogWrite( pin, dutyCycle) ,其中 dutyCycle 是一个从 0 到 255 的值。PWM 引脚在您的 arduino 上标有 ~。
Arduino 输出引脚为 5 伏特和最大值。30 毫安,而乐高电机需要 9 伏且每个拉力超过 100 毫安。我们需要某种介于两者之间的“开关设备”。我们还希望能够在两个方向上运行直流电机。这些功能由所谓的H 桥解决。我们将使用L293D ,它在一个集成芯片上包含两个 H 桥,这意味着我们可以将乐高电机 (M) 并联连接到芯片的一侧,将乐高伺服 (S) 连接到芯片的另一侧。(如果您想独立控制两个电机,则需要第二个 L293D)。乐高伺服还需要连接到 GND 和乐高 +9 伏。
该芯片使 Lego +9 Volt 和 Arduino +5 Volt 完全分离。切勿将它们连接在一起,否则会损坏某些东西!但是您同时须将所有接地线连接在一起并与 L293D 接地引脚连接。
在我们的 Arduino 中,我们将使用引脚 9 来控制电机速度,使用引脚 2 和 5 来控制旋转方向。乐高伺服像电机一样被控制:我们连接引脚 3 用于位置,引脚 6 和 8 用于方向(左或右)。
在我们程序的顶部,我们将使用的 Arduino 引脚定义为常量。此外,我们定义了一些用于控制电机的变量:
// Motor control digital output pins defined as global constantsconst int controlPin1A = 2; ? ? ? ? ? ? ? ?const int controlPin2A = 5; ? ? ? ? ? ? ? ??const int ENablePin = 9; ? ? ? ? ? ? ? ? ??// Servo control digital output pins defined as global constants?const int controlPin3A = 6; ? ? ? ? ? ? ?const int controlPin4A = 8; ? ? ? ? ? ? ? ? ?const int servoENablePin = 3; ?? ? ? ??// Motor control global variables:?int motorSpeed = 0; ? ? ? ? ? ? ? ? ? ? ? ? ?// Motor speed 0..255int mot orDirection = 1; ? ? ? ? ? ? ? ? ? ? ?// Forward (1) or reverse (0)// Servo control global variables:int steer
您可能关注的文档
- 如何使用8051微控制器和蓝牙模块构建一个Android手机控制的机器人.doc
- 科音短视频土.doc
- 阿里巴巴交易费率(阿里巴巴交易费率是多少).doc
- PIC单片机对豆浆机的控制设计.doc
- 怎样做无货网店.doc
- 电商运营入门培训.doc
- 两年电商运营工资多少.doc
- 单片机双DPTR的使用方法.doc
- 中国第三大电商平台(全国十大电商平台).doc
- 嵌入式设计引入第二个微控制器的设计方案.doc
- 2025年中国楼宇门数据监测报告.docx
- 2025年综合类-中级房地产经济-第十二章房地产开发项目前期策划历年真题摘选带答案(5卷100道合辑.docx
- 2025年中国90°外螺纹弯头行业投资前景及策略咨询研究报告.docx
- 2025年中国卷边筒数据监测报告.docx
- 2025至2030年超细银包铜粉项目可行性研究报告.docx
- 2025年中国单路VGA双绞线音视频发送器行业投资前景及策略咨询研究报告.docx
- 2025年中国打印标签铜版纸行业投资前景及策略咨询研究报告.docx
- 2025年中国拼装式小箱行业投资前景及策略咨询研究报告.docx
- 中国船舶复合材料行业发展分析及投资风险预测分析报告2025-2028版.docx
- 2025年中国防水纸箱数据监测报告.docx
文档评论(0)