Zwiększ liczbę pinów cyfrowych
Istnieje wiele postów, które wyjaśniają, jak używać więcej niż standardowych pinów na różnych arduinos, ale żaden z nich nie wyjaśnia poprawnie ograniczeń i problemów.
Arduino Uno:
1.Możesz użyć pinów analogowych
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.Nie można używać zarówno SDA, SCL, jak i A4, A5, ponieważ są one zasadniczo takie same (18,19).
3. Możesz także użyć TX / RX.
„Nie rób tego, zrywasz komunikację szeregową ...”
„Nigdy nie używaj pinów 0 i 1”
„nie można użyć pinów TX / Rx”
Możesz ... ale musisz podjąć środki ostrożności. Które?
Powinien mieć oprogramowanie szeregowe przez USB, prawda?
Czy mogę zepsuć port szeregowy USB?
Czy występują problemy z wewnętrznym układem, jeśli używam TX / RX?
Kiedy korzystam z tych pinów TX / RX w kodzie, których prawdopodobnie nie powinienem używać Serial.print()
?
Co się stanie, jeśli zapomnę usunąć Serial.print()
po przesłaniu kodu używającego pinów 0,1?
Jak zresetować sprzęt arduino / bootloader, jeśli coś pójdzie nie tak?
Ponieważ istnieją różne inne Arduino, które używają różnych żetonów, czy powyższe dotyczy wszystkich żetonów Atmel?
Więc jaki shuold wiem przed użyciem tych TX / RX, a może także innych pinów analogowych?
Istnieją tanie rejestry zmiany biegów, sterowniki PWM, sterowniki LED, SPI, i2C i więcej IC, aby rozszerzyć swoje I / O
Ale jeśli nie ma dużych problemów, oznacza to, że arduino ma 20 pinów I / O ...
Możesz teoretycznie kontrolować:
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
Popraw mnie, jeśli się mylę. Oznacza to, że możesz kontrolować 380 „Czegokolwiek” za pomocą diod i jednego arduino.