Wenn du Programmieren und Logikschaltungen lernst, ist der Test an einer echten Anlage das absolute Highlight. Echte Hardware-Modelle (wie Förderbänder, Pressen oder Parkhäuser) haben jedoch Nachteile: Sie sind teuer in der Anschaffung, nehmen viel Platz auf dem Schreibtisch weg, stauben schnell ein und die filigrane Mechanik kann leicht beschädigt werden. Genau hier setzt die Simulations-Kiste an! Du erhältst eine unkaputtbare, kostenlose und platzsparende Alternative direkt auf deinem Monitor.
Du kannst komplexe Steuerungen, Zustandsautomaten (State Machines) oder Not-Aus-Szenarien völlig gefahrlos programmieren und sofort in Echtzeit testen, ob dein Code wie gewünscht funktioniert. Hier geht es direkt zur passenden Programmierumgebung: Blockly für Arduino ist das Herzstück der LogicKiste und bietet dir eine intuitive, visuelle Oberfläche, um selbst komplexe C++ Logik ganz einfach per Drag-and-Drop zusammenzustecken perfekt für Anfänger und Profis!
A. Wie es funktioniert: Blockly & Hardware in Kombination
Das Geniale an dieser Simulation ist die Verschmelzung von virtueller und echter Welt. Du programmierst wie gewohnt grafisch mit Blockly. Bei den Blöcken hast du immer die Wahl:
- Reine Software: Du bedienst die Anlage rein virtuell über die Mausklicks in der PC-Oberfläche.
- Hardware + Software (Pin-Modus): Du nutzt echte Hardware! Drückst du einen physischen Taster, der an deinen Arduino angeschlossen ist, setzt sich das virtuelle Förderband auf dem Bildschirm in Bewegung. Leuchtet in der Simulation eine Lampe auf, leuchtet auch eine echte LED auf deinem Tisch.
Ideal für Shields: Um Kabelsalat zu vermeiden, ist die Simulation perfekt auf fertige Arduino-Erweiterungsboards ("Shields") abgestimmt. Besitzt du ein Keyestudio V1 / V2 oder ein Richshield V1 / V2, hast du Taster, LEDs, Potentiometer und Summer bereits kompakt auf einer Platine verbaut. Dein Shield wird so zum professionellen Steuerpult für die PC-Anlage.
B. Installation und Start
Die Einrichtung dauert nur wenige Sekunden:
- Lade dir den Simulations-Ordner, den Shields-Ordner und die Beispiel Dateien für Blockly im Downloadbereich herunter:
- 👉 https://www.logickiste.de/support.html
- Entpacke die heruntergeladene ZIP-Datei auf deinem PC.
- Mache einen Doppelklick auf die Datei main.py
. Die Simulation öffnet sich. - Lädst du eine Programm auf den Arduino musst du die Verbindung trennen "🔌 Getrennt"
- Ist das Programm auf dem Arduino kannst du auf "🔌 Verbunden", wechseln und der Arduino "spricht" mit der Simulation.
- ! Der Serial Monitor in der Arduino IDE darf nicht geföffent sein!
- Neu laden ⚙️: Es kann vorkommen dass du einen Fehler im Programm hast und die Simulation irgendetwas macht, dann kannst du einfach das Programm neu laden und alles ist "auf Anfang".
- Einstellungen ⚙️: Hier öffnest du das Menü, um zwischen den verschiedenen Anlagen (z. B. Ampel, Presse, Parkhaus) zu wechseln oder die Fenstergröße anzupassen
.
C. Die 6 Simulationen im Detail
1. Fußgänger-Bedarfsampel
Eine klassische Bedarfsampel für eine stark befahrene Straße. Solange niemand "drückt", fahren die Autos ungehindert vorbei. Möchte ein Fußgänger rüber, drückt er den Anforderungstaster. Die Anlage muss daraufhin den Autoverkehr stoppen, dem Fußgänger "Grün" geben, ihn über die Straße laufen lassen und den Verkehr danach wieder sicher starten.
Beschreibung des Programmes:
Im Programm nutze ich in der Loop-Schleife eine große "ODER"-Verknüpfung. Hier wird permanent geprüft, ob ein Taster in der Software (SIM) oder an der Hardware (PIN) gedrückt wurde. Ist das der Fall, läuft die Ampel-Sequenz ab:
Das angeschlossene Hardware-Display zeigt als Feedback "- L O S". Die Auto-Ampel warnt mit Orange und springt dann auf Rot. Nach einer Sicherheits-Wartezeit von 2.000 Millisekunden erhält die Fußgängerampel Grün und der virtuelle Passant läuft los. Nach 3 Sekunden wird wieder auf Rot geschaltet, und nach einer erneuten Räumphase erhalten die Autos wieder freie Fahrt.
Programmiertipps:
-
- Fehlersuche bei Verknüpfungen: Achte genau auf deine Logik-Blöcke! Fragst du versehentlich zweimal den gleichen Taster ab?
- Räumzeiten: Autos bremsen in der Realität nicht in null Sekunden. Nutze Warten-Blöcke, um sichere Übergangsphasen zwischen den Ampelschaltungen einzubauen, damit es keine Crashs gibt.
-
2. Förderband
Ein Förderband transportiert Werkstücke zur Abholung. Pakete starten vorne, durchlaufen Lichtschranken, werden gezählt und am Ende automatisch auf eine Palette gestapelt, sobald das Band stehen bleibt.
Beschreibung des Programmes:
Dieses Programm wird klassisch über eine Schrittkette (Zustandsautomat) gelöst. Ein Start/Stop-Taster aktiviert das System. Im Zustand 0 wartet das Band, bis das Paket die erste Lichtschranke (LS1) belegt. Ist das der Fall, läuft der Motor an und die Schrittkette springt weiter. Im Zustand 2 fährt das Paket über die mittlere Lichtschranke, der Motor bleibt an. Erst bei der End-Lichtschranke (LS3) wird der Motor wieder gestoppt. Die Simulation greift nach kurzer Stillstandzeit ein, stapelt das Paket und der Zähler erhöht sich. Bei 9 Paketen ist die Palette voll. Ist die Palette voll musst du "eingreifen", die Palette leeren und das Programm neu Starten.
Programmiertipps:
-
- Schrittketten-Sauberkeit: Führe Aktionen (wie Motor AUS) immer in direkter Reaktion auf eine Bedingung (Lichtschranke = 1) aus und schalte dann erst den Zustand (step) weiter, sonst überspringst du ggf. wichtige Schritte.
-
3. Industrie-Presse
Ein Werkstück wird über ein Förderband in eine Presse gefahren. Aus Sicherheitsgründen ist eine Zweihandbedienung (beide Hände müssen die Taster gleichzeitig drücken). Der Stempel fährt nach unten, baut Druck auf, hält diesen für eine vorgegebene Zeit und fährt wieder nach oben.
Beschreibung des Programmes:
Hier siehst du eine erweiterte "Profi-Schrittkette" für komplexe Industrieanlagen. Positionierungen erfolgen über drei Lichtschranken. Wenn das Werkstück richtig liegt, drückt der Bediener beide Hardware-Taster gleichzeitig (PIN A2 und A3) und der Stempel fährt abwärts, bis der untere Endschalter erreicht ist. Ab jetzt wird der Druck analog ausgelesen (Aktueller Pressdruck). Ist der Zieldruck von 100 Bar erreicht, hält die Presse. Nach Ablauf der vorgegebenen Zeit fährt sie wieder hoch, bis der obere Endschalter auslöst. Zudem gibt es einen ausgelagerten Not-Aus-Kreis.
Programmiertipps:
-
- Unterprogramme nutzen: Wichtige Sicherheitsabfragen (wie den Not-Aus oder einen Hauptschalter) solltest du in ein eigenes Unterprogramm auslagern. Rufst du dieses in jedem Schritt deines Zustandsautomaten auf, ist die Anlage in jeder Sekunde voll abgesichert.
-
4. Automatiktor
Ein Garagen- oder Industrietor soll sich zuverlässig öffnen und schließen. Dabei muss es sicher stoppen, wenn die Endlagen erreicht sind, und bei Erkennung eines Hindernisses durch die Lichtschranke sofort anhalten.
Beschreibung des Programmes:
Das Programm reagiert auf verschiedene Auslöser. Wenn der Taster für "Auf" (HMI oder Hardware) gedrückt wird, dreht der Motor hoch, bis der obere Endschalter meldet: "Tor ist ganz OBEN". Analog verhält es sich mit der Abwärtsbewegung. Der wichtigste Aspekt ist der STOP-Befehl: Eine mehrfache ODER-Bedingung sorgt dafür, dass das Tor stoppt, wenn entweder der Stop-Taster gedrückt wird ODER eine Person durch die Lichtschranke läuft. Zur Überwachung liefert das Tor immer den genauen aktuellen Schritt (Position) an ein Display zurück. Außerdem kann ich (Ronnie) mich selbst in das Tor stellen und es wäre super nett von dir, wenn mit das Tor nicht auf den Zeh fährt :-)...
Programmiertipps:
-
- Hardware & Software parallel: Nutze, wie im Programm zu sehen, die UND/ODER Verknüpfungen intensiv, um HMI-Eingaben vom PC und echte Tastereingaben (A1, A2 etc.) absolut gleichwertig zu behandeln.
-
5. WC Licht und Lüfter
Betritt man den Raum, schaltet man das Licht an. Um Energie zu sparen und Geräusche zu minimieren, springt der Lüfter erst nach einer gewissen Zeit an. Verlässt man den Raum, geht das Licht sofort aus, aber der Lüfter läuft zur Entlüftung noch etwas nach.
Beschreibung des Programmes:
Dieses Programm demonstriert perfekt die Nutzung von Timern (Stoppuhren). Wird der Schalter betätigt (SIM oder PIN), wird eine Einschaltverzögerung (TON) gestartet. Ist diese Zeit (hier 5 Sekunden) abgelaufen, geht der Lüfter an. Schaltet man das Licht wieder aus, startet die Ausschaltverzögerung (TOF). Auch hier läuft die Stoppuhr, und der Lüfter wird erst nach Ablauf der Nachlaufzeit ausgeschaltet.
Programmiertipps:
-
- Stoppuhren: Wenn eine Bedingung nicht mehr erfüllt ist (z. B. Licht aus), musst du die zugehörige Einschalt-Stoppuhr sofort "stoppen" und "zurücksetzen". Vergisst du das, laufen die Zeiten heimlich weiter und die Anlage reagiert beim nächsten Betreten fehlerhaft.
-
6. Parkhaus
Folgt noch.
F. Simulation ohne Blockly nutzen (I/O Manager)
Du schreibst lieber echten C++ oder Python Code und möchtest Blockly nicht nutzen? Gar kein Problem! Die Simulation funktioniert komplett autark und kommuniziert über serielle Strings. Der Kern der Datenverarbeitung ist der IO Manager io_manager.py. Die Simulation verbindet sich über deinen COM-Port mit einer Baudrate von 115200.
Das Protokoll funktioniert in zwei Richtungen:
1. Senden vom Arduino zum PC (Ausgänge der Simulation):
Dein Code muss in der Loop-Schleife permanent diesen String an den PC schicken: OUT:d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,a0,a1\n Es handelt sich um 15 digitale Zustände (0 oder 1) und 2 analoge Werte. Die Zuordnung (welcher Wert z.B. das Tor oder die Ampel steuert) entnimmst du einfach der Seitenleiste in der Simulation.
2. Empfangen vom PC zum Arduino (Eingänge der Simulation): Die Simulation schickt permanent den aktuellen Zustand ihrer virtuellen Taster und Sensoren zu dir: IN:d0,d1,d2,d3,d4,d5,d6,d7,a0,a1\n Es kommen 8 digitale und 2 analoge Eingänge (wie z.B. der Pressdruck oder die Schrittmotor-Position) bei dir an. Diesen String musst du in deinem Code nur einlesen, bei den Kommas splitten und die Variablen entsprechend für deine Logik verwenden.















