2012年6月30日土曜日

ITfrogs研修記録と報告

こんにちは。まるさ@maruuusa83です。

沖縄はすごく暑くなってきました。
空がとても綺麗で毎日気持ち良いです!


今日はITfrogsという研修プロジェクトの研修がありました。(ITfrogs: http://www.it-frogs.jp/)
ITfrogsは、ビジネス研修やシリコンバレーでの研修の機会を提供していただき、ITビジネスリーダとしての成長を目指すものです。

今日の午前は米軍基地にて英会話研修をしました。
研修は、日本語のできないネイティブスピーカーの方々と喋りをする、というものでした。
英語を話さざるを得ない状況というのはほとんど体験したことがないものなので、開始直後は非常に緊張していました。

最初は日本語でのコミュニケーションと違って話したいことがうまく話せなかったので、全くうまく行きませんでした。が、緊張が解けてきた頃から出来るかぎり思ったことを伝えるように、わからなかったことは聞きなおして理解できるに心がけてコミュニケーションしました。(実際できていたかどうかはわからないですが(笑)。)

必死で噛み付いたつもりなので、自分に何がどれだけ足りないのかある程度知ることができたと思います。
伝えられたことが非常に少なかったので、もっともっと勉強して出せる言葉を増やしたいです。ディクテーションの能力ももっと強くしていきたいと感じました。


午後はIT津梁パークにてシリコンバレー研修の準備を行いました。

そこで、メンバー5人のリーダーに立候補して、信任していただきました。
大変かな、と少し悩みましたが考えても仕方ないので頑張ることにしました。

今日行った話し合いでのリーダーとしての反省は、もっと皆の意見を引き出せるようにしたいと思いました。
自分の意見が多くて方向性が偏っていたので、もっと意見を聞ける様に心がけたいです。全員が納得のいくSV研修にしたいです。


最後に報告、なのですが・・・
今日高専プロコンの各部門の予選結果発表がありました。(高専プロコン: http://www.procon.gr.jp/)
僕は自由部門に応募していたのですが、なんと予選通過することができました!

初めての組み込みソリューションの開発ですが、できる限り良いものを作って胸を張って発表できるようにがんばります!

2012年6月24日日曜日

mbedの紹介

学校から更新できないことが判明して週一の更新がやっとらしいです。まるさです。

沖縄もやっと梅雨が明けました。入梅が早かったのですごい長かった気がします。
湿度が高いのは嫌いです()


現在mbedというマイコンで組み込み開発をしています。(mbed本家:http://mbed.org/)
主に大会に向けての開発、ということなのですけれどもものすっごく面白いので紹介したいと思います。
mbedはもともとC++による組み込み機器のプロトタイピングツールとして作られたものです。
そのためなのか、非常に強力なI/Oとライブラリを備えています。

面白いのが、開発環境がクラウド上に存在することです。ネットワークにつながったPCさえあればあらゆるところから開発ができます。
さらに、mbedへの書き込みが非常に簡単です。mini-BのUSBでPCと接続(mbedにはUSBポートがついている)するとPC側ではストレージとして認識され、そこにコンパイルしてできたバイナリファイルを置くだけで書き込み完了となります。



mbed(NXP LPC1768)では、以下のような入出力をサポートしています。
・26本のデジタルI/O
・4つの青色LED(デジタル出力)
・6本のアナログ入力
・1本のアナログ出力
・6本のPWM出力
・3対(6pin)のシリアル通信ポート
・イーサネットポート(4pin)
・USBポート(2pin)
・3組のSPIポート
・2対(4pin)のI2Cポート
・CANポート(4pin) (何の規格かよくわからない。Controller Area Networkか?)


何するにも非常に簡単です。センサから値を取得するのも、スイッチのON/OFFをチェックするのもまったく同じコストで実装できます。

アナログ・デジタル入力サンプル
#include "mbed.h"

DigitalIn di(p5); //pin5をデジタル入力に
AnalogIn ai(p15); //pin15をアナログ入力に

int main()
{
    if (di == 1){
        //デジタル入力がHiだったときの動作
    } else {
        //Lowだったときの動作
    }

    while (true){
        printf("%f\n", ai.read_u16); //USBでPCと接続してるとPCに出力される
        wait(1); //一秒待機
    }

}

と、こんな感じで使えます。デジタルであればHi:1,Low:0、アナログであれば0V-3.3Vが0-1の浮動小数点数で確認できます。


LCD(液晶ディスプレイ)だとかEthernetだとかも変数宣言(インスタンス生成?)のように設定して、簡単に使うことができます。

LCD表示サンプル
#include "mbed.h"
#include "TextLCD.h"

TextLCD lcd(p24, p25, p26, p27, p28, p29, p30);  //LCDをつなぐpinを設定

int main() {
    lcd.cls(); //LCD表示をクリア
    lcd.printf("Hello,marusa!!"); //驚くべきことにこれで表示できる
    wait(2); //2秒待機
}


LCDへの出力をしようと思ってコーディングしたときに、LCDの仕様書を学校に忘れてしまってオワタ\(^o^)/していたのですが
こんな便利なライブラリがあるということなので実装してみるとなんと3行で表示・・・
非常に驚きました。


大会に向けていろいろ試してみているので、これからも面白かった実験を時々書いていこうと思います。
mbedすごく面白いのでぜひぜひ遊んでみてください。
回路ができなくても「☆bord Orange」と組み合わせてスタンドアロンで動くシステムが作れたりします。
そのうち実際に回路に組み込んだmbedも紹介しようと思います。

2012年6月17日日曜日

ブログ始動!

前々から書こう書こうと言ってなかなか書いてなかったブログをはじめることにしました。

ギークなこと書きつくろったりどうでもいいこと書きつくろったりするつもりなのでどうぞよろしくです