Falls mal die Pins an der Benutzerschnittstelle (J5) ausgehen, können LEDs und Servos auch über eine I2C-Verbindung zu einem PCA9685 angeschlossen werden. Dieser IC hat 16 Ausgänge, die mit PWM angesteuert werden können. Das ermöglicht 16 zusätzliche Melder oder Servos an zwei Pins der Benutzerschnittstelle anzuschließen. Primitivere Alternativen: serielle Übertragung von Eingängen oder serielle Übertragung von Ausgängen.
Es gibt fertige Platinen mit dem PCA9685, z.B. von Adafruit oder diverse billigere Immitate, zu erkennen an den Schreibfehlern auf der Rückseite. Links von der gestrichelten Linie ist gezeigt, wie man das anschließt. Alternativ kann man das IC wie rechts von der gestrichelten Linie mit einer eigenen Platine anschließen.
Folgende vier Leitungen der Benutzerschnittstelle werden verwendet. Das ist nur ein Beispiel. Jede Blocksoftware könnte das umdefinieren, wie es passt, sollte es aber lieber so übernehmen, dann passt die Testhardware:
Prozessor der Blockplatine Blockplatine PCA9685 in UI-Platine Beschreibung Pin Port J5 Name Pin VCC 10,20 VCC 16 +5V der Spannungsversorgung GND 9,19 GND 8 Masse der Spannungsversorgung 33 PA6 7 SDA 27 Serielle Daten vom (oder auch zum) Prozessor 32 PA7 8 SCL 26 Takt vom Prozessor schiebt die Daten ein Bit weiter
Der Treiber, der den Chip ansteuert, ist im Subversion abgelegt: PCA9685.c, IicBitBang.c. Da der verwendete Prozessor selber keine IIC-Schnittstelle hat, erfolgt die Ansteuerung in Software.
Dies ist natürlich bei jeder bauartspezifischen Blocksoftware anders.
- Mode=LED bedeutet, der Pin wird dauerhaft nach Masse geschaltet, um einen Melder an 5V einzuschalten, oder dauerhaft ausgeschaltet.
- Mode=Servo bedeutet, dass alle 50ms ein Puls von 0,5ms oder 1,5ms ausgegeben wird, um den angeschlossenen Servo in eine Endlage zu fahren.
Changes on 2024-04: Pink
PCA9685 pin Felderblock eingleisig Felderblock zweigleisig Name Nummer Name Mode Name Mode LED0 6 Anfangsfeld rot LED Anfangsfeld rot LED LED1 7 Anfangsfeld weiß LED Anfangsfeld weiß LED LED2 8 Endfeld rot LED Endfeld rot LED LED3 9 Endfeld weiß LED Endfeld weiß LED LED4 10 Blaue TSP weiß LED Blaue TSP weiß LED LED5 11 Blaue TSP blau LED Blaue TSP blau LED LED6 12 Erlaubnisfeld rot LED ÜStör IN LED LED7 13 Erlaubnisfeld weiß LED ÜStör OUT LED LED8 15 ÜStör LED Richtung okay LED LED9 16 Stör LED Stör LED LED10 17 LED LED LED11 18 Erlaubnisfeld Servo LED12 19 Anfangsfeld Servo Anfangsfeld Servo LED13 20 Blaue Tastensperre Servo Blaue Tastensperre Servo LED14 21 Endfeld Servo Endfeld Servo LED15 22 Streckentastensperre Servo Streckentastensperre Servo
Autor: Stefan Bormann. | Site hosted by: |