Damit wir nicht nur Beispielprogramme aus PixyMon verwenden können, sondern Pixy2 auch selber programmieren können, müssen wir Pixy jetzt mit einem Microcontroller verbinden. Dazu wird wieder der ESP32 verwendet, der euch schon bekannt ist. 


Um den ESP32 und Pixy2 zu verbinden, verwenden wir das Serial Peripheral Interface, kurz SPI. SPI ist ein synchrones serielles BUS-System, mit dem digitale Schaltungen nach dem Master-Slave-Prinzip miteinander verbunden werden können. 

Das Master-Slave-Prinzip besagt, dass es einen Master gibt und einen oder mehrere Slaves. Die Slave-Systeme können nichts ohne eine Aufgabe oder Berechtigung vom Master-System ausführen.

In unserem Fall entspricht der ESP32-Microcontroller dem Master, der Pixy2 ist der Slave. Das bedeutet, dass Pixy2 über den ESP32 angesteuert wird, nicht anders herum. 


Es gibt mehrere Leitungen, über die Master und Slave miteinander verbunden sind. 

  1. SCK (Serial Clock): Über diese Leitung wird ein Clock-Signal vom Master zur Synchronisation ausgegeben.
  2. MOSI (Master Out Slave In): Über diese Leitung werden Daten vom Master zum Slave übertragen
  3. MISO (Master In Slave Out): Über diese Leitung werden Daten vom Slave zum Master übertragen
  4. SS/CS (Slave / Chip Select): Über diese Leitung wählt der Master den Slave aus, mit dem er kommunizieren will. Sie ist logisch-0 aktiv, das heißt ein Slave ist ausgewählt, wenn an seinem SS-Eingang ein Low anliegt. 


Grafisch dargestellt, sieht das in etwa so aus: 

Master Slave Prinzip SPI

Bild: SPI Master und Slave
Quelle: BBS2 Wolfsburg



Außerdem gibt es über SPI mehrere Einstellungsmöglichkeiten, wie etwa die Auswahl der Taktflanke bei der ausgegeben und eingelesen wird oder ob das MSB oder das LSB eines Wortes zuerst ausgelesen oder eingelesen wird. Mit diesen Einstellungen müssen wir uns im Nachfolgenden jedoch nicht groß beschäftigen. 


Zuletzt geändert: Mittwoch, 23. September 2020, 10:18