ルンパッパ

Dependencies:   mbed BMP180

Committer:
naruu
Date:
Sat Dec 19 16:22:46 2020 +0000
Revision:
10:c96e83e35ed2
Parent:
0:5cddbcb7193f
ou;

Who changed what in which revision?

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