すこしふしぎ.

VR/HI系院生による技術ブログ.まったりいきましょ.(友人ズとブログリレー中.さぼったら焼肉おごらなきゃいけない)

vimでarduinoつかう環境つくるよ

電子工作したい!

8月のインターン以降,web技術を追っかけてまくり日々知らないことに触れてはわくわくしています. 何もかもが新鮮で「こんなことできるんだなぁ」と夢が広がる毎日です.

しかしweb技術をいろいろ勉強する一方で,久しぶりにまた電子工作したくなってきました. やはり理系たるもの定期的にハンダ付けとかしたくなるはずです.

そこでラボにゴロゴロしてるarduinoを一個借りてきました. 久しぶりのarduinoさんです. 振り返ると1年くらい触ってないです. 今はlinuxがのったarduino yunとかいうのもあるみたいです. ...raspberry pi との違いってなんなんでしょう. と思って調べたらwifi無線を発信できるようです. でもこれ残念ながら日本では電波法に引っかかるみたいですねw

さて,というわけで今回はarduinoをさわります. 今まではしっくりくる環境がなかったのでデフォルトのIDEを使っていました. しかし今の僕にはvimがあります. せっかくなので,vimarduinoの開発を行えるようにしていきます.

環境作成

arduinoIDEのinstall

なにはともあれ,arduinoの環境を公式から拾ってきます.現在(2013/11/20)最新verであるarduino1.0.5のmac OSX用をDL. Download the Arduino Software

起動.

おお,IDEのメニューがいつの間にか日本語になってる. まずはhello worldということでLチカやってみます.

"ファイル">"スケッチの例">"01.basic">"blink"を選択.

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);     
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

13番ピンがデジタル出力になっています. LEDと抵抗をブレットボード上にざくざく. 足長い方が+ですよ.

んでかきこみ."マイコンボード"がarduino unoになってることをきちんと確認しておく.

f:id:ism1000ch:20131114234823j:plain

ついたー.

手前のコンデンサや奥のLEDは飾りです.

vimの設定

さて.とりあえずarduinoの動作確認だけしてみました. arduino,IDEまでついてて便利なんだけど,いかんせんこのIDEが使いづらいのですね. fontとか多少設定いじればよいのだろうけど.. そもそも補完機能とかあるのかな?

まぁ仮に便利だったとしても,どうしてもエディタの変更ってストレスがたまってしまいますよね. 慣れ親しんだエディタのキーバインドを打ち込み,「あ,これないんだった」とか. (最近xcodeで":"打つたびに辛い.vimのプラグイン入れようかなぁ) そこで,vimからarduinoを使えないか調査してみました.

そしたらvim-arduino-syntaxなるものがありました. 先人に敬礼です.

さっそく

NeoBundle "sudar/vim-arduino-syntax"

:NeoBundleInstall

インストールされました! neobundleについてはググってください.

先ほどの"blink"スケッチを表示してみます.

cd /Applications/Arduino.app/Contents/Resources/java/examples/01.Basics/Blink
vim Blink.ino

f:id:ism1000ch:20131114235915p:plain

色ついたー!

これだけでも割と使いやすくなりそうです.vimの機能が使えるのでね.

書き込みについて

同作者さんのプログラムでArduino-Makefileというのがありました. これを使うとコマンドラインからコンパイルやら書き込みやらできるようです.こことか参考になるかな.

【Arduino】Linuxで快適Arduino開発(Vim + Makefile):とさいぬの隠し部屋

なのですが,自分の環境ではperl関連のプログラムインストールで手間取ってしまいました. iterm2の設定によりC-SPCでターミナル表示を切り替えられるようにしてあるので,vimはあくまで編集だけにして,書き込みは標準エディタの書き込みボタンを使おうかなと思います.改善できたらまた記事にしようかな.