I bought this Raspberry Pi (model B) in spring 2013, I hadn't done too much with it except for some PyGame coding stuff. So recently, I wanted to reboot my robotic project. (For those who are not familiar with Raspbery Pi, it's a 35 dollar mini computer running Linux on a SD card, it has GPIO pins you can do cool stuff with.)

These are the main components I want to build:

- Two tank tracks so it can move: turn both on, it will move forward; one on one off, it can turn left/right.

- Webcam: I have an old webcam from a decade ago. My Kinnect sensor could also be used potentially. I bought an external power cable for Kinnect about 2 summers ago, during which i was trying to utilize the open kinnect library to build a motion controlled Dragon Ball Z game.

- Monitor: it what be cool to have a small monitor working, display like a smiling face. (Inspired by the Big Bang Theory episode in which Shelton built a really cool bot, very funny story.)

Alright, let's get started!

Legos and building blocks: you will never be too old to play it. Btw, don't you guys think MineCraft is like a 3D Multiplayer version of Legos?

Arudino inventor's toolkit: resistors, LEDs, transistors, diode, servo, different sensors, etc., at least i have something to start with.

USB splitter: kinda useful, since Pi only has 2 USB ports.

Edimax wireless plug: very easy to set up the network. Btw i had to change the keyboard setting to US cuz by default it was using UK keyboard, the position of symbols are quite different.

I also bought a case for pi, which fits it percectly.

I built one of these last year; so i ordered another one and assembled it real quick.

I removed the original AA battery holder. I Built a simple circuit which uses transistors to amplify the pins so i can control the moters from program.

Notice that don't ever try to connect motor to pi directly, the pins won't have enough currency. Also the bigger issue is that the Back EMF Suppression could damage your Pi.

http://instagram.com/p/leMQT3Ghwj/#

So i need to find a way to power Pi. How do we provide a stable 5V output? using AAs is not a good idea, first, chargables ones could provide 4.8V, which is not sufficient. 4 Regulars ones could provide 6V, which is too high. In addition, we have to make sure the voltage is stable.

I bought this Anker battery which has 15000mAh, that is a lot capacity. I could also use it to charge my iPhone when i am travelling. The downside is this battery is way too heavey, 11.2 ounce (317g), and it's also kind of big. I cannot fit it in; so....i built this trailer to carry it.

After assemble Lego stuff and put everything together. I got my first iteration done:

http://instagram.com/p/lgt7rLmh72/#

I can control it through terminal from another computer or anthing that supports ssh terminal. There are SSH tools/apps for smart phones.

In the meanwhile, the 7 inch monitor had arrived. i also bought another 12 V output adapter for it. After some tweaking, i managed to make the monitor work. The resolution wasn't too great; I woudn't program with it.

http://instagram.com/p/lb0MCSmh9h/#

By installing the motion library, the old webcam could work as a webservice, very neat.

As for Software, i used python to program the pins. It's fairly simple, aslo there are tons of tutorials online.


I also ordered a 4-wheel robotic car from China. After it arrived, i replace it with the tank tracks. This one has faster chassis.

http://instagram.com/p/lluWlCGhwp/#

Lego + glue:

left) webcam could mount and unmont easily.
right) I only uses the 2 wheels in front, in the back I simply use Lego wheels. The height is just perfect.


NOW: I have to solve the battery problem. After some conducted some research, I realized that I need to get a battery regulator, which coud allow a wide range of input voltage, and output a stable 5V for USB devices. Couldn't find anything i can use from Fry's soi ordered one on Amazon, it ships from China as well. I have to wait now...

Found this one from fry's, 6 AA batteries series connected could provide 9 V, this will be used as the input for the future regulator.

Normally an AA battery is around 24g, so 6*24=144g, with this i could reduce 55% of the weight from battery.


The next step is to build a controller.

....

Django is the way to go, make a web service that handle requests and control the robot!

Since its python, i could easily implement CV algorithms.

to be continued....

Project Woosah Tu (五色土)的更多相关文章

  1. The Honeynet ProjectThe Honeynet Project

    catalogue . 蜜罐基本概念 . Kippo: SSH低交互蜜罐安装.使用 . Dionaea: 低交互式蜜罐框架部署 . Thug . Amun malware honeypots . Gl ...

  2. [lean scala]|How to create a SBT project with Intellij IDEA

    this article show you how to create a SBT project with IDEA. prerequisite: 1.JDK8 2.Scala 2.11.8 3.I ...

  3. .NET Core系列 : 2 、project.json 这葫芦里卖的什么药

    .NET Core系列 : 1..NET Core 环境搭建和命令行CLI入门 介绍了.NET Core环境,本文介绍.NET Core中最重要的一个配置文件project.json的相关内容.我们可 ...

  4. 记一个mvn奇怪错误: Archive for required library: 'D:/mvn/repos/junit/junit/3.8.1/junit-3.8.1.jar' in project 'xxx' cannot be read or is not a valid ZIP file

    我的maven 项目有一个红色感叹号, 而且Problems 存在 errors : Description Resource Path Location Type Archive for requi ...

  5. ASP.NET Core project.json imports 是什么意思?

    示例代码: "frameworks": { "netcoreapp1.0.0": { "imports" : "portable- ...

  6. PhpStorm和WAMP配置调试参数,问题描述Error. Interpreter is not specified or invalid. Press “Fix” to edit your project configuration.

    PhpStorm和WAMP配置调试参数 问题描述: Error. Interpreter is not specified or invalid. Press “Fix” to edit your p ...

  7. Crystal Clear Applied: The Seven Properties of Running an Agile Project (转载)

    作者Alistair Cockburn, Crystal Clear的7个成功要素,写得挺好. 敏捷方法的关注点,大家可以参考,太激动所以转载了. 原文:http://www.informit.com ...

  8. CSharpGL(20)用unProject和Project实现鼠标拖拽图元

    CSharpGL(20)用unProject和Project实现鼠标拖拽图元 效果图 例如,你可以把Big Dipper这个模型拽成下面这个样子. 配合旋转,还可以继续拖拽成这样. 当然,能拖拽的不只 ...

  9. Microsoft Visual Studio 2013 — Project搭载IIS配置的那些事

    前段时间在改Bug打开一个project时,发生了一件奇怪的事,好好的一直不能加载solution底下的这个project,错误如下图所示:大致的意思就是这个project的web server被配置 ...

随机推荐

  1. oracle 递归应用(挺复杂的)

    最近做数据过滤觉得很有必要记录下整个过程,说不定下次就不知道了. 废话不多说开始: 表结构: 企业表(自关联,采用树的形式记录分子公司) 区域表(自关联,采用树的形式记录省/市/县/乡,数据量大) 公 ...

  2. BestCoder Round #53 (div.1)

    Problem A: 题目大意: 给出以节点1为根的一棵树A,判断它是否是特殊的.一棵树是特殊的当且仅当不存在和它不完全相同的一棵树B,使得A中点i到点1的距离和B中相等. 题解: 假设一个点x的深度 ...

  3. thunkify 模块

    function thunkify(fn){ assert('function' == typeof fn, 'function required'); return function(){ var ...

  4. MS SQLSERVER中如何快速获取表的记录总数

    在数据库应用的设计中,我们往往会需要获取某些表的记录总数,用于判断表的记录总数是否过大,是否需要备份数据等.我们通常的做法是:select count(*) as c from tableA .然而对 ...

  5. 《Pro Express.js》学习笔记——Express框架常用设置项

    Express 设置 系统设置 1.       无须再定义,大部分有默认值,可不设置 2.       常用设置 env view cache view engine views trust pro ...

  6. 为dom添加点击事件,由此引发this指向的思考

    下午没有任务,闲来无事仿个小网页巩固下基础知识.由于公司安全规定,原网页截图不便上传(也没法上传),回家后做了个简单的菜单以图示: 目标:点击某选项时,该选项底边加粗 1.首先定义click方法,然后 ...

  7. 开启GZIP(转)

    因为在做一个项目,项目里面服务器主要提供数据,但是数据多了文件就大了,比较浪费流量和时间,我们便用Gzip来处理.我在本机上是apache,服务器上是IIS6.0,用的是php,那么我就在这里分享一下 ...

  8. ios安装app提示【未受信任的企业级开发者】。在设置中信任此开发者

     最近在测试app,ios安装app后点击提示如下图: 解决方法: 1 点击 [设置] >[通用] >[设备管理]   2 点击企业级应用 > 信任该开发者 > 信任.设置之后 ...

  9. md5应用

    /* md5工具类 */ public class MD5Util { /**全局数组**/ private final static String[] strDigits = { "0&q ...

  10. Apache多站点配置(ubuntu)

      1,先进入Apaches2的目录下 cd /etc/apache2   2,进入sites-available中 cd sites-available vi 000-default.conf   ...