Impulsdiagramm

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.setClock(frequenz); Optional die Übertragungsfrequenz anpassen, voreingestellt sind 100000 Hz siehe [Arduino-Doku] Schreiben in Baustein Adresse des…

AVR-Chips mit Arduino IDE 2.1.

Bei Arduino wird üblicherweise mittels Bootloader (eine kleine vorinstallierte Software auf dem µC) über USB die Software aufgespielt. Bei Projekten, bei denen die AVR-Mikrocontroller selber verbaut werden ist oft ein Programmer erforderlich, der über die ISP-Schnittstelle angeschlossen wird z.B.: Mit der Arduino IDE 2.1.0 konnte ich nicht mehr wie gewohnt mit dem Hochladen-Pfeil die Software…

AD-Wandler

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…

Servo PWM-Signal

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 Wägemodul…

2 Visual Studio Code

Die Live Server Erweiterung installieren für Webseiten entwickeln. UpDate-Hinweise ignorieren, kann nur Administrator durchführen. Erweiterungen Nutzen Git Graph grafische Anzeige von Repository-Historie inklusive Branch-Visualisierung Indent-rainbow Farbig Hervorhebung der Einrückungs-Ebenen Markdown All in One Mark Down Short Keys Todo Tree selbst definierbare Schlüsselwörter (zB.: TODO, CONFIG, REFERENCE, …) Ordner-/Workspace-intern rekursiv suchen, highlighting und Anzeige einer entsprechenden…

4.0 RoboCar

[MezData-Links: RoboCar] [www.pollin.de/productdownloads/D811116B.PDF 🔗]Bei Pollin gab es für kleines Geld einen Bausatz für ein Roboter Auto. Dank umfangreichen Befestigungsmaterial konnte die Sturm-Platine darauf befestigt werden.Beim Test ist mir ein recht hoher Stromverbrauch in Ruhe von 160mA aufgefallen, das saugt die Batterien leer! Die Hauptursache sind die L293D-Chips für den Antrieb, allein der Logikteil verbraucht pro…

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.4 Interrupts

Die BOARD_LED an PA5 (D13) soll bei Betätigung vom Board-Taster USER_BUTTON 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…

X Alte HW-Abi-Aufgaben recyceln

Da ich von Anfang an beim alten TGI dabei war habe ich ein Schatz an alten Aufgaben. Meine Kandidaten: Prüfung Aufgabe Recycling-Stand HP22 1. Blutdruckmessgerät HP22 2. Drehimpulsgeber und Servo 😃 To Do NP22 1. Steuerung eines Säulenventilators 2. INFT Klassenarbeit TG12 HP21 1. Lichteffekt-Bausatz HP21 2. Fechten mit Degen HP20 1. Durchlauftrockner für Getreide…

1.3 Zustandsdiagramm

Benötigte Hilfsmittel: TGI-Formelsammlung, Software Umlet, Anleitung zu Umlet: Tipp: Um Diagramme automatisch in der passenden Größe dar zu stellen: style=autoresize Fußgängerampel mit UML-Zustandsdiagramm entwickeln Die [Fußgängerampel] wird mit UML-Zustandsdiagramm erneut entwickelt. Schauen Sie sich den alten Lösungs-Quellcode noch einmal an. Aus der Digitaltechnik kennen Sie ja bereits Zustandsdiagramme, sie sind ein praktisches Werkzeug um Automaten…

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: String ausgeben…

1.0 Arduino für STM32 Überblick

Stoffverteilung entsprechend dem Bildungsplan Jahrgangsstufe 1 TGI Baden Württemberg. Formelsammlung Arduino IDE NUCLEO L152RE Synopsis: [stm32l152re-Überblick] [Referenz-Manual RM008] [Datenblatt stm32l152re] [API stm23duino] Beschafft bei reichelt.de 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…

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:Das Kopieren und einfügen: 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…