AdSense

2016年3月18日金曜日

Android N preview版をエミュレータで動かしてみる

海苔とウワサのAndroid N のpreview版が公開されたので、動かしてみた記録。

以前のバージョンまではARMのイメージがあったけど、
Android Nは、x86のイメージしかないので注意。

動かすためには、「Android SDK Manager」で「Intel x86 Emulator Accelerator (HAXM installer)」をとってきて、 手動でファイルを選んでインストールしておく必要があります。 

なお、以前のバージョンで入れてても、最新を入れ直さないとダメみたいです。 あと、AVDのRAMサイズを1GにしないとAndroidロゴから起動しませんでした。


 





















正式リリースが楽しみです。

2015年11月29日日曜日

ミニ四駆をワイヤレス(Wi-Fi)で動かす④ 電池給電化

前回までの記事で、制御のワイヤレス化は実現できましたが、
バッテリーが電源からの給電だったので、今回電池給電にして完全なワイヤレスにしました。


これ迄の記事

http://mementomorisince2013.blogspot.jp/2015/11/esp-wroom-02.html
ワイヤレスモジュール(Wi-Fi)の使い方

http://mementomorisince2013.blogspot.jp/2015/11/drv8832arduino.html
モーターコントローラーの使い方

http://mementomorisince2013.blogspot.jp/2015/11/wi-fi.html
ミニ四駆に接続してワイヤレス化

やったこと


まずは、電池だけで動くことを確認します。
電池BOXからの給電で動くことが確認できたので、モーターとモーターコントローラー側はシャシーに乗る電池をつかうことにします。

ただし、そのままつけるとモーターが直接電流を拾ってしまうので、エナメル線でモーターコントローラ経由になるように取り回します。

モーター側も絶縁ビニールテープで金具に接触しないようにします。



電池からもエナメル線で外に流します。



このように、元の場所に収まりますが、電気的には接触してません。



エナメル線を外に出します。


ワイヤレスモジュールのESP-WROOM-02は、単三乾電池(1.5V)を3つを直列につないで4.5Vにし、レギュレータで3,3Vにして流し込みました。ばっちり動いています。

これで完全にミニ四駆のワイヤレス化です。


モーターコントローラは後ろのバンパーに載せました。


シリアルのチップも載せてるので、ブレットボードの配線はまだごちゃごちゃしてます。
追々整理して小型化するとして、とりあえず動かしてみます。



無事動きました!
速度は、モーターコントローラで調整できます。

不恰好ではありますが、とりあえずミニ四駆のワイヤレス制御成功です。
ハードの知識があまり無いので試行錯誤でしたが、よい勉強になりました。



2015年11月9日月曜日

Xcode7でDeveloper登録せずにiPhone実機で自作アプリを動かす

swiftが登場して購入したMacBookでしたが、
iPhoneで自作プログラム動かすには、Apple Developer Program(年会費11800円)に登録が必要とのことですっかり手が止まっていたiPhoneアプリ作成。
ひょんなことから、最新のXcode7ならばDeveloper Programに登録せずに、無料で実機動作させることができるとのお話を聞き、 早速ためしてみました。

概ねこちらを参考にさせて頂きました。
http://qiita.com/FumihikoSHIROYAMA/items/a754f77c41b585c90329
Xcode7で1円も払わずに自作iOSアプリを実機確認する


試したプログラムは下記のiPad Roboさんのソース

同ページからのリンクでGitHubにソース公開されてたので、動かしてみました。

やったこと:

1. Xcode(7.0.1)を立ち上げて、GitHubのレポジトリからソース取得する

 起動したら、「Check out an existing project」を選択する。
 「or enter a repository location:」というとこにGithubのURLを貼り付けてNextを押す。

2. 「Identity」で警告が出てるので治す

まず、Identityで「No provisioning profiles found」と警告がでてるので「Fix issue」を押す。

そうすると、Bundle Identifierについて、
「An App ID with Identifier “com.netonjapan.RoboPad” is not available. Please enter a different string.」と怒られるので、

IdentityのBundle Identifierを適当な名前を変える。

再度「Fix issue」押すと、今度は
「creating a provisioning profile requires one or more devices to be registered with your team. ...」と怒られた。
 ※これは、Deployment InfoのDevicesがiPadになってるのに、
  iPhone実機をつなげてたため。
  今回はiPhoneで動かすので、DevicesをiPhoneにする。

すると、左上のとこが、
 「Robo > iPhoneの名前」になる。

で「No provisioning profiles found」という警告もなくなった。

途中でアカウント関連の警告もでたけど、

 http://qiita.com/FumihikoSHIROYAMA/items/a754f77c41b585c90329
 Xcode7で1円も払わずに自作iOSアプリを実機確認する

こちらを参考にさせて頂き、自分のicloudアカウントを入れて解決。


3. ビルドエラーを修正する

左上の▶︎マークで実行する、Build Failedになる。
どうやら、ビルドラーがたくさんでてる模様。

CBPeripheral.isConnectedが無いとか、CBPeripheral.UUIDが無いとかエラーになっている。どうやらiOS7から非推奨担っている模様。

や

を参考に、
    if(activePeripheral && activePeripheral.isConnected){
を
    if(activePeripheral && activePeripheral.state == CBPeripheralStateConnected){
に書き換える

もう一方の、
 Property 'UUID' not found on object of type 'CBPeripheral *’
というエラーについては、下記に変更する。

    [self UUIDToString:p.UUID]
を
    p.identifier.UUIDString
に修正する。

さらに、
 [self UUIDToString:peripheral.UUID]
 を
 peripheral.identifier.UUIDString
に修正する。

さらに、
        if ([self UUIDSAreEqual:p.UUID u2:peripheral.UUID]) {
を
        if ([self UUIDSAreEqual:(__bridge CFUUIDRef)(p.identifier) u2:CFBridgingRetain(peripheral.identifier)]) {
に修正する。(自信無いが、Xcodeの補完機能を信じる)

これで、幾つかの警告は残るがBuild successになる。

4. iPhoneで実行する

ホーム画面にアプリが登録されてるので、タップして実行。



無事、カメラが起動して、顔認証が動きました。

やはり実機で動かすとテンションが上がります。
Xcode7のおかげでようやく、iPhoneアプリ作成も捗りそうです。

2015年11月3日火曜日

ミニ四駆をワイヤレス(Wi-Fi)で動かす③ モーターと無線を結合して確認

前回、前々回と、単体のモジュールは動かせたので、いよいよ組み合わせて
ミニ四駆をWi-Fiでリモートコントロールします。

前々回のWi-fiモジュール(ESP-WROOM-02)を動かした記事
http://mementomorisince2013.blogspot.jp/2015/11/esp-wroom-02.html

前回のDCモーター(DRV8832)を動かした記事
http://mementomorisince2013.blogspot.jp/2015/11/drv8832arduino.html


使ったもの
・ESP-WROOM-02

・DRV8832使用DCモータードライブキット
・ミニ四駆


とりあえず、前回、前々回の組み合わせだけで、
ミニ四駆のモーターを開始、停止、逆回転できました。

ESP-WROOM-02のIO13とIO14を、DRV8832のIN1とIN2に接続しています。
写真、動画では、IN1とIN2それぞれがHIGHになるとLEDを点灯させました。





動画はこちら



ソースコードはこちら


さて、今回はモーター、WifiそれぞれにUSBシリアルとArduinoから5V電源供給していますが、制御がワイヤレスでも、電源が有線では意味無いので、次は電池駆動を考えます。

続く。

ミニ四駆をワイヤレス(Wi-Fi)で動かす② モーターコントローラ(DRV8832)をArduinoで制御


ESP-WROOM-02を動かしてみる

上記の記事の続きです。
ミニ四駆wifi遠隔操作環境作成のため、モーター側の制御を確認します。

今回はDRV8832のDCモータードライブキットを使用します。




Arduinoで動かすスケッチをググって探すと、DRV8830の記事は見つかりますが、
DRV8832の記事が見つかりません。
どうやら品番間違って買ってたようです。

サンプルスケッチが無いけどめげません。
どうやら、DRV8830はI2Cタイプ、DRV8832はポート制御タイプのようです。

なので正転、逆回転の制御ですが、DRV8832はシンプルで、
IN1, IN2をHIGH, LOW設定することで制御できました。

●正転
 IN1 HIGH
 IN2 LOW
●逆回転
 IN1 LOW
 IN2 HIGH
●停止
 IN1 LOW
 IN2 LOW

で動きました。
とりあえずArduinoとシリアル通信でモーターの動きを確認します。

下記は、シリアルで上記PINをHigh/Lowして正転・逆回転・停止するだけのスケッチです。


とりあえず動いたので、これでミニ四駆作成を進めます。

2015年11月1日日曜日

ミニ四駆をワイヤレス(Wi-Fi)で動かす① Wi-Fiモジュール(ESP-WROOM-02)を動かしてみる

ESP8266が乗ってるESP-WROOM-02を動かした記録。DMM,makeのミニ四駆のwifi操作ワークショップにエントリーできなかったので、自前で部品買ってどこまで出来るか頑張ってみる。


使ったもの

・ESP-WROOM-02(wifiモジュール) ※リンクは参考
   https://amzn.to/46pspZ8
・FT232RL USBシリアル変換 ※リンクは参考
  https://amzn.to/3G5YZET
・3.3v レギュレーター
・47μF、0.1μFコンデンサ
・10k抵抗



秋月電子で購入。



所々のブログを参考に回路を組む。
どうやら、「ESP-WROOM-02ピッチ変換済みモジュール《シンプル版》」を使った例は少ない模様。PINに注意しながらブレッドボードに回路を組む。




USB挿した時点では、ESP-WROOM-02と通信できなかったが、
ESP-WROOM-02の3.3V入力を抜き差しすると、シリアル通信OK。

その後、ATコマンドでWifi接続OK。

こちらを参考にArduinoのスケッチアップロード設定。

途中で、
error : espcomm_open failed
となって書き込み失敗。

ググると、下記PIN設定必要なことがわかる。
GPIO 0 -> GND(PullDown)
GPIO 2 -> 3.3V(PullUp)

設定後は、書き込みOK。
ESP-WROOM-02だけ3.3V入力PIN挿し直してリセット。



無事プログラム書き込み成功。
webサーバとして動きました。

次回はモーターだ。


2015年10月21日水曜日

微妙に割れたXperia Z3の液晶を修理する

下記の記事で交換したXperia Z3のフロント液晶パネルが早速割れた…。

Xperia Z3の液晶タッチパネルを交換する


接着具合が微妙だったので、指で液晶をグイグイ押してると、
液晶の上の方がパリっと割れました。

いやー、こりゃ参ったと思いつつ、
タッチパネルの方は無事だったので、接着用に購入したセメダインで
割れた液晶部分も修復することにしました。

どうせ見た目がイマイチなら、縁も全部つけてやる。

使用したもの

・液晶が微妙に割れたXperia Z3

※下記は割れてない新品です(参考)


・セメダインスーパーX2クリア


 ※金属もプラスチックもゴムも何でも接着できる上に透明です。すごい。

セメダインの付属コテを使い、
割れた部分と裏面、接着がイマイチだった側面に塗ります。
数分で乾燥、1日放置で完全硬化します。

結局、見た目は残念ですが、使う分には困らないレベルの修理となりました。

こちらが割れた、液晶上部。
タッチパネル部は無事なのでこれでOK。

 そして、ついでに接着した側面。


万能セメダイン。

全体図。修復部はそれなりに目立つけど気にしない。

以上、再び割れた液晶修理の記録でした。
Xperia Z3の液晶は超脆いので、皆様油断されぬようご注意ください。

なお、写真はセメダインが硬化した後のものです。
硬化したあとも透明かつ、たいしてベタつかないので良い感じです。

側面も全てセメダインで隙間なく覆ったので、再び防水機能の復活です。