我班上的对象声明与 addafruit 电机库
Object Declaration in my class with addafruit Motor libary
class JAAmtr {
private:
boolean lefton;
public:
JAAmtr();
void turnleft();
void turnright();
boolean getLefton();
};
你好我写这个类是为了让我的arduino机器人向左或向右转。
我在哪里放置电机作业的代码(我希望它进入我的类(:
AF_DCMotor motor1(1);
AF_DCMotor motor2(2);
AF_DCMotor motor3(3);
AF_DCMotor motor4(4);
我尝试将其作为私有变量,但它不起作用。谢谢你的回答
这是我的代码:
#include <AFMotor.h>
// pin assignments
int PhotoR1 = 1;
int PhotoR2 = 5;
**//Following 4lines into my class**
AF_DCMotor motor1(1);
AF_DCMotor motor2(2);
AF_DCMotor motor3(3);
AF_DCMotor motor4(4);
class JAAmtr {
private:
boolean lefton;
public:
JAAmtr();
void turnleft();
void turnright();
boolean getLefton();
};
void setup(){
JAAmtr viermotor;
pinMode(PhotoR1, INPUT);
pinMode(PhotoR2, INPUT);
Serial.begin(9600);
}
//LOOP:
void loop(){
int light0 = analogRead(PhotoR1);
int light1 = analogRead(PhotoR2);
Serial.print(light0);
Serial.print(" <-R1 R5-> ");
Serial.println(light1);
if( light0 > light1 )
{
} else {
}
delay(500);
}
//END LOOP
JAAmtr::JAAmtr(){
motor1.setSpeed(200); //Turn on the Motor
motor1.run(RELEASE);
motor2.setSpeed(200); //Turn on the Motor
motor2.run(RELEASE);
motor3.setSpeed(200); //Turn on the Motor
motor3.run(RELEASE);
motor4.setSpeed(200); //Turn on the Motor
motor4.run(RELEASE);
}
void JAAmtr::turnleft(){
if(lefton == false)
{
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
delay(500);
lefton = true;
}
motor1.run(BACKWARD);
motor2.run(BACKWARD);
motor3.run(FORWARD);
motor4.run(FORWARD);
}
void JAAmtr::turnright(){
if(lefton == true)
{
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
delay(500);
lefton = false;
}
motor3.run(BACKWARD);
motor4.run(BACKWARD);
motor1.run(FORWARD);
motor2.run(FORWARD);
}
//MOVE FORWARD FUCNTION
在私有部分中,声明成员变量
AF_DCMotor motor1;
AF_DCMotor motor2;
AF_DCMotor motor3;
AF_DCMotor motor4;
然后在构造函数中,初始化它们
JAAmtr::JAAmtr() : motor1(1), motor2(2), motor3(3), motor4(4)
{
motor1.setSpeed(200); //Turn on the Motor
motor1.run(RELEASE);
motor2.setSpeed(200); //Turn on the Motor
motor2.run(RELEASE);
motor3.setSpeed(200); //Turn on the Motor
motor3.run(RELEASE);
motor4.setSpeed(200); //Turn on the Motor
motor4.run(RELEASE);
}
相关文章:
- 如何在 setup() 函数中使用数字引脚转动电机?
- 如何为伺服电机创建中断或返回值?
- 无法驱动带有 Adafruit 电机屏蔽 V2.3 的直流电机
- 程序编译,但当分解为函数时实际上不会移动电机
- 如何使用Arduino控制伺服电机
- 伺服电机一直试图达到134°以下,出了什么问题?
- 如何使步进电机运行,直到我按下 Arduino 上的特定键盘按钮
- 接口 C++ 以使用 Arduino 控制电机步进器
- Arduino:Serial.begin() 与运行直流电机的代码冲突
- 我班上的对象声明与 addafruit 电机库
- 连接传感器后,Arduino驱动的伺服电机停止工作
- 电机转矩PID控制
- 使用Arduino Mega和Simple-H高压电机屏蔽控制直流电机
- Arduinosumo机器人与旋转电机
- 控制两个直流电机(在arduino上)通过c++源代码
- 电机不动
- Arduino射频接收器不能与电机屏蔽一起工作
- 控制Kinect电机OPENNI 2