刚拿到mBot,想跟儿子快速改点东西, 比如把前进改成后退,或者重新定义数字键。。。
请高手帮忙
1人收藏
8 条回帖
Joey注册会员2015-10-18 11:00:42
已解决, 找到源码:
http://www.mbot.cc/?p=430
Joey注册会员2015-10-18 11:01:46
已解决,找到源码:
http://www.mbot.cc/?p=430
waker管理员2015-10-18 17:09:39
可以从mBlock图形化编程设置,软件下载地址:http://www.mblock.cc/  教程http://www.youku.com/playlist_show/id_26068370.html?qq-pf-to=pcqq.c2c
参考程序:http://bbs.makeblock.cc/thread-740-1-1.html
前进改为后退只需要设置程序里面的前进后退选项方可,然后再将程序下载到主控板就实现更改
QQ截图20151018170850.png

Joey注册会员2015-10-20 08:45:47
谢谢指点,以更改成功。而且还加了F键放音乐,和加锁解锁功能。。。
木果创客中级会员2015-10-26 20:46:02
还有加解锁功能啊,这个牛了!
Joey注册会员2015-11-1 10:10:54
程序在mBlock 3.0上编译不了

C:\Program Files (x86)\mBlock\arduino\hardware\tools\avr\bin\avr-gcc.exe
-Os,-Wl,--gc-sections,-mmcu=atmega328p,-o,project__B_______B__c_________+___9_6.ino.elf,project__B_______B__c_________+___9_6.ino.o,mBot.o,Me1Wire.o,Me7SegmentDisplay.o,MeBuzzer.o,MeDCMotor.o,MeInfraredReceiver.o,MeIR.o,MeLEDMatrix.o,MeLEDMatrixData.o,MeOneWire.o,MePort.o,MeRGBLed.o,MeTemperature.o,MeUltrasonic.o,./SoftwareSerial.cpp.o,core.a,-L./,-lm
10-31 22:6: Process exited with 1
10-31 22:6:27.272 > MePort.o.data.mePort+0x0): multiple definition of `mePort'
project__B_______B__c_________+___9_6.ino.o.data.mePort+0x0): first defined here
core.a(MePort.cpp.o): In function `MePort::MePort()':
C:\Program Files (x86)\mBlock\arduino\libraries\makeblock\src/MePort.cpp:73: multiple definition of `MePort::MePort()'
MePort.o:C:\Users\Win10\AppData\Roaming\com.makeblock.Scratch\Local Store\scratchTemp\project__B_______B__c_________+___9_6\build/MePort.cpp:33: first defined here
core.a(MePort.cpp.o): In function `MePort::MePort()'
Joey注册会员2015-11-1 11:38:52
不知为何ir.loop() is called several times?

#include <Arduino.h>
#include <Wire.h>
#include <Servo.h>
#include <SoftwareSerial.h>

#include <MeMCore.h>

double angle_rad = PI/180.0;
double angle_deg = 180.0/PI;
double speed;
double Lock;
double flag;
MeIR ir;
MeRGBLed rgbled_7(7, 7==7?2:4);
void Ultrasonic();
double distance;
MeUltrasonicSensor ultrasonic_3(3);
MBotDCMotor motor(0);
void IR();
void Music();
MeBuzzer buzzer;
void line();
double state;
MePort linefollower_2(2);


void Ultrasonic()
{
    if((((Lock)==( 1 ))) & (((flag)==(2)))){
        distance = ultrasonic_3.distanceCm();
        if((distance) < (25)){
            if((distance) < (15)){
                motor.move(2,speed);
                delay(1000*0.5);
            }
            if((random(1,100)) < (50)){
                motor.move(4,speed);
                delay(1000*0.5);
            }else{
                motor.move(3,speed);
                delay(1000*0.5);
            }
        }else{
            motor.move(1,speed);
            delay(1000*0.3);
        }
    }
   
}

void IR()
{
    if((((Lock)==( 1 ))) & (((flag)==(1)))){
        if(ir.keyPressed(64)){
            motor.move(2,speed);
        }else{
            if(ir.keyPressed(25)){
                motor.move(1,speed);
            }else{
                if(ir.keyPressed(7)){
                    motor.move(3,speed);
                }else{
                    if(ir.keyPressed(9)){
                        motor.move(4,speed);
                    }else{
                        motor.move(1,0);
                    }
                }
            }
        }
    }
   
}

void Music()
{
    if((((Lock)==( 1 ))) & (((flag)==(5)))){
        buzzer.tone(1047, 10);
        delay(1000*0.125);
        motor.move(4,-100);
        buzzer.tone(1175, 10);
        delay(1000*0.125);
        buzzer.tone(1319, 10);
        delay(1000*0.25);
        buzzer.tone(1568, 10);
        delay(1000*0.25);
        buzzer.tone(1568, 10);
        delay(1000*0.25);
        buzzer.tone(1760, 10);
        delay(1000*0.25);
        buzzer.tone(1568, 10);
        delay(1000*0.25);
        buzzer.tone(1319, 10);
        delay(1000*0.25);
        buzzer.tone(1047, 10);
        delay(1000*0.5);
        buzzer.tone(1175, 10);
        delay(1000*0.125);
        buzzer.tone(1319, 10);
        delay(1000*0.25);
        buzzer.tone(1319, 10);
        delay(1000*0.25);
        buzzer.tone(1175, 10);
        delay(1000*0.25);
        buzzer.tone(1047, 10);
        delay(1000*0.25);
        buzzer.tone(1175, 10);
        delay(1000*1);
        buzzer.noTone();
        delay(1000*2);
        motor.move(1,0);
        flag = 1;
    }
   
}

void line()
{
    if((((Lock)==( 1 ))) & (((flag)==(3)))){
        state = linefollower_2.dRead1()*2+linefollower_2.dRead2();
        if(((state)==(0))){
            motor.move(1,speed);
        }else{
            if(((state)==(1))){
                motor.move(3,speed);
            }else{
                if(((state)==(2))){
                    motor.move(4,speed);
                }else{
                    motor.move(2,speed);
                }
            }
        }
    }
   
}


void setup(){
    ir.begin();
    flag = 1;
    Lock = 0;
    speed = 150;
    flag = 1;
    Lock = 0;
    speed = 150;
    flag = 1;
    Lock = 0;
    speed = 150;
    flag = 1;
    Lock = 0;
    speed = 150;
    flag = 1;
    Lock = 0;
    speed = 150;
    flag = 1;
    Lock = 0;
    speed = 150;
    flag = 1;
    Lock = 0;
    speed = 150;
   
}

void loop(){
   
    Ultrasonic();
    line();
    IR();
    Music();
    if(ir.keyPressed(69)){
        flag = 1;
    }
    if(ir.keyPressed(70)){
        flag = 2;
    }
    if(ir.keyPressed(71)){
        flag = 3;
    }
    if(ir.keyPressed(68)){
        flag = 4;
    }
    if(ir.keyPressed(67)){
        flag = 5;
    }
    if(ir.keyPressed(13)){
        flag = 6;
    }
    if(ir.keyPressed(21)){
        Lock = 1;
        rgbled_7.setColor(0,150,0,0);
        rgbled_7.show();
        delay(1000*0.5);
        rgbled_7.setColor(0,0,150,0);
        rgbled_7.show();
        delay(1000*0.5);
        rgbled_7.setColor(0,0,0,150);
        rgbled_7.show();
    }
    if(ir.keyPressed(22)){
        Lock = 0;
        rgbled_7.setColor(0,0,0,150);
        rgbled_7.show();
        delay(1000*0.5);
        rgbled_7.setColor(0,0,150,0);
        rgbled_7.show();
        delay(1000*0.5);
        rgbled_7.setColor(0,0,0,0);
        rgbled_7.show();
    }
    ir.loop();
   
    ir.loop();
   
    ir.loop();
   
    ir.loop();
   
    ir.loop();
   
    Music();
    ir.loop();
   
    ir.loop();
   
   
}
Joey注册会员2015-11-1 12:00:58
好像把C:\Users\UserA\AppData\Roaming\com.makeblock.Scratch\Local Store\scratchTemp\ 下的文件删了就好了
需要登陆后才可进行回复 登录

返回顶部
现在加入我们,注册一个账号 账号登陆 QQ账号登陆 微博账号登陆