あっちむいてほいっ♪ ~ 勝ったらミサイルぶち込め!編 ^^ ~
PSoC Advent Calendar2016 12/25 Merry Christmas!! 番外編
あっちむいてほいっ♪ ~ 一緒に遊ぼう編 ~ からの続き ^^#
仲良く遊んでいたのもつかの間.
あっちむいてほいっ♪ は,いつしか戦いにw
負けたあなたはらぴろんにミサイルをぶち込まれるのだ (๑•﹏•)
注)
- PSoC.Tx が 3.3vのなぞ分かったので書きます(書いた!)
- モーターの回路図不備有り変更します(図は更新でも説明をもう少し書き足す予定)
☆ミサイル実装に必要なもの
- ミサイル操作の主犯
+ RasberryPi(今回は Pi2を用意した)
- ミサイルとその仲間たち
+ 100均の引き金ロケットw
+ ミニモーター低速ギヤボックス(4速)
+ モータードライバIC(TA7291P)
+ 0.1uF フィルムコンデンサ
+ 10uF 電解コンデンサ
+ 配線ワイヤ&ブレッドボード
+ ロケットの引き金を引っ張る丈夫な糸
- PSoC.Tx と RasPi.Rx をつなげるために
+ 1kΩ 抵抗 3本
今回は,PSoCからRasPiを経由して,RasPiにつながったミサイルが発射するようにしたいとおもいます ^^#
まずはいくつか確認です!
☆彡 ミサイルとその仲間たち ^^
モータードライバIC周りを作ります!
今回はブレッドボードに実装
PasPi2 の 11番ピンの GPIO 17,13番ピンの GPIO 27,3.3v PWR,GND にそれぞれ配線します.
ランチャーとギヤボックス!
引き金引っ張る糸巻きには,LEGOブロックを使用 ^^ だから可愛い♡
ちな.つかったギヤボックスはこれ↓↓
今回このギヤボックス,「一番低速(だけどトルクは一番高い)」で組み上げてしまってる状態w
なぜなら,以前小学生と夏休みの工作で遮断機を作ってその時のモーターを引っぺがして使ったから(笑)
ちな,これがその当時作成の遮断機.〇〇市の理科作品展に選ばれたんだよね♪
そうそう.話それちゃったけど,
モーターから出てる赤い線と黒い線もブレッドボード上に刺しておいてね♪
☆彡PSoC.Tx と RasPi.Rx をつなぎましょう♪
ちょっとまったぁ!!
PSoC.Tx は 5v だよ!PasPi.Rx は 3v だよ!
どうしてそうなる?
それはね ^^*
ということで,PSoC.Tx が 5v じゃないか?!というのを先に確認します.
まず
① あっちむいてほいっ♪ プロジェクト(PSoC Creator)の TOpDesign.cysch を開きます.
Drive Level が Vddio になっていることに注目!!
② Design Wide Resources の System を開きます
VDDIO周りはすべて5vになっている.
” PSoC と Arduino ” と ” RasPi ” の関係を振り返ると↓↓
PSoC.Tx 5v と RasPi.Rx 3v を直につなぐのはまずいので,抵抗分圧回路をはさみましょう.
PSoC.Tx が Hレベルのとき,Vout は 3.31v になるよ ^^
ん?!
おかしいぞ.Vout は 2.15v だ...
Txピンの電圧は 3.3v なのか??
テスターで測ったらやっぱり 3.3v みたいw
↑↑ なんで 3.3v なの? わたしもこれについて現在調べ中...
すでに知ってる人はわたしに教えてくれるハズ(笑)
⇒ 文末に特別コーナーを用意しました
ということで,抵抗分圧回路は今回は必要なさそうだ.
抵抗分圧回路は挟まず,PSoC.Tx と RasPi2.Rx は直接配線しちゃいます.
今回使用したピンはそれぞれこれ!
PSoC.Tx には 2[5] を.
RasPi2.Rx は 10番ピンの UART0 Rx を.
RasPi2 側は Python で書きました.
参考にさせていただいたサイトは以下です.Thank you very much!!
http://saba-g.jp/wp/2016/01/15/post-1472/
http://www.instructables.com/id/Read-and-write-from-serial-port-with-Raspberry-Pi/
この動画を見てもわかるでしょ.忘れたころにミサイルぶち込み(笑)
なので,回転数をあげたギアボックスをこれから組み立てます ^^
土台もうまく完成したら動画も置き換え!
それまではすこし間抜けな動画でご勘弁(笑)
⇒ とりあえずこの低速ギヤボックスをもう1つ用意し,中でも一番高速で組んで試してみたところ,トルクが低いようでミサイルの引き金を引くことができなかったw
なのでいい方法見つかるまでこのまんま.
なんかいい方法知ってる人教えてちょうだい ^^#
つづきは,ESP8266とBluemixをもう少し使っていくことー #^^#
◆ PSoC.Tx が 3.3v のなぞ解明
神の声:
PSoC の IO電圧は Creator ではわからんで!
きちんと回路図から追わないと!
回路図からわかること:
USB端子から3.3v LD0 に入ってて,それから
Vddd/Vdda ⇒ VddIo なので 3.3v
たしかに3.3vである.
あっちむいてほいっ♪ ~ 一緒に遊ぼう編 ~
PSoC Advent Calendar2016 12/25 Merry Christmas!!
あっちむいてほいっ♪ ~ 魂吹き込み編 ~ からの続き ^^#
脳を生成し,魂は吹き込みました #^^#
ここからは ”あっちむいてほいっ♪” 仕様へと肉体の改造もやっちゃいましょう(笑)
☆あっちむいてほいっ って??
遊び方はこう.
2人の人がいて『あっちむいてっ』の掛け声で一人は首を上下左右に,もう一人は相手が向きそうな方向を指でさす.首の向きと指の方向が合えば,指をさした人の勝ち!!
あと,そうそう ”あっちむいてほいっ” って海外にはない遊びみたいだよ ^^
この遊びをらぴろんとやろう!という話.
今のらぴろんって...
無表情,無口,無関心,直立不動w
さぁ肉体改造して行こう♪
今回用意したハードウェアはこちら↓↓
これらを制御するプログラムは PSoC Creator で実装していきます.
☆無表情をどうにかして!
https://www.switch-science.com/catalog/1496/
☆無口をどうにかして!
http://gadget.renesas.com/ja/product/kemuri.html
http://akizukidenshi.com/catalog/g/gK-09873/
☆無関心をどうにかして!
https://www.switch-science.com/catalog/2085/
きわどい場所は気にしないっw
☆直立不動をどうにかして!
http://www.rapiro.com/ja/downloads/
☆時には人の手も借りますw
http://www.aitendo.com/product/11927
ちょっとしたデータをクラウドへ びゅん
☆肉体改造全体図
※ 今回のお話の対象は ”TOPPERS + PSoC” のとこだけ
☆肉体改造全体図(補足)
※ こんな感じで配置・配線はやっちゃいます
名前の付け方がいけてないのはムシね
※ リセットの処理もしておきましょう♪ お行儀よく ^^#
Component Catalog で logic と入力します.
以下のような 0 がついたコンポーネントを
reset に配線してね ^^
※ こちら ↓↓ が完成の図 ^^*
補足:
UART DS に「リセット入力は外部接続なしでフローティング状態のままにすることができます.リセット ラインになにも接続されていない場合,コンポーネントによって定数0が割り当てられます.」ってあるけど,明らかに『処理してね♡』ってことだから,きちんと明記しておきましょう!!
☆脳内全体図
今回はセマフォとデータキューを使ってみました.
通信間のデバッグなども PSoC Creator でできます ^^*
Break Point(梅干しみたいな印)を実行を一旦停止したいところに置いてステップ実行させてみてね ^^*
☆ちょっと余談 こんなこともできるんです!
PSoC Creator では C++ も使えます!
Arduinoの豊富なライブラリもつかいほーだい ^^#
ただ,C++ライブラリを直接 PSoC Creator で呼び出せないので,ラッパーを用意してあげてね.
も一個補足は,C++ライブラリなどは,PSoC Creator で
” 対象の関数を右クリック.Go To Declaration や Go To Definition ”
などで引っかからない時があるので,
” Find ” の ” Current Project ” を実行してあげたほうがいいかもです ^^*
☆らぴろん誕生
☆らぴろんとあっちむいてほいっ♪
☆ TOPPERS活用アイデア・アプリケーション開発コンテスト 金賞!
https://www.toppers.jp/contest.html
☆ PSoC Creator Top Page掲載 &
Cypress Developer Community サイトに掲載
☆ ARM Community サイトに掲載
うれしくて ↓↓↓ 笑
Merry Christmas!!
番外編:あっちむいてほいっ♪ ~ 勝ったらミサイルぶち込め編 (^^♪ ~
あっちむいてほいっ♪ ~ 魂吹き込み編 ~
PSoC Advent Calendar2016 12/18
☆あそび相手がほしい...
はんだづけ友達,どろーん友達,呑み友達,温泉友達,ショッピング友達,カフェ友達,Disny大好き友達...そこそこ相手はいるけれど,みんなして予定入っちゃってるときがある.
そんなとき ”ぼっち” になっちゃうの...
だれか みほ とあそんでくれない?
☆いたいた ^^ ちょうどいいやついた!
その名は ”らぴろん” #^^#
最近ガンダムみたいな進化を遂げた(外見だけ)
『ねぇ らぴろん,みほと一緒にあそばない?^^』
ん?でも らぴろん,元気なみほについてこれるかな??^^
そこで
☆らぴろんの身体検査
らぴろん は手足はそこそこ自由に動かせます.
でも... あたま... からっぽw
ドモドモ\( ̄▽ ̄*)(* ̄▽ ̄)/ドモドモ
そこで...
らぴろんのあたまん中改造計画w
らぴろんを”も少しおりこうさん”にしてあげましょう♪ ^^#
使うのはこれ!
”みんな大好きPSoC♡” &
”みんな大好きTOPPERS♡”
※ TOPPERSとは
組込み用のITRON仕様のちっちゃなRTOS
https://www.toppers.jp/project.html
脳みそ基板にはこれ!
PSoC5LP(CY8C5868AXI-LP035)を使います!
みんな簡単に手に入るよ!
http://shop.cqpub.co.jp/hanbai/books/48/48171.html
脳みそはこれ!
TOPPERS/ASPカーネル 簡易パッケージ
CY8CKIT-050(Cypress Semiconductor)簡易パッケージ
これまたみんな簡単に手に入るよ!
https://www.toppers.jp/asp-e-download.html
https://www.toppers.jp/download.cgi/asp_cy8ckit050_gcc_20140204.zip
脳みそ注入!
まず,
① PSoC Creator を準備して!
http://yamagoya.hatenablog.jp/entry/2016/12/02/000000
※ こにしさんのページを引用させていただきました ^^#
② DLしたTOPPERS/ASPカーネル簡易パッケージを
c:\PSoC5 以下に展開しよう!
※ 日本語フォルダ名はだいたいなにかを引き起こす...
③ PSoC Creator にインポート!
File -> Open -> c:\PSoC5\asp_1.9.0_3.0\asp_eval1.cywrk
④ ビルド!
Build -> Build asp_1.9.0_3.0
⑤ 書き込み!
ボードを接続
Debug -> Program
⑥ 脳みそ(サンプル)を動かしてみよう!
PSoC5LPのシリアル出力をPCで観測するために
*用意するもの!
USBシリアル変換モジュール
今回使用したものは FTDI社製 FT234X
*手順
1) PSoC Creator の Design Wide Resources - Pins で確認
Rx_1 が P3[7],Tx_1 が P3[6] に割り当たっています.
2) PSoC5LPと変換モジュールを接続して,ターミナルソフトを起動します
Rx_1:PSoC5LP.P3[7] と 変換モジュールの Tx
Tx_1:PSoC5LP.P3[6] と 変換モジュールの Rx
を接続して,PCでターミナルソフトを起動します.
※ ボーレートは 19200
くまさんがいると間違いなく成功します(嘘w
ターミナルソフトに何か出てきます.
もともと task1,2,3 全部動いてます.
c を1回入力すると task1,2,3 が順に回ります.いけた?(下図)
2 ,e と順番に入力すると,task2 は exitします.
ちな,コマンドは sample1.c をみてね ^^*
脳みそをもっと充実させて!!
タスクを追加してみよう!!
サンプルに task4 を追加してみよ (*・ω・)(*-ω-)(*・ω・)(*-ω-)ウンウン♪
① Task4 の静的生成準備
C:\PSoC5\asp_1.9.0_3.0\asp_eval1.cydsn\asp\OBJS の
sample1.cfg に追記
『task4 生成!』って task1-3 のまねっこで書いて ^^#
② OBJSフォルダ内の set_path.bat の編集
今回は PSoC Creator 4.0 を使っているからね
IF %1 == 4.0 path C:\Program Files(x86)\Cypress\PSoC Creator\4.0\PSoC Creator\import\gnu\arm\4.9.3\bin;%PATH%
の一文を追加します
みんなの PSoC Creator のインストールパスに合わせてね ^^#
③ コマンドプロンプトを開いて『set_path.bat 4.0』Enter を実行して!
念押しだけど,今回は PSoC Creator 4.0 だからね ^^*
④ つづけてコマンドプロンプトで
make_depend.bat .. sample1 cy8ckit050_gcc
Enter を実行して!
⑤ kernal_cfg.h,kernel_cfg.c,offset.h が新しく生成されましたか? ^-^
タイムスタンプで確認したり,kernel_cfg.c の中身を見たりしてみてね
task4 が追加されてるのがわかります
⑥ PSoC Creator を開いて,sample1.c の一部編集!
抜粋:
char message[4];
const char *graph[] = {"|", " +", " *", " ^^#_Miho"};
SVC_PERROR(act_tsk(TASK4));
case '4': case '3' とかと同じように追記
実行すると ^-^
ファイル名などを変えたときには
ex. OBJS フォルダで作業
sample1.cfg -> rapiro.cfg
sample1.c -> rapiro.c
sample1.h -> rapiro.h
PSoC Creator の Workspace Explore から sample1.c と sample1.h を削除して!
そして,rapiro.c と rapiro.h を追加しよう!
くれぐれも sample1.h の記載箇所を rapiro.h にすることなど忘れないでね!
そのあと,コマンドプロンプトから set_path.bat を実行!
続けて,
make_depend.bat .. rapiro cy8ckit050_gcc
を実行!
おわり ^^#
続きは
PSoC Advent Calendar2016 12/25 Merry Christmas!!
で会いましょう♪
Step1: 改造計画_準備編
Rapi には,腕やら足やら首やらを動かすために,肩のあたりに,Rapiro 基板(Arduino互換サーボモータ制御基板)が載っている.
これだけでも,十分愛くるしく動く Rapi を見ることはできます.
でも...こんなの持ってるんですもの ♪
じゃ~ん (^^♪ Pink のコントローラ!
使わないとダメでしょう.
Bluetooth には
Planex BT-Micro4
消費電力が 1/2 を用意しました.
そしてそのためには,RasPi が必要です.
RasPi には
Raspberry Pi Type B 512MB
を用意しました.
さてさて Rapi の 頭をぱっくりあけてww
ついでにカメラも付けちゃいます ^^*
今日はここまで.
明日からは,PinK の コントローラの出番もふえるはす!!
まとめ:用意するもの
* Rapiro デコらなくてもいい ^^;
* Rsapberry Pi Type B 512MB
* Bluetooth Planex BT-Micro4
* PS3 コントローラ DUALSHOCK3 WHITEもきれい ^^*
* LANケーブル:イントラ環境
次回をおたのしみに~ ♪
はだかの Rapi に...
誕生日に Rapi がうちにやってきた.
でもなんか物足りない.
やだー,このこ ”はだかんぼう” じゃない!!
そこで服を着せた.
りりしい (*^^)v
かっこいい (^^♪
まぁ.かわいい (#^.^#)
うしろだって!みえないところもおしゃれだよ (^_-)-☆
次はこの子に命を吹き込んであげましょう ♪