Ich habe ein Board, das den Adafruit-Breakout des IS31FL3731 verwendet, um 81 beleuchtete Schalter zu steuern. Ich habe einen Code, der auf einem Arduino läuft, der alle Lichter einschalten sollte, aber nur etwa die Hälfte der Lichter einschalten - eine scheinbar zufällige Hälfte.
Ich habe drei IS31FL3731-Chips und sie schalten jeweils unterschiedliche Lichter ein, also denke ich, dass die Chips oder wie ich sie verwende, das Problem sind.
Es gibt so viele verschiedene Stellen, an denen etwas schief gehen könnte (Platinenlayout, Löten, Code, fehlerhafte Chips, zu wenig Verstärker usw.), aber ich hoffe, dass jemand mit einem solchen Problem vertraut ist. Wenn ja, könnte mir das eine Menge Fehlersuche ersparen.
Es ist auch erwähnenswert, dass, wenn die Platine die Schieberegister an Ort und Stelle hat, es eine Art Kurzschluss zu geben scheint - der Strom stieg auf etwa 1,3 A, bevor das steuernde Arduino abschaltete.
Mein Teil des Codes und Bilder unten.
void loop() {
int numLEDS = 81;
for(int i = 0; i< numLEDS; i++){
LED_PWM(i, 255);
Serial.write(i);
delay(20);
}
}
Markus Müller
Spannungsspitze
Bobflux
Benutzer4913118
Tony Stewart EE75