Embedded C++ Beispiele als wokwi-Projekte
Der Wokwi Simulator ist ein online-Simulator, mit dem man Mikrocontroller-Projekte (für Arduino, ESP32 und Raspberry Pi Pico) in einem Internetbrowser entwickeln und testen kann – ohne physische Hardware. Er ermöglicht das visuelle Verdrahten von Schaltkreisen, das Schreiben von Code (z. B. in C++ oder MicroPython) und das sofortige Ausführen und Debuggen im Browser. Ideal für Unterricht, Prototyping und schnelle Tests.

Einige Beispiele aus dem Embedded C++ Grundkurs und Embedded C++ Aufbaukurs für
Die aktuell gewählte Beispiel kann man mit

starten.
Nach dem Anklicken einer dieser Seiten sieht sketch.ino etwa folgendermaßen aus:
enum class Examples { // a list of all examples
First_Example, // see section ???
TrafficLights_in_C, // see section ???
TrafficLights_with_phases,
TrafficLights_FSM_with_busy_waiting,
TrafficLights_FSM_without_busy_waiting,
TrafficLights_table_driven_state_machine,
// Digital_Out, // see section ???
// Digital_In, // see section ???
AnalogIn_read_raw_values_in_C, // see section ???
AnalogIn_read_onboard_voltmeter_with_class, // see section ???
AnalogIn_Voltmeter,
AnalogIn_Temperature,
AnalogOut_Fade_LED_in_absolute_steps_ohne_Klassen,
AnalogOut_Fade_LED_in_percent_ohne_Klassen,
AnalogOut_Fade_LED_with_PWM_DA_Converter,
#ifdef ESP32
AnalogOut_Fade_LED_with_DAC_DA_Converter,
#endif
HC_SR04_Ultrasonic_Distance, // see section ???
last_value_without_comma
};
Examples example = Examples::AnalogOut_Fade_LED_in_absolute_steps_ohne_Klassen;
#include <functional>
#include "utils.h"
#include "Trafficlights-in-C.h"
#include "Trafficlights.h"
#include "cpp-exercises.h"
void setup()
{
setup_serial_port();
Serial.println("Raspberry Pi Pico circuit for Embedded C++ (www.rkaiser.de)");
N_Cpp_Exercises::setup(example);
}
void loop()
{
N_Cpp_Exercises::loop(example);
}
Um ein anderes Beispiel zu aktivieren, müssen Sie lediglich
Examples example = Examples::AnalogOut_Fade_LED_in_absolute_steps_ohne_Klassen;
durch einen anderen Wert aus Examples ersetzen, z.B. durch
Examples example = Examples::First_Example
oder z.B. durch
Examples example = Examples::TrafficLights_with_phases
Sie können diese Beispiele auch gerne durch eigene Beispiele ergänzen.