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.
sumber
Saya tidak dapat berkomentar karena reputasi yang tidak memadai tetapi saya ingin menunjukkan bahwa pinout OP memiliki setidaknya satu pin salah!
PB6 haruslah PB5
Saya menghabiskan cukup banyak waktu untuk mencari tahu mengapa saya tidak bisa melihat SCK pada lingkup (bus SPI). Saya bekerja tingkat rendah, bukan dengan IDE.
Karena ini adalah gambar pertama yang muncul ketika googling saya ingin menghindari masalah yang sama kepada orang lain ...
sumber
Pertama, angka 380 benar untuk 20 pin (20 2 - 20) namun pin 0 dan 1 terhubung ke pull-up resistor pada Atmega16U2, sehingga mereka tidak pernah benar-benar pada 0V. Jika Anda memuat sketsa kosong, Anda akan mengukur 5 V pada pin 0 dan 1.
Kedua, Anda tidak bisa mengendarai 380 "apa pun" Anda bisa mengendarai 380 LED melalui Charlieplexing. Properti LED, yang saat ini hanya mengalir satu jalan melaluinya, penting untuk cara kerjanya.
Pertanyaan terkait Apakah ada cara untuk memiliki lebih dari 14 pin Output pada arduino?
sumber