simatic_net 发表于 2012-12-20 14:54:00

乐高三档变速箱

用红外接收RC6遥控器的信号,控制舵机。
舵机的三个角度0,90,180分别对应变速箱的三个档位。
http://v.youku.com/v_show/id_XNDkwNzM3NDAw.html
我东北口音比较重,大家可以放静音{:soso_e110:}

代码非常简单,我是超级外行,在群里一顿问,才改好了这几行代码。
程序根据红外接收库里面的例子程序和自带伺服库修改而来。/*
* 2012年12月20日
* 变速箱程序
* 变速箱的三个档位对应三个角度并且取后3位有效位&0xfff
* 盛京夏洛克
*/

#include <IRremote.h>
#include <Servo.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

Servo myservo;// create servo object to control a servo
                // a maximum of eight servo objects can be created

int pos = 90;    // 初始状态停留在二档安全位置

void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
myservo.attach(9);// attaches the servo on pin 9 to the servo object
}

void loop() {
if (irrecv.decode(&results)) {
//    Serial.println(results.value, HEX);
    Serial.println(results.value&0xFFF, HEX);    //取后3位有效位&0xfff
    if ((results.value&0xFFF) == 0x401){
      pos = 40;   
    }
    if ((results.value&0xFFF) == 0x402){
      pos = 88;   
    }
    if ((results.value&0xFFF) == 0x403){
      pos = 135;   
    }
    myservo.write(pos);            // tell servo to go to position in variable 'pos'
    delay(100);                     // waits 15ms for the servo to reach the position

    irrecv.resume(); // Receive the next value

}
}

Damn_intuition 发表于 2012-12-20 16:04:29

这都可以。。。。。
立体的调速柱。:L

ttyp 发表于 2012-12-20 16:50:35

这齿轮箱貌似有些意思。

takepoint 发表于 2012-12-21 14:41:58

齿轮啮合是撞上去的吧?带负载寿命不行的哇

darkorigin 发表于 2012-12-22 00:40:23

齿轮太浅容易磨损。HOHO 而且塑料磨损会比较严重

benjaminxuu 发表于 2013-1-27 08:48:00

以前看过sariel大神做的两档自动变速箱,不知道弄成三档的容易不。

楼主头像那个metal slug的坦克不错

simatic_net 发表于 2013-5-31 19:50:18

benjaminxuu 发表于 2013-1-27 08:48 static/image/common/back.gif
以前看过sariel大神做的两档自动变速箱,不知道弄成三档的容易不。

楼主头像那个metal slug的坦克不错

这个坦克是纯乐高的,所以不好在此发帖。

shaohutan 发表于 2014-8-18 14:34:07

能否发个拼装图给我啊?谢谢

simatic_net 发表于 2014-8-22 20:39:50

shaohutan 发表于 2014-8-18 14:34 static/image/common/back.gif
能否发个拼装图给我啊?谢谢

这个看照片随手就能装出来的吧?
页: [1]
查看完整版本: 乐高三档变速箱