今回は konashi をつかってみたいと思います。
konashiとは
konashi(こなし)は,iPhone/iPadのための,フィジカル・コンピューティングツールキットです。iOSから簡単にハードウェアにアクセスする開発環境を提供し,マイコン側のファームウェア開発をすることなくソフトウェアエンジニア・デザイナ・アーティストが手軽にプロトタイピングを行うツールとしてお使いいただけます。
ユカイ工学 より引用
昔、Arduinoをつかって簡単な電子工作をしていた時期があったのですが、
konashiはiPhone版Arduinoといっても過言ではない製品です。
ArduinoとPCを無線で通信する際には、XBeeをつかってましたが、
konashiはbluetoothでiPhoneと通信するのではじめから無線です。
兎にも角にもさっそくLEDを点滅させてみました。
簡単な作業メモ
基本的に このサイト を参考にすればなにも困ることはありませんでした。
とりあえず、iPhoneとbluetoothの通信が成功するとLEDが点滅するコードを書いてみたのでメモしておきます。
#import "MainViewController.h" #import "Konashi.h" @interface MainViewController () { NSTimer *timer; bool ledFlag; } @end @implementation MainViewController - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view from its nib. [Konashi initialize]; [Konashi addObserver:self selector:@selector(ready) name:KONASHI_EVENT_READY]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (void)ready { timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(blink:) userInfo:nil repeats:true]; } - (void)blink:(NSTimer*)timer { if (ledFlag) { [self offLED]; } else { [self onLED]; } } - (void)onLED { if (!ledFlag) { [Konashi pinMode:LED2 mode:OUTPUT]; [Konashi digitalWrite:LED2 value:HIGH]; ledFlag = true; } } - (void)offLED { if (ledFlag) { [Konashi pinMode:LED2 mode:OUTPUT]; [Konashi digitalWrite:LED2 value:LOW]; ledFlag = false; } } - (IBAction)didTapBtnConnectKonashi:(id)sender { [Konashi find]; } @end
はやく電子工作とiPhoneを繋げたいところですが、今回は以上です。