Der normale Raspberry PI bringt ein 40 poliges General Purpose Input Interface (GPIO) mit und man sollte meinen, damit genügend programmierbare PINs zu haben, um auch große Systeme steuern zu können.
Es besteht aber die reele Gefahr, dass man den Raspberry überlastet, da die Ampereleistung nicht übermäßig groß ist.
Deshalb ist es besser, einen externen I/O-Chip zu verwenden. Ich verwende hierzu ein MCP23017-E/SP. Dieser Chip stellt 16 frei konfigurierbare I/O-PINs zur Verfügung. Der Raspberry kommuniziert über zwei Drähte mit diesem Chip. Durch drei Adressleitung bekommt der Chip eine feste Adresse und so könnten sieben solcher Chip in Serie geschaltet werden, so dass sich die Anzahl der ansteuerbaren PINs auf 112 steigert.
Ich kam mit meiner kleinen Anlage, bei der 10 Weichen und 4 Entkupplungsgleise angesteuert werden, sogar mit nur einem MCP23017-E/SP aus.
Die Ansteuerung von Weichen muss mit ca. 14 - 16 V Spannung erfolgen. Einen solche hoher Spannung kann nicht direkt geregelt werden, sondern man braucht zweites Zwischenteil, das von den I/O-Chip gesteuert wird. Anfangs habe ich versucht, eine Transistorschaltung zu löten, doch aus mir noch nicht ganz klaren Grund schaltete das System keine Weiche.
Ich stieß dann auf ein sehr günstiges Relaisboard, das 16 Relais' auf einer Platine enthält.