Tambah jumlah pin digital
Ada banyak posting yang menjelaskan cara menggunakan lebih dari sekedar pin standar pada berbagai arduinos tetapi tidak satupun dari mereka yang menjelaskan batasan dan proplem dengan benar.
Arduino Uno:
1. Anda dapat menggunakan pin analog
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. Anda tidak dapat menggunakan SDA, SCL & A4, A5 karena keduanya pada dasarnya sama (18,19).
3. Anda juga dapat menggunakan TX / RX.
"Jangan lakukan itu, kamu hancurkan komunikasi serial ..."
"Jangan pernah gunakan pin 0 dan 1"
"Anda tidak dapat menggunakan Pin TX / Rx"
Anda bisa ... tetapi Anda harus mengambil tindakan pencegahan. Yang mana
Seharusnya memiliki perangkat lunak serial melalui USB, kan?
Atau apakah saya merusak serial USB?
Apakah ada masalah Chip internal jika saya menggunakan TX / RX?
Ketika saya menggunakan pin TX / RX dalam kode saya mungkin tidak boleh menggunakan Serial.print()
?
Apa yang terjadi jika saya lupa menghapus Serial.print()
setelah mengunggah kode yang menggunakan pin 0,1?
Bagaimana cara me-reset arduino / bootloader jika terjadi kesalahan?
Karena ada berbagai Arduino lain yang menggunakan chip yang berbeda, apakah hal di atas berlaku untuk semua chip Atmel?
Jadi, apa yang saya tahu sebelum menggunakan TX / RX atau mungkin juga pin analog lainnya?
Ada shiftregisters murah, driver PWM, driver yang dipimpin, SPI, i2c dan lebih banyak ic untuk memperluas I / O Anda
Tetapi jika tidak ada masalah besar itu berarti arduino memiliki 20 I / O pin ...
Secara teoritis Anda dapat mengontrol:
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
Koreksi saya jika saya salah. Itu berarti Anda dapat mengontrol 380 "Apapun" menggunakan dioda dan satu Arduino.