ESP32とPICをI2Cで繋いでみる(その1)セットアップ

今日はワイヤレスじゃなくて、ワイヤー接続の通信をしてみたいと思います。💪

シリアル通信といえばUART、SPI、I2Cとあるんですが、今回はI2Cにしてみました。通信のハードルとしてはUARTやSPIの方が簡単なんだけど、M5StackのコネクタがGROVE(I2C)なので、ここにESP32の子分としてPICを接続しようということです。

I2CのI/F基板って買うとかなり高価なんだけど、PICで作ってしまえば数百円で作れます。今回使った12F1840は何と110円でした。

PICへのプログラムの書き込み機PICkItは正規品は5000円程度しますが😅

amazonなので非正規品が安く売っているので、それでも書き込めます。

ちなみに自分はPICkit3を使っています。

開発用ツールは下記からダウンロードします。PICkitは統合環境とコンパイラーは別々になっているので、2つダウンロードしてインストールします。

何年かに一度、PICを扱うんだけど、arduinoに比べると手間がかかりますね〜💦

MPLABでプログラムを作る際の設定のポイントですが、以下の2点を抑えておくと良いでしょう!

まず、一つ目はプロジェクトを作成するときにはEncoodingをShift JISにします。

これをやらないと、日本語でコメントを書いても再度開いたときに全て文字化けしちゃいます。

画像1


2つ目はPICkitをROMライター代わりに使うにPICkitから電源供給をする必要があります。

その際の設定です。

1、プロジェクト名を右クリック

スクリーンショット 2020-12-16 21.45.59

2、Popertiesを選択

スクリーンショット 2020-12-16 21.45.40

3、pickitを選択

スクリーンショット 2020-12-16 21.46.37

4、powerを選択

スクリーンショット 2020-12-16 21.46.58

5、電圧を設定5Vにはならないので4.75Vにします。

スクリーンショット 2020-12-16 21.47.14

このパワー設定をやらないと動かないのに、深いんですよね💦


書き込み回路図です。回路はPIC12F683になってますが、PICの8ピンタイプは全て同じピンアサインです。MCLRに10kΩが入ってますが、なくても大丈夫です。

画像7

自分は書き込み回路の空きポートにLEDを付けることにしてます。

LEDが一つあればある程度の動作確認ができるので、pickitを付けたまま動作確認ができますね。💯

今日はこのくらいで。次回はPICでI2Cのプログラムを書いてみたいと思います。

arduinoみたいにwire.begin()って訳にはいかないようですよ。💪

では🤚





この記事が気に入ったらサポートをしてみませんか?