1.0 Arduino für STM32 Überblick

Stoffverteilung entsprechend dem Bildungsplan Jahrgangsstufe 1 TGI Baden Württemberg. NUCLEO L152RE Beschafft bei reichelt.de für 20,15€ (zur Zeit wieder ausverkauft) Pin Belegung Grüne LED an PA5 (D13) , Blauer UserButton an PC13 mit PullUp-Widerstand und ist entprellt. Mit analogWrite(Pin,Wert) können nur die 6 von Arduino vorgesehenen Pins verwendet werden. Aduino Pin STM32 Pin D3 PB3…

1.1 Einstieg in Arduino für STM32

Forum der STM32 Boardleute: https://www.stm32duino.com Anleitung für MacOS Arduino Software laden und installieren.Unter Voreinstellungen zusätzliche Boardverwalter-URL eingeben damit die Erweiterung gefunden wird:https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json Arduino-IDE NEU Starten => Dann wird Eintrag unter Voreinstellungen erst aktiv!​DANN In den Boardverwalter gehen und STM32 MCU based borads installierenWerkzeuge => Board => Boardverwalter => STM32 => Installieren Das richtige Board auswählen:Werkzeuge…

1.2 Aufgaben zum Einstieg

SOS ausgeben mit BoardLED D13. … – – – … Auf der BoardLED 13 soll ein SOS-Blinken ausgegeben werden.Hier das Zeitschema zur Ausgabe. Mit einer Variable int dit soll die Dauer des kurzen Signals einstellbar sein.Zum Testen usw. https://morsedecoder.comErstellen Sie ein Programm, ein dit soll die Länge 200ms haben. Hier ein paar Anregungen: Lösungsvorschlag (klick…

1.3 Zustandsdiagramm

Benötigte Hilfsmittel: TGI-Formelsammlung, Software Umlet, Anleitung zu Umlet: Zustandsdiagramm für Lüftersteuerung PA1 PA6 PA10 An <-> Aus langsamer schneller Ein Lüfter soll mit den Tasten PA1 (An/Aus) PA6 (Lüfter langsamer) und PA10 (Lüfter schneller) gesteuert werden. Es gibt 4 Lüfterstufen 0..3. Bei Stufe 0 leuchtet nur LC0 an PC0 als Betriebsanzeige. Die letzte Lüfterstufe soll…

1.4 Interrupts

Eine LED soll bei Betätigung von Boardtaster an PC13 immer langsamer blinken. Der Taster ist entprellt und Low aktiv. Wenn die Zeit länger wird, bewirkt ein kurzer Tastendruck oft keine Veränderung mehr. Warum? Lösung: Taster öfter überprüfen Immer wieder vorbeischauen ob der Taster gedrückt wurde nennt man Polling auf den Taster. Das ist wie wenn…

1.5 Timer

Dank der STM32-Arduino HardwareTimer library wird man von den nicht ganz einfachen Details der STM32 Timer zunächst verschont. Info: In der MBED-Umgebung könnte das so aussehen: Ticker Dort wird mit Threads gearbeitet, die schlafen gelegt werden, erinnert mich an Java..Hier nun der Weg mit STM32-Arduino. (Unterschied zu Atmel-AVR bei Register Compare, hier kein +1 zu…

3.0 Schnittstellen und Module Überblick

Bluetooth-Probleme HC-05 Modul Ich habe das AZ-Delivery HC-05 6-Pin Modul unter iOS und macOS ausprobiert: Da es sich um klassisches Bluetooth handelt ist eine Paarung mit Passwort notwendig. Das Modul wurde unter iOS nicht angezeigt, daher keine Paarung möglich. Unter macOS konnte ich paaren, allerdings war die Verbindung nicht stabil. Mit dem Taster auf dem…

3.1 AD / DA Wandlung

[How to get the best ADC accuracy in STM32 microcontrollers][Was sind A/D- und D/A-Wandler?][MezData: Analog und Digital] [Wikipedia: Analog-Digital-Umsetzer] Analoge Spannung in digitalen Wert wandeln Eine Eingangsspannung Ue wird mit einer Referenzspannung Uref verglichen und das Verhältnis als n-stellige Binärzahl ausgegeben.Je mehr Stellen (Bits) der Digitalwert hat desto genauer lässt sich die Spannung umwandeln.Die Auflösung…

3.2 Servo steuern mit PWM

[L293D] [MezData: Servos][Arduino Servo Library][MezData: Modellbau-Servotester mit Pulsweiten-Anzeige] Modellbauservo Ein Modellbauservo wird durch die Breite eines Impulses gesteuert. Der Stellwinkel des Servos ist proportional zur Impulsbreite. Alle 20 ms sollte ein Steuerimpuls kommen. Die übliche Impulsbreite bewegt sich zwischen 1 ms und 2 ms. Servos können auch ausserhalb dieses Bereiches noch gesteuert werden, drehen weiter,…

3.5 Sensoren

Bosch BMP280 Druck und Temperatursensor mit I2C und SPI Schnittstelle [Infoseite zum Sensor Pressure sensor BMP280] [Bosch Datenblatt] [MezData Links zu Sensoren] Ich nutze PB8 und PB9 für I2C. PB10 und PB11 könnten auch I2C werden jedoch als USART für das Bluetooth-Modul benötigt. I2C Schnittstelle auf Seriell ausgeben I2C auf LCD ausgeben SPI Schnittstelle