LogicKiste – Block Referenzhandbuch
Hier findest du die vollständige Dokumentation aller verfügbaren Programmierblöcke der LogicKiste. Jeder Block ist genau beschrieben, inklusive Hinweisen zur Kompatibilität für deine Arduino-Hardware.
1. Kategorie: Board
Arduino Programmstruktur arduino_main
Beschreibung: Das zwingende Grundgerüst für dein Programm. Enthält das Setup (wird einmalig ausgeführt) und die Loop-Schleife (wird endlos wiederholt).
Praxis Beispiel: Initialisiere Sensoren im Setup und lese sie im Loop aus.
Hinweis: Darf nur einmal im Programm vorkommen!
R3 kompatibel: JA
PC Interrupt board_pc_interrupt
Beschreibung: Unterbricht das laufende Programm sofort, sobald sich der Zustand an einem Pin ändert. Perfekt, um keine schnellen Signale zu verpassen.
Praxis Beispiel: Auslesen eines schnellen Dreh-Encoders oder Durchflussmessers.
Hinweis: Keine langen Delays innerhalb dieses Blocks verwenden.
R3 kompatibel: JA
Kommentar kommentar
Beschreibung: Fügt einen Text-Kommentar in deinen Workspace ein. Dieser wird beim Kompilieren direkt als C++ Kommentar übernommen.
Praxis Beispiel: Dokumentiere dir, dass Pin 4 für das Hauptrelais zuständig ist.
R3 kompatibel: JA
2. Kategorie: Steuerung
WENN (If) logic_if
Beschreibung: Führt den enthaltenen Code nur aus, wenn die angegebene Bedingung WAHR ist.
Praxis Beispiel: WENN der Taster gedrückt ist, schalte die LED ein.
R3 kompatibel: JA
WENN / SONST logic_if_else
Beschreibung: Wie der WENN-Block, bietet aber einen alternativen Code-Pfad an, falls die Bedingung FALSCH ist.
Praxis Beispiel: WENN es dunkel ist -> Licht an, SONST -> Licht aus.
R3 kompatibel: JA
Wiederhole X-mal loop_repeat
Beschreibung: Eine Zählschleife, die den Code exakt so oft ausführt, wie du als Zahl vorgibst.
Praxis Beispiel: Lasse einen Piezosummer 3-mal piepen.
R3 kompatibel: JA
Zähle mit (For) loop_for
Beschreibung: Erhöht eine Zählvariable von einem Startwert bis zu einem Endwert. Nützlich für Tabellen oder Arrays.
Praxis Beispiel: Schalte nacheinander die LEDs an den Pins 2 bis 9 ein.
R3 kompatibel: JA
Solange (While) ard_loop_while
Beschreibung: Wiederholt den Code so lange, wie eine Bedingung erfüllt bleibt. Vorsicht vor Endlosschleifen!
Praxis Beispiel: Pumpe so lange Wasser, bis der Schwimmerschalter auslöst.
R3 kompatibel: JA
Verzweigung (Switch) ard_switch
Beschreibung: Prüft eine Variable auf verschiedene exakte Werte. Effizienter als viele verschachtelte WENN-Abfragen.
Praxis Beispiel: Baue eine Menüführung: Wert 1 = Setup, Wert 2 = Run, Wert 3 = Stop.
R3 kompatibel: JA
Fall (Case) ard_case
Beschreibung: Definiert einen einzelnen, konkreten Wert, auf den die Switch-Verzweigung reagieren soll.
R3 kompatibel: JA
Standardfall (Default) ard_default
Beschreibung: Der Notfall-Zweig der Switch-Verzweigung. Wird ausgeführt, wenn kein einziger "Fall" gepasst hat.
R3 kompatibel: JA
2b. Kategorie: Zeit & Multitasking
--- Warten ---
Warte ms (Delay) delay_ms
Beschreibung: Pausiert den kompletten Controller für Millisekunden. In dieser Zeit reagiert das Board auf nichts.
Praxis Beispiel: Halte das Programm für 1000ms an.
Hinweis: Blockiert den Programmfluss!
R3 kompatibel: JA
Warte µs delay_micros
Beschreibung: Pausiert extrem kurz im Mikrosekunden-Bereich. Wichtig für sehr schnelle Signale oder Sensor-Protokolle.
R3 kompatibel: JA
--- Systemzeit ---
Systemzeit (millis) ard_time_sys
Beschreibung: Liefert die Zeit in Millisekunden zurück, die vergangen ist, seit der Arduino gestartet wurde.
R3 kompatibel: JA
--- Stoppuhr ---
Stoppuhr definieren stopwatch_define
Beschreibung: Erstellt eine interne Stoppuhr, um Zeitspannen zu messen, ohne das Programm zu blockieren.
R3 kompatibel: JA
Stoppuhr Befehl stopwatch_command
Beschreibung: Steuert die definierte Stoppuhr (Start, Stop, Reset).
R3 kompatibel: JA
Stoppuhr lesen stopwatch_read
Beschreibung: Liest den aktuell gemessenen Wert der Stoppuhr aus.
R3 kompatibel: JA
--- Blinker ---
Blinker Setup ard_blinker_define
Beschreibung: Definiert ein Multitasking-Blinkintervall. Ersetzt das fehleranfällige Arbeiten mit "delay".
R3 kompatibel: JA
Blinker ausführen ard_blinker
Beschreibung: Prüft kontinuierlich im Loop, ob die Zeit für einen Blink-Wechsel gekommen ist.
R3 kompatibel: JA
Blinker Zustand lesen ard_blinker_get
Beschreibung: Fragt ab, ob der Blinker-Takt aktuell auf HIGH oder LOW steht.
R3 kompatibel: JA
--- Interne RTC ---
RTC Setup ard_rtc_setup
Beschreibung: Startet die interne Echtzeituhr.
Hinweis: Nutzt die spezielle Hardware der neuen Boards!
R3 kompatibel: NEIN (Nur R4)
RTC Lesen ard_rtc_read
Beschreibung: Ruft die aktuelle Uhrzeit oder das Datum aus der internen Uhr ab.
R3 kompatibel: NEIN
RTC Schreiben ard_rtc_write
Beschreibung: Stellt die interne Uhr auf einen von dir gewählten Zeitpunkt ein.
R3 kompatibel: NEIN
3. Kategorie: Eingänge
--- Standard Pins ---
Setup Pullup ard_setup_pullup
Beschreibung: Aktiviert den internen Widerstand des Controllers. Taster schalten dadurch sauber gegen GND (Masse).
R3 kompatibel: JA
Digital Lesen ard_read_digital
Beschreibung: Liest den Zustand eines Pins als HIGH oder LOW aus.
R3 kompatibel: JA
Analog Lesen read_analog
Beschreibung: Wandelt eine Spannung an Pin A0-A5 in einen Zahlenwert um (0-1023).
R3 kompatibel: JA
Analog Glätten analog_smooth
Beschreibung: Nimmt mehrere Messungen vor und berechnet den Durchschnitt. Filtert unruhige Sensorsignale.
R3 kompatibel: JA
--- Taster & Zähler ---
Zähler / Entprellen input_counter
Beschreibung: Zählt saubere Tasten-Klicks hoch, ohne dass "Prellen" (mechanisches Flackern) zu Fehlzählungen führt.
R3 kompatibel: JA
Rotary Encoder input_encoder
Beschreibung: Liest die Drehrichtung eines Endlos-Drehgebers (Encoder) fehlerfrei aus.
R3 kompatibel: JA
--- Sensoren ---
DHT Sensor read_dht
Beschreibung: Liest Temperatur und Luftfeuchtigkeit von einem DHT11 oder DHT22 Sensor.
Hinweis: DHT Bibliothek wird im Hintergrund geladen.
R3 kompatibel: JA
Ultraschall read_ultrasonic
Beschreibung: Sendet einen Schallimpuls und berechnet anhand der Echo-Laufzeit die Distanz in Zentimetern (HC-SR04).
R3 kompatibel: JA
Gyro Setup (MPU6050) gyro_setup
Beschreibung: Initialisiert den I2C-Lagesensor.
R3 kompatibel: JA
Gyro Lesen gyro_read
Beschreibung: Ruft die aktuellen Neigungswinkel (X, Y, Z) des MPU6050 ab.
R3 kompatibel: JA
RFID Setup (RC522) ard_rfid_setup
Beschreibung: Startet den SPI-Bus für das RFID Chip-Kartenlesegerät.
R3 kompatibel: JA
RFID Karte prüfen ard_rfid_on_card
Beschreibung: Prüft, ob gerade ein Chip auf das Lesegerät gelegt wurde.
R3 kompatibel: JA
RFID ID auslesen ard_rfid_get_id
Beschreibung: Liest die einmalige Seriennummer (UID) des aufgelegten Chips aus.
R3 kompatibel: JA
4. Kategorie: Ausgänge
--- Standard Pins ---
Digital Schreiben write_digital
Beschreibung: Schaltet die Spannung an einem Pin ein (HIGH) oder aus (LOW).
R3 kompatibel: JA
PWM / Analog Out write_analog
Beschreibung: Erzeugt ein Pulsweiten-Signal zum Dimmen von LEDs oder Regeln von Motoren (0-255).
Hinweis: Nur an Pins mit dem Wellen-Symbol (~) möglich.
R3 kompatibel: JA
Ton ausgeben output_tone
Beschreibung: Lässt einen Piezo-Buzzer in einer bestimmten Frequenz (Herz) klingeln.
R3 kompatibel: JA
--- Motoren ---
Servo Position out_servo
Beschreibung: Bewegt einen Modellbau-Servo direkt auf einen Winkel zwischen 0 und 180 Grad.
R3 kompatibel: JA
Servo Rampe out_servo_ramp
Beschreibung: Fährt den Servo langsam und weich an die Zielposition.
R3 kompatibel: JA
Servo Attach/Detach out_servo_attach / detach
Beschreibung: Aktiviert oder schaltet den Servo-Motor stromlos.
R3 kompatibel: JA
Stepper Setup & Move stepper_*
Beschreibung: Definiert und verfährt einen Schrittmotor exakt um die angegebene Anzahl an Steps.
R3 kompatibel: JA
--- Licht & Matrix ---
NeoPixel Setup & Befehle neopixel_*
Beschreibung: Steuert einzeln adressierbare WS2812 RGB-LEDs über die FastLED Bibliothek. Vergiss nicht den `neopixel_show` Block zum Anzeigen!
R3 kompatibel: EINGESCHRÄNKT (Arbeitsspeicher beachten!)
R4 Onboard Matrix r4_matrix_*
Beschreibung: Steuert die 12x8 LED-Matrix an, die direkt auf deinem Arduino Uno R4 WiFi verbaut ist. Hier lassen sich Symbole, Pixel und Text abspielen.
Hinweis: Exklusiv für R4 Hardware.
R3 kompatibel: NEIN
MAX7219 Matrix max7219_*
Beschreibung: Betreibt klassische 8x8 LED-Punktmatrizen über den SPI-Bus für Laufschriften und Symbole.
R3 kompatibel: JA
--- Displays ---
I2C LCD Display setup_lcd_i2c / out_lcd_*
Beschreibung: Textausgabe auf den Standard 16x2 oder 20x4 LCD Bildschirmen.
R3 kompatibel: JA
TFT Color Displays tft_setup_*
Beschreibung: Zeichnet bunte Formen und Grafiken auf ST7735 oder ILI9486 Bildschirmen.
R3 kompatibel: EINGESCHRÄNKT (RAM Limit)
TM1637 (4-Digit) ard_visu_tm1637_*
Beschreibung: Kompakte 4-stellige 7-Segment-Anzeige. Ideal für digitale Uhren oder kleine Zähler.
R3 kompatibel: JA
TM1638 Mod 1 & Mod 2 ard_visu_tm1638_*
Beschreibung: Steuert große Platinen mit 8 Segmentanzeigen, 8 LEDs und 8 Tastern. Bietet Abfrageblöcke für das Tastaturfeld.
R3 kompatibel: JA
OLED 128x64 ard_oled_*
Beschreibung: Textbasiertes SSD1306 Display. Dank der Ascii-Bibliothek sehr speicherschonend.
R3 kompatibel: JA
5. Kategorie: Logik & Mathematik
Vergleichen ard_logic_compare
Beschreibung: Vergleicht zwei Werte miteinander (größer, kleiner, gleich). Gibt WAHR oder FALSCH aus.
R3 kompatibel: JA
Verknüpfen (UND/ODER) ard_logic_operation
Beschreibung: Kombiniert zwei Bedingungen. (Taster1 gedrückt UND Taster2 gedrückt).
R3 kompatibel: JA
Umkehren (NICHT) ard_logic_negate
Beschreibung: Dreht einen Zustand um. Aus WAHR wird FALSCH.
R3 kompatibel: JA
Grundrechenarten ard_math_arithmetic
Beschreibung: Plus, Minus, Mal, Geteilt.
R3 kompatibel: JA
Umskalieren (Map) ard_math_map
Beschreibung: Wandelt einen Wertebereich in einen anderen um. Z.b. Poti (0-1023) in Servo-Winkel (0-180).
R3 kompatibel: JA
Zufallszahlen ard_math_random_*
Beschreibung: Generiert eine unvorhersehbare Zahl in deinem angegebenen Bereich.
R3 kompatibel: JA
Erweiterte Mathe math_*
Beschreibung: Pi, Wurzeln, Potenzen und Typkonvertierungen (Single/Double).
R3 kompatibel: JA
6. Kategorie: Variablen & Tabellen
Text / Zahl Literal var_text_literal
Beschreibung: Ein festgeschriebener Text oder eine feste Zahl, die du an andere Blöcke andocken kannst.
R3 kompatibel: JA
Deklarieren & Setzen var_declare / var_set
Beschreibung: Erschafft einen neuen Speicherplatz (Deklarieren) und füllt ihn mit Werten (Setzen).
R3 kompatibel: JA
Interrupt Variable var_declare_interrupt
Beschreibung: Deklariert eine Variable als "volatile". Das ist zwingend nötig, wenn die Variable im PC Interrupt Block verändert wird!
R3 kompatibel: JA
Tabellen / Arrays array_declare / _read / _write
Beschreibung: Legt eine Liste von Werten an. Du kannst gezielt auf Platz 1, Platz 2 usw. zugreifen.
Praxis Beispiel: Speichere 5 gemessene Temperaturwerte in einer Reihe.
R3 kompatibel: JA
7. Kategorie: Unterprogramme
Funktion definieren ard_function_define
Beschreibung: Lagert Code aus dem Haupt-Loop in einen eigenen Container aus. Das macht den Code übersichtlich.
R3 kompatibel: JA
Funktion aufrufen ard_function_call
Beschreibung: Springt aus dem Loop in dein Unterprogramm und führt den dortigen Code aus.
R3 kompatibel: JA
Funktion mit Rückgabe ard_function_*_return
Beschreibung: Wie oben, aber am Ende des Unterprogramms wird dir ein errechneter Wert (z.B. eine Zahl) an den Haupt-Loop zurückgeschickt.
R3 kompatibel: JA
8. Kategorie: Erweitert
--- Serial ---
Serial Console ard_serial_*
Beschreibung: Startet die Kommunikation zum PC. Ideal, um Fehler zu suchen und Variablen im Seriellen Monitor am PC anzuzeigen.
R3 kompatibel: JA
--- Flash / EEPROM ---
EEPROM Lesen/Schreiben ard_eeprom_*
Beschreibung: Speichert Werte dauerhaft ab. Sie bleiben auch erhalten, wenn der Arduino vom Strom getrennt wird.
R3 kompatibel: JA
--- SD Karte ---
SD Karte ard_sd_*
Beschreibung: Erlaubt das Beschreiben und Auslesen von Micro-SD Karten über ein SPI-Modul (Daten-Logger).
R3 kompatibel: JA
--- C++ Notausgang ---
Eigener Code ard_custom_code_*
Beschreibung: Falls dir ein Block fehlt, kannst du hier puren C++ Code direkt in die LogicKiste eintippen. Wahlweise global oder inline.
R3 kompatibel: JA
9. Kategorie: WLAN
WLAN Setup web_setup
Beschreibung: Konfiguriert dein R4 Board als Access-Point oder verbindet es mit dem Heimnetzwerk.
Hinweis: Nur für WLAN fähige Boards.
R3 kompatibel: NEIN
Webserver Listen web_listen
Beschreibung: Horcht im Hintergrund permanent auf eingehende Anfragen vom Browser oder Smartphone.
R3 kompatibel: NEIN
Feste IP vergeben web_ip
Beschreibung: Weist dem Arduino eine statische Adresse zu.
Hinweis: In diesem System ist als Standard-IP immer die 192.168.0.50 vorgesehen!
R3 kompatibel: NEIN
Status / Verbindung web_status_read
Beschreibung: Gibt zurück, ob das Board erfolgreich mit dem Router verbunden ist.
R3 kompatibel: NEIN
Daten zum Web web_digital_write / web_analog_write
Beschreibung: Sendet Sensorwerte oder Schalter-Zustände aktiv an die Webseite, die vom Board gehostet wird.
R3 kompatibel: NEIN
Daten vom Web web_digital_read / web_analog_read
Beschreibung: Empfängt Befehle von der Webseite (z.B. Button auf dem Smartphone gedrückt), um Hardware am Arduino zu schalten.
R3 kompatibel: NEIN