Aus Raspberry Pi Geek 11/2024

Online-Simulator Wokwi für Mikrocontroller und Elektronik

© Jan Rose / Fotolia.com

Generalprobe

Martin Mohr

Mit dem Simulator Wokwi bauen Sie im Webbrowser eine virtuelle Schaltung rund um Mikrocontroller auf und testen sie.

Die Webseite des Simulators Wokwi [1] verrät auf den ersten Blick nicht, worum es sich eigentlich handelt (Abbildung 1). Um Ihnen den Einstieg zu erleichtern, fassen wir hier die wichtigsten Informationen zusammen und geben einen Einblick in die vielfältigen Möglichkeiten des Projekts. Beginnen wir mit der Hardware, die sich simulieren lässt. Wokwi simuliert neben vielen Sensoren und Elektronikkomponenten auch vollständige Mikrocontroller. Die Tabelle “Unterstützte MCUs” zeigt eine Auflistung. Da immer wieder neue Modelle hinzukommen, beschränkte sie sich auf die bekannteren Vertreter.

Abbildung 1: Die recht übersichtliche Projekt-Homepage von Wokwi zeigt auf den ersten Blick nicht, worum es eigentlich geht.

Abbildung 1: Die recht übersichtliche Projekt-Homepage von Wokwi zeigt auf den ersten Blick nicht, worum es eigentlich geht.

Typ

Modell

STM32 Nucleo

C031C6, L031K6

Arduino

Uno, Mega, Nano

ATtiny

ATtiny85

ESP32

ESP32, S2, S3, C3

Pi Pico

Pico, Pico W

Kommen wir jetzt zu den Programmiersprachen, die sich für die Controller verwenden lassen. Hier haben Sie die Auswahl zwischen C/C++, MicroPython und Rust. Beachten Sie, dass nicht alle Programmiersprachen für alle Mikrocontroller verfügbar sind. Nach der Entscheidung, welche Sie verwenden, binden Sie vordefinierte Bibliotheken in Ihr Programm ein. Sollten sie für Ihr Projekt nicht ausreichen, gibt es die Möglichkeit, zusätzliche Libraries hochzuladen.

Beispiele

Um schnell einen Eindruck zu bekommen, wofür genau sich Wokwi eignet, sehen wir uns einige der vorhandenen Beispiele an. Sie lassen sich direkt starten und ausprobieren. Die Dot-Matrix-LED-Anzeigemodule MAX7219 [2] (8×32, 4-in-1) sind bei Bastlern recht beliebt, weil sie preiswert sind und sich leicht programmieren lassen. In unserem ersten Beispiel steuert ein Arduino Mega vier dieser Module und zaubert eine Tunnelanimation auf den Bildschirm (Abbildung 2).

Abbildung 2: Ein Matrix-Beispiel mit einem simulierten Arduino Mega.

Abbildung 2: Ein Matrix-Beispiel mit einem simulierten Arduino Mega.

Um das Beispiel zu starten, rufen Sie die entsprechende Wokwi-Beispielseite [3] auf und klicken dort rechts oben auf den grünen Pfeil. Spannend hierbei ist, dass der Simulator schnell genug arbeitet, um die Animation flüssig anzuzeigen. Den kompletten Quellcode sehen Sie in der linken Spalte des Fensters.

Ein Klassiker für Einsteiger in Sachen Mikrocontroller ist das Programmieren einer Uhr. Das entsprechende Wokwi-Beispiel [4] geht noch etwas weiter: Es handelt sich dabei um eine Uhr, die eine Verbindung zu einem virtuellen WLAN aufbaut. Darüber greift sie auf Ressourcen aus dem Internet zu. Im Beispiel holt das Programm die aktuelle Zeit von einem NTP-Server und zeigt sie auf dem Display an (Abbildung 3).

Abbildung 3: Eine simulierte Uhr, die sich die aktuelle Zeit von einem NTP-Server holt.

Abbildung 3: Eine simulierte Uhr, die sich die aktuelle Zeit von einem NTP-Server holt.

Um die Zeitzone zu setzen, passen Sie im Code die Variable UTC_OFFSET an. Beachten Sie, dass sie den Offset in Sekunden angibt. Entsprechend erhöht der Wert 7200 die Zeit um zwei Stunden, passend zur deutschen Sommerzeit. Nach der Anpassung genügt ein Klick auf den grünen Pfeil, um das Programm neu zu kompilieren und danach zu starten. Je nach Auslastung der Webseite kann das ziemlich schnell gehen oder sehr lang dauern; hin und wieder kommt es auch zu Programmabbrüchen.

Eigenes Projekt

Um ein eigenes Projekt zu erstellen, melden Sie sich zunächst bei Wokwi an, sodass Sie es auch speichern können. Zum Erstellen eines neuen Projekts wählen Sie in Ihrem Account oben rechts My projects aus und klicken danach auf den Schalter NEW PROJECT. Sie sehen jetzt eine Übersicht aller Controller, die sich simulieren lassen. Wenn Sie ans Ende der Liste scrollen, finden Sie das Blank Project. Damit simulieren Sie einfache Elektronikaufbauten ohne Mikrocontroller.

Für unser eigenes Projekt wählen wir einen Raspberry Pi Pico. Anschließend legen wir als Programmiersprache MicroPython fest. Abbildung 4 zeigt den virtuellen Testaufbau, in dem der Pico als Taktgenerator für einen 4-Bit-Binärzähler fungiert. Der Zähler besteht aus vier D-Flipflops. Das Programm zur Takterzeugung mit dem Pico finden Sie in Listing 1.

Hierzu gibt es nicht viel zu sagen. Es ist das gute alte Blinkbeispiel, das Sie sicher schon einmal ausprobiert haben. Der Aufbau zeigt anschaulich, wie Sie mit Wokwi Software- und Hardwarekomponenten miteinander verknüpfen. So lassen sich Projekte im Voraus testen. In einem realen Aufbau sollten Sie für die LEDs auf jeden Fall Vorwiderstände spendieren.

Abbildung 4: Ein Beispiel für einen 4-Bit-Zähler mit einem Pi Pico als Taktgenerator.

Abbildung 4: Ein Beispiel für einen 4-Bit-Zähler mit einem Pi Pico als Taktgenerator.

Listing 1

Testprogramm

import time
import machine
led = machine.Pin(15, machine.Pin.OUT)
while (True):
  led.value(1)
  time.sleep(0.3)
  led.value(0)
  time.sleep(0.3)

Fazit

Der Online-Simulator Wokwi macht richtig Spaß, die Bedienung funktioniert komplett intuitiv. Obwohl das Tool auf den ersten Blick sehr spartanisch wirkt, stellt es alle Funktionen bereit, die Sie zur Simulation von Schaltungen brauchen – nicht mehr, aber auch nicht weniger.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 3 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben