74 lines
1.6 KiB
C++
74 lines
1.6 KiB
C++
/*
|
|
Motor.h - モータードライバ(L298P シールド)のためのライブラリ
|
|
|
|
## 概要 ##
|
|
このライブラリは、モータードライバ(L298P シールド)のためのシンプルなライブラリです。
|
|
PWM対応ピンが1つしか必要ないのがこのライブラリの特徴です。
|
|
|
|
## 使い方 ##
|
|
例:
|
|
#include "Motor.h"
|
|
Motor motor;
|
|
void setup(){
|
|
// motor.attach(pin1, pin2);
|
|
motor.attach(5, 6);
|
|
}
|
|
void loop(){
|
|
// motor.mode(GO); //正転
|
|
motor.mode(GO, 100); //0-255(ここでは、100)のスピードで正転
|
|
delay(1000);
|
|
motor.mode(STOP); //停止
|
|
delay(1000);
|
|
}
|
|
|
|
注意:
|
|
使用するモータードライバの動作は、
|
|
1ピンの場合:
|
|
動作 |pin1
|
|
-----+-----
|
|
STOP | L
|
|
GO | H
|
|
|
|
2ピンの場合:
|
|
動作 |pin1 |pin2
|
|
----------+-----+-----
|
|
STOP | L | L
|
|
GO | H | L
|
|
STOP | L | H
|
|
BACK | H | H
|
|
|
|
でなければなりません。また、
|
|
void Motor::mode(char mode, byte speed);
|
|
void Motor::speed(int speed);
|
|
|
|
これらを使用する場合、pin1はPWM対応でなければなりません。
|
|
|
|
## ライセンス ##
|
|
(C)2013 kou029w - MIT License
|
|
*/
|
|
|
|
#ifndef Motor_h
|
|
#define Motor_h
|
|
#if defined(ARDUINO) && ARDUINO >= 100
|
|
#include <Arduino.h>
|
|
#else
|
|
#include <WProgram.h>
|
|
#endif
|
|
|
|
enum { STOP = 0, GO = 1, BACK = 2, BRAKE = 3 };
|
|
|
|
class Motor{
|
|
public:
|
|
Motor();
|
|
void mode(uint8_t mode);
|
|
void mode(uint8_t mode, uint8_t speed);
|
|
void speed(int speed);
|
|
void attach(uint8_t pin1);
|
|
void attach(uint8_t pin1, uint8_t pin2);
|
|
void detach();
|
|
private:
|
|
char _pin1;
|
|
char _pin2;
|
|
};
|
|
|
|
#endif
|