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. reversing-Easy Crack

    Easy Crack 程序启动后输入任意字符会显示一个MessageBox的Incorrect Password. 打开OllyDbg,载入程序后查找到目标字符串Incorrect Password, ...

  2. 如何快速掌握一款新的MCU? (转)

      发布时间:2013-12-15 10:27:51 技术类别:单片机     个人分类:话题思考       任何一款MCU,其基本原理和功能都是大同小异,所不同的只是其外围功能模块的配置及数量.指 ...

  3. Android调用系统照相机

    ndroid调用系统相机实现拍照功能 在实现拍照的功能时遇到了很多问题,搜索了很多资料,尝试了很多办法,终于解决了,下面简要的描述下在开发过程中遇到的问题. 虽然之前看过android开发的书,但是没 ...

  4. [导读]Learning from Imbalanced Classes

    原文:Learning from Imbalanced Classes 数据不平衡是一个非常经典的问题,数据挖掘.计算广告.NLP等工作经常遇到.该文总结了可能有效的方法,值得参考: Do nothi ...

  5. VisualSVN 4.0.12补丁原创发布

    VisualSVN 4.0.12补丁原创发布

  6. 区分PC端与移动端代码,涵盖C#、JS、JQuery、webconfig

    1)C#区分PC端或移动端 using System.Text.RegularExpressions string u = Request.ServerVariables["HTTP_USE ...

  7. 7月10日——[HouseStark] 扬帆起航--第一次会议

    本次会议为小组成员第一次会议 内容:每个成员提出一个及以上的项目及内容,成员内部商议并投票决定要做的项目 会议时长:90分钟 地点:电三楼8楼816室 成员 项目 讨论结果 崔文祥 高校就业信息汇总网 ...

  8. Go! new Hello World, 我的第一个Go程序

    以下语句摘自百度百科: Go语言是谷歌2009发布的第二款开源编程语言. Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全.支持并行进 ...

  9. ibatis

    ibatis学习笔记(一)>>>>>>>sqlMapConfig.xml文件详解 1.sqlMapConfig.xml配置文件详解: Xml代码 1. < ...

  10. 如何启动一个Java Web应用

    最近使用一个开源项目写程序,为了方便沟通加入了相关的讨论群,经常在群里看到有人问项目怎么启动不起来,在此提供一下解决思路1.查看自己下载的项目目录通过文件夹结构,你能够看出来你下载的是一个maven项 ...