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. erlang服务器启动,有情况会报,enif_send: env==NULL no ono-SMP VMAborted 的错误报告?

    问题的原因所在: 1:因为你当前使用的主机是一个单核的主机(不会自动启动): 2:多核上如果不设置-smp enable是不会有什么问题的,因为从OTP R12B开始,如果操作系统报告有多于1个的CP ...

  2. 关于Xcode6创建的工程在Xcode5打开

    Xcode6创建的工程在Xcode5打开- 4.0只显示3.5大小的问题 只需要在工程里添加Default-568h@2x.png,即可以解决

  3. 《JavaScript高级程序设计》读书笔记--前言

    起因 web编程过程使用javascript时感觉很吃力,效率很低.根本原因在于对javascript整个知识体系不熟,看来需要找些书脑补一下,同时欢迎众网友监督. 大神推荐书籍 看了博客大神们推荐的 ...

  4. Java String.split()小点

    java String.split(); 别的不说,单说其中一个问题,这个函数去切分空字符串时,得到的结果: public static void main(String[] args) {// St ...

  5. java mysql 日期类型

    mysql(版本:5.1.50)的时间日期类型如下: datetime 8bytes xxxx-xx-xx xx:xx:xx 1000-01-01 00:00:00到9999-12-31 23:59: ...

  6. 设计模式之observer and visitor

    很长时间一直对observer(观察者)与visitor(访问者)有些分不清晰. 今天有时间进行一下梳理: 1.observer模式 这基本就是一个通知模式,当被观察者发生改变时,通知所有监听此变化的 ...

  7. VS.net中快捷键收缩和展开代码段 (转)

    i. Ctrl-M-O   折叠所有方法 ii. Ctrl-M-P   展开所有方法并停止大纲显示(不可以再折叠了) iii. Ctrl-M-M   折叠或展开当前方法 iv. Ctrl-M-L展开所 ...

  8. 第五章 搭建S3C6410开发板的测试环境

    在PC上可以开发Linux驱动,重新编译成ARM架构的Linux驱动模块,但最后还是要在开发板上进行测试.目前最流行的是基于三星S3C6410 ARM11架构的开发板,很多厂商在其基础上进行了扩展,开 ...

  9. jdk 编译器 对final字段的处理

    class FinalTest{     void a(){         final int i=10;         int j=10;     } }            stack=2, ...

  10. How can I protect derived classes from breaking when I change the internal parts of the base class?

    How can I protect derived classes from breaking when I change the internal parts of the base class? ...