PythonでTENORI-ONを動かすblog(仮)

PythonでMIDIを作ってYAMAHAのTENORI-ONをごにょごにょするよ。

(追記)M5Stackでタミヤ ダブルギヤボックスを動かす

ピンアサインで微妙にハマったので備忘録。

左右のクローラーの動作確認するところまでですが、BLEや障害物検知と組み合わせると楽しそう。

 

f:id:bastardeyes:20200802140855j:plain



用意したもの

  • M5Stack Gray(そこにあったので)
  • モータードライバ  TB6612FNG
  • タミヤ ダブルギヤボックス
  • タミヤ 楽しい工作シリーズ タンク工作基本キット(クローラーのみバラして使った)
  • コンデンサー 100nF 2つ(モーターにつける)
  • コンデンサー 1μF 1つ(外部電源側にパスコンとして入れる)
  • ジャンパーピン

モータードライバ ーはDRV8835を購入予定でしたが、秋月がコロナで日祝休業のため、千石で調達できるものを選びました。

www.sengoku.co.jp

 ピンアサイ

M5Stack TB6612FNG
3 PWM_A
1 AIN1
16 AIN2
17 PWM_B
18 BIN1
19 BIN2
26 STBY
3V3 VCC
GND GND
- (外部電源で5Vor3.3V)

 

Arduinoコード

↓こちらのコードをM5Stackに置き換えただけです、はい。。

回路図もこちらを参考に。。

www.moonmile.net

#include <M5Stack.h>

#define AIN1 1
#define AIN2 16
#define PWMA 3
#define BIN1 25
#define BIN2 26
#define PWMB 17
#define STBY 26
 
void setup() {
  Serial.begin(9600);
  Serial.println( "Motor Standby" );
  delay( 1000 );
  
  M5.begin();
  pinMode(AIN1,OUTPUT);
  pinMode(AIN2,OUTPUT);
  pinMode(PWMA,OUTPUT);
  pinMode(BIN1,OUTPUT);
  pinMode(BIN2,OUTPUT);
  pinMode(PWMB,OUTPUT);
  pinMode(STBY,OUTPUT);

  digitalWrite(AIN1,LOW);
  digitalWrite(AIN2,LOW);
  digitalWrite(PWMA,LOW);
  digitalWrite(BIN1,LOW);
  digitalWrite(BIN2,LOW);
  digitalWrite(PWMB,LOW);
  digitalWrite(STBY,HIGH);
  
}
 
void loop() {

  Serial.println("motorA forward");
  digitalWrite( PWMA, HIGH );
  digitalWrite( AIN1, HIGH );
  digitalWrite( AIN2, LOW );
  delay( 3000 );
  Serial.println("motorA stop");
  digitalWrite( PWMA, LOW );
  delay( 1000 );
  Serial.println("motorA back");
  digitalWrite( PWMA, HIGH );
  digitalWrite( AIN1, LOW );
  digitalWrite( AIN2, HIGH );
  delay( 3000 );
  Serial.println("motorA stop");
  digitalWrite( PWMA, LOW );
  delay( 1000 );
 
  Serial.println("motorB forward");
  digitalWrite( PWMB, HIGH );
  digitalWrite( BIN1, HIGH );
  digitalWrite( BIN2, LOW );
  delay( 3000 );
  Serial.println("motorB stop");
  digitalWrite( PWMB, LOW );
  delay( 1000 );
  Serial.println("motorB back");
  digitalWrite( PWMB, HIGH );
  digitalWrite( BIN1, LOW );
  digitalWrite( BIN2, HIGH );
  delay( 3000 );
  Serial.println("motorB stop");
  digitalWrite( PWMB, LOW );
  delay( 1000 );
}
〜

 

追記

今回はモータードライバ ーにTB6612FNGを使用したのですが、Twitterで別の製品のおすすめをいただきました。

 

Maker DriveからM5 Atom Liteに電力供給できるのは配線もシンプルで良さそう。