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. Shell父进程获取子进程的变量值

    #!/bin/kshshit=""export shitshit=$(su - grid -c 'echo $ORACLE_BASE')pvar=$(subvar="he ...

  2. Python之路,Day7 - 面向对象编程进阶

    本节内容: 面向对象高级语法部分 经典类vs新式类 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 经典类vs新式类 把下面代 ...

  3. 【FPGA】【代码】资源优化,结构优化

    资源优化 原始资源 定义时初始化和复位电路初始化都起作用,删除定义的初值后 将always块描述的组合逻辑变为时序逻辑后

  4. PHPCMS后台登陆路径修改方法(V9版)

    转自:http://hi.baidu.com/geek_cheng/item/b903ebe7b4ac3af9e0a5d4aa?qq-pf-to=pcqq.c2c 最新发布的PHPCMS V9由于采用 ...

  5. everthing 添加右键菜单

    Tool --> Options --> General -->勾上 Show folder context menus

  6. JSOI2016R3 瞎BB题解

    题意请看absi大爷的blog http://absi2011.is-programmer.com/posts/200920.html http://absi2011.is-programmer.co ...

  7. iOS沙盒处理

    沙盒文件 每个ios应用都有自己的应用沙盒,应用沙盒就是文件系统目录,与其他应用的文件系统隔离,ios系统不允许访问其他应用的应用沙盒.在ios8中已经开放访问. 应用沙盒一般包括以下几个文件目录:应 ...

  8. C# 版本的冒泡排序,包括该死的控制台读取

    期末出成绩了,绩点被数分拉下来太多,虽然我很想不在意,但是还是受不了 学了两天的JAVA了,无爱,还是喜欢C#,喜欢VS 一直学一下控制台读取来着,但是C#控制台读取真的很麻烦 using Syste ...

  9. zynq学习01 新建一个Helloworld工程

    1,好早买了块FPGA板,zynq 7010 .终极目标是完成相机图像采集及处理.一个Window C++程序猿才开始学FPGA,一个小菜鸟,准备转行. 2,关于这块板,卖家的官方资料学起来没劲.推荐 ...

  10. JS Math.max() 函数

    Math.max(a,b,...,x,y) -- 返回数个数字中较大的值 max是maximum的缩写,中文"最大量"的意思 max函数语法Math.max(a,b,...,x,y ...