Udało mi się ukończyć sprzętowy „witaj świecie”, korzystając z tego przewodnika:
http://www.raspberrypi-spy.co.uk/2012/06/control-led-using-gpio-output-pin/
Teraz chciałbym przejść do większych i jaśniejszych rzeczy, czyli bardziej indywidualnie kontrolowanych diod LED! Oczywiście następnym krokiem jest odsunięcie źródła napięcia od Raspberry Pi i dodanie większej ilości diod LED, ale w końcu skończą mi się piny GPIO, więc chyba potrzebuję teraz kontrolować obwód, który w jakiś sposób będzie wiedział , na podstawie „zakodowanych sygnałów” GPIO, jakie diody LED należy włączać i wyłączać. Jakich przykładów obwodów powinienem szukać? A co ważniejsze w stosunku do Raspberry Pi, czy może on lub rpi.gpio powodować jakiekolwiek problemy, być może dotyczące synchronizacji sygnału?
Odpowiedzi:
W tym przypadku szukasz matrycy LED . Możesz kontrolować tę matrycę za pomocą pinów GPIO, ale nadal ogranicza to liczbę diod LED, które możesz podłączyć (rozmiar matrycy), a może również zacząć pobierać zbyt dużo prądu, jeśli nie będziesz ostrożny.
Lepszą opcją jest podłączenie matrycy LED do szyny I2C przy użyciu jednego lub wielu przedłużaczy I2C I2C. W ten sposób możesz stworzyć matrycę o ogromnych rozmiarach (na przykład 64 diody LED można wykonać z JEDNYM 16-bitowym przedłużaczem I / O). Innym powodem korzystania z tych wzmacniaczy wejścia / wyjścia jest to, że są one trochę bardziej niezawodne, mogą zapewnić nieco więcej prądu i nie narażać głównego procesora na niebezpieczeństwo.
Na tej stronie omawiane są wielokrotnie ekstendery we / wy, więc informacje na ich temat powinny być dość łatwe. Ten link zawiera informacje o tych przedłużaczach i matrycy (chociaż jest używany do wprowadzania danych, ale w zasadzie jest to ten sam pomysł, ale nie używasz matrycy do skanowania, ale do sterowania diodami LED)
Jedynym dodatkowym wymogiem do stworzenia sprawnie działającej matrycy jest to, że musisz uczynić matrycę nie większą, niż RPi jest w stanie aktualizować każdą pojedynczą diodę LED co najmniej 20 razy na sekundę, w przeciwnym razie zaczniesz widzieć migotanie, ale jest to również wyjaśnione w pierwszym łączu (akapit „Multipleksowanie i trwałość widzenia”).
źródło
Użyłem MCP23017 portu ekspandera I²C robić tego typu rzeczy. Kliknij ten link, aby znaleźć przykładowy kod dla Raspberry Pi. Możesz napędzać 16 diod LED na chip i 8 chipów bez konieczności multipleksowania.
źródło