02雙A+PWM控制mBot
App Invenotr端
除了前、後、左、右、停止外
再加上「低速」、「中速」、「高速」
Arduino端
#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;
MBotDCMotor motor(0);
SoftwareSerial BT(0,1);
char val;
int pwm;
void setup(){
Serial.begin(9600); //for arduino serial port mointor
BT.begin(9600);
pwm=0;
}
void loop(){
if(BT.available() ) {
val=BT.read();
// Serial.println(val);
switch (val) {
case 'f' :
motor.move(1,pwm);
break;
case 'b' :
motor.move(2,pwm);
break;
case 'l' :
motor.move(3,pwm);
break;
case 'r' :
motor.move(4,pwm);
break;
case 's' :
motor.move(1,0);
break;
case 'x' :
lowspeed();
break;
case 'y' :
midspeed();
break;
case 'z' :
highspeed();
break;
}
}
}
void lowspeed(){
pwm=50;
}
void midspeed(){
pwm=150;
}
void highspeed(){
pwm=250;
}
#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;
MeRGBLed rgbled_7(7, 7==7?2:4);
MBotDCMotor motor(0);
SoftwareSerial BT(0,1);
char val;
int pwm;
void setup(){
Serial.begin(9600); //for arduino serial port mointor
BT.begin(9600);
pwm=0;
}
void loop(){
if(BT.available() ) {
val=BT.read();
// Serial.println(val);
switch (val) {
case 'f' :
motor.move(1,pwm);
rgbled_7.setColor(1,0,255,0);
rgbled_7.show();
rgbled_7.setColor(2,0,255,0);
rgbled_7.show();
break;
case 'b' :
motor.move(2,pwm);
rgbled_7.setColor(1,255,0,0);
rgbled_7.show();
rgbled_7.setColor(2,255,0,0);
rgbled_7.show();
break;
case 'l' :
motor.move(3,pwm);
rgbled_7.setColor(1,0,0,0);
rgbled_7.show();
rgbled_7.setColor(2,0,0,255);
rgbled_7.show();
break;
case 'r' :
rgbled_7.setColor(1,0,0,255);
rgbled_7.show();
rgbled_7.setColor(2,0,0,0);
rgbled_7.show();
motor.move(4,pwm);
break;
case 's' :
motor.move(1,0);
rgbled_7.setColor(1,0,0,0);
rgbled_7.show();
rgbled_7.setColor(2,0,0,0);
rgbled_7.show();
break;
case 'x' :
lowspeed();
break;
case 'y' :
midspeed();
break;
case 'z' :
highspeed();
break;
}
}
}
void lowspeed(){
pwm=50;
}
void midspeed(){
pwm=150;
}
void highspeed(){
pwm=250;
}