我的机器人处女作:用树莓派和Phyton轻松搞定
前段时间,接触了一款在开源硬件界被称为是"人气之王"的树莓派(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编
- 更多机器人参与日本地震搜救工作(03-28)
- e络盟引入欧姆龙E2A系列柱状距离传感器(05-16)
- 工业机器人与生产转型间的关系剖析(06-19)
- 工业机器人大规模应助力改变固有体系(07-29)
- 钕铁硼传统旺季 检测机器人将派上大用场(11-12)
- 大数据——Google机器人个性专利(04-15)