All_outlook

All_outlook

RCJ Soccer Lightに出場予定の高校1年生4人組です!中学の科学部仲間で再集合して結成しました。作ったものや研究結果、余談?などを上げていきます。

ホームページ Junの個人ブログ

このブログの影響で生じた損害などにおいては責任を負いかねます。試す場合は完全自己責任でお願いします。
ブログの運営はJunがやっています。

プリント基板の制作①

今回は、プリント基板の制作について書いていこうと思います。

どんな基板を作るのか

今回作るのは、atmega328pをArduinoMicroのピン配列にして書き込みやすいようにICSPピンを付けた基板です。

この基板は、部活内のサッカー班がIRセンサーを読み取るためのマイコンとしてMicro用の回路を使っていましたが、Microより安く出来る方法はないかと調べ、Atmega328pを使用することになり、変換基板が必要になったっということで制作しているようです。そこに関係ない僕が首を突っ込んでいる感じですw

まぁ僕的には、IRセンサーの基板ごと作り直せばいと思うのですが…
そんな感じで書いていきたいと思います。

使用したソフト

Eagle
→AutodeskのFusion360を使っている流れでEagleも前からちょっと使っていたからです。

回路図/パターン図

f:id:J_jun:20200331174126j:plain:h400
回路図

f:id:J_jun:20200331174344j:plain:h400
Arduino_micro_パターン図

工夫点

回路図を見てもらえばわかるように、ICSPで信号をやり取りするピン&電源ピンにはLEDのを取り付けてデバックをしやすくしています。
また、ArduinoMicroとピンの配置は全く同じになるように制作しました。
当たり前だと思いますけどベタGNDにしました。

終わりに

ここの配線おかしいんじゃないかなどありましたら教えて下さい。

また、この基板を発注してみようかなと思っています。
おすすめの業者があったら教えてください。

今度、基板発注についての記事も書くのでぜひ見てください。

簡易的な電源装置の作成②

今回の記事はfTomo監修です。(←なんだそれw)
どうも、Junの背後に張り付いているものです。
研究途中なので、あまり出したくないのですが電源装置を作ってみたので紹介したいと思います!

求めているスペック

  • 20Vは出力される。
  • 2Aでれば満足
  • 扱いやすい
  • 熱処理をしっかりする
  • 大好きなハンダゴテwww.goot.jpを使用できる。

研究内容

初号機

初号機のメインの研究としては、三端子レギュレーターの発熱と電源用ACアダプタのスペックを確認するために作りました。

出来ることは、メイン出力のターミナル&XHから1.3Vから22Vを出力可能、サブのUSBからは3端子レギュレーターを通して5Vも出力、この2つが同時にできます。

三端子の発熱については、メインの方では秋月の54×50×15mmのヒートシンクと12Vの30mmファンを搭載しました。サブの方では、16×25×15mmの小型のヒートシンクファンレスで使用しました。
放熱としては、メインの方は人肌並みの暖かさで保ってくれます(ハンダゴテ使用時)
サブは、スマホを充電してみると2秒以上触れないくらいの熱を持ちました。

ACアダプタは、試験用に24V0.5Aのものを使ってみました。結果としては、物足りなさを感じました。
次に、どのACアダプタを選べばいいのかわからなかったのでとりあえず秋月の中でバランスのいい24V2.7Aのものを買ってみました。結果としては、特にパワー不足も感じず問題ありませんでした。今は、学校などに持っていく場合は0.5A品、2.7A品は、据え置き型として使用しています。

反省点は、ファンレスはダメ、ケースがなくて持ち運びにくい、USBほぼつかわない、秋月の1000円もする電流表示機がすぐエラーからの死亡などです。
その反省点を克服するための2号機を制作しました。(している途中)

f:id:J_jun:20200330181715j:plain
初号機_前

f:id:J_jun:20200330181719j:plain
初号機_後

2号機

研究中です。
研究内容としては、ケース内での放熱は間に合うのか、タカチのプラスチックケースを使うのが初めてだったのでその加工、小型化、電源用のコンデンサの必要性です。

1号機からの変更点は、サイズ半分ぐらいの大きさ、USBなし、速攻で壊れた1000円はなしにして250円で満足w

電源用のスイッチの取付、ハンダゴテを使用するためのコネクタの取り付けがまだです。

2号機の研究成果は今度また書きます。(+回路図も作るかも…)

f:id:J_jun:20200330180007j:plain:h400
電源装置1

使用パーツ(重要な物のみ)

可変3端子レギュレーター

可変三端子レギュレータ KA350(LM350) 1.2〜33V最大3A: 半導体 秋月電子通商-電子部品・ネット通販
KA350を使用しています。この部品を選んだ理由としては、低価格(60円)で最大3Aとパワフルだからです。

可変抵抗

2kΩBカーブのものを使用しました。
KA350の仕様書では、5kΩになっていましたが電圧を調整する際に半分回すと最大値になってしまいました。それは流石にまずいのじゃないかと思い2KΩに変更しました。

ポリヒューズ

ポリヒューズはよくわからないのですが、3端子レギュレーターの定格が3Aだったので、2.75Aのものを使用しました。

電圧表示のやつ

秋月のホームページを見ていたら250円で電圧が出るもの見つけたので使うしかないだろうと思い使用しました。

まとめ

やっぱり電源装置は、買ったほうがいいw
あと電流制限、電圧制限やってみたい…
→電圧監視回路作れるかも…

RCJライトウェイトに必要なセンサーについて

今回は、RCJライトウェイトに出場するロボットに搭載するセンサーについて書いていきたいと思います。
※初心者が書いています。

必要条件

ライトウェイトのロボットに絶対に載せなければならないセンサーは3つあると思っています。それは、IR、ライン、コンパスセンサーです。

IRセンサー

これは、ボールを認識するためのセンサーです。ボールから、赤外線が出ていてそれを認識するそうです。ボールを見つけられないとゲームにならないので必要です。

このセンサーは、秋月のGP1UXC41QShttp://akizukidenshi.com/catalog/g/gI-06487/
を購入し試してみました。しかし、うまく認識することができませんでした。
なので、部活でサッカーをやっているチームやTwitterでも教えてもらった、TSSP58038
https://store.shopping.yahoo.co.jp/suzakulab/pololu-2462.htmlを使用してみようかなと思っています。(リンクは見つけた中で最安値)

ラインセンサー

これは、コートの白い枠を認識するセンサーです。LEDから発された光が床に反射して帰ってきたときの光の強さをフォトトランジスタでで読みとります。コートの白線から出てしまうと30秒間ロボットが出されてしまうので必要です。

このセンサーは、部活のチームでは、NJL7502Lhttp://akizukidenshi.com/catalog/g/gI-02325/を使用しているのですが、頭が低いほうがいいと思いTwitterで教えてもらったNJL7302L-F3http://akizukidenshi.com/catalog/g/gI-08910/をしようと思いました。今は購入し、実験中です。

コンパスセンサー

これは、ロボットの向きを認識し、自分のロボットが向かうべき方向を見極めるためです。このセンサーがないと相手のゴールに向かってしまったりしてしまいます。

このセンサーは、部活のチームでもTwitterでも教えてもらったMPU-6050
https://www.amazon.co.jp/ps61003-MPU-6050-%E4%BD%BF%E7%94%A8-%EF%BC%93%E8%BB%B8%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AD%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97%E3%83%BB%EF%BC%93%E8%BB%B8%E5%8A%A0%E9%80%9F%E5%BA%A6%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC-%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB/dp/B008BOPN40
を使用しようと考えています。しかし、部活のチーム人たちが動作するまでに30秒かかると言っていました。ですが、これを使用しているチームが多いいため一度買ってから検討しようと思います。

僕が作ってきた3Dモデルについて(Fusion360)

今回は、僕がこれまで作ってきた3Dモデルの紹介をしたいと思います。ぼくは、Fusion360を使用してモデルを制作しています。と言ってもFusinon360を本格的に始めたのは今月からなのですが…
ということで僕の作ってきた作品を紹介していきたいと思います。

作品紹介

カップ

僕がチュートリアルをやった後に初めて自分で最初から考えて制作したモデルです。

f:id:J_jun:20200327183105p:plain
3Dモデル_カップ

これは、初めてフォームを使用して制作したモデルです。

f:id:J_jun:20200327183031p:plain
3Dモデル_車

デスク

これは、fTomoと30分以内でどっちがいいモデルを制作できるか対決した際に制作した作品です。

f:id:J_jun:20200327183004p:plain
3Dモデル_デスク

僕は、制作する中で一度学んだことを有効に活用してモデリングをしようとしています。これをやることで、精密ないい作品を作れるようになると思っています。
他にも、上達のコツがあったら教えて下さい。

Aviutlについて

僕がこれまで力を入れてやってきたことに動画制作があります!なので今回は、僕が作った動画について書いていきたいと思います。

動画制作は、オンステージのパフォーマンス中やパフォーマンス前に流す動画を作るために習得しました。今回は、作成した動画の中で一番自信作の2020シーズンのブロック大会の準備中動画を添付したいと思います。

www.youtube.com

また、初めて作った超低レベルな動画も載せておきます。

www.youtube.com

動画はどちらも、全てAviutlで制作しています!

工夫点(上の動画)

前半部で、止まっている時間があるとあまり良くないなと感じ一番上から 手ブレ をつけています!
他にも、真っ白や真っ黒は使用しないなど、様々な工夫をしました。
今度、時間があればAviutlで動画を作るとき、僕が意識していることについての記事も書けたらいいなと思っています。


内容が薄くなってしまいましてすいません
学校が始まるまでは、毎日投稿出来るように頑張っていますので是非明日からも見に来てください!

f:id:J_jun:20200326234749j:plain

超音波センサで計測器(SO1602AWWB使用)

動作しているところ

オンステでは相方にArduinoのプログラムを任せていて(Pythonはやったことある)、ほぼArduinoのプログラムをやったことのないJunがArduinoのプログラムを書いてみました!今回は、誰でもわかるような、このプログラムについて書いていきたいと思います。w

youtu.be

出来ること

超音波センサで読み取った値を距離に変換し、それをPCに送り、同時にディスプレイに表示します。また、10cm以下だった場合は、音と光で知らせます。

使用部品(秋月で揃えました)

回路図

これから、Eagleで基板を制作していこうと思っているので練習として回路図も作ってみました。

f:id:J_jun:20200325231320j:plain
計測器_回路図

ソースコード

//ライブラリ宣言
#include <I2CLiquidCrystal.h>
#include <Wire.h>

#define echoPin 12 // 超音波_Echo
#define trigPin 13 // 超音波_Trigger
int pin = 11;      // ブザー
int led = 10;      // LED

//変数初期化
double Duration = 0; //受信した間隔
double Distance = 0; //距離

I2CLiquidCrystal lcd(0x3c, (uint8_t)127);
                  //  |             +--- contrast (0-255)
                  //  +-------- I2C ADDR (SA0=L: 0x3c, SA0=H: 0x3d)
void setup() {
  lcd.begin(16,2);         //LCDディスプレイをオン
  lcd.noCursor();          //LCDカーソルを非表示
  
  Serial.begin( 9600 );    //ポートを開き、速度を設定
  
  pinMode(echoPin,INPUT);  //echoPinを入力に設定
  pinMode(trigPin,OUTPUT); //trigPinを出力に設定

  pinMode(led,OUTPUT);     //ledPinを出力に設定
}

void loop() {
  digitalWrite(led,LOW);            //ledをON
  digitalWrite(trigPin,LOW);        //超音波(音)を停止
  delayMicroseconds(2);             //2μ秒待機
  digitalWrite(trigPin,HIGH);       //超音波(音)を出力
  delayMicroseconds(10);            //10μ秒待機
  digitalWrite(trigPin,LOW);        //超音波(音)を停止
  Duration = pulseIn(echoPin,HIGH); //パルスを計測(音が行って帰ってくるまでの時間)
    
  if (Duration > 0) {                    //Duration内の値が数かどうか判断
    //数だった場合の処理
    Duration = Duration/2;               //往復距離なので半分にする
    Distance = Duration*340*100/1000000; // 音速を340m/sなのでそこから距離を算出(cm)
    Serial.println(Distance);            //シリアルで出力
    }

  if (Distance < 10) {      //距離が10cm以下かどうか判断
    //10cm以下だった場合の処理
    tone(pin,262,200);      //ドを鳴らす
    digitalWrite(led,HIGH); //ledをOFF
  }
  
  lcd.clear();         //LCDをクリア
  lcd.print(Distance); //LCDに距離を表示
  
  delay(100); //0.1秒待機
  
  }

工夫点

ディスプレイに新しいデータを送るたびに続いてしまっていたので lcd.clear(); を入れたりして安定するようにしました。
これからは、距離によって音階が変わるようにしたり、たまに変な値が出てしまうので、それを防ぐため、5回分のデーターの最上値と最低値を省き平均するプログラムができたらいいなと思っています。
他にも、タクトスイッチを使用しディスプレイで操作出来るプログラムを書きたいです。いい方法があったら教えて下さい!

参考にさせてもらったブログ様

不快にさせてしまったら、すいません。消せと言われたらすぐ消します。
ストロベリー・リナックス/秋月電子のI2C液晶/OLEDほかをArduinoで使う https://n.mtng.org/ele/arduino/i2c.html
圧電ブザーを鳴らせてみよう · Arduino docs
液晶表示(LiquidCrystalクラス)ライブラリ | ルネサス エレクトロニクス
Arduinoでパーツやセンサを使ってみよう~超音波モジュール編 | Device Plus - デバプラ



最後まで読んでくださりありがとうございました。
アドバイスなどお願いします。🙏