デジタルピンの数を増やす
さまざまなarduinoの標準的なピン以外の使用方法を説明する投稿がたくさんありますが、制限や問題を適切に説明するものはありません。
Arduino Uno:
1.アナログピンを使用できます
Pin 14 = Analog in 0
Pin 15 = Analog in 1
Pin 16 = Analog in 2
Pin 17 = Analog in 3
Pin 18 = Analog in 4
Pin 19 = Analog in 5
digitalWrite(14,HIGH);
or
digitalWrite(A0,HIGH);
2. SDA、SCLとA4、A5は基本的に同じであるため、両方を使用することはできません(18、19)。
3.TX / RXも使用できます。
「それをしないでください、あなたはシリアル通信を壊します...」
「ピン0と1を使用しないでください」
「TX / Rxピンは使用できません」
できます...しかし、予防策を講じる必要があります。どれ?
USB経由のソフトウェアシリアルが必要ですよね?
または、USBシリアルを壊しますか?
TX / RXを使用する場合、内部チップの問題はありますか?
これらのTX / RXピンをコードで使用しているので、おそらく使用すべきではありませんSerial.print()
か?
Serial.print()
ピン0、1を使用するコードをアップロードした後、削除を忘れた場合はどうなりますか?
何か問題が発生した場合にarduino /ブートローダーをハードウェアでリセットする方法は?
異なるチップを使用する他のさまざまなArduinoがあるので、上記はすべてのAtmelチップに有効ですか?
では、これらのTX / RXまたは他のアナログピンを使用する前に知っていることは何ですか?
安価なシフトレジスター、pwmドライバー、ledドライバー、spi、i2cなどのI / Oを拡張するためのICがあります。
しかし、大きな問題がなければ、arduinoに20個のI / Oピンがあることを意味します...
理論的には以下を制御できます。
17x3 = 51 = 17 RGB leds (multiplexing, pwm sourcing&sinking);
14x6 = 84 leds (multiplexing, pwm on 6 rows/colums );
10x10 = 100 leds (multiplexing, high low);
20x(20-1) = 380 leds (charlieplexing, high low);
// yes it would flicker
私が間違っている場合は修正してください。つまり、ダイオードと1つのArduinoを使用して380の「何でも」を制御できるということです。