微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 行业新闻动态 > 我的机器人处女作:用树莓派和Phyton轻松搞定

我的机器人处女作:用树莓派和Phyton轻松搞定

时间:08-25 来源:人才芯片工程 点击:

前段时间,接触了一款在开源硬件界被称为是"人气之王"的树莓派(Raspberry Pi)袖珍计算机,功能强大的她拥有一颗SOC,集CPU、 GPU、DSP和SDRAM为一体,以SD卡为内存硬盘,拥有网卡、USB口(可以直接连接键盘、鼠标、U盘等外设)、同时具备视频、音频模拟输出以及 HDMI高清输出的能力,在外部接口上还具备了一般计算机设备不具有的GPIO、SPI、I2C、UART等硬件配置,为我们的创新机器人制作提供硬件条件。切入正题,用Python让Raspberry Pi动起来,在这个醒目的标题中可以看出我这个制作的主题就是利用Raspberry Pi的硬件和 Python语言来完成一个机器人制作,那下面就听我娓娓到来吧!

硬件搭建篇

在这次制作中,我选择了一款 AS-4WD铝合金的小车平台,以小车平台为基础,在上面添加了7寸高清液晶显示器、无线键盘、蓝牙模块以及电机驱动器等配件,如图1是罗列制作机器人所 用的物料。整个树莓派的小车系统分两步来搭建,首先是搭建树莓派的计算机系统,虽然是一个袖珍的计算机,但是"麻雀虽小,五脏俱全",除去树莓派的主板 外,还需准备一套标准通用的USB键盘鼠标,一个显示器(在本文描述的是一个用于车载监控设备的7寸显示器,通过RCA接口相连),一块电池用于整个系统 供电,最后也是最关键的需要准备预装了Debian系统的SD卡(对于SD卡要求读写最好在4MB/S以上、容量大于2GB,当然容量更大速度越快更 好)。在完成计算机系统搭建后,接下来是完成机器人系统的搭建,在原理上,主要利用树莓派那两排外置的针脚的GPIO功能控制外置树莓派专用的驱动器 (Raspi Driver)来实现电机的使能、正反转控制,以及利用UART功能与蓝牙数传模块实现数据通信,这样就能通过手机端的蓝牙遥控器对小车进 行控制,如图2是整体硬件搭建完后的靓图,在图3中给出了树莓派机器人的硬件连线图。

图1 机器人所用物料

图2-1 会行走的树莓派电脑

图3 树莓派机器人的硬件连线图

上手树莓派之Python库配置篇

在使用树莓派时,也是我第一次接触Python这门语言,通过对相关资料的学习,发现Python是门简单易学的语言,如果有着C或者其他的计算机语言 基础,基本上半天就能上手编写程序,在开始编写小车控制程序前需要对我们的树莓派计算机的相关Python的库文件进行安装设置,首先是GPIO,打开 LX终端(LXTerminal),更新apt-get软件安装包列表(注意必须要在网络连接正常情况下),然后执行安装命令来安装raspberry- gpio-python包,具体指令如下:

pi@raspberrypi ~ $ sudo apt-get update

pi@raspberrypi ~ $ sudo apt-get install python-rpi.gpio

在安装完成Python的GPIO库后,接下来是安装Python的UART库,和上述之前步骤相似,更新apt-get软件安装包列表,后安装Python的串口通信模块,具体指令如下:

pi@raspberrypi ~ $ sudo apt-get update

pi@raspberrypi ~ $ sudo apt-get install python-serial

通过上述两个步骤,已经安装好了Python与树莓派外置硬件GPIO以及UART库文件,在接下来的小车控制程序里就可以直接调用代码了,在开始编写 控制程序前,需要对默认串口的一些参数进行更改,由于系统默认的串口功能用于输出内核日志,相关的参数与我们的外界的串口设备有所不同,所以需要对其启动 配置文件进行更改,在LXTerminal通过键入"sudo nano /boot/cmdline.txt"进入/boot/cmdline.txt,用vi编辑器打开cmdline.txt文件,将

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

去掉

console=ttyAMA0,115200 kgdboc=ttyAMA0,115200

退出vi编辑器时,注意要对文件进行保存;同时需要对系统初始化文件进行编辑,在 LXTerminal中,键入" sudo nano /etc/inittab",然后找到以下片段内容

#Spawn a getty on Raspberry Pi serial line

T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

改为如下,注释掉对"ttyAMA0"端口的参数即可,退出vi编辑器时,同样需要注意要对文件进行保存

#Spawn a getty on Raspberry Pi serial line

#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

重启树莓派,该配置就可以生效了,完成了上述步骤,就可以进入下一章节,机器人调试进程。

上手树莓派之Python GPIO调试篇

作为第一次上手树莓派外置IO时可能有些不惑,如何利用在计算机上的语言来让你的计算机的IO出现跳动呢!!其实并不复杂,只要打开系统桌面上的IDLE3编

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top