2017-02-03 7 views
2

arduino UNOでi2c通信バスを作成しようとしています。arduino unoのi2cでどのピンを取るべきですか

i2cにはSDAピンとSDLピンが必要です。私はarduino UNOにSDAとSDLが2回あることを見ています。

USBコネクタの最初の2つのピン側は、ドキュメントに従ってSDA/SCLです。

とマニュアルはA4とA5端子は、SDA/SCLことができると言う

だから、私は私が使用できるピン理解していません。

enter image description here

おかげ

完全な図で
+0

グラフィックに示すSDA/SCLピンが(誤って)交換されることに留意されたいです。トムの答えの図と私の答えの回路図から分かるように、SDAはSCLではなくAREFに隣接しています。 –

答えて

4

ルック: enter image description here http://pighixxx.com/unov3pdf.pdf

SDAとSCLピンは、PC4及びPC5、マイクロコントローラのピン(ピン番号4、ポートCの5)であります。ピンA4およびA5もPC4およびPC5である。つまり、それらは一緒に接続されています。

これらのいずれかを使用することができます。問題ではありません。

+0

なぜ接続されていますか? – Bob5421

+0

たとえば、ピン27-28のSDA/SCLを同時に使用すると、アナログIN A4/A5で作業できますか? – Bob5421

+0

私は彼らがなぜつながっているのか分かりません。 Arduino Shieldsのデザインを簡単にするかもしれない。アナログINとSDA/ADLを同時に使用することはできません。マイクロコントローラ(MCU)には、多くの周辺機能と機能(ADC、DAC、I2C、SPI、UART、USB、タイマなど)が搭載されているという考え方です。パッケージにはピンよりもはるかに多くのピンがあります。したがって、いくつかの機能が各ピンにマッピングされます。ピンを初期化するときに関数を選択します。 Arduinoのコードはそれをすべてカプセル化しているので、見るのは難しいです。しかし、基本的に使用する機能(ADC/I2C)を変更したい場合は、ピンを再初期化する必要があります。 – Tom

1

以前のバージョンのUnoには、別々のSDA/SCLピンがありませんでした。その後、他のボード(Leonardoなど)を作り始めたときに、Leonardo SDA/SCLピンがA4/A5(D2/D3)でないという問題がありました。

I2Cを使用したシールドを簡単に作成できるように、製造元はSDA/SCLピンを既知の場所に追加しました。両方のボードでは、それらのボードの正しいピンに接続されています。

Mega2560ボードの後のバージョンでも同様のことが言えます。

SDA/SCLとマークされたピン、またはボードの適切なピンを使用できます。彼らは一緒に接続されているので、あなたが選んだものは関係ありません。


2組のピンが同じピン "内部"に接続されていることを示すUnoの部分回路図です。

SDA and SCL on the Uno

関連する問題