ワイルドさおりんトラックス 012


サーボのトルクがヘボくて動作音が苦しそうですが、ちゃんとゆっくり動くよ!


#include <VarSpeedServo.h>  //動作速度の調整ができるサーボライブラリの読み込み
//#include <Servo.h>  //サーボライブラリの読み込み
int SERVO_SOCKET = 10;
VarSpeedServo servo;

#define NEUTRAL_VAL 1500 // NEUTRAL not use
#define MAX_VAL 1925 // High MAX not use
#define MIN_VAL 1075 // Low MIN not use
#define OFF_VAL // if get value under this, receiver or transmitter is off
#define HIGH_VAL 1550 // UP SIDE
#define LOW_VAL 1450 // DOWN SIDE

#define LMP_ON 255 //
#define LMP_OFF 0 //

#define OFF_DLAY 900 //
#define ON_DLAY 100 //

#define INPUT_PIN 3 // Input Pin Numver
#define OUTPUT_PIN 5 // Output Pin Numver
#define OUTPUT_PIN 6 // Output Pin Numver


void setup() {
Serial.begin(9600); // 9600bpsでポートを開く
servo.attach( 10 ); //Arduinoからサーボへのoutput用信号線を10番ピンに
pinMode( 9, INPUT );  //受信機ch5からの信号線を9番ピンに
pinMode( 3, INPUT );  //受信機ch6からの信号線を3番ピンに
pinMode( 5, OUTPUT ); //ブレーキランプ
pinMode( 6, OUTPUT ); //バックランプ
}


void loop() {
int val = 0;
unsigned int d_val; //LED用ch6(ch2とのミキシング)からのパルス幅
unsigned int s_val; //道板用ch5からのパルス幅
d_val=pulseIn( 3, HIGH ); //Get pulse width
s_val=pulseIn( 9, HIGH ); //
s_val = map( s_val, 1075, 1925, 0, 180);

if( 1075 <= s_val <=1925 ){
servo.write( s_val, 5 ); //低速1-高速255
//delay(10);
}


if( d_val > HIGH_VAL || d_val < LOW_VAL ){ //Pluse width is wide
analogWrite( 5, LMP_OFF ); //ブレーキランプOFF
}
else { // Stick is newtral range
analogWrite( 5, LMP_ON ); //ブレーキランプON
}

if( d_val > HIGH_VAL + 50 ){ //Pluse width is wide
analogWrite( 6, LMP_ON ); //バックランプON
}
else { // Stick is newtral range
analogWrite( 6, LMP_OFF ); //バックランプOFF
}





}

よく使われる Servo.h ではなく、
動作速度を簡単に調整できる VarSpeedServo.h と言うライブラリを使いました。
最初は writeMicroseconds( s_val, 10 ) とか書いて、
パルス幅でなめらかに動かしたかったのですが、なぜかエラーが出ます。
そこで、map関数でわざわざパルス幅を角度に置き換えて動かしています。
非効率かつ、動きがぎこちなくなっていささか不満です。
なんとかパルス幅指定で動かす方法を探し中です。

DSC_2578.jpg
本には、Arduinoから出力する電流は20mAぐらいにしましょう、と書かれています。
んで、マイクロサーボが動作時に流れる電流が約1.5A。

bLED_bkLED_slowServo.jpg
ですから、受信機からArduinoへは信号線だけ繋いで、
+-線は直接サーボに繋いでいます。



テーマ : ラジコン
ジャンル : 趣味・実用

ワイルドさおりんトラックス 011

風邪を引いてしばらくグロッキーでした。

DSC_2566.jpg
荷台の扉?下駄?を可動させます。
いろいろ考えましたが、考えるのやめて一番楽なサーボ直付け式にしました。

DSC_2567.jpg
トラックに合わせて塗装。

DSC_2575.jpg
こんな感じで戦車を載せたり降ろしたりできます。

DSC_2569.jpg
やっぱ18輪(12輪しかないけど)はいい。
トラックを6輪にしたので全体のバランスは良くなったと思います。

DSC_2574.jpg
荷台側にもブレーキランプとバックランプをつけるつもりなので、
完成までもう少しかかります。

DSC_2576.jpg
もうひとつ野望がありまして、荷台を可動化させたのだから、
動作速度をなるべくゆっくりスケール感のあるものにしたい!と思います。
「サーボディレイ挟めば済むじゃないか」って話ですが、
せっかく始めたArduinoですから使わない手はありません。
今はまだ私のプログラムがポンチすぎてぎこちなく動くだけですが、
今後に期待(?)ということで。
以下、未完成ですが。



#include <Servo.h>  //サーボライブラリの読み込み
int SERVO_SOCKET = 10;
Servo servo;

#define NEUTRAL_VAL 1500 // NEUTRAL not use
#define MAX_VAL 1925 // High MAX not use
#define MIN_VAL 1075 // Low MIN not use
#define OFF_VAL 1074 // if get value under this, receiver or transmitter is off
#define HIGH_VAL 1550 // UP SIDE
#define LOW_VAL 1450 // DOWN SIDE

#define LMP_ON 255 //
#define LMP_OFF 0 //

#define OFF_DLAY 900 //
#define ON_DLAY 100 //

#define INPUT_PIN 3 // Input Pin Numver
#define OUTPUT_PIN 5 // Output Pin Numver
#define OUTPUT_PIN 6 // Output Pin Numver


void setup() {
Serial.begin(9600); // 9600bpsでポートを開く
servo.attach( 10 ); //サーボからの信号線を10番ピンに
pinMode( 9, INPUT );  //受信機ch5からの信号線を9番ピンに
pinMode( 3, INPUT );  //受信機ch6からの信号線を3番ピンに
pinMode( 5, OUTPUT ); //ブレーキランプ
pinMode( 6, OUTPUT ); //バックランプ
}


void loop() {
int val = 0;
unsigned int d_val;
unsigned int s_val;
d_val=pulseIn( 3, HIGH ); //Get pulse width
s_val=pulseIn( 9, HIGH ); //

if( 1075 <= s_val <=1950 ){
servo.writeMicroseconds( s_val );
delay(10);
}


if( d_val > HIGH_VAL || d_val < LOW_VAL ){ //Pluse width is wide
analogWrite( 5, LMP_OFF ); //ブレーキランプOFF
}
else { // Stick is newtral range
analogWrite( 5, LMP_ON ); //ブレーキランプON
}

if( d_val > HIGH_VAL + 50 ){ //Pluse width is wide
analogWrite( 6, LMP_ON );
}
else { // Stick is newtral range
analogWrite( 6, LMP_OFF );
}





}




DSC_2564.jpg
ラジコン飛行機も買わずに、本ばかり買って読んでます。
全部を読んで理解した!ってわけではないですが、
基本的な文法や関数の勉強(興味ない箇所だと右から左ですが)をし、
自分のやりたいことの助けになる部分が見つかればいいなぁ、
と思いながら読んでいます。

DSC_2565.jpg
この本は分かりやすかったです。
リファレンスも、本家サイトからのコピペに終始する凡百の本と違い、
いろいろ補足説明が付いていて親切です。



テーマ : ラジコン
ジャンル : 趣味・実用

Arduino大変記_002

DSC_2560.jpg

DSC_2562.jpg
ご覧ください(塗料で汚れた爪はご容赦ください)。
上手くいきました。

LED_失敗
これまで上図のような形でずっと実験していました。

LED_成功
それを、実験時にはUSBケーブルを抜き、
受信機の+-線をつないで給電する形にしました。
すると上手いこと動作しました。なんじゃそりゃ。
ていうか、PCと接続したままだと、まともに動かないものなんですね。
あー、恥ずかしい。(⊃д⊂)

DSC_2563.jpg
さっそく、小さい方のボードにも書き込んで、同様に配線してテスト。
こちらもちゃんと動作してくれました。
以下、現状のコードです。


#define NEUTRAL_VAL 1500 // NEUTRAL not use
#define MAX_VAL 1925 // High MAX not use
#define MIN_VAL 1075 // Low MIN not use
#define OFF_VAL 1074 // if get value under this, receiver or transmitter is off
#define HIGH_VAL 1550 // UP SIDE
#define LOW_VAL 1450 // DOWN SIDE

#define LMP_ON 255 //
#define LMP_OFF 0 //

#define OFF_DLAY 900 //
#define ON_DLAY 100 //

#define INPUT_PIN 3 // Input Pin Numver
#define OUTPUT_PIN 5 // Output Pin Numver

void setup() {
Serial.begin(9600); // 9600bpsでポートを開く
pinMode( 3, INPUT );
pinMode( 5, OUTPUT ); //出力1
}

void loop() {

unsigned int d_val;
d_val=pulseIn( 3, HIGH ); //Get pulse width

if( d_val > HIGH_VAL || d_val < LOW_VAL ){ //Pluse width is wide
Serial.println("High");
analogWrite( 5, LMP_OFF );
}

else { // Stick is newtral range
Serial.println("Neutral");
analogWrite( 5, LMP_ON );
}
}


えー、このたびは大変お騒がせいたしました。
大山鳴動してネズミ一匹すら出てこないオチで幕を閉じた感じで
マジで私のケジメ案件でした。
たくさんのアドバイスをしていただいた、ねこ太さん、denzoさんには
あらためて感謝の念を禁じえません。ありがとうございました。
これに懲りてArduinoからは手を引く、なんてことはなく、
これからも勉強しながらいろいろ作っていこうと思っております。
次はもっと小さなことからコツコツとやっていきます。(゜▽゜;)



テーマ : ラジコン
ジャンル : 趣味・実用

Arduino大変記_001

DSC_2558.jpg

#define NEUTRAL_VAL 1500 // NEUTRAL not use
#define MAX_VAL 1925 // High MAX not use
#define MIN_VAL 1075 // Low MIN not use
#define OFF_VAL 1074 // if get value under this, receiver or transmitter is off
#define HIGH_VAL 1650 // UP SIDE
#define LOW_VAL 1350 // DOWN SIDE

#define LMP_ON 255 //
#define LMP_OFF 0 //

#define OFF_DLAY 900 //
#define ON_DLAY 100 //

#define INPUT_PIN 3 // Input Pin Numver
#define OUTPUT_PIN 5 // Output Pin Numver

void setup() {
Serial.begin(9600); // 9600bpsでポートを開く
pinMode( 3, INPUT );
pinMode( 5, OUTPUT ); //出力1
}

void loop() {
unsigned int d_val;
d_val=pulseIn( 3, HIGH ); //Get pulse width

if( d_val > HIGH_VAL ){ //Pluse width is wide
Serial.println("High");
analogWrite( 5, LMP_ON );
}
else { // Stick is newtral range
Serial.println("Neutral");
analogWrite( 5, LMP_OFF );
}
}

現状です、ほぼねこ太さんの見本のコピペですが。
ねこ太さんには正解のプログラムを書いていただき、
denzoさんにもアドバイスと参考ブログを教えていただいたにもかかわらず、
ブレーキランプ大作戦は完成に至っておりません。
解答を提示されてなお上手くいかないとは情けない限りです。
LED、光るけど消えず。。。
なんか根本を間違ってて、それに気付けないでいるんだと思います。
ホント、自分の頭の悪さに嫌気がさします。
でも、もうちょっとがんばって考えてみます。

DSC_2552.jpg
気分転換にナンバープレート作りをしました。

DSC_2553.jpg
1mmプラ板に貼り付け後、
ツヤ消しクリアを吹いてデカールを保護します。
って、なんかズレてるな。
プラモに付属しているデカールと違って、
貼った後の位置修正ができないのがツラいところです。

DSC_2555.jpg
ナンバープレートがあると、なんだか実車感出ますね。

DSC_2557.jpg
前側。
こっちもなんか貼り込む位置がズレてるなぁ。

DSC_2559.jpg
塗料が届いたので基礎化粧を済ませました。
重量は394g。無塗装時から7gアップとは恐れ入る。
この後、ずっと前に作った日の丸デカールを貼ってやろうと思ったら、
フィルム状の台紙側にデカールがガッチリくっついてしまっており、
無理矢理台紙を剥がすと、デカールも中途半端に剥がれてボロボロに。
自作デカールの作り置きは難しいことが分かりました。
さっき作った大量のナンバープレート、どうしよう。。。

こいつも気分転換に飛ばしに行きたいなぁ。
今年の初飛行がまだとは情けない。



テーマ : ラジコン
ジャンル : 趣味・実用

F-35 3号機にお化粧

DSC_2543.jpg
いいかげん真っ白じゃ冴えないので、エアブラシもあることですし、
50mmのF-35のお色直しと洒落こみました。
タミヤのアクリル塗料のニュートラルグレーを薄めて吹きました。
キャノピーに被った塗料は、後からパーツクリーナーで拭き取ります。

お化粧したのはいいのですが、
かえってヒビ割れや荒れた表面が目立ってしまって、
なんともアップに耐えられないのがバレてしまっています。
そもそも化粧でブスを誤魔化そうと言う性根が間違っていると思います。
ていうか、化粧でブスは誤魔化せません。(力説)

DSC_2544.jpg
意気揚々と吹いていたのですが、ここで塗料が品切れ。
うすめ液を1:1で足しても、一瓶じゃ足らないですね。
ミニじゃなくて大瓶で売ってくれー。

DSC_2542.jpg
塗装前。

DSC_2547.jpg
塗装後(途中ですが)。
たぶん最終的に塗装前と比べて5~6g重くなりそうです。

WS000000_201801030838210a6.jpg
昨日のエラー吐きまくりのポンチコード。

WS20180103_3.jpg
F-35の塗装でリフレッシュしたので、もう一度本と睨めっこしながら手直し。
なんとかエラーが出なくなりました。

DSC_2551.jpg
いざテスト。
おお、LEDが光ったぞ。
これで送信機のレバーを倒して消灯してくれれば大成功。
・・・が、ダメ!!消えません。
中の数値を小さくしてもダメ。
根本的に信号の入力判定と指定ができてない気がします。
う~ん、もうちょっと勉強します。。。



テーマ : ラジコン
ジャンル : 趣味・実用

戦闘機力
外部サイト
最新記事
最新コメント
月別アーカイブ
カテゴリ
リンク
ランキング
にほんブログ村 その他趣味ブログ ラジコンヘリ・飛行機へ にほんブログ村 その他趣味ブログ ラジコン戦車へ
アフィリエイト
↓お買い物すると管理人が儲かります。(^q^)
素敵商品
こちらはアマゾンの審査に落ちたので、
買い物をしても管理人は儲かりません。
管理人のお気に入り商品を大紹介しています。
プロフィール

カゼハカセ

Author:カゼハカセ
・ラジコン飛行機で遊んでいます
・好きな35:F-35
・好きなMk.II:メルカバ Mk.II
・好きなランス・ヘンリクセン:フランク・ブラック
・好きなロボ:バトルフィーバーロボ
・好きなザブングルタイプ:ブラッカリィ
・好きなビラン:ビランビー
・好きなファム:トゥランファム
・好きなソルティック:マッケレル
・好きなビートル:マグナビートル、ダイビングビートル
・好きなデュナメス:ガンダムデュナメス
・好きなガンダム:ヘビーガンダム
・好きなザク:高速機動型ザク
・好きな月下:四聖剣機
・好きなレイバー:グリフォン、AVR-0
・好きなイングラム:2号機、AVS-98
・好きなサブマシンガン:MAC-10
・好きなマシンガン:MG3
・好きなショットガン:AA12
・好きなハンドガン:M93R AUTO9
・好きなガン:ガンナック(FC)
・好きなフォックス:スターフォックス(SFC)
・好きなトラック:ワイルドトラックス(SFC)
・好きなマリオ:スーパーマリオランド(GB)
・好きなバンガイオー:爆裂無敵バンガイオー(N64)
・好きなアレスタ:武者アレスタ(MD)
・好きなソニック:ソニックザヘッジホッグ(MS)
・好きなタクシー:クレイジータクシー(DC)
・好きなUSA:デイトナUSA(AC)
・好きな忍者:忍者くん~阿修羅の章~(AC)
・好きなダンディ:リモートコントロールダンディ(PS)
・好きなポヤッチオ:どきどきポヤッチオ(PS)

好きなアニメ
THE ビッグ・オー プラネテス 侵略!イカ娘 人類は衰退しました じょしらく キルミーベイベー あいまいみー 私がモテないのはどう考えてもお前らが悪い! TVアニメ「ミス・モノクローム -The Animation-」2013年10月よりTVアニメ放送中! TVアニメ「てーきゅう」 うーさーのその日暮らし ニンジャスレイヤー フロム アニメイシヨン プリパラ 干物妹!うまるちゃんR 不思議なソメラちゃん 弱酸性ミリオンアーサー ハッカドール THE・あにめ~しょん くまみこ ばくおん 鬼斬 魔法少女育成計画 けものフレンズ