Der ESP32
Der ESP32 ist ein vielseitig einsetzbarer Mikrocontroller. Trotz seiner geringen Größe weist der ESP32 ein extrem gutes Preis-Leistungs-Verhältnis auf. Wie es der untenstehenden Grafik entnommen werden kann, verfügt der ESP32 über 28 Digital In/Out Ports, welche allesamt die PWM unterstützen. Zusätzlich besitzt der ESP32 vier Digital Input Ports. Alle der eben genannten Ports sind mit GPIO gekennzeichnet, was für "General Purpose Input Output" steht. Der digitale High-Pegel geht dabei von 1,5 V bis 3,3 V, während der digitale Low-Pegel von 0 V bis 1,5 V reicht. Sechs der 28 GPIOs sollten aufgrund des Flash-Speichers des SPI-Buses nicht verwendet werden, sodass noch 22 übrig bleiben.
Außerdem verfügt der ESP32 über 16 Analog-Digital-Converter (ADC = ADU), welche eine Auflösung von 12 Bit besitzen und anliegende Spannungen im Bereich von 0 V bis 3,3 V auf den Wertebereich von 0 bis 4095 projizieren. Als Gegenstück dazu besitzt der ESP32 auch zwei Digital-Analog-Converter (DAC = DAU), welche einen Spannungsbereich von -3,3 V bis 0 V bei einer Auflösung von 8 Bit aufweisen.
Zusätzlich verfügt der ESP32 noch über zehn kapazitive Touch-Sensor-Ports, welche mit internen Touch-Sensoren verbunden sind, die Ladungsänderungen von Materialien bemerken, welche den Pin am Mikrocontroller berühren. Die "RTC"-Pins (RTC = Real Time Clock) sind neben den Touch-Sensor-Pins diejenigen, welche verwendet werden können, wenn der ESP32 in den sogenannten Deep-Sleep-Mode versetzt wurde. In diesem Modus arbeitet statt des Hauptprozessors ein Ultra Low Power (ULP) Co-Prozessor, welcher die Signale von den eben genannten Pins verarbeiten kann, um beispielsweise den Hauptprozessor "aufzuwecken".
Final bietet der ESP32 noch einen Pin mit +3,3 V, einen mit +5 V, drei GND-Anschlüsse und einen Reset-Pin an. Außerdem unterstützt er die Bluetooth- und WLAN-Kommunikation.
Alle weiteren Bezeichnungen der untenstehenden Grafik, wie "SD...", "...SPI...", "MISO", "MOSI", "CLK", "SS", "I2C...", "...TX" oder "...RX" gehören zu Bussystemen, welche der ESP32 unterstützt. Diese sind für diesen Kurs allerdings zu umfangreich und für die Bearbeitung nicht von Relevanz. Falls du dich dafür interessiert findest du weitere Informationen in dem Datenblatt des ESP32, welches du dir hier downloaden kannst.
Abbildung: Pinbelegung des ESP32
Quelle: Datenblatt ESP32