東京工業大学 ロボット技術研究会

東京工業大学の公認サークル「ロボット技術研究会」のブログです。 当サークルの日々の活動の様子を皆さんにお伝えしていきます。たくさんの人に気軽に読んでもらえると嬉しいです。
新歓特設ページ        ロボット技術研究会 HP        ロボット技術研究会 twitter公式アカウント

電子工作

「ロボット技術研究会」通称「ロ技研」は、その名前の通りロボットの制作や研究はもとより、電子工作や機械工作、プログラミングなどの幅広い分野にわたるものつくり活動を行っています。

カテゴリ一覧: loading

メダカの照明 Ver.2

こんにちは、14のけりです。
今回は最近作った電子工作の紹介をします。

概要

メダカの水槽の照明

以前、PICで作ったメダカの水槽の照明(←リンク)を紹介しましたが、今回はこれをバージョンアップしました。めだかの照明がどのようなものかは以前の記事を参考にしてください。

fish

格安WiFiモジュール

今注目のWiFiモジュールであるESP-WROOM-02を使ってWiFiに対応しました。これにより、スマートフォンなどからブラウザ経由で操作できます。

このWiFiモジュールを使った赤外線学習リモコンの記事も書きましたので合わせてご覧ください。

ESP-WROOM-02 WiFiモジュール 秋月電子にて550円(2016/3/14現在)
esp-wroom-02

ギャラリー

全体

LEDはなんと、

  • 白色LED12個
  • 赤色LED6個
  • 緑色LED6個
  • 青色LED6個

の計30個の1WパワーLEDを備えています。

all

基板

Dサイズのユニバーサル基板に実装しました。回路はとても簡単です。

board2
board1

LED

light

回路図

sketch

スマホからの操作画面

ボタンを押すことでLEDの明るさを11段階で変えることができます。

page

時間同期モード

「Set Time Sync」から時間同期モードに設定すると、朝6時から徐々に明るくなり正午にMAXになり、午後6時までに消灯するようになっています。これでめだかは時間感覚が狂わず、健康に生きることができます!!

時刻はNTPサーバーから取得しているので時計合わせも不要で正確です。

ソースファイル

ソースファイルはGithubに公開していますので興味がある方はご覧ください。→リンク

ただし、他人に見せるつもりで書いたソースではないので説明は皆無です。

まとめ

シリアルによるコントロールだった前のバージョンに比べてかなり進化しました!今後はJavaScriptなどを使ってさらに進化させていきたいですね!

fish_up

KiCadのPython scripting機能を使ってみる

井土です。

KiCad Advent Calendar 2015
 14日目の記事です。
13日目はtd2skさんのWindows で KiCad をビルドする でした。

今回はKiCadのPythonでscriptを書いてみたというお話です。私自身も今回初めていじってみた機能なので特に詳しいわけではないのですが、script機能を使うきっかけになってもらえたらと思います。


1.KiCadのPython scripting機能とは
一言で言うと

KiCadの操作をマウスでポチポチやるのではなく、
プログラムを書くことで作業を自動化できる機能


のことです。(eagleにおけるulp)

しかもそのプログラムはただのpythonなので馴染みがある人が多かったり、
いろんな便利ライブラリを活用することもできそうです。

例として、先日miettalさんが
スイッチサイエンスPCBへの発注を手助けするscript
を作られていました。
こんな感じである意味KiCadに機能を付け足すということができます。

現在はpcbnew上でしか使うことができませんが、
いつかEeschemaもサポートされるらしいです。
pcbnew上でできることなのですが、私が把握してる範囲ではこんな感じです。
  • 基板上の物(部品,テキスト,線)のプロパティを取得・変更する
  • フットプリントの作成を支援する
  • KiCadの機能を呼び出す(ガーバー出力とか)

今回は基本となりそうな
・部品にアクセスする
・部品を移動する
あたりの機能を紹介していきたいと思います。

2.とりあえず使ってみる

まず、この記事の内容をつくるにあたって参考にしたところを載せておきます。
KiCad pcbnewの日本語公式ドキュメント
python scripttingのリファレンス
hanyaさんのブログ

今回は次のような回路を対象に話をします。抵抗とLEDが12個あります。
2015-12-14-171327_514x217_scrot

まずはこのボタンを押してpythonのconsoleを起動しましょう。
console

次のように打ちこんでみてください。

ここまで打つと「u'R1'」と表示されると思います。
このようにまずはBOARDを取得して、BOARDから弄りたいものを取得していじるのが基本的な流れになります。ここではboard.FindModuleByReference("R1")として部品のオブジェクトを取得しましたが、board.GetModules()を実行するとboardの持っている部品全てが出てきます。

部品はMODULEのオブジェクトとして管理されているので、
ここではr1というオブジェクトを通してR1の位置などを変更することもできます。
続けて次のものを実行してみてください。

こんな感じでR1が回転して移動すると思います。
2015-12-14-175414_352x153_scrot

角度はMODULEのSetOrientationから指定したい角度の10倍を渡すことで指定できます。
位置移動は直接(x,y)と渡すのではなく、pcbnew.wxPointMM(x,y)という形に変換してから渡します。wxPointMMは引数をmmとして解釈しますが、wxPointMilsをつかうとinchで渡せます。

MODULEは他にも色々なattributeを持っているので、リファレンスを見ながら色々試してみてください。


3.なにかを作ってみた
部品の移動や取得にかんして、便利そうな機能をいくつか関数にまとめてみました。
https://gist.github.com/anonymous/51e6a472664e075da705

こんなことができます。
  • まとめて部品のリファレンスのシルクのサイズと太さを変更
  • 複数の部品それぞれを回転
  • 部品を直線上に並べる
  • 部品を格子上に並べる
  • 部品を円上に並べる
  • 正規表現で部品を検索
正規表現で部品を検索する部分についてはhanyaさんのブログを参考にしています。とても便利です。

先ほどのkicad_tools.pyを*.kicad_pcbと同じディレクトリにいれて、
pcbnewのコンソールからimport kicad_pcbと打つと使えます。

サンプルコードのようなものです。

最後の円形に並べるものを実行するとこんな感じになります。
確かに円形に並んで抵抗のリファレンスも大きくなっています。
手作業でちまちまやらなくていいので便利です。
2015-12-14-194249_949x929_scrot


4.最後に
実はKiCadには部品を円形や格子状に整列する機能が標準であります。pcbnewの配列ツールというものです。しかし今基板上あるものを整列する機能ではなく、格子上や円形に部品を新たに整列して配置する機能といった感じです。基板上にあるネットリストから読み込んだ部品を並べたい時もあるだろうと思い、今回のscriptをつくりました。エラー処理などをしていないので実用できるかと言われると微妙ですが、今のKiCadにはない機能を追加したことになるのかもしれないです。

足りないと思った機能をどんどんscriptというかたちで付け足して行けるのはとても楽しいです。こんな便利な機能が合ったらなぁと思った際にはKiCadのcommitterになって機能を追加するよりも、ちょろっとscriptを書いてみるほうが簡単です。
 

以上 KiCad Advent Calendar 2015 14日目の記事でした。
明日は masahirosuzukaさんです。

F3RC(新入生向けロボコン)の紹介(ルール紹介の巻)

ロ技研は毎年F3RC(Freshmans' robot contest、新入生向けロボコン)に参加しています。公式ページはこちら

今年度はロ技研を含むNHKロボコン(学ロボ)を目指す8つの大学サークルによって運営されています。新入生にロボコンの魅力を伝え、必要な想像力を養い、技術を培うことを目的としています。5~9名程度の新入生を中心としたチームが毎年変わる課題をこなします。製作期間は6月~9月です。
COCWGV-UcAEciqe
荒ぶる部室人多いbot(詳細はこちら)

さて、以下は今年のルールの紹介です。

今回の競技課題は、地上戦における敵陣地の制圧をモチーフにしています。戦車役の手動ロボットは、遠距離から敵の陣地を砲撃し撃破することを目的とし、偵察役の自動ロボットは、地道に地形の情報を集め、戦車の進む道筋を探ること を目的とします。
ルールブック1-1より

自動機と手動機1台ずつ、大きさはともに600mm四方。それぞれの機体の仕事、注目ポイントはどこでしょうか。

スクリーンショット (5)

今年度のフィールドです。青チームだと仮定します。
自動機が左下の濃紺色のゾーンからスタートし、緑色の上に並べられた一辺150mmの立方体であるスタイロフォーム(画像では数字が書かれている)を集め、再び濃紺色のゾーンに持ち帰ります。このスタイロフォームが情報です。情報の数が多いほど高得点です。
人間が関与するのはスタートするまで。いったん動き出したら触れてはなりません。一度に大量に持ち帰りたいが、そのためには遠くにある情報を狙う必要があり、失敗しやすくなる。白線をライントレースするか、あるいはフィードフォアードで決め打ちするか。集めた情報をどうやって格納するか。相手の行動をどう妨害するか。求められるは技術、知識、経験。一年にはどれも不足しやすいものです。発想よりも完成度が求められるでしょう。
手動機は真ん中あたりの青いゾーンから出発します。自動機が集めてきた情報(スタイロフォーム)の量に応じて標的ゾーンに近づくことが出来ます。そして手動機から60mm程度の柔らかい弾を飛ばし、青の空き缶を倒すと得点です。弾が砲弾、空き缶が標的です。装填できる弾数は15球以内、弾全体の重量制限もあります。倒した数だけ得点です。
発射機構には、エアーか、バネか、モーターか。発射精度を上げるのには機体が振動してはいけないから、機体を重くする必要。給弾を行うと時間がかかる、対策として出来るだけ機体に詰め込みたい。しかし欲張って球を落としたり、詰まってしまったら元も子もない。そもそも距離を飛ばさなければならない。柔軟な想像力と、チームの実力をよく理解すること。さあ、どんな魅力的な機体が出てくるんでしょう!

Vゴール(ある条件を満たした瞬間、勝利が確定する。本選に選ばれる際大きく評価される)達成条件は、・情報を4つ以上集め、・標的を3つ以上倒し、・本陣(真ん中の水色の空き缶。バケツの上に置かれ高くなっています)撃破です。困難な道のりです。大会を通して1回も出てこないかもしれません。今年は何チームがVゴールを達成できるでしょうか。

9月20日13時~、工学院大学新宿キャンパスにてF3RCは開催されます。ロ技研からは6チーム39人が出場します(各チームの紹介はのちの記事で)。見学は無料ですので、ロ技研関係者、ロボコン関係者、ロボットに興味がある人は見学してみてはどうでしょうか。

'14入学 たくあん(@matiouke) より

※9/9 18:00 記事を修正しました 

フルカラーLEDで2048(ゲーム)

井土です。

明日、明後日はMakerFaireTokyo2015です。
ロボット技術研究会としても展示をするので、ロ技研ブースにもぜひお越しください。

今回は展示予定のものの一つである
フルカラーLEDで作った2048
について紹介をします。

hikaru

タイトル通り、あの2048をLEDの光を使って再現したものです。


実際に動かすとこんな感じです。
操作は基板を傾けるだけで、傾けた方に光が移動していきます。
同じ色のものは合体でき、別の色に変化します。(例:赤+赤→青)



スマホのカメラなので全然色が分からなくなっちゃってますが、実物はめっちゃ綺麗です。
一応ゲームなのですが、なんとなく動かしてるだけでも楽しいです。
傾けると光が移動するので、まるで光を操っているかのような幻想的な感覚になります。



ところで2048というゲームはご存知ですか?
1年くらい前に流行ったゲームで、パネルを移動して同じ数字をくっつけて2048を作ったら勝ち?というやつです。
2015-07-31-024437_619x798_scrot

スマホゲームとかと思っている人も多いと思いますが、本家はここです。
http://gabrielecirulli.github.io/2048/

オープンソースであり、公開後に色々とパロディができたりandroidアプリになったりして割と流行っていたと思います。
本家では数字のパネルを動かして足し算していくものでした。
それをLEDの色で表現し、同じ色のをくっつけると色が変わるようにしてみたということです。


ちなみに基板はこんな感じです。

kiban


加速度センサが付いているので、重力の方向がどちらを向いているかを測ることでどっちに傾いたかを検出しています。

表示には秋月に売ってた「マイコン内蔵フルカラーLED」というものを使っています。
数珠つなぎにして、16個のLEDをマイコンのピン1本で制御しています。


それではMFT2015でロ技研ブースでお待ちしております。

メダカ水槽の照明の自作

こんにちは。
椋けり(@Ryokeri14)です。 
みなさん、進捗いかがですか?
僕は、ぼちぼちです。
 
今回紹介するのは、
メダカの水槽の照明です。 

高校時代の親友の刺激を受け、
5月ごろからメダカを飼い始めました。 
生き物を飼うと、実に癒されます~
IMG_0529

水槽には水草があるので、
程よく光を当てなければなりません。
普通のLEDライトで照らしてもよいのですが、
ここはロ技研民として、自分で照明を作ることにしました。 

ところで、皆さんが帰宅する時間は何時ごろですか? 
帰宅するころには暗くなってますよね? 
朝、家を出るときに照明をつけて置くと、帰ってきても点きっぱなしです。
それでは、メダカの時間感覚が狂ってしまい、かわいそう 
ということで、マイコンで明るさを自動制御することにします。 

さらに、こんなことで電気を無駄使いしていると、親に叱られるので、
電力源はソーラーにします。
とても運がいいことに、僕の家には自作の100W級ソーラーシステム(←リンク)があります。
これを電力源に使います 
IMG_1703

メダカのことを英語でkillifishと言います。
なので、今回の工作の名前は killifish light としました。

killifish light のポイント
1.時間に合わせて明るさが自動で変わる。
2.ソーラーを電力源にする。
3.電子工作を楽しむ。

です。

マイコンは、いつも使っているPICマイコンにしました。
PIC18F27J53です。↓秋月URL
http://akizukidenshi.com/catalog/g/gI-05847/
このPICはPICの中でもかなりハイスペックです。内蔵モジュールも多く、とても便利に使えます。
そのなかでも、今回の目玉は、RTCC(リアルタイムクロック&カレンダー)モジュールです。
クロックを取り付けるだけで自動で時計のカウントをしてくれます。
これをもとに、水槽の照明の明るさを制御します。 

LEDは秋月電子のパワーLEDを使いました。
I-07750
常用の1W白色パワーLEDを12個と
装飾用として赤、緑、青の1WパワーLEDをそれそれ6個ずつ用意しました。
LEDは全部で30個ですLED好きにはたまらないですね

それらを放熱用のアルミ板にのせて、LEDを取り付けました。
けっこう熱が出ます
IMG_0562
IMG_0563

次に基板を作ります。
今回はユニバーサル基板で作りました。
部品も少ないので2時間くらいでできました。こんな感じです。

IMG_0564

写真左が電源ケーブル、右がLEDのケーブルです。
上の青くて丸いものは半固定抵抗です。つまみを回して明るさを変える機能も付けました。
右下のコネクタは、シリアル通信UARTの端子です。PCと接続できます。

IMG_0567

 今回は、ソフトウェアも気合を入れて作りました
シリアル通信UARTによってPCから様々な機能を設定できるようにしました。
IMG_0568

USB⇔シリアル変換器
IMG_0570

ターミナルを操作しているようなイメージです。
コマンドを入力してENTERを押すと、レスポンスが返ってきます。
PC側ではTera Termでシリアル通信をします。
まず、PCで「help」と入力するとメニューが現れます。help2

メニューにあるように「t」と入力すると現在時刻が表示されます。
t

「adjust_the_time(at)」コマンドを用いて時計合わせをします。
「at y 15」と入力すると、年が2015年になります。
aty

同様に「at M 6」と入力すると、月が6月になります。
続けて、日、時、分、秒を設定して、時計合わせ完了です。
ats

一度設定してしまえば、もう設定はいりません。
見てわかるように、曜日も表示されます。

「set sync」と入力すると、時間同期モードになり、
昼間は明るく、夕方には徐々に暗くなり、夜は消灯というように、
照明を自動制御をしてくれます。
setsync

こんな感じです。
IMG_0572

ここまでで、一応、目的の機能はできました。


ここからは、フルカラーLEDで遊びます。
白色LEDのほかに光の三原色のLEDも付けたので、それを使います。
シリアル通信でコマンドを送るとその通りに色が変わります~

まずは、「pwm clear」コマンドで全部のLEDを消灯します。
pwmclear
IMG_0571

次に「pwm R 100」などと色と、パーセンテージを入力するとその明るさで光ります。
pwmr
IMG_0573


緑色
pwmg
IMG_0579


青色
pwmb
IMG_0580


赤+青=マゼンタ
pwmrb
IMG_0577


赤+緑=イエロー
pwmrg
IMG_0574


緑+青=シアン
pwmgb
IMG_0576


最後に全色をつけてみました。
写真ではなんだか赤っぽいですが、直接目で見るとけっこういい感じです。
pwmrgb
IMG_0575


PCがなくても基板の上の半固定抵抗を回すことで明るさを細かく変えることができます。
また、タクトスイッチで時間同期の設定やLEDのオンオフ設定ができます。
IMG_0564



まとめ 
 メダカの照明というのをきっかけに、電子工作を繰り広げました。作っていてとても楽しいですw
しかも、これはソーラーの電力で動いているので、どれだけLEDを光らせても電気代は0円です
これほど素晴らしいことはほかにありますかね??
電子工作ってなんでこんなに楽しいんだろう
メダカちゃんたちも元気いっぱいです
IMG_0534


 
ギャラリー
  • 自作キーボードを作ろうver1.0
  • 自作キーボードを作ろうver1.0
  • 自作キーボードを作ろうver1.0
  • 自作キーボードを作ろうver1.0
  • 第14回ROBO-ONE Light 結果報告
  • ロボット技術研究会紹介
  • ロボット技術研究会紹介
  • rogy2016冬合宿 in 戸狩
  • rogyサバゲ:†革命†をもっと
記事検索
最新コメント