どうも、なかしーです。
僕は自動車の組み込みエンジニアとして働きながら、YouTubeでArduinoの使い方を解説する動画を投稿しています。
Arduino UNOと電子部品をどう繋げばいいの?
という悩みを解決します。
Arduino UNOには、回路や部品を繋げるための穴がたくさんあります。
参考書やネットに書いてある通りに繋ぐことはできるけど、自分で回路を作って繋げるのは難しいという方もいると思います。
Arduino UNOのピン配置と役割を理解すれば、自分で回路や電子部品を繋げられるようになりますよ!
ピン配置と役割を理解しないと、
プログラムを組んだのに動かない(T T)
となりかねません。
今回は「Arduino UNOのピン配置と役割」について解説します!
ちなみに、Arduino UNOを持っていない人はいろんな部品がセットになっている入門キットがおすすめです。
【Arduino入門キット】電子工作の勉強におすすめ【こんなに安くていいの?】動画でも解説しています!
Arduino UNOのピン配置
電子工作でよく「ピン配置」というキーワードが出てきます。
Arduino UNOのピン配置は下の表をご覧ください。
ピン名 | 役割 |
IOREF | IOピンの電圧を出力するピン |
RESET | リセットピン |
3.3V | 電圧3.3Vを出力するピン |
5V | 電圧5Vを出力するピン |
GND | 回路の基準電位を繋ぐピン |
Vin | 外部電源の電圧を出力するピン |
アナログ入力0~5 | アナログ入力(A/D変換)ポート用のピン |
デジタル0 | デジタル入出力とUART通信のRXピン |
デジタル1 | デジタル入出力とUART通信のTXピン |
デジタル2,4,7,8,12,13 | デジタル入出力ピン |
デジタル3,5,6,9,10,11 | デジタル入出力ピン(PWM出力可) |
AREF | A/D変換の基準電圧を接続するピン |
SDA | I2C通信のデータの送受信ピン |
SCL | I2C通信のクロック用のピン |
※同じ役割のピンは省略しています。
Arduino UNOのピンの役割と使い方
Arduino UNOにはたくさんピンが付いていますが、よく使うピンは決まっています。
- デジタルピン(0~13)
- アナログ入力ピン(A0~A5)
- I2C通信用のピン(SCL/SDA)
- UART通信用のピン(TX/RX)
まずはこれらの役割と使い方を理解しましょう。
デジタルピン(0~13)
デジタルピンはプログラムによって役割が変わります。
役割 | 機能 | 対応しているピン |
デジタル入力 | ピンの電圧をHiかLoで認識する | 0~13 |
デジタル出力 | ピンに0Vか5Vの電圧を出力する | 0~13 |
PWM出力 | パルス波形を出力する | 3,5,6,9,10,11 |
PWM出力はモーターの回転数制御やサーボモータの制御に使われ、ピン番号の横に波線(~)が付いています。
アナログピン(A0~A5)
Arduino UNOなどのマイコンはHiかLoしか認識ができませんが、A/D変換機能を使うことでアナログ電圧をデジタル信号に変換して認識することができます。
センサで取り得る値をアナログ電圧で出力する場合は、アナログピンに接続してA/D変換を行います。
例えば、
センサの電圧が2.5Vだった場合、A/D変換を行うとArduino UNOは512として認識します。
A/D変換した512というデータをプログラムで計算させることで電圧やセンサの取り得る値に変換することができます。
ArduinoでA/D変換する方法については「ArduinoでA/D変換する方法」をご覧ください。
ArduinoでA/D変換する方法【電子工作の入門講座】I2C通信用のピン(SCL/SDA)
センサや他のマイコンとデータの送受信をするときに使うのがI2C通信です。
I2C通信はクロックでArduino UNOと通信先のタイミングを同期させてからデータを送受信します。
クロックを送るためのピンがSCLで、データの送受信をSDAで行います。
ちなみに、PICマイコンやラズペリーパイにも同じ機能があります。
UART通信用のピン(TX/RX)
I2C通信と同じように他のICと通信を行うことができるのがUART通信です。
Arduino IDEでシリアルモニタで文字列や数値を確認したり、シリアルプロッタで送信した値をグラフ化するときにUART通信を使います。
TXを送信用のピンとしてRXを受信用のピンとして使い、TXとRXが相手先と交差するようにつなぎます。
デジタルピンで注意書きした通りで、回路を繋いでいるとプログラムを書きこめなくなる可能性があります。
もしも、RXピンとTXピンをUART通信で使っていて、プログラムを書きこめないことがあります。
その場合は、回路をArduino UNOから取り外すと解消することもあります。
Arduino UNOの入出力できる電流値
電子部品はある一定値以上の電流を流すと壊れるかもしれない最大許容電流という値があります。
「かもしれない」という理由は、電子部品には個体差があって必ずその条件に合致するわけではないからです。
最大許容電流はデータシートに書いてあり、Arduino UNOはATmega328というマイコンの規格に準じています。
Arduino UNOの場合は、ひとつのI/Oピンから40mA以上流すと壊れる可能性があります、
実際に使える電流値はひとつのI/Oピンあたり20mAほどで、I/Oピンの合計電流は100mAとなっています。
抵抗の選定方法にもよりますが、LEDを4つ以上使う時に超えることがあるので注意してください。
データシートで最大規格を調べたい時は「電気的特性」を確認してみてください。
英語で書かれているデータシートの場合は「ELECTRICAL~」となっていると思います。
Arduino UNOのピン配置と役割|まとめ
この記事では「Arduino UNOのピン配置と役割」について解説しました。
Arduino UNOでは次の4つのピンに回路を接続して、プログラミングをします。
- デジタルピン(0~13)
- アナログ入力ピン(A0~A5)
- I2C通信用のピン(SCL/SDA)
- UART通信用のピン(TX/RX)
説明していないピンを使うことは滅多にありません。
電子回路を設計して、プログラミングを行えるようになりたいならArduinoの基本を理解するのがおすすめです。
Arduinoの基本を理解したい方は「Arduinoをゼロから勉強する方法【参考書は不要】」を読むか、僕がArduinoについて解説している動画を参考にしてみてください。
当ブログで人気のArduino入門キット