ニョロゾ

Dependencies:   mbed BMP180

Committer:
naruu
Date:
Thu Dec 17 17:29:28 2020 +0000
Revision:
2:98629c0bb9ff
no;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
naruu 2:98629c0bb9ff 1 /**
naruu 2:98629c0bb9ff 2 * Motor Driver TB6612 Control Library
naruu 2:98629c0bb9ff 3 *
naruu 2:98629c0bb9ff 4 * -- TB6612 is a device of the TOSHIBA.
naruu 2:98629c0bb9ff 5 *
naruu 2:98629c0bb9ff 6 * Copyright (C) 2012 Junichi Katsu (JKSOFT)
naruu 2:98629c0bb9ff 7 */
naruu 2:98629c0bb9ff 8
naruu 2:98629c0bb9ff 9
naruu 2:98629c0bb9ff 10 #include "TB6612.h"
naruu 2:98629c0bb9ff 11
naruu 2:98629c0bb9ff 12 // TB6612 Class Constructor
naruu 2:98629c0bb9ff 13 TB6612::TB6612(PinName pwm, PinName fwd, PinName rev):
naruu 2:98629c0bb9ff 14 _pwm(pwm), _fwd(fwd), _rev(rev) {
naruu 2:98629c0bb9ff 15
naruu 2:98629c0bb9ff 16 _fwd = 0;
naruu 2:98629c0bb9ff 17 _rev = 0;
naruu 2:98629c0bb9ff 18 _pwm = 0.0;
naruu 2:98629c0bb9ff 19 _pwm.period(0.001);
naruu 2:98629c0bb9ff 20 }
naruu 2:98629c0bb9ff 21
naruu 2:98629c0bb9ff 22 // Speed Control
naruu 2:98629c0bb9ff 23 // arg
naruu 2:98629c0bb9ff 24 // int speed -100 -- 0 -- 100
naruu 2:98629c0bb9ff 25 void TB6612::speed(int speed) {
naruu 2:98629c0bb9ff 26
naruu 2:98629c0bb9ff 27 if( speed > 0 )
naruu 2:98629c0bb9ff 28 {
naruu 2:98629c0bb9ff 29 _pwm = ((float)speed) / 100.0;
naruu 2:98629c0bb9ff 30 _fwd = 1;
naruu 2:98629c0bb9ff 31 _rev = 0;
naruu 2:98629c0bb9ff 32 }
naruu 2:98629c0bb9ff 33 else if( speed < 0 )
naruu 2:98629c0bb9ff 34 {
naruu 2:98629c0bb9ff 35 _pwm = -((float)speed) / 100.0;
naruu 2:98629c0bb9ff 36 _fwd = 0;
naruu 2:98629c0bb9ff 37 _rev = 1;
naruu 2:98629c0bb9ff 38 }
naruu 2:98629c0bb9ff 39 else
naruu 2:98629c0bb9ff 40 {
naruu 2:98629c0bb9ff 41 _fwd = 1;
naruu 2:98629c0bb9ff 42 _rev = 1;
naruu 2:98629c0bb9ff 43 }
naruu 2:98629c0bb9ff 44 }
naruu 2:98629c0bb9ff 45
naruu 2:98629c0bb9ff 46
naruu 2:98629c0bb9ff 47 // Speed Control with time-out
naruu 2:98629c0bb9ff 48 // arg
naruu 2:98629c0bb9ff 49 // int speed -100 -- 0 -- 100
naruu 2:98629c0bb9ff 50 // int time 0
naruu 2:98629c0bb9ff 51 void TB6612::move(int sspeed , int time)
naruu 2:98629c0bb9ff 52 {
naruu 2:98629c0bb9ff 53 speed(sspeed);
naruu 2:98629c0bb9ff 54 wait_ms(time);
naruu 2:98629c0bb9ff 55 }
naruu 2:98629c0bb9ff 56
naruu 2:98629c0bb9ff 57