代码拉取完成,页面将自动刷新
/**************************************************************************/
/*!
@file DFRobotCar.cpp
@author lisper (lisper.li@dfrobot.com)
@license LGPLv3 (see license.txt)
provide some useful function make it easy to control two DC car
Copyright (C) 2014 DFRobot
*/
#include <Arduino.h>
#include "DFRobotCar.h"
//DFRobotCar mycar (4,5,7,6);
DFRobotCar::DFRobotCar (uint8_t left_en, uint8_t left_pwm, uint8_t right_en, uint8_t right_pwm) {
_left_en = left_en;
_left_pwm = left_pwm;
_right_en = right_en;
_right_pwm = right_pwm;
pinMode (_left_en, OUTPUT);
pinMode (_left_pwm, OUTPUT);
pinMode (_right_en, OUTPUT);
pinMode (_right_pwm, OUTPUT);
_left_advance = LOW;
_left_back = HIGH;
_right_advance = HIGH;
_right_back = LOW;
}
//
void DFRobotCar::changeDir (bool left, bool right) {
if (left) {
_left_advance = !_left_advance;
_left_back = !_left_back;
}
if (right) {
_right_advance = !_right_advance;
_right_back = !_right_back;
}
}
//
void DFRobotCar::control (int16_t left_speed, int16_t right_speed) {
if (left_speed < 0) {
left_speed = -left_speed;
digitalWrite (_left_en, _left_back);
} else {
digitalWrite (_left_en, _left_advance);
}
if (right_speed < 0) {
right_speed = -right_speed;
digitalWrite (_right_en, _right_back);
} else {
digitalWrite (_right_en, _right_advance);
}
if (left_speed > 255)
left_speed = 255;
if (right_speed > 255)
right_speed = 255;
analogWrite (_left_pwm, left_speed);
analogWrite (_right_pwm, right_speed);
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。