saitetutan’s diary

Unity,Blender,C#,Javaなどの備忘録的なブログです。電子工作やArduinoなんかも。

Unity,Blender,C#,Javaなどの備忘録的なブログです。電子工作やArduinoなんかも。

Aliexとかgeekとかwishとか

電子部品やモジュールなんかは、Amazonでの買い物よりもAliexpressとかgeekとかwishといった中国通販で買うことが多くなってきました。(ebayも使うことには使いますが。。)

で、その中で見つけた良かったものをここに羅列していこうと思います。

(どんどん追記していきます)

  •  モジュール37個セット
  • f:id:saitetutan:20170527120721j:image
  • 37で1センサーキット用のarduinoスターターキーズブランドhttp://s.aliexpress.com/nMJzQF7r
  • とにかくいろんなモジュールを試してみたい人におすすめです。1000円強で37個なので一つ30円程ととてもお得です。
  • ただ、結構ぐちゃっと詰められてきますので、壊れてる可能性もあります。

 

  • はんだ
  • Hot 50g 0.3mm-0.6mm Tin Rosin Lead Core Roll Solder Soldering Wire 

http://geek.wish.com/c/55a872a5c1f77e57d142b9d8

  • 安い(送料込みで200円程)&使い易いハンダです。
  • 50gと書いてありますのでどれくらいか分かりにくいですが、写真通りの巻で来ます。
  • 使い易いですが、鉛40%と普通に鉛はんだなのでそこは注意です。

 

 

 

 

 

SPAJAM大阪予選参加しました

最近更新が滞ってしまっていて。。

 

この間、色々とあったのですが(MBSハッカソン優勝とかタッチデバイス製作とか。。)また今度記事にしようと思います。

 

今回は先週行われたSPAJAM大阪予選についてです。

今回はチーム『でん&つー』としてパクパクトレインというアプリ(ゲーム)を作りました。


f:id:saitetutan:20170427224040j:image

このゲームは踏切などで電車に向かってカメラをかざすと画面端に現れるパックマンが走っている電車を食べていくという単純ゲームです。

 

OpenCVで差分画像を取り、輪郭線を摘出、塗りつぶしを行うことで電車のみを割り出し、その部分の面積量をスコアに反映するという感じで処理を行っています。

 

また、差分なのでカメラを動かすと誤認識してしまうので、角速度を取って、しきい値以下でないとパクパクモードに入らないようにしてます(これを発表の際に言い忘れて、質問してもらえなかったらヤバかった。。というか発表の時疲れすぎて記憶があやふや。。)


f:id:saitetutan:20170427224030j:image

このゲームの開発経緯としては、テーマが電車であったことから、踏切での待ち時間に暇を潰せる(踏切で待つことを楽しみにできる)ゲームはないかとの意見から生まれました。

 

ただ、開発にとても難航し、完成度が自分の中での考えていたものの30%ぐらいのものになってしまったのがとても残念でした。。

 

具体的な難航した所ですが、まずUnityで作ろうとしていたところにOpenCVが無料の範囲だと環境構築が大変そうなことからAndroidStudioに急遽変更(今から思えばこのまま環境構築していても対して変わらなかったかも)し、その後パックマンのアニメーションのせいでカメラ映像がアニメーションに同期しだしたり、最終ビルド直前(終了まであと5分程)にタイトルからの遷移でヌルポしたりなど、とにかく大変でした。。。

(徹夜もめっちゃ疲れた(-_-;))

 

ただ、結果的には優秀賞をいただけました。

 

正直、何故もらえたのか不明なくらいですが、単純に嬉しかったです。

 

あと今後の予定ですが、色々と作ったものがとっ散らかっていて自分でも整理しきれてないので、ポートフォリオを作ろうと思っています。

HackDay2017

遅くなりましたが、HackDay2017に参加してきました。

 

HackUではソフトを作ったので、今回はハード的なのを作りたいということで、ホワイトボードイレーサーロボットを作りました。

 


f:id:saitetutan:20170215171818j:image

 

機能としては自動で文字を消してくれて、尚且つ書かれた文字を撮って保存してくれるようになってます。

 

 中の仕様としては、Arduinoでサーボを制御し、esp8266でgroveのカメラモジュールから写真を撮ってwifiでサーバーに送信、そこで合成という形になってます。

 

外見的にはプロトタイプそのものでしたが、一応ホワイトボードを立てている状態でもきちんと動いてくれました。

 

賞にはなんにも引っかかりませんでしたが、貫徹でなんとかできたので悔いはないです。。。←

 

また、今MBSハッカソンにも参加しており、こちらの記事も後日上げたいと思います。

LGV32(isai vivid) リフロー修理

4ヶ月前ぐらいになりますがLGV32が件の再起動ループになりまして、au辞めてシムフリー化してたこともあって保証効かないんで、泣き寝入りしてました。

で、最近この機種のベースモデルであるG4がリフローしたら直ったっていう英語の記事を見つけまして、じゃあどうせただの文鎮ならやってみようかとリフローしてみました。
(ちなみにG4の方は普通に交換してもらえるらしい)

結果、1回目ではうまく起動しなかったのですが、2回目で普通に直りました!!

今、うれしくて、そのLGV32から書き込んでいます。

本来なら写真とか載せるべきなんですが、直るとは思ってなくて手順とか何も撮ってないです…すいません…

一応、いま書いてる画面とソフトウェア設定のスクショを。

f:id:saitetutan:20170118170459j:plain


f:id:saitetutan:20170118171527j:plain



リフローなんて初めてやったんですが直るもんですね…

自分みたいに保証効かない人は是非やってみては?(自己責任ですが)

一応、リフロー手順としては、Y型ドライバーでネジ外してから、ピック型の開ける器具(日本橋で分解セットで600円ぐらいでした)でこじ開けて、ケーブル類を外して(全部コネクタになってるので爪ではがせます)、基盤をアルミで包んで、家のオーブンで予熱5分から200℃で8分かけました。

分解は比較的し易いので結構おすすめです。

しかし、android6.0のアプデが来てたんですね…知らなかった…

なんにせよ、頑なに製品不良の再起動ループを認めないauとLGジャパンの製品はもう一生買わないかな…

Hack U 2016大阪大会参加してきました!

タイトル通りですが、Yahoo!Japanさんが主催する、Hack U2016大阪会場に参加してきました。

 

camtanという英単語暗記アプリを作ったのですが、当日プレゼン中の実機見せでうまく動いてくれないというバプニング発生…。

終わった…と思いましたが、なんと優秀賞頂けました!

 
f:id:saitetutan:20161219124618j:image

 

プレゼン当日に作って、アプリの最終ビルドも発表15分前という超ギリギリスケジュールでしたが、完成してよかったなぁと。


f:id:saitetutan:20161219124404j:image

 

アプリの仕組みとしては、英文などに書かれた覚えたい単語に蛍光ペンで線を引いてカメラで撮影すると、自動的に日本語訳と一緒にテストの形式として単語帳が作られるという感じです。

 

AndroidStudioで開発して画像認識にopenCV3、文字認識にtesseractOCR、日本語訳抽出にMicrosoft TranslatorAPIを使いました。

 

AndroidStudioでの開発(というかJava自体)初めてだったのですが、Androidの開発がいかに面倒くさいのかがよく分かりました…

 

まあ、とにかく賞いただけて良かったです^^

 

アプリの方は改良を加えて、近いうちに公開したいと思ってたりします。

 

あ、あと秋葉原で行われる本選(Hack Day)に招待して頂いたので頑張ってこようと思います!

IoTLTで初LTしてきた話

最近このブログ更新が滞っていたので、何か書かなきゃと思い。。。

ーーー

11/28に行われたIoTLT大阪vol4で初LTしてきました。

 テーマはIoT with Unityで、IoTで何か作るとき、Unityでインターフェース作ったら楽なんじゃない?みたいな内容でした。

かなり緊張しててアレだったんですが、また機会があったら登壇したいと思ったりしましたね。

ちなみにこのときのスライド↓

 

 

ーーー

 

あと、会場がHDMI対応してなくて、変換アダプターはやっぱり必要だと痛感しました…

PHPとMySQLでシリアルコードの認証システム作成

今回はシリアルコード(シリアルナンバー、シリアル番号)の発行と認証のシステムを作らないといけない状態になり、取りあえずそれらしいものを作ったので載せておこうかと思います。

ここで言うシリアルコードとはゲーム内などでアイテムを貰うために1回だけ入力できるような、あのコードのことです。

違うものを想像していた方は申し訳ないです。

 

また、このブログの記事全てに共通することですが、超初心者向け記事なのであしからず・・・。

 

--------------------- 

 

まず、シリアルコードのデータはレンタルサーバー上のMySQLハッシュ値として置いておくことを想定しています。

 

phpは5.5以上からmysql()が非推奨(しかも今回使ったサーバーでは使用不可)、mysqliを使用しています。

 

概要としてはmysqliでインスタンスを作成し、SQLインジェクション回避用にプリペアドステートメントでクエリを発行する感じです。

 myspl上にはserialとDATEのcahr型、usedのboolean型のカラムをそれぞれ用意しておいてください。

 

まずシリアル発行のスクリプトから、

 ちょっとオブジェクト指向風な感じで

 

 

で、こっちがシリアル認証用のスクリプト

 

 

 

 

if state=="ok"のところにリンクとか貼ればオッケーかもです←

また、useがbool型でtrueになると認証できない(一回しか認証できない)用になっているので注意です。

再読込でも認証不可になるので要改善かも。

 

このソースではmd5を使っておりますが、最近非推奨な傾向なので、もっとセキュアな必要があるならphp標準のpassword_hash()を使うことをお勧めします。