• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

satto.v11のブログ一覧

2025年12月04日 イイね!

マツダミュージアムへ行ってきた。

マツダ本社で月曜日から金曜日まで無料で開催されています。
私が生まれ育った実家は、マツダ本社から歩いて5分のところにあり、自宅からマツダ本社が見えるくらいの距離にあります。何なら、私はマツダ病院で生まれました(笑)。
このような環境にもかかわらず、マツダミュージアムに行ったのはこれでたったの2回目。今回、改めてロードスターのオーナーになったことを機に、1年ぶりに再訪してみました。今回は、元マツダ社員で開発を担当していた私の父と2人です。 歩いてマツダ本社まで行っても良かったのですが、せっかくなので愛車のNDロードスターを里帰りさせました。現行ロードスターは、ここで組み立てられています。



ミュージアムのツアー開催を待つ間に、ロビー内のショールームを見学することができます。展示物は時期によって変わりますが、今回は歴代のコンセプトカーが展示されていました。これらはまさに、子供の頃に『東京モーターショー』の雑誌で見ていた車両たちです。

またショールームには、MAZDA3のSPIRIT RACINGも展示がされていました。SPIRIT RACINGは今が旬なので力を入れて展示しています。



ミュージアム内には、歴代の車両が非常に綺麗な状態で展示されています。父と二人思い出話を挟みながらじっくり歩きました。戦後直後の新型車、三輪トラック『グリーンパネル』です。まさに、マツダの車両製作のすべてがここから始まったようです。



1960年「R360クーペ」。父曰くこれで母親と島根までドライブへ行ったそうです。往復300km今と違って道も悪く大変だったそうな。



1967年に登場した『コスモスポーツ』は、マツダのロータリーエンジンのすべてが始まったクルマです。 多くのメーカーがロータリーエンジンの特許を買いながら開発を断念する中、マツダだけが世界で初めて実用化に成功した記念碑的な一台です。開発陣を悩ませた『悪魔の爪痕』ことチャターマークなど、その開発秘話は非常に興味深いものがあります。



1969年「ロータリークーペ」。初代ルーチェです。この頃のマツダは出すクルマほとんどがロータリー搭載車です。



1975年「ロードペーサー」。これは珍しい、前回の来訪にはなかったと思います。外観はオーストラリアのGMホールデンズ車のボディーです。かなり大きい車両で654ccX2のロータリーエンジンです。



1975年2代目「コスモAP」。子供の頃広島ではよく走っていました。この時代、高級車でもロータリーと積んでいた時代。良き時代でした。



1978年初代「RX-7」で、SA22って呼ばれる車体です。これが出た時は子供ながらに衝撃を受けた覚えがあります。同系でFCの展示もありました。ちなみに2026年タミヤから1/24スケールのSA22プラモデルが26年ぶりに再販されるってことで楽しみにしていますw…。



1980年国内月間販売台数で通算8回も1位になった5代目ファミリア。マツダ最大のヒット作です。親もこれのサルーンと呼ばれるセダンを乗っていました。免許取り立てで公道の練習車がこれでした。



1989年 我らが「ユーノスロードスター」。やはり、マツダの歴史ではこれも外せません。私が初めて新車購入して初めてマイカーとなった思入れの強いクルマ。もう一回乗ってみたい。



1990年代の初めに開発が進められていた幻の4.0ℓ V型12気筒エンジンです。 このエンジンが象徴するように、当時のマツダのバブル期の勢いは凄まじいものがありました。多すぎる挑戦の結果、一時期は衰退を招くことになりました。父曰く、まだ1台社内に試作車両があったはずじゃがの〜。って言ってました。



レース車両では、1969年「ファミリアプレストロータリークーペ」。スパフランコルシャン24時間レースに参戦した車両。当時、マツダはロータリーの耐久性を証明するためレースに積極的に参戦していました。個人的にすごく好きなクルマです。ハセガワさんあたりでこのプラモデル販売してくれないかな、即買いなのに。



1978年SA22のグループBのラリー仕様です。300馬力13Bエンジンが搭載されています。マツダ本社には、社員の家族が利用できる売店があり、そこでは一般的な食料品などが安く売られていました。そこの掲示板に、社内報などで当時のこうしたレースの活躍などが報じられていて、よく読んでいたのを覚えています。



1991年マツダ787B。これは言わずと知れた、ル・マンで世界の頂点に立った究極のロータリーレーシングマシンです。 マツダは1980年代によくル・マンに参戦しており、特にクラス1-2フィニッシュを果たした717Cが私の最も好きな車両でした。 そして、787Bが総合優勝を果たした1991年は、テレビを食い入るように見ており、終盤になっても1位を維持していた時は興奮してなかなか眠れなかったのを覚えています。この展示車は非常に近くで見ることができます。



そして、未来のマツダ。
2015年の東京モーターショーで発表された次世代ロータリーエンジンSKYACTIV-Rを搭載したFRスポーツコンセプトのRX-VISION。このクルマは本当にマツダらしい。実際に目の当たりにすると本当綺麗。ぜひ発売してもらいたい。



2017年の東京モーターショーで公開された、魂動デザインを継承したマツダのクーペ、VISION COUPE。



そして、今回のミュージアムの締めくくりは2023年モビリティショーで発表された、ICONIC SPが展示されていました。ロータリーEVシステム採用のコンパクトスポーツカーコンセプトです。



ロビーには可愛いNDロードスターがいます。


このミュージアムは完全予約制です。結構人気があってすぐに予約でいっぱいになります。広島駅から在来線で2駅行ったところから、歩いて数分の場所にマツダ本社はあります。広島へ来た際には寄ってみてはいかがですか?
Posted at 2025/12/07 05:03:17 | コメント(0) | トラックバック(0) | 日記
2024年04月27日 イイね!

N-ONE JG3のOBD-2をハックしてみる


今回新車でN-ONE JG3を購入しナビやETCの取付品が落ち着いたのでちょっとOBD2で遊んでみます。
6年前にもココでも遊んでいますが、N-ONEでもOBD2のデータが拾えるものかどうか試してみます。
最近の車はOBD2で規格化されたプロトコルで車両の診断や車両データをタイムリーに取得できます。通信はCAN通信を使ってECUとやりとりできるのが一般的です。
HONDA N-ONE JG3についてもOBD2のコネクタがついており自作回路を作成してハッキングしてやろうと目論んでいます。

今回こんな回路図を書いて…


ユニバーサル基板なので見栄えは悪いですが、こんな回路を作ってみました。
黒くて大きなコネクタがOBD2の一般的なコネクタでN-ONEは運転席左下にあります。


回路の概要としては…。
①マイコンを使って命令コマンドをCANコントローラーへ向けて発行します。
②CANコントローラーより返答のあった車両データをマイコンで処理してそのデータをBLEモジュールへ送信します。
③データを受け取ったBLEモジュールはiPhoneに向けてBluetoothに乗せて車両データをiPhoneに送信します。
④iPhoneは受け取ったデータをアプリで処理を行い画面表示します。

今回は簡単な自作iPhone用のアプリも作成していきます。

回路の構成は以下のようなチップで構成されています。
【CANコントローラー MCP2515】
マイクロチップ社のCANコントローラーでSPI通信を使ってさまざまなコマンド命令を行い車両と通信を行うためのチップです。これを中心にシステムを作っています。マイコンで命令コマンドSPI通信で送りその結果がSPI通信で帰ってきます。

【CANトランシーバー MCP2551】
マイクロチップ社のチップで車両とCANコントローラと物理バスの間のインターフェースデバイスです。回路と車両を繋げるためのチップって考えても良いと思います。MCP2515と組み合わせて使います。

【BLEモジュール RN4020】
マイクロチップ社のBluetoothモジュールです。今回は通信結果をiPhoneに表示させます。この回路とiPhoneはBluetoothを使った無線通信でデータを送ります。そのためのモジュールです。CANコントローラーから送られたデータをマイコンで受けこのモジュールにデータを送りひたすらデータをiPhoneに飛ばします。マイコンとの通信はUART通信というプロトコルでやりとりします。

【マイコン PIC32MX270F256B】
このマイコンでCANコントローラーへSPI通信で命令コマンドを送信。そして結果をRN4020のモジュールにUART通信で送信するのがこのマイコンの役割です。中身はレガシーなC言語でプログラムを書いています。実はこのぐらいの処理であれば32ビット級のマイコンは必要ありません。8ビットマイコンで十分ですが、今後なにか別のディスプレイに映すとかグレードアップした時に速いマイコンが必要かも?ってことで今回は高級な(?)マイコンを使っています。明らかなオーバースペックです。

裏はこんな感じです。手作りなので見栄えは悪いですが機能はします。


車両には運転席下のOBD2のコネクタに接続します。
電源はOBD2からも取れますが、常時電源で扱いにくいのでACCから取っています。iPhoneとはBluetoothの無線通信なのでどこに置いても良いです。


今回のために簡単なテスト用のiPhoneアプリを作りました。言語はApple公式のSwiftです。ただ送信されたデータを計算して表示するだけの簡単なアプリです。


今回はOBD2通信の中身を探るだけのアプリなのでそっけないものですが、
接続ボタンを押してBluetoothの通信接続を開始して1秒ごとにOBD2へのリクエストを命令して返答があったものをテープルへ表示するソフトです。



ここからはOBD2の処理を知る上でちょっとコアな部分です。
OBD2通信ではリクエストとして送信先のECUの指定はCAN IDと呼ばれる番号で指定します。これはISO規格で定められており、11ビット標準識別子か29ビットの拡張識別子に分かれています。前回AUDIのOBD2は11ビット標準識別子が使われていたのですが、ホンダ系のOBD2は29ビット拡張識別子が使われているようです。
29ビット識別子には0x18DB33F1という特別な29ビット拡張識別子があり、この識別子を送信するとリクエストが理解できるECUの全てから返答があります。
試しにこの識別子を送ると見事に0x18DAF110なるECUから返信があり、N-ONEの場合はこのECUと通信ができそうです。
このECUに対し1バイトで表されるPIDと呼ばれるIDを指定して取得したいデータを命令して返答を得ます。例えば0x01〜0x1Fであれば、以下に羅列したデータがあって、エンジン回転数が欲しければ「0x0C」を指定、車速が欲しければ「0x0D」を指定してやって命令すれば現在のデータが返信される仕組みです。こんなデータが160項目くらいあります。そのうちの32個。

PIDs Description
1 Monitor status since DTCs cleared.
2 DTC that caused freeze frame to be stored.
3 Fuel system status
4 Calculated engine load
5 Engine coolant temperature
6 Short term fuel trim (STFT)—Bank 1
7 Long term fuel trim (LTFT)—Bank 1
8 Short term fuel trim (STFT)—Bank 2
9 Long term fuel trim (LTFT)—Bank 2
0A Fuel pressure (gauge pressure)
0B Intake manifold absolute pressure
0C Engine speed
0D Vehicle speed
0E Timing advance
0F Intake air temperature
10 Mass air flow sensor (MAF) air flow rate
11 Throttle position
12 Commanded secondary air status
13 Oxygen sensors present (in 2 banks)
14 Oxygen Sensor 1
15 Oxygen Sensor 2
16 Oxygen Sensor 3
17 Oxygen Sensor 4
18 Oxygen Sensor 5
19 Oxygen Sensor 6
1A Oxygen Sensor 7
1B Oxygen Sensor 8
1C OBD standards this vehicle conforms to
1D Oxygen sensors present (in 4 banks)
1E Auxiliary input status
1F Run time since engine start

ここまで段取りできたので…。
実際に車両に接続して取得できる車両データを探ってみます。何のデータが対応しているのかについては探る方法があらかじめ用意されていて、ECUに対しPIDを指定して命令する際に0x00・0x20・0x40・0x60・0x80のPIDを指定してやると取得できるデータがわかるようになっています。実際に動かしてみます。


この結果から、PIDを0x00指定した時であれば「0xB6 0x3C 0xA8 0x13」の返答があり、PIDの0x01〜0x1Fまでで対応できるデータがわかります。この返答数値を2進数に変換して「0b10110110001111001010100000010011」って数列の「1」のフラグが立っている箇所の上のPIDのDescriptionの項目が対応できるデータです。
0x20であればPIDの0x21〜0x3Fといったようにフラグを確認していけば対応するデータがわかるようになっています。全てのデータを解析してみます。


結論。
N-ONEのOBD2は、0x18DAF110のECUがあり160項目のデータのうち39項目のデータが取得できるようです。
例えば目ぼしいところで言えば、「エンジン負荷」「ブースト圧」「エンジン回転数」「車速」「スロットルポジション」「電圧」「水温計」等々。

ここまでわかったのでハッキング作業は終了。
今後はこのデータを使って計器アプリを車両に負担がかからない程度に整備手帳で進めてみようかな?
ホンダ系のエンジンは全てこんな感じでOBD2のデータが取得できるのか?バイクはゴールドウィングを所有しているので試してみるのも面白いかも…。

Posted at 2024/04/27 07:14:24 | コメント(0) | トラックバック(0) | 電子回路 | クルマ
2020年05月09日 イイね!

モンキー手放しました

モンキー手放しました
この度モンキーを手放しました。今の時点でもう手元には無いです。
手放した理由としては、バイクの買い替えです。

20代はじめの時に初めて買ったバイクがモンキーでした。バッテリーが6Vから12Vに変更されてすぐの頃で、ここからバイク人生が始まりました。
1代目モンキーは自身若い頃でまだインターネットもない時代に雑誌を見ながらカスタムをして機械を弄る楽しさを教えてくれた1台でした。
免許も中型を取得して黄色ナンバーに変えたりとにかく楽しいバイクでした。

中型・大型免許を取得して中型バイクを新たに購入しても、その大きさと維持費の安さからしばらくは1代目モンキーはセカンドバイクとして所有していました。
2004年くらいにステップアップして大型バイクを購入する時に1代目モンキーは、資金繰りのためにオークションでバラ売りし全て売却しました。なぜ売らなかったのか…?フレームだけを残して…。

そこからは海外製の大型バイクを乗り継いでバイクライフを10年くらいは満喫して楽しく送っていたのですが、大型バイクで自分で弄って壊すリスクから機械を弄ることがなく退屈に感じていたのが、40歳の頃でした。

その時ふと車庫に転がっているモンキーフレームを発見してメラメラとカスタム欲が沸いてしまったこと、また歳的に小さいバイクに乗るのも弄る元気も最後かな?とも思い、一念発起しフレームからナンバーを取得しバイクを作ることにしました。

今度は逆に大型バイクを売ってモンキーの資金にしました…。
1代目のフレームからナンバーを取得して2代目モンキー を製作する過程はみんカラのブログや整備手帳で細かくアップしてきました。
alt


結局、この2代目モンキーも大きくカスタムして1代目モンキーで思い描いても資金不足からできなかったことを全てやり尽くしました。投入した金額は、ぬわわ万円を超えています。
作り始めた頃から独学での電子回路にハマって2代目モンキーではテスト車両としてモルモット状態となっていました。
alt


エンジンもベースの50cc純正をヤフオクで入手しやりたいことはやり尽くしました。
ほんとよく回るエンジンでした。
alt

故障も少なくカムチェーンテンショナーの破損の1回くらいかな??
2年に1回は全バラしてOHしていました。これが楽しかった〜。
alt


しまなみ海道などのロングツーリングにも行きました。
alt

 
たくさんの思い出を作ってきた2代目モンキーでしたが、7年くらい乗ってきて歳による体の衰えを感じてやはり小さな車体での乗車とその扱いにもうそろそろ限界を感じはじめてきました。

そしてこの度バイクの乗り換えることを決めました。
おそらく歳的に人生最後となるであろうバイクの購入のための資金として、また2代目モンキーもバラ売りします。
1代目モンキーと同じように今年の初めから少しずつバラバラにしてオークションに出しました。
alt
現在はホンダモンキー自体が125cc化になっています。
もうZ50Jは新車では手に入りません。そのレアさが良かったのか車体を作るに掛かった費用の70%以上の売却金額で売れました。

今回はフレームも売却してしまったので、再登録もできず、もう二度と3代目は作れません。
こうやって写真を並べてみると手放してちょっと寂しい感じがします。
さようなら…。モンキー…。













んで…。


人生の最後であろう選んだバイクは3月末に納車しています。
別にホンダ党でもなんでもないですが。
2020年式の出たばかりのホンダ Gold Wing Tour DCTです。
alt
ホンダの一番小さいバイクから一番大きいなバイクへの乗り換えです…w。
車体はおそらく弄りませんが、10年間は大事に乗って行こうかと考えています。
alt


一応みんカラに登録して何かやったらアップしていこうと思います。
これはこれで、この先結構楽しみです。
Posted at 2020/05/09 20:38:47 | コメント(0) | トラックバック(0) | バイク | クルマ
2018年02月11日 イイね!

OBD2の自作回路を見直してみた

OBD2の自作回路を見直してみた無線通信のプロトコルである「BLE」(Bluetooth Low Energy)を使ってiPhoneと電子回路を繋げて遊んでいます。
ここで「Koshian」ってBLE無線モジュールで遊んでいます。
このモジュールは金額が1,000円程度とお手軽なこと。小さなモジュールで回路の場所を圧迫ないこと。あとは、I/OやI2CやUART等の通信も備えており、それがiPhoneアプリから制御できるっていうのがこのモジュールの面白いところです。

去年の5月にOBD2のCAN通信の電子回路を自作しています(Ver.1)。今回この「Koshian」BLEモジュールを使って「CAN通信」の回路を作り直してみました。それに加えて、「CAN通信」の内容が回覧できるiPhoneアプリも作ってみました。
去年の10月くらいからのんびりと回路の構想やアプリのライブラリを作ってきてようやく形になってきたのでご紹介…。



回路基本構成は、「Koshian」BLEモジュール。「PIC16F1705」マイコン。「MCP2515」CANコントローラー。「MCP2551」CANトランシーバーの4つの石から構成されています。
電源は「MCP2551」は5V。それ以外は3.3Vを供給しており2つの電源が共有しています。まずはブレッドボードで電子部品の仮組みをしてテストを行っています。



iPhoneアプリからCANコントローラへのデータ経路としては…
①iPhoneアプリで「Koshian」BLEモジュールに向けて命令を出す。ここの通信はBLE4.0の規格に準拠した通信で当然無線です。データはCANコントローラのコマンドそのものを送信するようにしています。
②「Koshian」は受信したデータを「PIC16F1705」マイコンへ送信する。通信はI2C通信でデータ送信されます。
③「PIC16F1705」マイコンは受信したデータをそのまま「MCP2515」CANコントローラへ送信する。ここの通信はSPI通信です。マイコンはI2Cで受信したデータをCANコントローラで読めるSPI通信に変換して横流ししているだけの仕事です。
④「MCP2515」CANコントローラは受信データを「MCP2551」CANトランシーバを通して車両へ情報のリクエストを送ります。

ってな感じで「BLE」「I2C」「SPI」「CAN」と通信の違った規格を経て車両情報を取得しています。

本当は「Koshian」BLEモジュールはSPIにも対応しており上記の②をすっ飛ばして「Koshian」と「MCP2515」を直接SPIで制御するのがマイコン分の1つの石がなくなりスマートになると当初は目論んでいました。
どうも「Koshian」の標準にあるSPIのライブラリの動きが「MCP2515」に合わないらしく通信が途切れる現象があって直接通信を断念してます。
「Koshian」のファームウェアを更新する手もありますが、そこまでしなくても…って気になって結局マイコンでの制御に逃げています。

この制御方法は前回作ったVer.1.0の回路と比較して回路のデバッグやアプリの作り込みがかなりシンプルになります。
前回作成した回路は取得する車両情報は全て回路内のマイコン内でプログラミングされる構成で、マイコンがCAN通信を取り仕切っていました。
なので、何かバグがあると車に付いている回路内のマイコンを取ってプログラムを書き換えて修正後、テストを繰り返していました。今回の回路はマイコンはあくまでもデータの横流しのみのプログラムであり変更はありません。iPhoneアプリが全てを取り仕切っているのでデバッグも容易です。


実際にブレッドボードでテストを行い動きに問題はなかったのでとりあえずユニバーサル基板に配線して試作回路を作ってみました。


同時にiPhoneアプリを作成してみました。
「OBD2Viwer」って名前にしました。前回「Koshian」を味見した時には、ネットで公開していたObjective-C用ライブラリをブリッジを使ってSwiftで使っていました。
今回はObjective-CのコードをSwiftにコードを全て書き換えてネイティブSwiftとなるようにライブラリを作り変えています(これに時間がかかった…w)。
「MCP2515」CANコントローラ用のライブラリも作成してiPhone側のアプリで全て変更できるように作り込みを行っています。

アプリの目的は、「MCP2515」内のレジスタの読込と書換。とCAN通信のデータ確認だけのソフトなので、UITableViewを使ったいたってシンプルな画面構成としています。


所有しているAudi用の中身をハックする目的で作ったので、ISO15765に準拠した11bit標準CAN IDでMode01のみに絞ったCAN通信ができます。
同じCAN通信でも、日本ではK-Lineやホンダなんかは拡張フォーマットを使っていたりと様々なフォーマットを使っているみたい。別で所有しているスクラム(エブリー)は繋げてみると何か通信はしているけど違う結果が返ってくる(まだよくみてないけど…)。
欧州系の車にはこのアプリを使える対応車両は多いのではないかな?(試してないけど…)

お暇ならアプリの動きをどうぞ…。


このように、「CAN ID」と「PID」をリクエストするだけで車両データのレスポンスが確認できるアプリにしています。
「CAN ID」はネットワークで言うところのIPアドレスみたいなイメージで、11bit標準CAN IDではECUの数に合わせ「0x7E0〜0x7E7」までのIDが指定できます。所有のAudi TTには「0x7E0」と「0x7E1」の2つのリクエストに対してレスポンスが返ってきます。
ちなみに、レスポンスされるCAN IDはリクエストのCAN-IDに8を足した「0x7E8〜0x7EF」が返ってきます。
「PID」はMode01ではデータにあらかじめIDが振り分けられており動画では、「エンジン回転数」は0x0C。「コントロール電圧」は0x42。「水温計」は0x05のデータを取得しています。
PIDには各々換算式がありそのレスポンスデータによって車両情報が換算できます。


巷では「ELM327」なる同様なモジュールが安価に売っていることは知っています。中国のネット通信で買えば5ドルとか…。こっちをハックした方が早いんじゃない?って突っ込まれそうですね。実際に今回のようにコントローラやマイコンやBLEモジュールを買うだけで1,500円はかかります…。
「でも!自作に意味あり!」って私は信じてます。

何はともあれ、この回路とiPhoneアプリのライブラリでこれからは簡単にOBD2メータが作れるようになると思います。まずは「Koshian」モジュールが使用に耐えられる性能を発揮するかを確認して暇があればメーターアプリを作ってみようと思います。

暇あるかな〜w やるかな〜w
Posted at 2018/02/11 18:07:16 | コメント(0) | トラックバック(0) | 電子回路 | 日記
2017年09月24日 イイね!

BLEモジュールで遊んでみた

BLEモジュールで遊んでみたクルマの情報を取るためにiPhoneアプリを色々作ってきました。
こんなとここんなとことかこんなところでも…。

これらのアプリは、クルマの情報をマイコンで受けて、計算させて、BLE(Bluetooth規格)の無線で飛ばしてiPhoneに送って画面表示するような仕様になっています。

iPhoneと無線するにはBLE(Bluetooth Low Energy)に準拠したモジュールが必要となります。
世間では数種類個人でも買えるモジュールが存在しますが、5,000円近くするものも多く気軽に買えるものではありません。

今回Webで、Mpressionの「Koshian」(こしあん?)ってモジュールを見つけました。1,000円くらいの値段的にはお手頃なモジュールです。

この「Koshian」BLEモジュールは、ユカイ工学の「konashi」(こなし?)という小型化拡張ボード互換用のモジュールですので「Koshian on konashi base」で使用するのが通例のようです。

でも、koshianの内容を見ていたらなんとなくこれだけで繋がりそうなので1個買ってみました。
今回の目的は「KoshianだけでiPhoneと無線通信をする。」です…。

「Koshian」は、3.3V電源で駆動し、通信は「UART」「I2C」「SPI」が利用でき、「PIO0〜5」の6つのデジタルI/Oと「AIO0〜2」の3つのアナログポートを持っている。デジタルピンでPWMもできるみたいなので、任意のセンサーをくっつけてこのモジュールだけで色々制御ができそうです。

ただし、今回はKoshian単体で動かそうとしているのでちょっと工夫が必要。
Koshianについている端子は、ブレッドボードで使われている一般的な2.54mmピッチ
ではなく1.27mmピッチ幅となっています。


ブレッドボードでテストしようとすると、1つ飛ばしで端子をくっつけなければなんない…。しかも、1.27mmピッチのハンダ作業…。

んで…できた完成品が1枚目の写真…。
1つ飛びなので使用できる端子が限られます、使える端子から見ると外部との通信は「I2C」のみで、使える「I/O」は3つという仕様です。

で…。「I2C」が使えるようなので試しにPICマイコンとつなげてみます。
作った回路が下図。


今回の回路仕様…
①PICマイコンとKoshianはI2C通信。
②PICマイコン内で1秒刻みのタイマーを作る。
③PICマイコンのI/Oには1つの緑LEDをつけて信号で光るようにする。
④KoshianとiPhoneはBLE無線通信。
⑤iPhoneとKoshianが接続中は赤LEDを点灯させる。

回路仕様①の「I2C」接続については何回か作ったことがあるのでそんなに難しくないですが…。いままで作ってきたこととの相違点がいくつか…。

まずは、「I2C」通信は機器間で「マスター」と「スレーブ」がはっきり区切られています。マスターが通信の主導権を持っておりマスターが欲しい情報をスレーブに送信し、受信したスレーブがその情報を送信する形となります。
今回の回路においてはkoshianモジュールが「マスター」限定。PICマイコンPIC16F1705が「スレーブ」となります。マイコンがスレーブの振る舞いをするプログラムを作ればいいわけで、スレーブプログラムは初めてだけど、ここはマイコンのデータシートとにらめっこして理解済み。

あとは、Koshianの電源は3.3V。PICマイコンの電源は5.0VなのでI2Cを通信するには電圧のレベルシフトが必要になってきます。I2C通信を提唱しているPhilipsの仕様書ではFETを使ってレベルシフトをしていますが、今回はトランジスタを使ってレベルシフトをしています。普通に通信できているので良いのでしょう…w。回路中の2つのトランジスタがそれです。

回路仕様②〜③についてはマイコン内の「Timer0」と「Port」でちまちまプログラムをイジって作ってます。

回路仕様④については、要はiPhoneのアプリ作りになります。Mac上でXcodeでのコーディングとなります。
ユカイ工学の「konashi」小型化拡張ボード制御するために専用のSDKがネット上で公開されています。「Koshian」にもそのまま使用でき、これが秀作でとても使いやすい。I/OポートのON-OFFであったり、アナログポート通信の処理など全ての処理がSDKで公開されています。これを使えばXcode上で回路の制御プログラムができてしまします。

ただし、このSDKはレガシー言語である「Objective-C」で書かれています。現在のiPhoneアプリ作りの主流は「Swift」。Objective-Cで記述してもいいけどSwiftのほうがもう慣れちゃったんでなんとかSwiftで書いてみます。Objective-C言語とSwift言語の間をプログラムブリッジを使って混在させてSwiftメインで書く技法で作ってみました。

回路仕様⑤については、赤LEDをKoshianのI/Oモジュールにつけて、BLEの接続が成立したら点くようにアプリ側でコーディングしています。


できたアプリはテスト用のほんと、素っ気ない簡単なアプリです。
よかったら動きをみてください。


なんとか動いてるみたいです。今回のプログラムはクルマに使うことを想定してプログラムを作ってみました。いつでもクルマ用の回路に転用可能です。

このモジュールのSDKはiPhoneアプリで回路を制御できます。今まで作ってきた回路はマイコンをプログラムのメインとして通信をしていましたが、マイコンの狭いメモリ範囲でアセンブラやC言語でちまちま打つよりiPhoneの広大なメモリ内でSwiftでプログラムした方が圧倒的にできることの幅が広がります。

あとはこのモジュールが使用範囲で使えるモジュールかを確認するために、何かネタを探してまた何か作ってみます…。
Posted at 2017/09/24 20:37:00 | コメント(0) | トラックバック(0) | 電子回路 | 日記

プロフィール

「マツダミュージアムへ行ってきた。 http://cvw.jp/b/1540421/48805103/
何シテル?   12/07 05:03
satto.v11です。 機械を弄るのが大好きですw クルマ・バイク・パソコン多趣味な人間です。
みんカラ新規会員登録

ユーザー内検索

<< 2025/12 >>

 123 456
78910111213
14151617181920
21222324252627
28293031   

リンク・クリップ

1年後の反省:新型ロードスター電装改造 
カテゴリ:その他(カテゴリ未設定)
2025/11/10 08:20:01

愛車一覧

マツダ ロードスターRF マツダ ロードスターRF
学生の頃に新車で購入したNAロードスター以来、久々のマツダの新車です。あの頃とイメージが ...
ホンダ N-ONE ホンダ N-ONE
N-ONE RSに乗り換えました。 通勤用として久しぶりの新車購入。 "通勤中も楽しく" ...
ホンダ ゴールドウイング (GL1800) GL1800 (ホンダ ゴールドウイング (GL1800))
ホンダ Gold Wing Tour DCTに乗っています。 水平対向6気筒1800c ...
ホンダ モンキー ホンダ モンキー
モンキーを作りました。 10年前に所有していたモンキーフレームの残骸からナンバーを取得 ...

過去のブログ

2025年
01月02月03月04月05月06月
07月08月09月10月11月12月
2024年
01月02月03月04月05月06月
07月08月09月10月11月12月
2020年
01月02月03月04月05月06月
07月08月09月10月11月12月
2018年
01月02月03月04月05月06月
07月08月09月10月11月12月
2017年
01月02月03月04月05月06月
07月08月09月10月11月12月
2016年
01月02月03月04月05月06月
07月08月09月10月11月12月
2015年
01月02月03月04月05月06月
07月08月09月10月11月12月
2014年
01月02月03月04月05月06月
07月08月09月10月11月12月
2013年
01月02月03月04月05月06月
07月08月09月10月11月12月
2012年
01月02月03月04月05月06月
07月08月09月10月11月12月
ヘルプ利用規約サイトマップ
© LY Corporation