2015/06/07

Arduinoをコマンドラインから開発する

最近、Arduinoを入手したときの話。
リポジトリにArduinoの統合開発環境であるArduino IDEがあると聞いて早速入れた。でもコマンドラインから書き込みたかったので方法を模索することに。
とりあえずその際のメモを。(ちなみに筆者の環境はUbuntu 12.04)

まずはArduino IDEが必要になるのでインストール。

apt-get install arduino

リポジトリにあったのはver1.0.5(ちなみに執筆当時の最新版はver1.7.4)
最新版が欲しい方は公式HP http://www.arduino.org/downloadsに置いてあるのでそこからインストール。

次にPythonで書かれたコマンドラインツール Inoをpipでインストール。
これを用いてArduinoに書き込んだりする。

pip ino

サポートされているOSはMacとLinux。(Windows...)
シリアル通信をしたい場合はpicocomが必要となるのでこれまたインストール。

apt-get install picocom

これで準備は整ったので、とりあえずプロジェクトを作る。

mkdir test
cd test
ino init

これでtest下にはlib,srcディレクトリができる。srcにスケッチを書いた後、test下でビルド&書き込みをする。

ino build
ino update

この時、ino build で作成されたファイルは.build/モデル名/以下にできる。

ls .build/uno/

Makefile Makefile.deps Makefile.sketch
arduino firmware.elf firmware.hex src


ちなみに、Arduinoに書き込むのは、firmware.hexファイル。

シリアル通信がしたい場合は、build upload をした後に、

ino serial

を実行する。
buildとupdateをするとき、デフォルトで選択されているArduinoのモデルはArduino Unoなので、それ以外を使う場合はオプションをつける。
モデルのリストは

ino list-models

で確認できる。
例えば Arduino Microが使いたい場合は、

ino build -m micro
ino update -m micro

とオプションをつければOK。
でも、いちいちオプションをつけるのは面倒くさいのでプロジェクトファイルにini.inoまたはホームディレクトリに~/.inorcを作成し、モデル名やシリアルポートを設定する。

[build]
board-model = micro

[upload]
board-model = micro
serial-port = /dev/ttyACM0

[serial]
serial-port = /dev/ttyACM0

ino build ino update だけでビルド&書き込みができるようになった。

これで快適な開発ができるぞー。

参考にしたサイトはこちら
http://www.pwv.co.jp/~take/TakeWiki/index.php?Arduino%E5%8B%89%E5%BC%B7%E4%BC%9A%2F0A-MacOSX%E3%81%B8%E3%81%AEino%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A8%E4%BD%BF%E3%81%84%E6%96%B9

http://shokai.org/blog/archives/7454

2015/03/29

2014年度の大会報告 ~PART2

こんにちは。今回はマイクロマウス大会の報告をしようと思います。(あれ、何ヶ月前だ..)

11月2日に第29回全日本学生マイクロマウス大会に、
11月22日に東京工芸大学で行われた第35回全日本マイクロマウス大会にそれぞれ部員が出場しました。
大会HPはこちら↓
第29回全日本学生マイクロマウス大会 http://www.robotics.ee.shibaura-it.ac.jp/gakusei2014/index.html
第35回全日本マイクロマウス大会 http://www.ntf.or.jp/mouse/micromouse2014/

学生大会の方に出場した部員は大会当日、ロボットは動きませんでしたが、中学生でありながら最後まで努力したことが評価されて、特別賞を受賞しました。(な、なんだって!)
今度は、ロボットを実際に動かして賞をバシッととって欲しいですね。来年度の活躍に期待です。

全日本マイクロマウスの方ではロボトレース部門とマイクロマウス部門にそれぞれ参加しました。
こちらがライントレースの動画です。


PID制御で滑らかな走行をし、直線で加速しているのが分かりますね。
また、中一の部員にとって初めての大会でしたが、完走した人も何人かいました。(普通に凄い。)
僕がこの大会に初めて出た時はライントレースをせずに猛スピードで審査員席に突っ込みました...

1年間の報告はこんな所でしょうか。
まだ、ロボカップジュニア千葉ノード大会について書いていませんが、
そちらの方はカメラを持っていき忘れたので、動画が無い→書きにくい...
面白い機構があっただけに残念です。もし、書けそうであったら別の機会に書きます。(多分)

2015/02/01

2014年度の大会報告 ~PART1

「これからはしっかりブログを更新しよう」 そう思っていた時期が僕にもありました・・。
そろそろ真面目に更新しなければ!、ということで更新を再開します。 こんにちは、高校物理部第三の男(会計)です。

とりあえずまずは、まだしていなかった(サボっていた)今年度の大会報告をしています。
今回は昨年の6月14日、15日にかけて行われた第26回仙台知能ロボットコンテストについてのレポートを書いていきます。
この部活にとって、一年間の中で一番大事な大会で、今回は計7班、総勢60人以上で出発しました。
(何とこの大会ももう、半年以上前!Oh..)

結果から先に書くと、OBのチームのみが二次予選に進み、他は全て一次予選で敗退してしまいました。(残念..)
しかし、今年は多くの班で今までにない機構が取り入れられていたのでそれを中心に紹介していこうと思います。

・回る!複楼 (しぶまく「炎」)

チャレンジコースに出場しました。

二台でボールを集めるロボットです。今回、最もボールを集めたのではないでしょうか。
特徴は何といってもこのボールのとり方! 部内でよく見かける横からとるタイプとは違って、上からボールをとって貯めています。
今年はどんな機構を見せてくれるのか期待です。

・愉快な回る砲台 (しぶまく「煌」)

僕の所属していた班です。チャレンジコースに出場しました。(動画がないゾ..)
ボールを飛ばしたいというコンセプトで作りました。
ロボットの後ろにのせたソレノイドでボールを飛ばそうとしたのですが、大会本番は不具合でスタートゾーンを出れずに終わってしまいました。
(そもそも、ソレノイドの力が弱くてボールが飛び出なかったゾ・・)
今年こそしっかり動かします..

・佐安保鎌足 (しぶまく「燐」)

チャレンジコースに出場しました。6足歩行ロボットです!(これまた、動画がないゾ...)
合計18個のサーボモーターと二つのマイコンを載せています。
大量のサーボーモータを制御して、リトライを重ねながら自由ボールめがけて歩いていく姿はとても印象的でした。(動画がないのが残念・・・)
今年の活躍に期待です。

・かすてーら (しぶまく「灯」)

チャレンジコースに出場しました。

アームでボールを取り、後ろのタイヤを付けたモーターを回してボールを飛ばすロボットです。
僕もボールを飛ばすロボットを作っていましたが、こんな飛ばし方があるとは!と驚かされました。
なかなか面白い仕組みを持っていた分、思っていたように動かず、残念です。
今年に期待です。(さっきから同じ事を言っているのは気のせいです。)

・シャイニング・ドドスコイ Mark2 (しぶまく「焔」)

テクニカルコースに出場しました。
昨年、出場したロボットの改良型で、オムニホイールを使い、高速で動き素早くボールを入れる予定だったのですが、 大会日までに製作が間に合わず、残念ながら棄権することになってしました。
三年目となる今年、シャイニング・ドドスコイは動くのでしょうか。応援しています。

・.jar (しぶまく「炊」)

テクニカルコースに出場しました。

小さなロボット2体で通信しながら、ボールをとっていくのがコンセプトです。
コンパクトな形状をしており、素早く動いていくロボットです。
製作が間に合わず、大会本番はロボット1体で動かすことになりましたが、不具合でうまく動かずに終わってしまいました。
基本的な動きはしっかりとできていたので、今年は良い結果を見せてくれるのではないでしょうか。期待です。

・じゅぴたー(しぶまく「焜」)

テクニカルコースに出場しました。

当初は歩くロボットを作る予定だったのですが、大会に間に合わないと判断し、作戦を変更。
ボールも缶も一気に集めるロボットになりました。
残念ながらうまく動かずに自由ボールのみと言う結果になりましたが、大会に間に合わせるために作るロボットを変えるという判断をできたのはなかなかすごいことです。
今年に期待です。

こんな感じでしょうか。今年は昨年までと比べて作り始めるのが遅かったため、製作が間に合わず思った通りに動かせた班が少なかったです。
しかし、その分、学べた事もたくさんあったと思うので、それを今年の仙台に生かしていけるといいですね。

次回は全日本マイクロマウス大会の報告をしようとします。おや?何ヶ月前だ?

2014/09/09

文化祭のお知らせ

こんにちは。部長、副部長に代わって、第三の男(会計)が書いています。
今まで執筆者の不在などで、長い間更新していませんでした。
これからは、しっかり書いていこうと思います。(多分...)

さて、今年も文化祭の時期になりました。
2014年、9月15日 9:00-15:00 渋谷教育学園幕張中学校/高校の文化祭、槐(えんじゅ)祭にて今年もロボットを動かします!
学校の端に位置しているのにも関わらず、毎年たくさんの方が来場してきてくださって大盛況となっています。

・今年の文化祭でやるコーナーは
     
  • 自律型ロボットによるライントレース大会
  • 電磁誘導を利用した一円玉飛ばし
  • 知能ロボットコンテストの競技の実演
  • イライラ棒
  • 部員製作のゲームの展示、試遊
  • ロボット展示 機構、機能の説明

アクセスや文化祭に関する詳しい情報は文化祭公式HPへどうぞ。
今年もたくさんの来場者、お待ちしております!

2014/04/13

Raspberry Piのコンソールを日本語化した際のメモ

sudo dpkg-reconfigure locales
をして,
ja_JP.UTF-8 UTF-8
にチェックをつける.
フォントをググると以下がメジャーらしい.
sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname 
これを実行した後にRictyフォントをインストールする. 私はdebianでコンパイルしたものをscpで~/.fontsにコピーした後,
fc-cache -f -v
を実行した.
日本語に対応するためにuimを入れる.
sudo apt-get install uim uim-anthy
anthyのオンオフのキーマッピングをC-<Space>に変更
sudo vim /usr/share/uim/generic-key-custom.scm

(define-custom 'generic-on-key '("zenkaku-hankaku" "<Shift> ")
(define-custom 'generic-off-key '("zenkaku-hankaku" "<Shift> ")

それぞれを↓のように変更。

(define-custom 'generic-on-key '("zenkaku-hankaku" "<Control> ")
(define-custom 'generic-off-key '("zenkaku-hankaku" "<Control> ")

ついでにcapsもctrlにする.
sudo vim /etc/default/keyboard
# XKBOPTIONS=""
XKBOPTIONS="ctrl:nocaps"            # CapsLock --> Ctrl
# XKBOPTIONS="ctrl:swapcaps"        # CapsLock <-> Ctrl 

と追加して
sudo dpkg-reconfigure -phigh console-setup
を実行する.
ググるとfbtermなるものがよいらしいのでapt-get
sudo apt-get install fbterm
試しにfbtermを実行するとなんかwarningぽいものが出るので
chmod u+s /usr/bin/fbterm
をやった.
最後に,ログインした段階でfbtermを自動起動させるために,.bashrcに以下を追加
case $TERM in
  linux)
    if [ -c /dev/fb0 ]; then
      jfbterm -q -e uim-fep -u anthy
    exit
   fi
   ;;
esac
rebootして,ログインするとfbtermで入ることができた.
参考にしたもの
http://ameblo.jp/mijyu-sakura/entry-11329029030.html
http://shiremono.com/?tag=fbterm
http://blog.michinari-nukazawa.com/2013_03_01_archive.html

2014/04/04

オンラインコンパイラで素敵なプログラミング生活


おはようございます、ただの平部員です。この春、プログラミングしてますか?

この記事では3つのオンラインコンパイラサービスを紹介します。オンラインコンパイラサービスとは、ブラウザから特定のサイトにアクセスすることで、様々なプログラミング言語のソースをコンパイル、実行することが出来るサービスです。
オンラインコンパイラを利用する最大のメリットは、面倒な環境構築を飛ばして手軽に多くのプログラミング言語を試せることです。gccを一晩かけてビルドしたり、依存関係に悩まされたりすることはもはや遠い過去なのです!

1.Wandbox(http://melpon.org/wandbox/)

Wandboxは比較的最近に作られたオンラインコンパイラサービスで、ここが一番のオススメです。Wandboxの一番の強みは各言語の最新のコンパイラを利用できることでしょう。随時更新されるコンパイラ群によって、言語やツールキットの新機能を即座に試すことが可能となります!
また対応している言語も多く、C/C++からD,Haskell,C#をはじめとするコンパイラ言語から、PythonやPerl,PHP,Rubyといったスクリプト言語、さらにはLispも実行することができます。
まずはアクセスして、試してみましょう。左のバーから言語を選び、中央のテキストボックスにソースを入力します。その後[Run]ボタンを押すか[Ctrl]+[Enter]で実行!実行した後はまたソースをいじって再実行することもできますし、パーマネントリンクを作成して公開することも可能です。
パーマネントリンクを作成するには、コードの実行後、結果が表示される所の上にある[Share This Code]ボタンを押しましょう。するとアドレスバーがこのような(http://melpon.org/wandbox/permlink/ky4QUJ4ShBsT6RTJ )URIに変化するのでそれによってあなたのコードを公開することが出来ます。

三へ( へ՞ਊ ՞)へ ハッハッ

2.Ideone(https://ideone.com/)

Ideoneはオンラインコンパイラサービスの中でも有名なところで、ここも多くの言語、環境に対応しています。まず、左下のドロップダウンボックスで言語を選択し、コードを書きます。コードを書き終わったら右の[Run]ボタンを押して実行!画面が遷移するのでそこで結果を確認、またソースをいじって再実行したり、URIを人に教えることでソースと結果を共有したり出来ます。
右上のRecent Codesに飛ぶと最近Ideoneに投稿されたコードを見ることが出来ます。案外ここに上達のヒントや新しいやり方が転がっているかもしれません。Recent Codesに自分の書いたコードを乗せたくない場合は、言語設定の欄の隣にあるボタンで公開設定を決められるので、そこを変更するのがよいでしょう。
ただ若干動作が重いのと、広告がうるさいのが難点です。

3.codepad(http://codepad.org/)

最後に紹介するオンラインコンパイラサービスは、codepadです。codepadは対応言語も少ないですが、シンプルで大変軽量なサービスです。
codepadを使うには左のラジオボックスで言語を選択して、コードを書き、[Submit]で実行です。
出先でも携帯電話でプログラミングしてやるぜーという情熱に燃えた人なんかには便利じゃないでしょうか。

これらのオンラインコンパイラサービスを利用して、いつでもどこでも(Write Anywhere,Run Anywhere)素敵なプログラミング生活を送りましょう!!!

2014/02/05

使っているマイコンのご紹介

高校物理部副部長です。
今回は部活で使われているマイコンを紹介したいと思います。

部活では、以下の三五(17/8/8/1 訂正)種類のマイコンが主に使われています。

・PICマイコン(マイクロチップテクノロジー)
・SHマイコン(日本ルネサス)
・AVRマイコン(アトメル)
・Arduino
・Raspberry pi

まずは、PICです。いくつかの種類が使われていますが、一番多いのはdsPIC30F4013です。
PIC18F1320は新入生が最初に作るライントレース機のマイコンに使われるので、うちの部活に入ったら一回は使うマイコンだったりもします。
ちなみに過去、PIC12F、PIC16F、PIC18F、dsPIC30F、dsPIC33Fがロボコンで使われたことがあります。

次にSH7125Fです。
たいてい、クロックは50Mhzで動かしており、処理速度は65MIPSだそうです。
部内のはんだ力は5くらい[要出典]なので、秋月の基板にくっついたやつ(1500円)を使います。
ただ、部内では最盛期は過ぎてしまいました。

そしてAVR。新興勢力です。
姉妹校・渋谷教育学園渋谷中高科学部の主力ですが、ぶっちゃけピン数とデータメモリ容量の少なさがネックになって、幕張中高ではあまり使われてないです。

Arduinoも使っている人はいるにはいる、の程度です。

そういえばArduino、みなさんなんて呼ぶのでしょうか。
部内では「アルディーノ」もしくは「アルデュイーノ」と呼ばれています。