Arduino

  • 3.0 Dinodialogomat: Audio von MP3-Player steuert Mundbewegung mit Servos (🚧)

    Zwei Dinofiguren treten in Dialog und ihre Münder werden über Servos synchron zur Sprache bewegt. Ein MP3-DFPlayer Mini liefert das Audio-Signal, das über Analogeingänge des Arduino in Servosignale umgewandelt wird (Schwätzomat).Der Start des Automaten geschieht über einen Ultraschallsensor.Um bei 8 Bit-µC wie Arduino UNO, NANO und MEGA Speicher- und Rechenzeit zu sparen wurden die Speicherung…

  • 🚧 Musteraufgaben mündliches ABI Informatik

    Eine mündliche ABI-Prüfung besteht aus einer 20 Minuten Vorbereitungszeit mit der Aufgabe und einer 20 Minuten Prüfung, wobei ca. 10 Minuten der Prüfling Zeit bekommt, seine Lösungen der Aufgabenteile vor zu stellen und 10 Minuten weitere Fragen über praktisch alle Themengebiete gestellt werden dürfen… Hinweis: Dies sind keine „offiziellen“ Aufgaben sondern Musteraufgaben, die den Projekt-Charakter…

  • 3.9 🦷 Bluetooth 🚧

    Synopsis: [Heise: Bluetooth: Auf den blauen Zahn gefühlt] Bluetooth-Probleme Update: iOS-Software BitBlue gibt es nicht mehr, damit verschwindet aber auch das Problem mit dem Funduino-Modul, habe zwei Ersatzlösungen gefunden! 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…

  • 1.7 💯 PWM (PulsWeitenModulation)

    Synopsis: [de.wikipedia.org/wiki/Pulsdauermodulation 🔗]Wieder so ein „explosives“ 🧨 Thema! Sobald man sich näher damit beschäftigt kann es spannend aber auch kompliziert werden… Aufgaben Arduino: analogWrite() Lesen: [arduino.cc/reference/en/language/functions/analog-io/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% ->…

  • 1.6 ⏱️ Frequenz, Perioden- und Impulsdauer messen

    [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…

  • ESP32

    Simulation mit WOKWI [wokwi.com/projects/387000682507243521 🔗] Gute Übersicht in Make 2/2025 S16… NodeMCU-ESP32-S-Dev-Kit [AZ-Delivery NodeMCU-ESP32-S-Dev-Kit 🔗]Preis/Stück (3x) 10,67€UART-Wandler CH340 ESP32 Dev Module auswählen Chip type: ESP32-D0WD-V3 (revision v3.1)Features: Wi-Fi, BT, Dual Core + LP Core, 240MHz, Vref calibration in eFuse, Coding Scheme NoneCrystal frequency:  40MHz4MB Flash ESP32S Dev Kit C V4 NodeMCU WLAN [AZ-Delivery ESP32S Dev Kit…

  • 1.1p print, printf, sprintf (🚧)

    Formatiertes Ausgeben von Werten print Arduino-Doku: Serial.print()🔗 printf, sprintf Tests mit Java Ausgabe Test mit Arduino STM32 Bei dem Testprogramm wird ab Floating Point normalerweise nur noch Mist ausgegeben!Das liegt daran, dass die Verarbeitung von Fließkommaformatierungen recht viel Programmspeicher (ca. 2,5 KiByte) benötigen würde und bei den kleinen µC dies vermieden werden sollte, so wurde…

  • 1.1d 🚧 C Datentypen für Arduino

    Einfache Datentypen Die Tabelleninhalte wurden für STM32 Arduino mit Testsoftware ermittelt. Es gibt Unterschiede in der Interpretation der Datentypen bei verschiedenen Compilern und µCs. In C/C++ hat es daher zusätzliche Datentypen, mit denen Vorzeichenbehaftung und Bitbreite compilerunabhängig festgelegt werden können. Datentyp #Bits #Werte Wertebereich entspricht Bemerkung bool 8 2 false (=0), true (≠0) char (ist…

  • Y Abi Musteraufgaben 🚧

    1 BCD-Uhr Eine BCD-Uhr mit LCD- und Matrixanzeige soll realisiert werden. Vorgegebener Code / Info Hinweis: Fehler in der Formelsammlung bei formatierter Ausgabe:, verwenden Sie bei sprintf statt I2C_LCD(buf) lcd.print(buf) zur Ausgabe.Eine formatierte Ausgabe kann bei STM32 auch mit lcd.printf(…) ohne Buffer erfolgen.Darüber hinaus sind wir es gewohnt Variablen klein zu schreiben. Kleinschreibung bei std,min,sec…

  • 🍀 STM32 nucleo L152RE

    Synopsis: [stm32l152re-Überblick] [Referenz-Manual RM008] [Datenblatt stm32l152re] [API stm23duino] [UM1724 User manual] Beschafft bei reichelt.de Draufsicht Platine Grüne LED an PA5 (D13) , Blauer UserButton an PC13 (low active) mit PullUp-Widerstand und ist entprellt. Pin Belegung Pinout User-Button entprellt low active Der blaue Taster ist der entprellte low aktive UserButton, an PC13 angeschlossen. Leider finde ich…

  • 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…

  • Logic Analyzer

    Als preisgünstige Alternative (ca. 8€) zum Analog Discovery Studio könnte für SuS dieses Gerät dienen: Logic Analyzer 8 CH, 24MHz mit USB-Kabel, kompatibel mit Arduino Software PulseView von Az-Delivery empfohlen: sigrok.orgSoftware Logic2 von Kollegen empfohlen: https://www.saleae.com/pages/downloads 🔗wolles-elektronikkiste.de/logic-analyzer 🧐 CLK-Ausgang verstehe ich nicht Bei den neueren Analyzern gibt es einen neuen Pin CLK, ich habe das…

  • Funduino Expansion Board für NUCLEO STM32 (Sturm Board)

    Link zum Produkt: [Funduino Expansion Board für NUCLEO STM32] Es wird noch ein NUCLEO-Board z.B. L152RE benötigt, ist nicht enthalten. Boardbeschreibung Schaltplan LED-Anzeigen An PC0..PC7 sind 8 farbige LED angeschlossen, ausserdem zwei 7-Segmentanzeigen. Die Einerstelle wird mit PC11 und die Zehnerstelle mit PC12 aktiviert. Um die Funktion zu verstehen ist hier eine Simulation mit Logiksimulator…

  • 1.1b 🚧🏋️ Bitschubserei

    Synopsis: [MezData: Ausdrücke und Operatoren] [SPS-Logik-Simulation] Sobald mehrere Port-Pins auf einmal gelesen oder gesetzt werden sollen wird es mit digitalWrite() und digitalRead() umständlich, ausserdem brauchen diese Operationen deutlich länger als der direkte Zugriff über die Portregister.Hinweise: Zur Veranschaulichung habe ich hier unsigned char a; // 8 Bit ohne Vorzeichen (uint8_t) verwendet. In den [] Klammern…

  • 1.1s 🚧 Spickzettel

    Sammlung für die lokale Formelsammlung 🤠. Beispielsketch Sketch nennt man bei Arduino die Entwürfe für ein Programm. Ein Sketch ist eine Textdatei z.B. „Beispiel“ mit der Endung .ino also Beispiel.ino. Die Datei muss sich in einem gleichnamigen Ordner hier Beispiel befinden. Dafür #define Synopsis: C-Präprozessor📖 Präprozessor-Direktiven🔗.Die Pins am µC haben Bezeichnungen wie D13 oder PC13….

  • 1.1x STM32 GPIO Ports

    Hier eine etwas vereinfachte Betrachtung, für Details Doku lesen: [Referenz Manual rm0038 S183ff.] [Datenblatt stm32l152re S92] [STM32-API] Prinzip-Schaltbild für einen I/O-Pin Veranschaulichung I/O Pin Teilschaltung mit Digital Einstieg in die Vielfalt der Einstellmöglichkeiten. Jeder Pin kann als General Purpose Input/Output  (Allzweckeingabe/-ausgabe) oder mit einer alternativen Funktion verwendet werden. Im Vergleich mit dem oberen Blockschaltbild fehlen…

  • 3.6 UART / RS232 (🚧)

    Synopsis: 📖 de.wikipedia.org/wiki/Universal_Asynchronous_Receiver_Transmitter 🔗 Arduino-Doku: SerialNochmal 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…

  • 3.7 ⎐ I2C Schnittstelle

    Einlesen in die Theorie der Schnittstelle Inhalt 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 Bausteins angeben und mit Wire.write() in einen Puffer schreiben, am Ende Daten absenden…

  • 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…

  • 3.1 🔢 AD / DA Wandlung

    Inhalt Synopsis: Die AD-Wandlung (Analog-Digital-Wandlung) ist ein Prozess, bei dem analoge Signale in digitale Signale umgewandelt werden. Dies ist essenziell für die Verarbeitung von Signalen in digitalen Systemen wie Computern, Smartphones oder Messgeräten. Fachbegriffe Wert-Quantisierung: Analoge Spannung in digitalen Wert wandeln Eine Eingangsspannung Ue wird mit einer Referenzspannung Uref verglichen und das Verhältnis als n-stellige…

  • 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. Diese Aufgaben baue ich für meine Zwecke um: Prüfung Aufgabe Info/Recycling-Stand HP22 1. Blutdruckmessgerät 8 Bit Messwert, ggfs. I2C-Sensor? Pulssensor: Periodendauer messen. Anzeige auf LCD. HP22 2. Drehimpulsgeber und Servo 😃 Unterrichtsaufgabe? NP22 1. Steuerung eines Säulenventilators 2….