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…

1.6 🚧 Frequenz und Periodendauer

1.6 🚧 Frequenz und Periodendauer

[de.wikipedia.org/wiki/Frequenz 🔗] Die Frequenz f eines Signals ist die Anzahl der Wiederholungen pro Sekunde.Im Beispiel ein Rechtecksignal. Die Periodendauer T ist dabei z.B. die Zeit von steigender zur steigender Flanke. Um die Frequenz zu messen kann z.B. die Anzahl der steigenden Taktflanken in einer Sekunde gezählt werden.Bei niedrigen Frequenzen wird eher die Periodendauer T gemessen.Oft…

1.7 🚧 PWM (PulsWeitenModulation) Ausgabe

1.7 🚧 PWM (PulsWeitenModulation) Ausgabe

Synopsis: [de.wikipedia.org/wiki/Pulsdauermodulation 🔗] [www.arduino.cc/reference/en/language/functions/analog-io/analogwrite/ 🔗]Wieder so ein “explosives” 🧨 Thema! Sobald man sich näher damit beschäftigt kann es spannend aber auch kompliziert werden… Arduino: analogWrite() [docs.arduino.cc/learn/microcontrollers/analog-output/ 🔗] Die Helligkeit der LED an PC7 soll durch den low-aktiven prellfreien UserButton an PC13 in den Stufen0% -> 25% -> 50% -> 75% -> 100% -> 0% usw.mit…

3.0 Schnittstellen und Module Überblick

SPI I2C UART Prinzip Master—Slave Master-Slave Gleichberechtigt Anzahl Kommunikations-Teilnehmer 1 Master,beliebig viele Slaves 1 Master, bis 127 Slaves Zwei Teilnehmer Übertragungsart Vollduplex Halbduplex Halb-/Vollduplex Datenübertragungsrate bis zu 10MHz typ. 3,4 Mbit/s bis zu 5Mbit/s 50..3.000.000Bit/s Anzahl Leitungen minimal 4 2 minimal 2 Taktsynchron synchron synchron asynchron Anschlüsse SCLK, MOSI, MISO , SS SDA, SCK TX,RX…

3.1 AD / DA Wandlung

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

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

3.6 🚧 UART / RS232

Synopsis: [de.wikipedia.org/wiki/Universal_Asynchronous_Receiver_Transmitter 🔗] [www.arduino.cc/reference/en/language/functions/communication/serial/ 🔗]Nochmal anschauen: 2.6 Schieberegister Ist die älteste und schwierigste einfache Serielle Schnittstelle. Die Datenübertragung erfolgt asynchron (eine Baud-Rate muss eingestellt werden) und hat Start- und Stopp-Bits ausserdem kann ein Paritätsbit übertragen werden. Es ist die elementare serielle Schnittstelle für Arduino, darüber werden viele der Boards programmiert und darüber wird mit dem…

3.7 🚧 I2C Schnittstelle

3.7 🚧 I2C Schnittstelle

[MezData: Links-I2C] [Portexpander HLF 8574] [Temperatursensor LM75A] [Druck- und Temperatursensor BMP280] [MezData: Discovery-Room][stm32-I2C-Lib][Elektrische Gedanken] Einlesen in die Theorie der Schnittstelle Befehl / Beispiel Beschreibung #include <Wire.h> // I2C-Library I2C Library laden Wire.begin();Wire.begin(SDA, SCL); // Alternative Leitungen festlegen Schnittstelle starten Wire.beginTransmission(0x27); Daten sollen zu Zieladresse 0x27 gesendet werden Datenpuffer wird geleert.Der Datenpuffer ist 32 Byte groß…

3.8 🍀 SPI Schnittstelle

3.8 🍀 SPI Schnittstelle

Synopsis: [az-delivery.de/products/saleae-logic-analyzer][mikrocontroller.net/articles/Serial_Peripheral_Interface][mikrocontroller.net/articles/SPI_Daisychain][docs.arduino.cc/learn/communication/spi][analog.com/media/en/technical-documentation/data-sheets/MAX7219-MAX7221.pdf][learn.sparkfun.com/tutorials/serial-peripheral-interface-spi/all][ti.com/lit/ds/symlink/sn74hc595.pdf] 1. Funktionsprinzip der SPI-Schnittstelle SPI bedeutet Serial Peripheral Interface und dient hauptsächlich zur seriellen Datenübertragung von einem µC zu einer Peripherie und von der Peripherie zum µC. Die Datenübertragung wird durch einen Master/Controller gesteuert. Er gibt den Takt der Übertragung über eine Leitung SCK (Serial Clock) und wählt über eine Leitung CS/SS (Chip…