Ganponブログ

趣味の模型作り、ドライブ、旅行など
since Mar.2017

2018年製作一覧

2018-12-31 23:05:43 | 製作一覧(年)

2018年に製作・完成した模型を振り返ってみます。

2018-12-21 RC可動化 1/35 ドラゴン T34/85(その9 完成)+効果音

2018-11-30 Arduinoをはじめよう(小型化2)

2018-11-09 ArduinoでRC可動戦車(8)

2018-10-18 RC可動化 1/35 タミヤ M26パーシング(完成)

2018-09-17 RC可動化 1/35 タミヤ パンサーG(完成)

2018-08-09 RC可動化 1/35 タミヤM3スチュアート後期型製作(完成)

2018-07-15 1/48 タミヤ チャーチルMk.Ⅶ クロコダイル製作(完成)

2018-07-17 RC可動 1/35 タミヤ Ⅲ号突撃砲B型 製作(その3)

2018-06-21 1/72 ハセガワ F-35ライトニングII (B型) U.S.マリーン

2018-06-04  1/72 ハセガワ B-17G フライングフォートレス製作

2018-05-19  1/35 Ⅱ号戦車(RC可動) 製作(三度目)

2018-05-04 1/35 タミヤ M3グラント(RC可動)製作

2018-04-17 1/72 メッサーシュミットBf109E-4製作

2018-03-31 1/35 タミヤ 自走榴弾砲M8 (RC可動)製作

2018-03-22 AT-M6 STAR WARS/バンダイ 製作

2018-03-21 1/35 タミヤ M3 スチュアート (RC可動) 製作

2018-03-10 1/72 ユンカース Ju87B-2/R-2 スツーカ 製作

2018-02-24 RC可動1/35 Ⅳ号戦車製作(その6)完成

2018-01-25 1/72 SAVOIA S.21F 製作

2018-01-13 1/48 リモコンタンク M1エイブラムス/アリイ(マイクロエース)製作&RC化

 


RC可動化 1/35 ドラゴン T34/85(その9 完成)+効果音

2018-12-30 00:19:11 | 1/35 ドラゴン T-34/85

2018-12-21
完成です。
実は昨日完成していたのですが、
赤外線バトル用LEDの取付け変更、サーボ動作の調整などをしているうちに、断線などのトラブルが発生し、
挙句の果てには砲身の接着を剥がしてLEDを装着し直す羽目になり、やっと先程完成した次第です。

それでは完成写真です。
T34/85 冬季迷彩が冬を越して剥げ落ちた状態を想定して仕上げました。

画像をクリックすると拡大します
 

画像をクリックすると拡大します
 

 


2018-12-22
動画です。
カーペットの上での走行中に履帯が破損トラブルも有りましたが、何とか撮り終えました。
今回は効果音の発生は出来ませんでしたが、研究して何れ組み込みたいと思います。
(このキットには空きスペースの関係で難しそうですが........)

 

2018-12-29 効果音追加改造しました。

DFPlayer MiniというMP3プレーヤを購入してmicroSDHCカードに効果音を録音して主砲と機銃の発砲時の効果音を発する様に改造しました。
スピーカが小さいので軽い音ですが、これで音も出る様になりました。
このMP3プレーヤは、なんと300円しなかったです。

RC可動化+mp3 1/35 T34/85(ドラゴン)

ただ残念なことに
「最大30720バイトのフラッシュメモリのうち、スケッチが28916バイト(94%)を使っています。
 スケッチが使用できるメモリが少なくなっています。動作が不安定になる可能性があります。」
という事で、発音後に砲塔が少し動くという事になってしまいました。
スペース的にもメモリ的にも目一杯の状況です。
RC可動と言う事ではおもちゃに負けています。

 




gooブログで本文のサムネイル画像サイズを変える方法

2018-12-23 20:27:40 | ブログ関連

私のブログで本文の画像サイズをw640サイズにして、画像をクリックすると拡大(基画像)を表示する事が有りますが、その方法を説明します。

gooブログのHTMLエディタには「リンク付きサムネイル」挿入が用意されていますが、サムネイルが小さすぎます。

そこで、ちょっと面倒ですが、この様にして対処しています。

【手順】
1.サイズの大きい画像(1920 又は 1024)でアップロードします。
2.HTMLエディタで、「リンク付きサムネイル」で画像を挿入します。
 こんな具合になります。

3.HTMLエディタで、「HTMLソースの編集」ボタンをクリックします。
 サムネイル画像のHTML文はこの様に書かれています。 

<span><a href="https://blogimg.goo.ne.jp/user_image/37/2a/65a76ed37a90916ca6e0ba249dfbde56.jpg">
<img src="https://blogimg.goo.ne.jp/thumbnail/37/2a/65a76ed37a90916ca6e0ba249dfbde56_s.jpg" alt="" border="0" /></a></span></p>

一つ目の画像URLは基画像で、二つ目はサムネイル画像のものです。
赤字の部分が違っています。

4.「thumbnail」を「user_image」に書き換えます。
 
「_s.jpg」の「_s」を消去します。

5.alt=""」を「alt="" width="640" height="426" 」に変更します。
   
このサイズは本文表示時の値です。縦横比は基画像(1920x1278)の比から算出します。

6.この様に書き換わります。
<p><span><a href="https://blogimg.goo.ne.jp/user_image/37/2a/65a76ed37a90916ca6e0ba249dfbde56.jpg">
<img src="https://blogimg.goo.ne.jp/user_image/37/2a/65a76ed37a90916ca6e0ba249dfbde56.jpg" alt="" width="640" height="426" border="0" /></a></span></p>

7.書き換えたら「更新」ボタンをクリックします。

8.「プレビュー」で上手くできたか確認して完了です。

9.因みに、「target="_blank"」を一つ目の画像URLの後に書き込むと、新しいタグで拡大画像を見るようにできます。

<p><span><a href="https://blogimg.goo.ne.jp/user_image/37/2a/65a76ed37a90916ca6e0ba249dfbde56.jpg" target="_blank">
<img src="https://blogimg.goo.ne.jp/user_image/37/2a/65a76ed37a90916ca6e0ba249dfbde56.jpg" alt="" width="640" height="426" border="0" /></a></span></p>


RC可動化 1/35 ドラゴン T34/85(その8)

2018-12-19 22:30:32 | 1/35 ドラゴン T-34/85

2018-12-19
冬季迷彩に挑戦します。
その前に、マスキングしたままなので車体の上下に砲塔を載せただけですが、迷彩前を残しておきます。

実際の冬季迷彩は殆どが現地で兵士によって塗られており、水で溶いた石灰をほうきで塗りつけたり、時にはバケツでぶっかけるといった方法で施されたとの事です。

今回はエナメル塗料を基本塗装の上に塗り、拭き取ることで塗装の剥げを再現する方法にします。
先ず、プラのスプーンで試します。

デカールは基本塗装のデカールを貼る部分だけ艶有りクリアを吹いてから貼ります。
乾いたところで、保護のために艶消しクリアーを吹いてから本番です。

ということで、こんな感じになりました。

 


RC可動化 1/35 ドラゴン T34/85(その7)

2018-12-17 22:49:49 | 1/35 ドラゴン T-34/85

2018-12-17
車体を塗装します。
塗料はMr.カラーC511 ロシアングリーン 4BO つや消しです。
何時もはシャドウを先に吹きますが、今回はC511を吹いた後から艶消しブラックを追加してシャドウ吹きしました。
更に車体下部にC19サンディブラウンを薄めて吹きます。
OVMの履帯やワイヤロープは黒鉄色指示ですが、MC212アイアンを筆塗りします。
ハッチの内側などはC62つや消しホワイトを吹きます。
履帯は樹脂製なので水性アクリルのオリジナル調色したものを吹きます。

このまま仕上げる予定でしたが、冬季迷彩に挑戦しようか迷っています。

調べると、冬季迷彩の方法はいろいろ有るようです。
1.エナメルか水性アクリルのつや消しホワイトを車体色の上に筆塗りかエアブラシで吹く。
 溶剤でホワイトのみふき取り、塗装剥がれを再現する。
 ヘアースプレー使用の剥離手法もあります。
2.全く逆の方法で艶消しホワイトで塗ったのちに車体色をドライブラシすることで剥がれを再現する。

さて、どうするか........もう少し迷ってみます。



RC可動化 1/35 ドラゴン T34/85(その6)

2018-12-16 00:05:41 | 1/35 ドラゴン T-34/85

2018-12-15
主砲の発光量をアップさせるために赤外線LEDと並列接続をやめ、単独で発行させるようにし、発光時間を延ばすことにします。
(赤外線LEDと並列接続では発光時間の延長がやりずらいためです。)
と言っても、arduinoにはもうデジタル出力ピンの空きは有りません。
方法を考えた結果、USBホストシールドのGPIOを利用する事を思いつきました。
発光はリコイルアクションの前半までの55msec延長します。
機銃の方は点灯時間を50msecから80msecにする事で対応します。

いよいよ塗装前処理に入ります。
電子部品を保護するためのマスキングを施し、オキサイドレッドのサフを吹きます。



RC可動化 1/35 ドラゴン T34/85(その5)

2018-12-14 23:20:51 | 1/35 ドラゴン T-34/85

2018-12-12
砲身上下可動化の改造をします。
サーボは0~180°動作でプログラムを書いていましたが、実機調整の結果0~150°に変更します。
この辺が、ハードだけではなくソフトで調整できるメリットです。

砲塔の上下パーツを接着するとメンテが出来ないので、ガイドと磁石で結合させます。

その前に、接着しないので接合部の調整をします。

キューポラのハッチも開閉可動改造します。

赤外線バトル用の受光器をどこに設置しようか迷っていましたが、ベンチレーター部にセットすることにします。
と言う事で、接着部を切断して改造します。

キューポラはハッチ部分が旋回可能ですが、改造が大変なのでキューポラ自体を旋回できるようにしました。

 


2018-12-13
砲塔旋回用のパーツが届いたので組み込みます。
砲塔側のギヤはタミヤのドライブベルトを巻きます。

旋回用サーボモータにはタミヤのセンタープーリーを取付けます。
サーボに添付のサーボホーンをセンタープーリーの内径に合わせて切断し、エポキシ樹脂で固定します。

 


2018-12-14
砲塔旋回に邪魔にならない様に周辺パーツをまとめます。
リード線は余分な分を切断しますが、この作業中に何本もはんだ付け根元で破断するのを修復しながら根気よく進めました。

ヘッドライトやテールランプ点灯時の光漏れはシルバー塗装や黒瞬着で遮光します。
塗装前までがほぼ完了です。(砲塔の脱落防止は未完です)

そして、試運転です。
主砲や機銃発砲時の赤LED発光はサイズなどの制約もあり弱いです。
もう少し明るくしたいですね。
砲撃時のリコイルアクションは大きすぎるので要調整ですね。

 


RC可動化 1/35 ドラゴン T34/85(その4)

2018-12-11 00:01:40 | 1/35 ドラゴン T-34/85

2018-12-10
スペース対策として手配していたマイクロサーボ3.7G(WHL=20 x 22 x 8)が届きました。
今まで試作機で使っていたSG90(WHL=22 × 27 x 11.5)よりかなり小さくなったので組込み出来そうです。

砲塔旋回用は連続回転タイプに改造します。
ケース底の2本のねじを緩め、基板とポテンショメータを取り出します。
何時もは固定抵抗(2x2.2kΩ)で分圧するのですが、今回は調整できるようにポテンショメータを外に出します。
ポテンショメータはユニバーサル基板に取り付け配線します。

仮組みして確認します。
テールランプ、ヘッドライトを点灯。
2個のサーボの位置を確認します。

主砲の発射時点灯させる赤色LEDは3Φでも根元にしか装着できません。
光ファイバーで導光させることもできますが、手持ちのファイバーは細すぎます。
テールランプに使ったチップLEDをここにも使います。
砲身の先端部より少し内側にセットして、透明の紫外線硬化樹脂でふたをします。

小型のサーボは入手しましたが、未だ砲塔旋回のメカと、砲身上下のメカの具体策は思案中です。


RC可動化 1/35 ドラゴン T34/85(その3)

2018-12-10 00:00:30 | 1/35 ドラゴン T-34/85

2018-12-07
車体上部の組立をします。
機銃の銃身を1mm真鍮パイプに取り換えます。
0.5mmアクリルファイバーを通すために、内径0.42mmを0.6mmまで広げます。

取手は0.8mm真鍮線に取り換えます。
そして正面のハッチを開閉可動改造します。
0.5mmキリで穴をあけ、0.3mm真鍮線を通します。

後面のハッチも開閉可動改造します。
0.4mmキリで穴をあけ、0.2mm真鍮線を通そうとしたのですが、ヒンジ部分が破損しました。
止む無く、電線被覆で改修し、0.3mm真鍮線を通しました。

 


2018-12-09
arduinoを使ったRCユニットを搭載します。

出来るだけコンパクトに作り上げたのですが、全てのユニットを搭載できるのか?
取り敢えず、モータ走行、LED点灯など動作確認しました。
といっても、実は更にコンパクト化を狙ってモータドライバにDRV8835を使うつもりで進めていたのですが、アナログ運転に失敗して、TB6612に戻しました。

DRV8835なら2モータのPWMスピードコントロールが4本で可能ですが、TB6612は6本必要です。
しかし、DRV8835はアナログ出力が4本必要なのに対して、TB6612はアナログ出力は2本で済みます。
今回の仕様はアナログ出力が不足しているので、TB6612は使用できないのです。
というのも、アナログ入力A0,A1,A2,A3、A4はデジタル出力で使うことが出来ても、アナログ出力では使えなかったのです。
動作確認で、スピードコントロール出来ないことで気が付きました。
と言う事もあり、スペース的にかなり厳しい状況で、砲塔旋回、砲身上下をどうするか思案中です。

そんな中、他のところは少しずつ進めています。
ヘッドライトに面実装LEDを仕込み、紫外線硬化樹脂を充填します。

 

 

 


RC可動化 1/35 ドラゴン T34/85(その2)

2018-12-06 23:43:51 | 1/35 ドラゴン T-34/85

2018-12-06
起動輪の組立とギヤボックスの設計、組み立てに入ります。

起動輪の車軸は2mm(キットは2.46mm)鉄軸とし、内径2mmのベアリングで受け、16Tピニオンギヤを取付けます。
車軸と起動輪の固定は2mm鉄軸に0.8mmの穴をあけ、0.8mm真鍮線を指します。

モータの出力軸には8Tピニオンギヤを取付けます。
ギヤボックスは、
 1段目 24T-10Tクラウン2段ギヤ
 2段目 24T-10Tの2段ギヤ
 3段目 24T-10Tの2段ギヤ
 4段目 24Tピニオンギヤ
4段目の24Tを16Tピニオンギヤで受け起動輪を回します。
総ギヤ比は 1/27.7です。

モータは7100rpmのタミヤ低回転型130モータ。
ギヤ比から起動輪は256rpm。
起動輪の歯数は6、履帯ピッチは10.5mmなので、走行速度は0.968km/h。
1/35スケール換算では33.9km/h。
実車の最高速は55kmなので少し遅いですが、3.7sec/mで走行するので室内で走行させるには十分でしょう。

 


RC可動化 1/35 ドラゴン T34/85(その1)

2018-12-05 00:11:34 | 1/35 ドラゴン T-34/85

2018-12-04
ドラゴンの1/35スケール T34/85の製作に入ります。

どの様に可動戦車改造をしていくかを考えながら、車体下部、転輪、誘導輪、起動輪を眺めます。
サスペンションはトーションバー式で対処します。
0.5mmピアノ線を車軸に通します。

車体に取り付け、固定します。

誘導輪は軸を可動化して履帯の張り具合を調整できるようにします。

転輪を取付け、抜け止めにホイルキャップに1mm真鍮線を装着して、車軸に差し込み固定します。
起動輪を仮止めし、履帯を履かせてみます。
少しきついです。

 

 

 


T-34 1/35 可動履帯の組立(その2)

2018-12-02 17:53:46 | 1/35 ドラゴン T-34/85

2018-11-29
履帯の穴あけに自前の冶具を使います。
履帯の厚み1.35mmに合わせてガイド板を作ります。

この冶具で、両側から0.5mmの穴をあけます。
左右の穴の中心は若干ズレていますが、0.3mm真鍮線を通すことは可能な範囲です。
これで、なんとか穴あけ作業を進めるめどが出ました。

 

2018-12-02
裏面にセンターガイドのある方の穴あけの出来具合は今一でしたが、何とか144枚をあけました。
タミヤ向けは片側72枚、ドラゴン向けは片側70枚と説明書にあったので、70枚で組み上げます。
通したピンは0.3mm真鍮線と0.4mmピアノ線です。
0.3mm真鍮線の手持ちが切れそうなので、0.4mmを代用します。
軸はしっかりしていますが、破損しやすいと思われますが試してみます。
止めピンは殆ど使わず、黒瞬着で脱落止めをしました。

そして、こちらが組立予定のドラゴン製のT-34です。
中古品を購入したので箱は傷んでいましたが、中身に問題はなさそうです。
(デカールは未確認です)

タミヤ製でも良いのですが、可動サスにするためには転輪車軸を切り離す必要が有り、見送りました。

 


Arduinoをはじめよう(小型化2)

2018-12-01 01:43:54 | Arduino

2018-11-30
プログラムサイズはIDEの環境を再セットアップしたところサイズダウンできました。
赤外線受信も何とか実装して、童友社のバトルタンクJRをバトルが出来るようになりました。

【赤外線バトル信号送信機能付きArduino NANOのスケッチ】 

/*
PS3BT_arduino_NANO_tank_TB6612_FIRE_IR_D5RB
モータドライバはTB6612
A4ピンでサーボモータ(砲身上下)を動かす
A5ピンでサーボモータ(砲塔旋回)を動かす 連続回転改造サーボ
砲撃時のリコイルアクション
A1,A2,A3ピンでLED点灯
irremote PIN3 赤外線発光(砲撃)システム
A0ピンに赤外線受光モジュール出力を接続し、被弾処理を追加
最大30720バイトのフラッシュメモリのうち、スケッチが26886バイト(87%)を使っています。
最大2048バイトのRAMのうち、グローバル変数が1342バイト(65%)を使っていて、ローカル変数で706バイト使うことができます。
PWM速度制御していなかったのを訂正。 後進系は1/2速度
*/

#include <PS3BT.h>
#include <usbhub.h>
#ifdef dobogusinclude
#include <spi4teensy3.h>
#endif
//#include <Usb.h> // needed by Arduino IDE

USB Usb;
BTD Btd(&Usb);
PS3BT PS3(&Btd);
//PS3BT PS3(&Btd, 0x00, 0x1B, 0xDC, 0xF2, 0x54, 0x32); //for Dongke A
/*シリアルモニタにBluetooth DongleのアドレスがSerial.printされる。
書き出された6個のコードをスケッチを変更し、
ドングルを指した状態でArduinoに書き込む(電源は切らない)
ドングルを抜いてUSBケーブルでPS3コントローラを接続する(電源は切らない)
ケーブルを抜いてドングルを指し直す(Arduinoを再起動する)
PS3コントローラのPS ボタンを押してペアリングする。
*/

#include <IRremote.h>
IRsend irsend;
int RECV_PIN = A0 ; //赤外線受光部をPIN A0に
IRrecv irrecv(RECV_PIN);
decode_results results; //受信信号を格納する
const long sign_hit = 0x4CB0FADD;
int cnt = 0 ;

//#include <Servo.h>
//Servo myservo;
#include <VarSpeedServo.h>
VarSpeedServo myservo;
VarSpeedServo myservo_1;
int servo_pos = 90;
const int servo_sp = 50;
const int servo1_sp = 50;
const int d_time = 20;
int ch = 0;
int val = 0;
int pos_y;
int pos_x;
int pos_ry;
int pos_rx;
int PWMA = 5; // Aモータ PWM 左側モータ
int AIN1 = 4; // Aモータ IN1 ( 9ピンはUSBホストシールド使用
int AIN2 = 2; // Aモータ IN2
int BIN1 = 8; // Bモータ IN1
int BIN2 = 7; // Bモータ IN2
int PWMB = 6; // Bモータ PWM 右側モータ( 10ピンはUSBホストシールド使用

int motor_speed;
//int motor_sp; //モータスピード  max=255

//const int LED_1 = A1; //主砲 D3にLED_IRとパラ接続
const int LED_2 = A2; //機銃
const int LED_3 = A1 ; //ブレーキランプ
//const int LED_4 = ; //主砲準備中
const int LED_8 = A3; //ヘッドランプ
const int SVCH1 = A4; //servo 1
const int SVCH2 = A5; //servo 2

void setup() {
irrecv.enableIRIn(); // Start the receiver
pinMode(RECV_PIN, INPUT) ; // 赤外線受信モジュールに接続ピンをデジタル入力に設定
pinMode(PWMA, OUTPUT);
pinMode(AIN1, OUTPUT);
pinMode(AIN2, OUTPUT);
pinMode(BIN1, OUTPUT);
pinMode(BIN2, OUTPUT);
pinMode(PWMB, OUTPUT);
// pinMode(LED_1, OUTPUT);
pinMode(LED_2, OUTPUT);
pinMode(LED_3, OUTPUT);
// pinMode(LED_4, OUTPUT);
pinMode(LED_8, OUTPUT);
pinMode(SVCH1, OUTPUT);
pinMode(SVCH2, OUTPUT);
myservo.attach(SVCH1); //servo1 砲身上下
myservo.write(servo_pos);
myservo_1.attach(SVCH2); //servo2 砲塔旋回
myservo_1.write(servo_pos);

Serial.begin(115200);
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
if (Usb.Init() == -1) {
Serial.print(F("\r\nOSC did not start"));
while (1); //halt
}
Serial.print(F("\r\nPS3 Bluetooth Library Started"));
}

void loop() {
Usb.Task();
if (irrecv.decode(&results)) { // 受信コードの値が
if (results.value == sign_hit) { // 0x4CB0FADDだったら被弾
Serial.println("HIT!");
Hit();
}
irrecv.resume();
}

if (PS3.PS3Connected) {
//スティックの中央は127だけどピタリと止まらないので+-10ほど余裕を持たせる。
//左スティック上下の値(最上部0、中央127、最下部255)を読み込む
pos_y = PS3.getAnalogHat(LeftHatY);
pos_x = PS3.getAnalogHat(LeftHatX);
pos_ry = PS3.getAnalogHat(RightHatY);
pos_rx = PS3.getAnalogHat(RightHatX);

/*
砲身 UP/DOWN
スティックが下(20未満)の時は1ずつ下に動く。
スティックが上(235より上)の時1ずつ上に動く。
スティックを中間に戻すと、サーボはその位置で停止。
ボタン(SQUARE)を押すと90°にセット。
*/
if (pos_ry > 235 && servo_pos < 179 ) { // UP
servo_pos++;
myservo.write(servo_pos, servo_sp, true);

} else if (pos_ry < 20 && servo_pos > 1 ) { //DOWN
servo_pos--;
myservo.write(servo_pos, servo_sp, true);

} else if (PS3.getButtonClick(SQUARE)) { //90°
servo_pos = 90;
myservo.write(servo_pos, servo_sp, true);
// delay(d_time);
}

//砲塔旋回
if (pos_rx > 235) { //右旋回
myservo_1.write(0, servo1_sp);

} else if (pos_rx < 20) { //左旋回
myservo_1.write(180, servo1_sp);

} else { //停止
myservo_1.write(90, servo1_sp);
}
//delay(d_time);

//砲撃 + リコイル
if (PS3.getButtonClick(R1) && ch == 0 ) {
int khz = 38; // 38kHz carrier frequency for the NEC protocol
unsigned int irSignal[] = {4100, 1000, 2000, 2050, 1000}; // vs BATTLE TANK jr T-72 40MHz
// AnalysIR Batch Export (IRremote) - RAW
irsend.sendRaw(irSignal, sizeof(irSignal) / sizeof(irSignal[0]), khz);

irrecv.enableIRIn(); // 受信を再開する  

//digitalWrite(LED_1, HIGH);
motor_run(255, 0, 1, 0, 1, 1);
ch = 20000; //約5秒間は砲撃不可
delay(70);

motor_run(0, 0, 0, 0, 0, 1);
delay(20);

//digitalWrite(LED_1, LOW);
motor_run(255, 1, 0, 1, 0, 1);
delay(130);
} else {
if (ch > 0) {
ch--;
// digitalWrite(LED_4, HIGH); //装填中
} else {
// digitalWrite(LED_4, LOW); //砲撃可
}
}

//銃撃
if ( PS3.getButtonClick(L1)) {
for ( int i = 0; i < 5 ; i++) {
val++;

digitalWrite(LED_2, HIGH);
delay(50);
digitalWrite(LED_2, LOW);
delay(50);
}
}

//ヘッドライト
if (PS3.getButtonClick(RIGHT)) { //点灯
digitalWrite(LED_8, HIGH);
}

if (PS3.getButtonClick(LEFT)) { //消灯
digitalWrite(LED_8, LOW);
}


//左スティックがセンター付近は停止(ブレーキ)
if (pos_x >= 117 && pos_x <= 137 && pos_y >= 117 && pos_y <= 137) {
motor_run(0, 1, 1, 1, 1, 1);
}

//前進
else if (pos_y < 117 && pos_x > 117 && pos_x < 137) {
//左スティック中央(127)から最上部(0)の値をモーターのスピード0から255に変換
motor_speed = map(pos_y, 117, 0, 0, 255);
motor_run(motor_speed, 1, 0, 1, 0, 0);
}

//後進
else if ( pos_y > 137 && pos_x > 117 && pos_x < 137) {
motor_speed = map(pos_y, 137, 255, 0, 255);
motor_speed = motor_speed / 2;
motor_run(motor_speed, 0, 1, 0, 1, 0);
}

//前進右旋回
else if ( pos_y < 117 && pos_x > 137) {
motor_speed = map(pos_y, 117, 0, 0, 255);
//motor_speed = motor_speed / 2;
motor_run(motor_speed, 1, 0, 0, 0, 0);
}

//前進左旋回
else if ( pos_y < 117 && pos_x < 117) {
motor_speed = map(pos_y, 117, 0, 0, 255);
//motor_speed = motor_speed / 2;
motor_run(motor_speed, 0, 0, 1, 0, 0);
}

//後進右旋回
else if ( pos_y > 137 && pos_x > 137) {
motor_speed = map(pos_y, 137, 255, 0, 255);
motor_speed = motor_speed / 2;
motor_run(motor_speed, 0, 1, 0, 0, 0);
}

//後進左旋回
else if ( pos_y > 137 && pos_x < 117) {
motor_speed = map(pos_y, 137, 255, 0, 255);
motor_speed = motor_speed / 2;
motor_run(motor_speed, 0, 0, 0, 1, 0);
}

//右超信地旋回
else if ( pos_y > 117 && pos_y < 137 && pos_x > 137) {
motor_speed = map(pos_x, 137, 255, 0, 255);
motor_speed = motor_speed / 2;
motor_run(motor_speed, 1, 0, 0, 1, 0);
}

//左超信地旋回
else if ( pos_y > 117 && pos_y < 137 && pos_x < 117) {
motor_speed = map(pos_x, 117, 0, 0, 255);
motor_speed = motor_speed / 2;
motor_run(motor_speed, 0, 1, 1, 0, 0);
}
}
}

void motor_run(int D0, int D1, int D2, int D3, int D4, int D5) {
/* D0 : モータスピード
D1 : モータA(左)CH1 , D2 : モータA(左)CH2 1 = HIGH / 0 = LOW
D3 : モータB(右)CH1 , D4 : モータB(右)CH2 1 = HIGH / 0 = LOW
D5 : LED_3 ON/OFF 1 = HIGH / 0 = LOW
*/
analogWrite(PWMA, D0);
analogWrite(PWMB, D0);
digitalWrite(AIN1, D1);
digitalWrite(AIN2, D2);
digitalWrite(BIN1, D3);
digitalWrite(BIN2, D4);
digitalWrite(LED_3, D5);
}


// ====被弾====
void Hit() {
motor_run(255, 0, 1, 0, 1, 0);
delay(100);
motor_run(0, 1, 1, 1, 1, 1);
delay(50);
motor_run(160, 1, 0, 1, 0, 0);
delay(80);
motor_run(0, 1, 1, 1, 1, 1);
delay(50);

cnt++;
if ( cnt >= 5 ) {
motor_run(0, 1, 1, 1, 1, 0);
delay(10000);
cnt = 0;
} else {
delay(1000);
}
}

 


モータードライバICアールエスコンポーネンツのオンライン販売サイトでも購入できます。
規格ごとに検索ソートがかけられ商品選択がしやすく、業者価格での部品購入が可能です。 


 

2018-11-16
前回の(小型化1)から2週間経過している。
その間、MEGA搭載戦車の赤外線バトルシステムの実験やNANO+サーボドライバPCA9685のテストをしました。

左からArduino MEGA、UNO、NANOです。

先日、発注していたミニUSBホストシールドがお届け予定日から2日遅れではあるが2週間で深川から届きました。
早速、ユニバーサル基板にヘッダーを取付け配線をします。
数ヶ所迷うところが有りますが、ネットなどで情報を入手しながら進めます。
ミニUSBホストシールドはArduino Pro Miniとは結合が良いのですが、NANOにはプラグインできず配線する必要が有りました。

 

デジタルPINが足りません。
PIN D3は赤外線発光用にリザーブ
PIN D2,D4~D8は2個のDCモータのPWM制御用に使います。
PIN D9~D13はミニUSBホストシールドで使います。
2個のサーボモータと、6個のLEDはサーボドライバPCA9685で動かす予定でしたが、小型化のためPCA9685は使うのを見送ります。
従ってLEDと、赤外線受光モジュールの信号入力ピンが足りません。

なんて、ずっと悩んでいましたが、解決方法をネットで発見しました。
テキスト「Arduinoをはじめよう」にも182頁に〔補足〕として書かれていました。
アナログ入力ピンをデジタルピンとして使えます。

早速、回路を組み、スケッチを書いて確認します。
使えました。
これで、何とかなりそうです。

Arduino NANO + ミニUSB ホストシールド + モータドライバ 接続回路図です。
赤外線受光部は未取付けです。

組み立てたものを比較してみます。
床面積的には同じくらいでしょうか。
以前のタイプが3階建てでしたが、今回は平屋なので高さは抑えることが出来ました。

画像左側がコンパクト化したArduino NANO版です。

赤外線受光モジュールを組み込み、被弾処理をするスケッチも書きましたが、スケッチのサイズが許容量の10%オーバーと言う事で実行できませんでした。
赤外線受光システム無しだと、「最大30720バイトのフラッシュメモリのうち、スケッチが27878バイト(90%)を使っています。」で、何とかクリアー。
MEGAはフラッシュメモリのサイズが8倍有るため実行できますが、UNOやNANO等では難しいです。



一部追記 2019-11-07