Aumentar el número de pines digitales.
Hay muchas publicaciones que explican cómo usar más que solo los pines estándar en los diversos arduinos, pero ninguno explica las limitaciones y los problemas correctamente.
Arduino Uno:
1.Puedes usar los pines analógicos
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.No puede usar SDA, SCL y A4, A5, ya que son básicamente lo mismo (18,19).
3.También puedes usar el TX / RX.
"No lo hagas, rompes la comunicación serial ..."
"Nunca use los pines 0 y 1"
"no puedes usar los pines TX / Rx"
Puedes ... pero debes tomar precauciones. ¿Cuáles?
Debería tener software serial sobre USB, ¿verdad?
¿O rompo la serie USB?
¿Hay problemas internos de chip si uso TX / RX?
¿Como uso esos pines TX / RX en el código que probablemente no debería usar Serial.print()
?
¿Qué sucede si olvido eliminar Serial.print()
después de cargar el código que usa los pines 0,1?
¿Cómo reiniciar el hardware del arduino / bootloader si algo sale mal?
Como hay varios otros Arduino's que usan chips diferentes, ¿es válido lo anterior para todos los chips Atmel?
Entonces, ¿qué debo saber antes de usar esos TX / RX o quizás también los otros pines analógicos?
Hay shiftregisters baratos, controladores pwm, controladores led, spi, i2c y más ic para expandir su E / S
Pero si no hay grandes problemas, significa que el arduino tiene 20 pines de E / S ...
Teóricamente podrías controlar:
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
Corrígeme si estoy equivocado. Eso significa que puedes controlar 380 "Lo que sea" usando diodos y un arduino.
fuente
No puedo comentar debido a la reputación insuficiente, pero quiero señalar que el pinout OP tiene al menos un pin incorrecto.
PB6 debe ser PB5
Pasé mucho tiempo tratando de entender por qué no podía ver SCK en el alcance (bus SPI). Estaba trabajando bajo nivel, no con el IDE.
Como esta es la primera imagen que aparece cuando busco en Google, quería evitar el mismo problema a los demás ...
fuente
Primero, la cifra de 380 es correcta para 20 pines (20 2 - 20), sin embargo, los pines 0 y 1 están conectados a resistencias pull-up en el Atmega16U2, por lo que nunca están realmente a 0V. Si carga un boceto en blanco, medirá 5 V en los pines 0 y 1.
En segundo lugar, no puede manejar 380 "lo que sea", puede manejar 380 LED a través de Charlieplexing. La propiedad del LED, que la corriente solo fluye en una dirección, es importante para la forma en que funciona.
Pregunta relacionada ¿Hay alguna manera de tener más de 14 pines de salida en arduino?
fuente