AdSense

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モジュール) ※リンクは参考

・FT232RL USBシリアル変換 ※リンクは参考

・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の液晶は超脆いので、皆様油断されぬようご注意ください。

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

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

2015年8月30日日曜日

びんぼうでいいの with LCD [U3RLCD144]を動かす

Arduino互換機「びんぼうでいいの」でセットになっていた128*128のフルカラーLCDを動かしてみました。

びんぼうでいいの with LCD [U3RLCD144]
http://www.aitendo.com/product/10931

aitendoの上記ページの説明にある通り接続します。

手順通りに行くと、
Adafruit_GFX.h
と、
TFT_ILI9163C
のスケッチソースが必要なので、ググって入手します。

Adafruit-GFX-Library
ハイフン[-]があるとArduinoに認識されないのでAdafruit_GFXにフォルダをリネームする。

TFT_ILI9163C
aitendoのリンクのやつは古いっぽいので、上記からとってくる。
最新ソースは、サンプル数が倍くらいあります。

両方ともArduinoのライブラリに追加するとexampleのビルドが通るようになります。
そして実行すると、だいたい表示されるのですが、LCDの上の方が崩れてます。

理由がわからずググると、setRotation()をいれると解決することがわかります。
最新ソース(2015/08/30)だと、プログラムでのPINの指定はCSとDCだけです。

修正後ソース(変更部分抜粋):
#define __CS 10
#define __DC 9

TFT_ILI9163C tft = TFT_ILI9163C(__CS, __DC);

void setup() {
  tft.begin();
  tft.setRotation(2);
}



無事表示することができました。
いろんなサンプルがあるので、動かしてみると面白いです。



2015年8月23日日曜日

Arduino互換機をつくって動かす

半田付けの練習に、Arduino互換機を2つ作りました。



・びんぼうでいいの(左)
・ちびでぃ〜の(右)












「びんぼうでいいの」とは、aitendoさんで売っている、500円のArduinoの基盤です。
ただし、これだけでは部品が足りないので、部品パック(250円)とATMEGA328(230円)を買います。合計で1000円くらいです。
こまかい抵抗などはすでに実装済みなので、半田付けは簡単に出来ます。
見た目も本家に近いですね。



びんぼうでいいの
http://www.aitendo.com/product/10470

部品パック
http://www.aitendo.com/product/10471

ATMEGA328
http://www.aitendo.com/product/10415




「ちびでぃ〜の」は、Make Faire Tokyo 2015のちっちゃいものクラブさんで購入しました。こちらも1000円です。
小さい抵抗やこまかい半田付けが必要で、比較するとこちらの方が難しいです。
見た目はかなりメカメカしいです。

ちびでぃ〜の2
http://tiisai.dip.jp/?page_id=1296


本家のArduinoが3240円なのを考えると、とても安いですね。
なお、本家のArduino UNOは壊しても無償交換の保証が付いています。





今回は秋葉原のはんだづけカフェさんで作業しました。



どちらも無事にArdinoのスケッチが動かせました。





2015年8月2日日曜日

Arduino Nano 互換機を動かす

Make Faire2015にて、 ちっちゃいものくらぶさんで、
Arduino Nano互換機を500円(!)で購入したので動かしてみた。 

必要なのは、説明通りCH340のUSBドライバ。

こちらからCH341SER.ZIPを入手。
http://www.wch.cn/download/CH341SER_ZIP.html

Nanoを接続したまま、インストールで認識しました。

書き込みは
  ツール - マイコンボード - Arduino Nano w/ATmega328
を選択して無事サンプルのBlinkを書き込めました。

ファイル - スケッチの例 - 01.Basics - Blink

 

本物Arduino Nanoはこちら。

2015年4月26日日曜日

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

Xperia Z3の液晶が購入1月以内に破損。
保証も無しとのことで、Amazonでフロントパネルを購入して修理を試した記録。


使うもの:
・液晶割れたXperia Z3
・修理用パネル
 Sony Xperia Z3 D6603 D6643 D6653 L55u L55t 修理用フロントパネル(フロントガラスデジタイザ) タッチパネル 液晶パネルセット 修理工具付き (ホワイト)
購入はAmazonで。値段差がある理由は謎です。私は1万円くらいのを購入。工具も付いてます。


・ホットガンがあると良いですが、ドライヤーで代用します。


・LCD接着用の両面テープ(2015/9/24追記)
 ※当時はXperia Z3専用の粘着テープが無かったのでこれで頑張りましたが、今は次のXperia Z3専用のLCD用粘着テープがあります。


・Xperia Z3専用の液晶LCD用粘着テープ(2016/02/14追記)



なお、Xperia Z3 Compactの場合は下記があるようです。



まずは開封



厳重に梱包されています。

修理用の工具も一緒に入ってます。


こちらが修理用のタッチパネル&ディスプレイです。
Xperia z3のフロントパネルは、タッチパネルとディスプレイが貼り合わせてあります。

内容物一式





パネルは粘着テープで接着してあるので、
ドライヤーで温めつつ、ピックを隙間に入れて開けます。

バッテリーも張り付いているので無理に剥がしてはいけません。
まずは周囲をぐるっとピックで一周します。

フロントパネルを外すためには、まずバックパネルから外して空けて、
中のフロントパネルの接続を先に外す必要があります。

なので、バックパネルから開けます。

手で掴めないので、吸盤をつけて引張りつつ、ピックを指します。

 つかむところが無いのと、無理やり持つと割れるので、




熱して隙間をつくり、引っ張るとこのように外せます




バックパネルにはバッテリーが粘着テープでくっついています。

なので、先にバッテリーのコネクタを外してから、パネルを外す必要があります。






赤丸がバッテリーのコネクタです。

無事バックパネルが外せました。
バッテリーの粘着テープを外せば、バッテリーも分離できます。

 ネジ2つ外します。分解する中で外したネジはこの2つだけです。
あとは粘着テープです。



バイブモジュールも外します。




どんどん外していきます。










気を抜くとすぐ切れるので慎重に外します。






この長いやつがフロントパネルのパーツであり、
これを隙間をくぐらせて抜くと、初めてフロントパネルが外せます。
バックパネル同様に、吸盤をつけて、ドライヤーで温めて隙間に差し込みつつ開けます。








無事フロントパネルも外せました。







 こちらが壊れたフロントパネルです。

修理用フロントパネルがこちらです。



外した時と逆の順番でつけています。
ここで、修理用の粘着テープが必要なことに気が付きました。
時既に遅しです。




無理やり接着剤でつけようとしてたら、変なところに力がはいって
フレキが切れました。。。これはタッチパネル用のフレキだったようです。





しかたないので、そのまま組み上げます。
液晶はちゃんとつきましたが、やはりタッチパネルが効きません。
仕方ないのでマウスで動かします。






動いて入るのでソフトウェア・アップデートもできます。


気になったので、フロントパネルの液晶と、タッチパネルを無理やり剥がしてみました。
強力に貼り合わせられており、こちらの分解は不可能です。


ということで、残念ながら失敗に終わりました。
敗因は、修理用の粘着剤を用意してなかったことと、
二日酔いで挑んだことです(いいわけ)。

公式の修理が3万円、交換用フロントパネルが1万円。
部品があればもう一度チャレンジしたいとこです。

-----------
2015/09/27追記

液晶安くなってたのと、1mmの両面テープが売ってたので再チャレンジ。
両面テープをペタペタ貼っていきます。
横面が2mmで立てが1mmみたいです。2mmの幅のとこには1mm両面テープを2本並べて貼りました。


今度は無事復活しました。



-------
2015/10/14
Youtubeでわかり易い分解動画があったので追記いたします。
これからチャレンジする方は参考にされてください。

-------
2016/05/21
コメント欄のMr.ペーさんに紹介いただいた国内版の分解動画です。
ご参考にどうぞ。ご紹介ありがとうございました。

part1 取り外し
part2 取り付け


p