如何制作一个自平衡机器人

电子说

1.2w人已加入

描述

步骤1:Android应用

步骤2 :组件列表和工具

步骤3:组装

步骤4:轮胎和马达总成

步骤5:最终组装

步骤6:电路连接

根据图形连接组件

支付注意匹配电线和端口,而不要反向连接。

步骤7:安装和卸下电池

步骤8:软件和硬件

什么是Arduin o?

Arduino是一个基于易于使用的硬件和软件的开源电子平台。 Arduino开发板能够读取输入-传感器上的灯,按钮上的手指或Twitter消息-并将其转换为输出-启动电动机,打开LED并在线发布内容。您可以通过向板上的微控制器发送一组指令来告诉您该怎么做。为此,您使用Arduino编程语言(基于Wiring)和Arduino软件(IDE)(基于Processing)。多年来,Arduino一直是数千个项目的大脑,从日常对象到复杂的科学仪器。这个开放源代码平台聚集了世界各地的开发人员社区,包括学生,业余爱好者,艺术家,程序员和专业人士,他们的贡献积累了无与伦比的可访问性知识,对新手和专家都可以提供极大的帮助。 Arduino出生于Ivrea交互设计学院,是一种快速原型制作的简便工具,主要面向没有电子和编程背景的学生。 Arduino板一旦进入更广泛的社区,便开始进行更改以适应新的需求和挑战,将其产品从简单的8位板扩展到IoT应用,可穿戴,3D打印和嵌入式环境的产品。所有Arduino开发板都是完全开源的,使用户能够独立构建它们,并最终使它们适应其特定需求。该软件也是开源的,并且通过全球用户的贡献而不断发展。

为什么选择Arduino?

得益于其简单易用的用户体验,Arduino已用于数千个不同的项目和应用程序中。 Arduino软件对于初学者来说易于使用,但对于高级用户而言足够灵活。它可以在Mac,Windows和Linux上运行。老师和学生使用它来构建低成本的科学仪器,证明化学和物理原理,或开始编程和机器人技术。设计师和建筑师构建交互式原型,音乐家和艺术家将其用于安装并尝试新的乐器。例如,制造商当然会使用它来构建在Maker Faire上展出的许多项目。 Arduino是学习新事物的关键工具。任何人-儿童,业余爱好者,艺术家,程序员-都可以按照套件的逐步说明进行修补,或者与Arduino社区的其他成员在线共享想法。

我应该如何使用Arduino?

如果您是Arduino的初学者,请访问我们的网站www.adeept.com上的Arduino学习套件,将是您踏入这一梦幻领域的完美之举!该车载套件使用一种类型的Arduino板:Adeept UNO R3板

电源

可以通过USB连接或外部电源为Arduino/Genuino Uno板供电。电源是自动选择的。外部(非USB)电源可以来自AC-DC适配器(壁式电源适配器)或电池。可以通过将2.1mm中心正插头插入板子的电源插孔来连接适配器。电池的引线可以插入POWER连接器的GND和Vin引脚接头中。该板可在6至20伏的外部电源上运行。但是,如果电源电压低于7V,则5V引脚的电源电压可能低于5V,电路板可能会变得不稳定。如果使用的电压超过12V,则稳压器可能会过热并损坏电路板。推荐范围是7到12伏。

电源引脚如下:

Vin。 Arduino/Genuino开发板使用外部电源时的输入电压(与USB连接或其他稳压电源提供的5伏电压相反)。您可以通过该引脚供电,或者,如果通过电源插孔供电,则可以通过该引脚供电。

5V。该引脚从板上的调节器输出稳定的5V电压。可以通过直流电源插孔(7-12V),USB连接器(5V)或板的VIN引脚(7-12V)为该板供电。通过5V或3.3V引脚供电会旁路稳压器,并可能损坏电路板。我们不建议这样做。

3V3。板载稳压器产生3.3伏电源。最大电流消耗为50 mA。

GND。接地引脚。

IOREF。 Arduino/Genuino板上的此引脚提供了供微控制器操作的参考电压。正确配置的屏蔽层可以读取IOREF引脚电压并选择合适的电源,或者使输出端的电压转换器能够在5V/3.3V电压下工作。

输入和输出

14个数字引脚中的每个使用pinMode(),digitalWrite()和digitalRead()函数,可以将Uno上的on用作输入或输出。它们在5伏特下工作。每个引脚可提供或接收20 mA的建议工作条件,并具有20-50k欧姆的内部上拉电阻(默认情况下已断开)。任何I/O引脚上都不得超过40mA的最大值,以免对微控制器造成永久性损坏。此外,某些引脚还具有特殊功能:

串行:0(RX)和1(TX)。用于接收(RX)和发送(TX)TTL串行数据。这些引脚连接到ATmega8U2 USB-to-TTL串行芯片的相应引脚。

外部中断:2和3。这些引脚可以配置为在低值,上升沿或下降沿或值改变时触发中断。有关详细信息,请参见attachInterrupt()函数。

PWM:3、5、6、9、10和11。提供带有AnalogWrite()函数的8位PWM输出。

SPI:10(SS),11(MOSI),12(MISO),13(SCK)。这些引脚支持使用SPI库的SPI通信。

LED:13.有一个由数字引脚13驱动的内置LED。当该引脚为HIGH值时,该LED点亮;当该引脚为LOW时,其熄灭。

TWI:A4或SDA引脚以及A5或SCL引脚。使用Wire库支持TWI通信。 Uno有6个模拟输入,标记为A0至A5,每个模拟输入提供10位分辨率(即1024个不同值)。默认情况下,它们的测量范围是从地到5伏,尽管可以使用AREF引脚和AnalogReference()函数更改其范围的上限。

板上还有其他几个引脚:

AREF。模拟输入的参考电压。与AnalogReference()一起使用。

重置。将此线拉低以复位微控制器。

第9步:Arduino软件(IDE)

Arduino软件(IDE)用于编写和上传Arduino开发板的代码。首先,安装Arduino软件(IDE):访问https://www.arduino.cc/en/Main/Software。根据您的操作系统下载相应的安装程序。如果您是Windows用户,请选择“ Windows Installer”以正确下载并安装驱动程序。

下载完成后,运行安装程序。对于Windows用户,在安装过程中可能会弹出驱动程序的安装对话框。出现时,请同意安装。安装完成后,将在桌面上生成Arduino软件快捷方式。运行IDE。

第二张图片是Arduino软件的界面。

Arduino集成开发环境-或Arduino软件(IDE)-包含用于编写代码的文本编辑器,消息区域,文本控制台,带有常用功能按钮的工具栏以及一系列菜单。它连接到Arduino和Genuino硬件,以上传程序并与它们通信。

验证:编译时检查代码是否存在错误。

上传:编译代码并将其上传到配置的板上。在上传草图之前,需要从“工具”》“板”和“工具”》“端口”菜单中选择正确的项目。这些板描述如下。在Mac OS X上,串行端口可能类似于/dev/tty.usbmodem241(对于Uno或Mega2560或Leonardo)或/dev/tty.usbserial-1B1(对于Duemilanove或更早的USB板),或/dev/tty.USA19QW1b1P1.1(用于与Keyspan USB到串行适配器连接的串行板)。在Windows上,可能是COM1或COM2(对于串行板)或COM4,COM5,COM7或更高版本(对于USB板)-要找出答案,您可以在Windows设备管理器的端口部分中查找USB串行设备。在Linux上,它应该是/dev/ttyACMx,/dev/ttyUSBx或类似的文件。

选择正确的串行端口和板后,请按工具栏中的上载按钮或从草图菜单。当前的Arduino开发板将自动重置并开始上传。对于没有自动重置功能的旧版主板(Diecimila之前的版本),您需要在开始上传之前按一下主板上的重置按钮。在大多数板上,随着草图上传,您将看到RX和TX LED闪烁。上载完成后,Arduino软件(IDE)将显示一条消息,或显示错误。

上载草图时,您使用的是Arduino引导程序,该程序已加载到微控制器上。您的董事会。它使您无需使用任何其他硬件即可上传代码。板复位时,引导加载程序处于活动状态几秒钟。然后从最新上传到微控制器的草图开始。引导加载程序启动时(即,板复位时)将使板载(引脚13)LED闪烁。

注意:如果您在板上使用外部编程器,则可以按住“使用此图标时,在计算机上单击“ Shift”键。文本将更改为“使用Programmer上载”。

新建:创建一个新草图。

打开:显示素描簿中所有素描的菜单。单击一个将在当前窗口中将其打开,覆盖其内容。

注意:由于Java中的错误,此菜单无法滚动;如果需要在列表的后面打开草图,请使用“文件” |“打开”。而不是Sketchbook菜单。

保存:保存草图。

串行监视器:打开串行监视器。在五个菜单中找到其他命令:“文件”,“编辑”,“草图”,“工具”和“帮助”。菜单是上下文相关的,这意味着只有与当前正在执行的工作相关的那些项目可用。

从1.0版开始,文件以.ino文件扩展名保存。早期版本使用.pde扩展名。您仍然可以在1.0版及更高版本中打开.pde命名文件,该软件将自动将扩展名重命名为.ino。

步骤10:安装库

提供的示例草图使用Adeept_Balance2WD.ZIP,Adeept_KalmanFilter.ZIP,AdeeptDistance.ZIP,I2Cdev1.ZIP,MPU6050.ZIP,MsTimer2.ZIP和PinChangeInt-master.ZIP库,因此您需要在编译之前安装它。单击“ Add.ZIP库”,将Adeept_Balance2WD.ZIP,Adeept_KalmanFilter.ZIP,AdeeptDistance.ZIP,I2Cdev1.ZIP,MPU6050.ZIP,MsTimer2.ZIP和PinChangeInt-master.ZIP库添加到库文件夹中。

库成功安装后,您可以在Sketch-》 Include Library

下找到Adeept_Balance2WD.ZIP,Adeept_KalmanFilter.ZIP,AdeeptDistance.ZIP,I2Cdev1.ZIP,MPU6050.ZIP,MsTimer2.ZIP和PinChangeInt-master.ZIP库。 》

步骤11:上传程序

在完成上述准备后,接下来我们将上传程序(提供示例草图)到Adeept UNO R3板。

注意:在下载程序之前,请先删除蓝牙模块,否则下载程序将失败。

打开为控制板提供的程序,文件“ AdeeptSelfBalancingRobotCode.ino”。

将Arduino UNO R3板连接至PC。选择工具-》板“ Arduino/Genuino Uno”,然后选择端口-》 COM9。同样是分配给Uno的COM9,但也可以是COM1,COM2,COM3 。..

单击按钮将草图上传到板上。
       责任编辑:wv

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分