2019年04月09日
電子トリガーを作る その2
その1の続き。
今回はセミオート射撃をできるようにします。
セミオート射撃のために、カットオフを検出できるようにします。
セクターギアに開いている穴に直径5mmの磁石を埋め込み、これをホールICで検出します。


メカボックス越しでは磁力を検出できなかったので、穴を開けます。

ユニバーサル基板にホールICを半田付けし、取り付けのためにメカボックスにネジを切りました。


プログラムは以下の通り。
今回はセミオート射撃をできるようにします。
セミオート射撃のために、カットオフを検出できるようにします。
セクターギアに開いている穴に直径5mmの磁石を埋め込み、これをホールICで検出します。
メカボックス越しでは磁力を検出できなかったので、穴を開けます。
ユニバーサル基板にホールICを半田付けし、取り付けのためにメカボックスにネジを切りました。
プログラムは以下の通り。
//カットオフテスト用
//入出力ピンの名称変更
#define SEMI_SW 4 //セミオートスイッチ
#define CUTOFF_SW 3 //カットオフセンサー
#define MOTOR 9 //モーター制御出力
#define LED 13 //マイコンLED
//定数の宣言
const int Chata = 0; //チャタリング防止(マイクロ秒)
const bool ON = LOW; //スイッチ用定数、混乱防止のため
const bool OFF = HIGH;
//変数の宣言
int Fire = 0; //発射制御用変数
bool Coff = LOW; //カットオフセンサー用変数
bool Old_Coff = LOW;
bool SemiTrg = HIGH; //セミオートスイッチ用変数
bool Old_SemiTrg = HIGH;
void setup() {
//入出力ピンの設定
pinMode(SEMI_SW,INPUT);
pinMode(CUTOFF_SW,INPUT);
pinMode(LED,OUTPUT);
}
void loop() {
//現在の各スイッチの状態を検知
Coff = digitalRead(CUTOFF_SW);
SemiTrg = digitalRead(SEMI_SW);
//カットオフスイッチの状態をLEDで表示
if(Coff == HIGH){
digitalWrite(LED,HIGH);
}
if(Coff == LOW){
digitalWrite(LED,LOW);
}
if(Fire >= 1){
analogWrite(MOTOR,254); //変数Fireが1以上のときモーター作動
}
if(Fire > 1){
//カットオフ処理
if(Coff == HIGH && Old_Coff == LOW){
Fire = Fire - 1;
/*カットオフスイッチがLOWからHIGHなったときに
*変数Fireの数字を1引く
*/
}
if(Coff == LOW && Old_Coff == HIGH){
/*物理スイッチを使用する際のチャタリング防止用
*/
}
Old_Coff = Coff;
}
if(Fire == 1){
if(Coff == HIGH && Old_Coff == LOW){
analogWrite(MOTOR,0);
Fire = 0;
/*変数Fireが1に等しい場合、
*カットオフスイッチがLOWからHIGHになったとき
*モーターを停止する
*/
}
if(Coff == LOW && Old_Coff == HIGH ){
/*物理スイッチを使用する際のチャタリング防止用
*/
}
Old_Coff = Coff;
}
if(Fire == 0){
/*トリガー処理、変数Fireの値が0の時のみ
*トリガー入力を受け付ける
*/
analogWrite(MOTOR,0);
if(SemiTrg == ON && Old_SemiTrg == OFF){
Fire = 1;
/*トリガーがOFFからONになったとき
*変数Fireに1を代入する
*/
}
if(SemiTrg == OFF && Old_SemiTrg == ON){
delayMicroseconds(Chata);
/*トリガーがONからOFFになったとき
*チャタリング防止のため
*変数chataマイクロ秒停止する
*/
}
Old_SemiTrg = SemiTrg;
}
if(Fire < 0){
Fire = 0;
}
}
動かすとこんな感じ。2019年04月08日
電子トリガーを作る その1
電子トリガーに興味を持ち、色々と調べてみたら
こんなものを見つけて、自分でも作れそうだったので
作ってみることにしました。
以前、ガスガン内蔵ヒーター制御装置を作る際、テストに使ったArduino Nano互換機。
これを使います。
プログラム用のソフト他はこちらを参照してください。

まずはモーターを動かすモータードライバを作ります。
見つけた回路図をほぼそのまま流用して作りました。
詳細についてはこちらを参照してください。

回路図のマイコンVINと出力PINの所をスイッチで繋ぐとそのまま動かせます。
次はマイコンを繋いでテストします。
プログラムは以下の通り。
動かすとこんな感じです。
このモータードライバーは連続して動かすことができないので、
PWM出力でブートストラップコンデンサを充電する時間を作る必要があります。
次回から電動ガンへの実装を行います。
こんなものを見つけて、自分でも作れそうだったので
作ってみることにしました。
以前、ガスガン内蔵ヒーター制御装置を作る際、テストに使ったArduino Nano互換機。
これを使います。
プログラム用のソフト他はこちらを参照してください。

まずはモーターを動かすモータードライバを作ります。
見つけた回路図をほぼそのまま流用して作りました。
詳細についてはこちらを参照してください。
回路図のマイコンVINと出力PINの所をスイッチで繋ぐとそのまま動かせます。
次はマイコンを繋いでテストします。
プログラムは以下の通り。
//モータードライバーテスト用
void setup() {
pinMode(2,INPUT);
pinMode(3,INPUT);
pinMode(4,INPUT);
}
void loop() {
if(digitalRead(2)==HIGH){
analogWrite(5,255); //出力100%、しばらくすると動かなくなる
}
else if(digitalRead(3)==HIGH){
analogWrite(5,123); //出力50%
}
else if(digitalRead(4)==HIGH){
analogWrite(5,254); //出力99%、連続使用できる限界
}
else{
analogWrite(5,0);
}
}
このプログラムをマイコンに書き込み、マイコンのD2,D3,D4にスイッチ、D5に出力PINの所を繋ぎ動かすとこんな感じです。
このモータードライバーは連続して動かすことができないので、
PWM出力でブートストラップコンデンサを充電する時間を作る必要があります。
次回から電動ガンへの実装を行います。
2019年04月02日
NcStar ADO 3 – 9 x 42mmスコープ&レッドドットサイト
新しく買ったエアガン用にアマゾンに売っていた
NcStarというメーカーのスコープを買いました。


箱の中に専用ケースとスコープがありました。


スコープ本体の見た目。
近未来的なデザインが気に入っています。

スコープを覗くとこんな感じ。

付属している説明書等。
すべて英語で書かれています。


スコープのエレベーションとウィンデージダイヤル。
エレベーションは下に付いています。

ドットサイトのエレベーションとウィンデージダイヤル。
マイナスネジを回して調整します。

本体上部のコントロールパネル。
手前の四角ボタンがスコープ側、奥の丸ボタンがドットサイト側の光量調整です。
中央のボタンでスコープイルミネーションの色を変更できます。
スコープのイルミネーションをオンにするには+ボタンを長押し、 オフにするには+と-ボタンを同時押しします。



ドットサイトは可倒式で左側にロック解除レバーがあります。
ロックを解除すれば自動で立ち上がり、ドットサイトがオンになります。
手で倒せばオフになります。



スコープとドットサイト共通の電源としてCR123A電池を1つ使います。


新しく買ったエアガンに取り付けてみました。
NcStarというメーカーのスコープを買いました。
箱の中に専用ケースとスコープがありました。
スコープ本体の見た目。
近未来的なデザインが気に入っています。
スコープを覗くとこんな感じ。
付属している説明書等。
すべて英語で書かれています。
スコープのエレベーションとウィンデージダイヤル。
エレベーションは下に付いています。
ドットサイトのエレベーションとウィンデージダイヤル。
マイナスネジを回して調整します。
本体上部のコントロールパネル。
手前の四角ボタンがスコープ側、奥の丸ボタンがドットサイト側の光量調整です。
中央のボタンでスコープイルミネーションの色を変更できます。
スコープのイルミネーションをオンにするには+ボタンを長押し、 オフにするには+と-ボタンを同時押しします。
ドットサイトは可倒式で左側にロック解除レバーがあります。
ロックを解除すれば自動で立ち上がり、ドットサイトがオンになります。
手で倒せばオフになります。
スコープとドットサイト共通の電源としてCR123A電池を1つ使います。
新しく買ったエアガンに取り付けてみました。
タグ :NcStar