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.

Embedded C++ wokwi examples

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.