User Tools

Site Tools


arduino:wio-de

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
arduino:wio-de [2020/12/12 00:24] – [DCC-Generator] rainerkarduino:wio-de [2024/03/20 15:04] (current) – [I/O Extender PCF8574] rjversluis
Line 1: Line 1:
 [[:arduino:wio-fr|{{ icons:fr.png|French Version}}]][[:arduino:wio-de|{{ icons:de.png|Deutsche Version}}]][[:arduino:wio-en|{{ icons:uk.png|English Version}}]] [[:arduino:wio-fr|{{ icons:fr.png|French Version}}]][[:arduino:wio-de|{{ icons:de.png|Deutsche Version}}]][[:arduino:wio-en|{{ icons:uk.png|English Version}}]]
-======WIO - Fahrtregler - 32 I/O - LEDs - Servos - RFID - Displays - DCC======+======WIO - Firmware======
 [[:german|{{ :hardware.png}}]][[:german|{{ :rocrail-logo-35.png}}]] [[:german|{{ :hardware.png}}]][[:german|{{ :rocrail-logo-35.png}}]]
 [[:german|Inhalt]] -> [[:hardware-de#arduino|Arduino]] [[:german|Inhalt]] -> [[:hardware-de#arduino|Arduino]]
-  * [[arduino:wio-overview-de|WIO-Übersicht]] | [[:arduino:wio-setup-de|WIO-Konfiguration]] | [[:arduino:wioctrl-de|WIO Control]] | [[:arduino:amp-de|Benutzer-Bitmaps]] | **[[:arduino:wio-de|WIO-Firmware]]** | [[:arduino:wio-cam-de|WIO CAM]] | [[:arduino:wio-mobile-de|WIO Mobil]] | [[:arduino:wio-cable-en|Kabel]] (en) | [[:wio:wio-ledscript-en|LEDScript]] (en)+  * [[arduino:wio-overview-de|WIO-Übersicht]] | [[:arduino:wio-setup-de|WIO-Konfiguration]] | [[:arduino:wioctrl-de|WIO Control]] | [[:arduino:amp-de|Benutzer-Bitmaps]] | **[[:arduino:wio-de|WIO-Firmware]]** | [[:arduino:wio-mobile-de|WIO Mobil]] | [[:arduino:wio-cable-de|Kabel]] | [[:wio:wio-ledscript-en|LEDScript]] (en)
   * [[:arduino:wio-rascii-en|WIO RASCII]] (en) | [[:arduino:wio-canprot-en|WIO CAN Protocol]] (en)   * [[:arduino:wio-rascii-en|WIO RASCII]] (en) | [[:arduino:wio-canprot-en|WIO CAN Protocol]] (en)
    
Line 9: Line 9:
  \\  \\
 =====Einführung===== =====Einführung=====
-Diese Lösung basiert auf ESP8266/ESP32-Familie.\\+Dieses Projekt ist auf die Plattformen ESP8266ESP32 und RP2040 ausgerichtet.\\ 
 +Der Quellcode ist nur verfügbar, um ihn auf dem Zielgerät flashen zu können, wenn keine andere Methode möglich ist.\\ 
 +Das Forken oder Manipulieren des Quellcodes ist NICHT erlaubt und urheberrechtlich geschützt.\\ 
  
 Sie kann verwendet werden als: Sie kann verwendet werden als:
Line 31: Line 34:
  
 ====Unterstützte Boards==== ====Unterstützte Boards====
-  * Lolin D1 Mini+  * Lolin/Wemos D1 Mini ESP 8266
   * Lolin D32   * Lolin D32
   * ESP32 Dev Module   * ESP32 Dev Module
   * ESP32 CAM Module   * ESP32 CAM Module
  
-====Verwendete ESP-Stifte====+====Verwendete Stifte====
 Stift-Zuordnung in ''Pins.cpp'' prüfen: Stift-Zuordnung in ''Pins.cpp'' prüfen:
   * https://gitlab.com/rocrail/wio/-/blob/master/Pins.cpp   * https://gitlab.com/rocrail/wio/-/blob/master/Pins.cpp
Line 54: Line 57:
  \\  \\
  
-=====Arduino IDE 1.8.12===== +=====Arduino IDE=====
-:!: 1.8.11 funktioniert nicht! Wenn das BasicOTA-Beispiel nicht kompiliert wird ... \\ +
-  * https://www.arduino.cc/en/Main/OldSoftwareReleases#previous +
 Die Arduino IDE mit folgenden Boards und Bibliotheken vorbereiten: Die Arduino IDE mit folgenden Boards und Bibliotheken vorbereiten:
 ====Boardverwalter===== ====Boardverwalter=====
 Im Einstelldialog bei "Zusätzliche Boardverwalter-URLs" die folgende URL hinzufügen: Im Einstelldialog bei "Zusätzliche Boardverwalter-URLs" die folgende URL hinzufügen:
 <code> <code>
-https://arduino.esp8266.com/stable/package_esp8266com_index.jsonhttps://dl.espressif.com/dl/package_esp32_index.json+https://arduino.esp8266.com/stable/package_esp8266com_index.json 
 +https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json 
 +https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
 </code> </code>
 {{ :arduino:board-manager-en.png?300}} {{ :arduino:board-manager-en.png?300}}
-Und die ESP8266 Board-Bibliothek installieren.\\+Und die ESP8266 und ESP32 Board-Bibliotheken installieren.\\
 ====Board-Auswahl==== ====Board-Auswahl====
 {{ :arduino:lolin-ide-board.png?240}} {{ :arduino:lolin-ide-board.png?240}}
Line 73: Line 75:
 ===ESP8266 & ESP32=== ===ESP8266 & ESP32===
   * ESP8266 (Board Manager)   * ESP8266 (Board Manager)
-  * Wire (I2C) +  * Adafruit NeoPixel ​(WS2812)
-  * FastLED ​(WS2812)+
   * RotaryEncoder   * RotaryEncoder
   * MFRC522 ​(RC522)   * MFRC522 ​(RC522)
   * Servo   * Servo
   * ArduinoOTA   * ArduinoOTA
-  * MCP_CAN +  * mcp_can 
     * https://github.com/coryjfowler/MCP_CAN_lib     * https://github.com/coryjfowler/MCP_CAN_lib
     * [[:arduino:rcan-de#modifikationen|MCP_CAN Modifikationen]]     * [[:arduino:rcan-de#modifikationen|MCP_CAN Modifikationen]]
-  * NTPClient+  * SparkFun APDS9960 RGB and Gesture Sensor \\ Zeile 198 in Arduino/libraries/SparkFun_APDS9960.h muss von NA_STATE in NO_STATE geändert werden, da sie mit der WiFi RP2040-Bibliothek in Konflikt steht. Dieser Enum-Wert wird in der Arduino/libraries/SparkFun_APDS9960.cpp nicht verwendet. (Implementierung) 
 ===ESP32=== ===ESP32===
   * ESP32 (Board Manager)   * ESP32 (Board Manager)
Line 109: Line 111:
 | Einfach die "Upload-Geschwindigkeit" auf 460800 verringern, falls beim Hochladen des Sketch Kommunikationsfehler angezeigt werden. | | Einfach die "Upload-Geschwindigkeit" auf 460800 verringern, falls beim Hochladen des Sketch Kommunikationsfehler angezeigt werden. |
  \\  \\
-====SPIFFS==== +====FileSystem==== 
-2M SPIFFS-Größe auswählen:\\ +1M/2M FS-Größe auswählen:\\ 
-{{:arduino:arduino-esp8266-spiffs-2m.png?400}}\\ +{{:arduino:esp8266-fs-size.png?240}}\\ 
-SPIFFS ist ein Datei-System, das in WIO für das Hochladen von Benutzer-Bitmaps verwendet werden kann.\\+LittleFS ist ein Datei-System, das in WIO für das Hochladen von Benutzer-Bitmaps verwendet werden kann.\\
 Installieren des Arduino-IDE-Plugin für das Hochladen von Daten: Installieren des Arduino-IDE-Plugin für das Hochladen von Daten:
   * https://github.com/esp8266/arduino-esp8266fs-plugin   * https://github.com/esp8266/arduino-esp8266fs-plugin
  
-====Dunkles Thema==== 
-Wer ein Dunkles Thema für die Arduino-IDE wünscht: 
-  * https://github.com/konrad91/OneDarkArduino 
- 
- \\ 
 =====WIO-Sketch===== =====WIO-Sketch=====
-| //Copyright (c) 2002-2020 Robert Jan Versluis, Rocrail.net// |+| //Copyright (c) 2002-2022 Robert Jan Versluis, Rocrail.net// |
 WIO ist Firmware zur Steuerung von Fahrtregler, I2C, LEDs, Servos, RFID, Displays und DCC.\\ WIO ist Firmware zur Steuerung von Fahrtregler, I2C, LEDs, Servos, RFID, Displays und DCC.\\
-  * https://gitlab.com/rocrail/wio 
   * [[https://gitlab.com/rocrail/wio/-/archive/master/wio-master.zip|Download als Zip]]   * [[https://gitlab.com/rocrail/wio/-/archive/master/wio-master.zip|Download als Zip]]
 +  * Klonen des Repository: (WIO mit Großbuchstaben!)\\ <code>git clone https://gitlab.com/rocrail/WIO.git</code>
   * [[https://gitlab.com/rocrail/wio/-/network/master|Change Log]]   * [[https://gitlab.com/rocrail/wio/-/network/master|Change Log]]
-Der Quellcode ist öffentlich aber "nicht open source"-lizensiert und darf nur zum Kompilieren und Laden auf den LOLIN D1 Mini verwendet werden.+Der Quellcode ist öffentlich aber "nicht open source"-lizensiert und darf nur zum Kompilieren und Laden auf den LOLIN D1 Mini und D32 verwendet werden.\\
 \\ \\
 +__**WICHTIG**__
 +^ :!::!::!: Das Verzeichnis MUSS nach dem Entpacken des ZIP von "wio-master" in "WIO" umbenannt werden. :!::!::!: ^\\
 +Ohne Umbennen des Quellen-Hauptverzeichnisses sind die Quellen-Dateien in der Arduino-IDE unbrauchbar und ergeben nur eine Unmenge an Kompilierungsfehlern!\\
 + \\
 +(**Wichtig:** Das USB-Kabel muss ein Daten-Kabel sein, ein Nur-Lade-Kabel funktioniert nicht.)
 + \\
 + \\
 ====Binary==== ====Binary====
-{{ :arduino:esp-downloadtool.jpg?400}}+{{ :arduino:esp-downloadtool.jpg?400}}{{ :arduino:espressif_flash_tool_chip.jpg?150}}{{ :arduino:espressif_flash_tool.jpg?300}}
 Das Espressif-Tool verwenden, um das WIO-Binary hochzuladen. Das Espressif-Tool verwenden, um das WIO-Binary hochzuladen.
-  * [[https://gitlab.com/rocrail/wio/-/blob/master/WIO.ino.d1_mini.bin|WIO Binary]]+  * [[https://gitlab.com/rocrail/wio|WIO Binaries]]
   * [[https://www.espressif.com/en/support/download/other-tools|ESP Flash Download Tool]]   * [[https://www.espressif.com/en/support/download/other-tools|ESP Flash Download Tool]]
  
Line 159: Line 163:
 <code> <code>
 ------------------------------ ------------------------------
-revision=261 WIO 20200812a (c)Rocrail+revision=458 WIO (c)Rocrail 
 +192.168.100.175 RSSI=-52 
 +battery=186 
 +EEPROM size=3804 
 +Free heap=174271 
 +I/O state=00 00 00 00
 ------------------------------ ------------------------------
-Settings:+SPIFFS total=1345kb used=0kb 
 +file: Disco01.led size=110 
 +------------------------------ 
 +Configuration:
 ------------------------------ ------------------------------
 ssid1= ssid1=
Line 168: Line 180:
 pwd2= pwd2=
 server= server=
-port=8051 +name=[local
-name=[wio104+id=45 
-id=104 +io=i2cled  
-io=i2cdcc (master) +i2c=ooooooooiiiiiiii
-iostate=00 00 00 00 +
-i2c=oooooooobbbbbbbboooooooobbbbbbbb+
 steps=64 steps=64
 sleeptimer=5 sleeptimer=5
 pulse=5 pulse=5
 pwmsize=0 pwmsize=0
-options=0x00 0x01 0x18+options=0xC2 0x01 0x00 0x00
 booster=0 booster=0
 board=1 board=1
-display=0+display=3
 railcom=0 railcom=0
 id12=0 id12=0
 depart=0 depart=0
-stepper=0 3w=0 +stepper=0 
-canprot=1(1+canprot=0(0
-canio=1+canio=0
 canusb=0 canusb=0
 trace=0 trace=0
-SPIFFS total=1345kb used=0kb 
- 
-Change settings by typing: 
 ------------------------------ ------------------------------
-*ssid=<your WiFi SSID> 
-*pwd=<your WiFi password> 
-*server=<your Rocrail server IP/host> 
-*port=<your Rocrail server port> 
-*name=<Node name> 
-*id=<Node number> 
-*io=<throttle> or <i2cled> or <i2cservo> or <i2crfid> or <i2cdcc> or <i2cmobile> or <i2ccam> or <i2cbus> (reboot) 
-*i2c=<oooooooobbbbbbbboooooooobbbbbbbb> o=output, i=input, b=block, p=pulse 
-*steps=<number of rotary steps> 
-*pulse=<output pulse length in 100ms units> 
-*pwm=<mobile PWM size multiplier> 
-*boost=<booster option for i2cdcc type> 0=off 1=on (reboot) 
-*dccslave=<dccmode> 0=master 1=slave 
-*board=<board type> 0=D1 1=D32 2=DevMod 3=User (reboot) 
-*display=<display type> 0=96x16 1=128x32 2=128x64 3=132x64 
-*trace=<level> 0=info 1=debug 9=none 
-*canprot=<protocol> 0=MBUS 1=RCAN 
-*canio=<I/O over CAN> 0=no 1=yes 
 </code> </code>
  
Line 227: Line 216:
   - Wenn RailCom aktiviert wurde, schaltet die Baudrate automatisch auf 250000 und der serielle Monitor kann "nur lesen".   - Wenn RailCom aktiviert wurde, schaltet die Baudrate automatisch auf 250000 und der serielle Monitor kann "nur lesen".
   - Wenn ID12 aktiviert wurde, schaltet die Baudrate automatisch auf 9600 bit/s und der serielle Monitor kann "nur lesen".   - Wenn ID12 aktiviert wurde, schaltet die Baudrate automatisch auf 9600 bit/s und der serielle Monitor kann "nur lesen".
 +
 +Grundsätzliche Verbindungs-Einstellung kann auch über die Registerkarte __**[[:arduino:wio-setup-de#wartung_maintenance|Wartung]]**__ des WIO Einstelldialogs erfolgen.\\
  
 |< >| |< >|
Line 232: Line 223:
 | ?  | Zeigt die momentanen Einstellungen und wie sie geändert werden. | | ?  | Zeigt die momentanen Einstellungen und wie sie geändert werden. |
 | !  | Auflistung des verwendeten Flash-Speichers. | | !  | Auflistung des verwendeten Flash-Speichers. |
-| *ssid=<value> | Setzt die WiFi-Access-Point SSID. | - | Primäre SSID | +| *sod | Erzwingt Start of Day |*scan | List all available WiFi APs | 
-| *pwd=<value> | Setzt das WiFi-Passwort. Ein WiFi-Neuverbindung wir gestartet. | - | Primäres WiFi-Passswort | +| *scan | Listet alle verfügbaren WiFi APs | 
-| *ssid2=<value> | Setzt die WiFi-Access-Point SSID. | - | Alternative SSID | +| *ssid1=<value>​ | Setzt die WiFi-AP SSID. | - | Primäre SSID (max. 30 Zeichen) |  
-| *pwd2=<value> | Setzt das WiFi-Passwort. Ein WiFi-Neuverbindung wir gestartet. | - | Alternatives WiFi-Passswort | +| *pwd1=<value> | Setzt das WiFi-Passwort. Ein WiFi-Neuverbindung wir gestartet. | - | Primäres WiFi-Passswort (max. 30 Zeichen) 
-| *server=<value> | Setzt die Rocrail-Server-IP oder den Namen. | - | Kann ein CSV von max. 32 Zeichen sein. (1.71+) \\ Ggf. auch 2 alternative Server-IPs oder -Namen. \\ Beispiele: "192.168.1.110,192.168.100.5" \\ oder "​mba2019,​win2019"+| *ssid2=<value> | Setzt die WiFi-Access-Point SSID. | - | Alternative SSID (max. 30 Zeichen) 
-| *port=<value> | Setzt den Rocrail-Server-Port. | 8051 |+| *pwd2=<value> | Setzt das WiFi-Passwort. Ein WiFi-Neuverbindung wir gestartet. | - | Alternatives WiFi-Passswort (max. 30 Zeichen) 
 +| *server=<value> | Setzt die Rocrail-Server-IP oder den Namen. | - | Kann ein CSV von max. 30 Zeichen sein. (1.71+) \\ Ggf. auch 2 alternative Server-IPs oder -Namen. \\ Beispiele: "192.168.1.110,192.168.100.5" \\ oder "​mba2019,​win2019" \\ Wenn auf "auto" gesetzt ist, hat das den gleichen Effekt, wie der "autoserver"-Parameter.
 +| *autoserver=<value> | Setzt die Rocrail-Server-Auto-Suche mit R2RNet. | siehe USERCNF.h -> ENABLE_R2RNET | 0=off, 1=on |
 | *name=<value> | Optionaler Node-Name. | - | | *name=<value> | Optionaler Node-Name. | - |
 | *id=<value> | Node-Nummer/Fahrtregler-ID; Muss eindeutig sein . | 33 | | *id=<value> | Node-Nummer/Fahrtregler-ID; Muss eindeutig sein . | 33 |
Line 261: Line 254:
 | b | Block: Eingang mit 2 Sekunden Aus-Verzögerung. | | b | Block: Eingang mit 2 Sekunden Aus-Verzögerung. |
 | p | Pulse: Ausgang mit autom. Aus. | | p | Pulse: Ausgang mit autom. Aus. |
 +(Block ist ein Input welcher erst Low meldet nachdem es 2 Sekunden stabil Low gewesen ist, wie es bei einem Gleisbesetztmelder sein sollte.)
 +\\
 +\\
  
 ===IO-Typ-Konfiguration=== ===IO-Typ-Konfiguration===
Line 267: Line 263:
 | throttle |  -  |  -  |  -  |  -  |  -  |  -  | | throttle |  -  |  -  |  -  |  -  |  -  |  -  |
 | i2cled |  JA  |  JA  |  Nein  |  Nein  |  JA  |  Nein  | | i2cled |  JA  |  JA  |  Nein  |  Nein  |  JA  |  Nein  |
-| i2cservo |  JA  |  Nein  |  JA|  Nein  |  JA|  Nein  | +| i2cservo |  JA  |  Nein  |  JA  |  Nein  |  JA  |  Nein  | 
-| i2crfid |  JA|  Nein  |  Nein  |  JA  |  JA  |  Nein  |+| i2crfid |  JA  |  Nein  |  Nein  |  JA  |  JA  |  Nein  |
 | i2cdcc |  JA  |  Nein  |  Nein  |  Nein  |  JA  |  JA  | | i2cdcc |  JA  |  Nein  |  Nein  |  Nein  |  JA  |  JA  |
  
- \\ 
-====Grundeinstellung mit WEB-Browser==== 
-|< >| 
-|  //Beim DCC-WIO-Typ nicht aktiviert.//  | 
-Der WIO fungiert als sehr kleiner Zugangspunkt (AP = Access Point), um eine Verbindung herzustellen und die Grundeinstellung ohne seriellen Monitor durchzuführen. \\ 
-Der WIO-AP-Name ist wie folgt formatiert: "WIO<id>.<name>" (Standard: WIO33.local)\\ 
-Die WIO-APs werden aufgelistet und können ausgewählt werden:\\ 
-|{{:arduino:win10-aps.png?0x280}}|{{:arduino:wio-ap.png?0x280}}| 
-|  Netzwerkauswahl  |  WIO-AP-Webseite  |\\ 
-Das AP-Standard-**Passwort** ist "12345678", welches in der USERCNF.h geändert werden kann.\\ 
-Nach dem Herstellen der Verbindung zum WIO kann die Grundeinstellung mit einem WEB-Browser unter folgender URL geändert werden: 
-<code> 
-http://192.168.4.1 
-</code> 
-Nach **Submit** versucht der WIO automatisch, die WLAN- und Rocrail-Server-Verbindung wiederherzustellen.\\ 
-Der AP wird gestoppt nach: 
-  * einem **Submit**. 
-  * 2 Minuten Leerlauf. 
  \\  \\
 ====OTA Updating==== ====OTA Updating====
Line 301: Line 279:
  
  \\  \\
 +====OTA von Grund auf neu==== 
 +  * __**[[arduino:wio-setup-de#ota_von_grund_auf_neu|WIO mit OTA von Grund auf neu installieren]]**__
 =====RIC - Fahrtregler===== =====RIC - Fahrtregler=====
 | **Hinweis:** RIC wird in der Firmware nicht mehr unterstützt und durch [[:arduino:wioctrl-en|WIO Control]] ersetzt.| | **Hinweis:** RIC wird in der Firmware nicht mehr unterstützt und durch [[:arduino:wioctrl-en|WIO Control]] ersetzt.|
Line 357: Line 336:
 Der Analog-Eingang prüft die Batterie-Spannung.\\ Der Analog-Eingang prüft die Batterie-Spannung.\\
 Wenn die Spannung unter einen bestimmten Wert kommt, sendet der LOLii automatisch ein Geschwindigkeit-Null-Befehl zur Lok und einen Freigabe-Befehl.\\ Wenn die Spannung unter einen bestimmten Wert kommt, sendet der LOLii automatisch ein Geschwindigkeit-Null-Befehl zur Lok und einen Freigabe-Befehl.\\
-Die LED geginnt sehr schnelles Blinken, solange die Batterie nicht vollständig entladen ist.\\+Die LED beginnt sehr schnelles Blinken, solange die Batterie nicht vollständig entladen ist.\\
 ===Servererkennung=== ===Servererkennung===
-|  UDP-Multicast entleert den Heap-Speicherplatz und ist daher deaktiviert. +Wenn beim Rocrail-Server R2RNet auf Multicast-Adresse 224.0.1.20 aktiviert ist, kann WIO den Servernamen / die IP-Adresse abrufen, um automatisch eine Verbindung zum Client-Port 8051 herzustellen.\\
-<del>Wenn beim Rocrail-Server R2RNet auf Multicast-Adresse 226.0.0.aktiviert ist, kann der LOLii den Servernamen / die IP-Adresse abrufen, um automatisch eine Verbindung zum 8051-Client-Port herzustellen.</del>\\+
  
  \\  \\
Line 366: Line 344:
   * Verbindet direkt mit dem Rocrail-Server-Client-Port 8051. Siehe **[[https://forum.rocrail.net/viewtopic.php?p=207808#p207808|Forum-Beitrag]]**   * Verbindet direkt mit dem Rocrail-Server-Client-Port 8051. Siehe **[[https://forum.rocrail.net/viewtopic.php?p=207808#p207808|Forum-Beitrag]]**
   * Wiederherstellung von WiFi- und Server-Verbindung.   * Wiederherstellung von WiFi- und Server-Verbindung.
-  * 32 Digital-I/O, kompatibel mit allen GCA-Schnittstellen.+  * 32 Digital-I/O, MCP23017, kompatibel mit allen GCA-Schnittstellen.
     * Eingang     * Eingang
     * Ausgang     * Ausgang
Line 385: Line 363:
   * Ausgangs-/Weichen-Befehle werden bestätigt, nachdem sie verarbeitet wurden. (Blink-Ausgänge werden nicht bestätigt.)   * Ausgangs-/Weichen-Befehle werden bestätigt, nachdem sie verarbeitet wurden. (Blink-Ausgänge werden nicht bestätigt.)
   * Eingangs-Ereignisse müssen innerhalb 100ms bestätigt werden. Nach dieser Zeitüberschreitung werden sie erneut gesendet. (Max. 5 Wiederholungen.)   * Eingangs-Ereignisse müssen innerhalb 100ms bestätigt werden. Nach dieser Zeitüberschreitung werden sie erneut gesendet. (Max. 5 Wiederholungen.)
 + \\
 +====I/O Extender PCF8574P====
 +Bis zu 4 Stück I/O-Extender Typ PCF8574 können als Alternative zu 2 Stück von MCP23017 verwendet werden.
 +  - 0x20 und 0x21 sollten nicht als I2C-Slave-IDs verfügbar sein. (Keine MCP23017's installiert.)
 +  - Die Slave-ID's der PCF8574 sollten mit 0x22 beginnen.
  
 +**Achtung:** //Check for the correct type to match the 0x20 base address: PCF8574P or PCF857T. (The PCF8574A type starts with base address 0x38.)//\\
  
- \\+\\
 ====Adressierung==== ====Adressierung====
 |< >| |< >|
Line 406: Line 390:
 Für Weichen mit mehr als einem Port wird die nächste Adresse für den Weichenbefehl verwendet. \\ Für Weichen mit mehr als einem Port wird die nächste Adresse für den Weichenbefehl verwendet. \\
 Wenn sich also an Port 1 eine Doppelspulen-Weiche befindet, sollte Port 2 nicht verwendet werden. Die zweite Weiche geht dann an Port 3. \\ Wenn sich also an Port 1 eine Doppelspulen-Weiche befindet, sollte Port 2 nicht verwendet werden. Die zweite Weiche geht dann an Port 3. \\
-Beide I2C-Ausgänge müssen vom Typ 'p' Pulse sein. \\+Beide I2C-Ausgänge werden automatisch als Typ 'p' Pulse verwendet. \\
 Mögliche Hardware: Mögliche Hardware:
   * **[[:mgv76-de|GCA76]]**   * **[[:mgv76-de|GCA76]]**
Line 434: Line 418:
   - Schnittstelle -> Adresse setzt die LED-Nummer   - Schnittstelle -> Adresse setzt die LED-Nummer
   - Schnittstelle -> Port-Typ: LED   - Schnittstelle -> Port-Typ: LED
-  - Schnittstelle -> Steuerungs-Typ: Begriffs-Nummern (Max. 6 Sub-LEDs -> 2 x WS2812) +  - Schnittstelle -> Steuerungs-Typ: Begriffs-Nummern (Max. 6 Sub-LEDs -> 2 x WS2812/WS2811
-  - Helligkeit+  - Schnittstelle -> Helligkeit setzt Helligkeit  
 +  - Schnittstelle -> Dimmen (0…15) setzt die Dimm-Schritte (Überblenden). Ein Wert von Null deaktiviert Dimmen.
 Die Begriffs-Werte sind mit __**[[:rocnet:rocnetnode-led-de#signal-unterstuetzung|RocNetNode Pi08]]**__ kompatibel. (WIO version 0.81+)\\ Die Begriffs-Werte sind mit __**[[:rocnet:rocnetnode-led-de#signal-unterstuetzung|RocNetNode Pi08]]**__ kompatibel. (WIO version 0.81+)\\
  
 +====Signale====
 +  - Schnittstelle -> WIO-Kennung: Bus
 +  - Schnittstelle -> Adresse setzt den LED-Offset 
 +  - Schnittstelle -> Port-Typ: Ausgang
 +  - Schnittstelle -> Steuerungs-Typ: Begriffs-Nummern 
 +Die Begriffs-Werte sind mit __**[[:rocnet:rocnetnode-led-de#signal-unterstuetzung|RocNetNode Pi08]]**__ kompatibel. (WIO version 0.81+)\\
 +\\
 +
 +====Charlieplexing Signal Support====
 +
 +Nur verfügbar auf [[:wio:wio03-io16-en|WIOesp32 16 I/O]], [[:wio:wiopico-io16-en|WIOpico 16 I/O]], WIOpico, [[:wio:wiopico-en|SIOpico]]\\
 +Ein Rocrail-Signal mit Steueraspekten und Porttyp-Multiplex verwendet 4 Pins, beginnend mit dem Port-Offset.\\
 +Die Wiederholfrequenz beträgt ca. 4000 Hz.\\
 +Aspektwerte werden aus der Registerkarte „Einzelheiten“ verwendet. Es werden 24 Bit verwendet, die oberen 12 Bit sind zum Blinken.\\
 +Beispiel: LED 1 und 2 an und LED 2 blinkend: 0x002003 -> Aspektwert = 8195 \\
 +
 +Ein zweites Signal am Mast kann in Rocrail mit Adresse + 100 definiert werden, um es mit dem Hauptsignal zu kombinieren.\\
 +
 +Helligkeit setzt Helligkeit, es können nur Werte zwischen 200-255 verwendet werden. Ein Wert < 200 wird auf 200 gesetzt.\\
 +Ein überblenden mit Dimmen ist nicht möglich.\\
 +
 +^ LED Nummber for Viessmann Multiplex Signal^^^^^^^^^
 +|LED|Pin+|Pin-|1|2|3|4|Viessmann| |
 +|1|1|2|H|L| | |Vr_Ge_O|Vorsignal  gelb  oben |
 +|2|1|3|H| |L| |Hp_Rt_R|Hauptsignal rot  rechts |
 +|3|1|4|H| | |L|Hp_Rt_L|Hauptsignal rot  links |
 +|4|2|1|L|H| | |Vr_Gr_O|Vorsignal  grün oben |
 +|5|2|3| |H|L| |Vr_Gr_u|Vorsignal grün unten |
 +|6|2|4| |H| |L| | |
 +|7|3|1|L| |H| |Hp_Ge|Hauptsignal gelb |
 +|8|3|2| |L|H| |Vr_Ge_U|Vorsignal gelb unten |
 +|9|3|4| | |H|L|Hp_Ws_L|Hauptsignal weiß links |
 +|10|4|1|L| | |H|Hp_Gr|Hauptsignal grün |
 +|11|4|2| |L| |H| | |
 +|12|4|3|||L|H|Hp_Ws_R|Hauptsignal weiß rechts |
 +
 +
 +Für eine korrekte Anzeige des Hauptsignals bei Rot und Rangieren muss das Vorsignal ausgeblendet werden. \\
 +Der Helligkeitswert im Haupt- und Vorsignal muss identisch sein. \\
 +
 +Multiplexeingänge von Viessmann, Ansicht von unten auf den Stecker. \\
 +{{:wio:viessmann-stecker.png?200|}}
 +
 + \\
 ====Servos==== ====Servos====
-{{ :arduino:servo.jpg?200}}{{ :arduino:servo-pwm.png?200}}+{{ :arduino:servo.jpg?200}} {{ :arduino:servo-pwm.png?200}}
 Die Adressierung ist die gleiche, wie bei normalen Ausgängen.\\ Die Adressierung ist die gleiche, wie bei normalen Ausgängen.\\
-|< >| +^ Steuerung ^ Ausgang ^ Weiche ^ Signal ^ Segment Drehscheibe ^ Bereich ^ 
-^ Steuerung ^ Ausgang ^ Weiche ^ Bereich ^ +| WIO | Schnittstellenkennung = "WIO" | Schnittstellenkennung = "WIO" | Schnittstellenkennung = "WIO" | Schnittstellenkennung = "WIO" | - | 
-| WIO | Schnittstellenkennung = "WIO" | Schnittstellenkennung = "WIO" | - | +| WIO-Kennung | Knoten-ID | Knoten-ID | Knoten-ID | Knoten-ID | 1...255 | 
-| WIO-Kennung | Node ID (Bus) Node ID (Bus) | 1...255 | +| Servo-Port | Adresse | Adresse | Adresse | Adresse | 1...4 | 
-| Servo-Port | Adresse | Adresse | 1...4 | +| Zusätzliche Option | - | Einzel-Ausgang ON | - | - | 
-| Zusätzliche Option | - | Einzel-Ausgang ON | - | +| Steuerung | - | - | Begriffs-Nummern | - | - | 
-| Position 1 | Parameter Ein | Parameter | 0...180° | +| Position 1 | Parameter Ein | Parameter | Rot Begriff 0 **((Signal-Dialog, Registerkarte "Einzelheiten", Eingabedialog "Wert" mit {{:icons:threedotbutton.png?25}} öffnen. \\ Den Wert des Servowinkels im Dezimalfeld eingeben __und mit Enter bestätigen__.))** |  - | 0...180° | 
-| Position 2 | Parameter Aus | Wert | 0...180° | +| Position 2 | Parameter Aus | Wert | Grün Begriff 1 **((Signal-Dialog, Registerkarte "Einzelheiten", Eingabedialog "Wert" mit {{:icons:threedotbutton.png?25}} öffnen. \\ Den Wert des Servowinkels im Dezimalfeld eingeben __und mit Enter bestätigen__.))** |  - | 0...180° 
-| Geschwindigkeit | Verzögerung | Schaltzeit | 1...10 | +| Position | - | - | - | Decoder Gleisnummer | PWM 500...2500 ²
-| Ziel | Port Typ "Servo" | Port Typ "Servo" | - |+| Geschwindigkeit | Verzögerung | Schaltzeit | Dimmen | Schrittverzögerung | 1...10 | 
 +| Ziel | Port Typ "Servo" | Port Typ "Servo" | Port Typ "Servo" | Type wioservo | - | 
 +² Achtung zu hohe oder niedrige Werte können den Servo beschädigen mit PWM 1500 = 0° beginnen. 
  
 +  * **Hinweis:** Die Positions-Werte 0...180° werden als PMW-Werte (Duty Cycle) von 700...2300 µs ausgegeben. \\ Ggf. sind Winkelwerte an die Servo-Eigenschaften anzupassen.  
  \\  \\
 ====RFID==== ====RFID====
 {{ :arduino:wio-spi-rfid.jpg?240}} {{ :arduino:wio-spi-rfid.jpg?240}}
 |  //Sicherstellen, dass keine Servos und LEDs angeschlossen sind, wenn auf RFID umgestellt wird.//  | |  //Sicherstellen, dass keine Servos und LEDs angeschlossen sind, wenn auf RFID umgestellt wird.//  |
 +Mit WIO Type I/O16 nicht möglich, hier bitte ID-12LA verwenden.
  
-  - Zwei [[https://www.sunrom.com/p/mifare-rfid-readerwriter-1356mhz-rc522|Mifare RFID RC522]]-Leser werden unterstützt.+  - Zwei RFID RC522-Leser werden unterstützt.
   - Es werden 5 zusätzliche Ports benötigt; Servos sind parallel nicht möglich.   - Es werden 5 zusätzliche Ports benötigt; Servos sind parallel nicht möglich.
   - Melde-Adressen sind 100 und 101. (In Rocrail 101 und 102.)   - Melde-Adressen sind 100 und 101. (In Rocrail 101 und 102.)
   - Automatisches Rückmelder-Aus-Ereignis nach 1500ms. (Bis dahin muss es vom Server bestätigt sein.)   - Automatisches Rückmelder-Aus-Ereignis nach 1500ms. (Bis dahin muss es vom Server bestätigt sein.)
   - Viermaliges Wiederholen bis zur Bestätigung, bevor aufgeben wird.   - Viermaliges Wiederholen bis zur Bestätigung, bevor aufgeben wird.
 +
 +\\ 
 +
  
 |< >| |< >|
-^ Signal ^ D1 Mini ^ RFID RC522 ^+^ Signal ^ D1 Mini 8266 / Lolin D32 ^ RFID RC522 ^
 | Slave Select 1 | D3 | 1 (SDA) Leser 1 | | Slave Select 1 | D3 | 1 (SDA) Leser 1 |
 | Slave Select 2 | D0 | 1 (SDA) Leser 2 | | Slave Select 2 | D0 | 1 (SDA) Leser 2 |
Line 470: Line 507:
 | MOSI | D7 | 3 (MOSI) | | MOSI | D7 | 3 (MOSI) |
 | MISO | D6 | 4 (MISO) | | MISO | D6 | 4 (MISO) |
 +\\
 +
 +====ID-12LA====
 +{{  :arduino:rfid-card-antenna.jpg?200}} {{  :arduino:id12la-pin6-led-taginrange.jpg?200}} \\
 +Optional kann ein RFID-Leser vom Typ [[http://id-innovations.com|ID-12LA]] an den RX-Stift angeschlossen werden, der Tags erkennen kann, die an Rocrail gemeldet werden.\\
 +Der Tag wird als **[[:sensor-gen-de#kennung|Rückmelder-Kennung]]** oder **[[:sensor-int-de#uid-name|UID-Name]]** verwendet, **[[:can-gc4-de#rfid-schreibweise|dezimal punkt-formatiert]]**.\\
 +Die **[[:gca_rfid-de|GCA-RFID-Platine]]** kann für Montage und Anschluss des ID-12LA verwendet werden.\\
 +__Der serielle Monitor wird auf 9600 Bit/s gesetzt.__\\
 +**Hinweis 1:** Dies ist für das Scannen von Tags zwischen den Schienen, um Rocrail wissen zu lassen, wo das fahrende Fahrzeug ist.\\
 +**Hinweis 2:** Tags verwenden, die schnell reagieren.\\
  
  \\  \\
Line 488: Line 535:
 | D8 | LEDs (FastLED) | | D8 | LEDs (FastLED) |
 --></html> --></html>
 +
 +====Stifte S88====
 +|< >|
 +^ ESP8266 ^ ESP32 ^ PicoW ^ Verwendung ^
 +| D0 | 12 | 10 | PS |
 +| D5 | 17 | 11 | Reset |
 +| D6 | 26 | 12 | Takt |
 +| D7 | 27 | 13 | Daten |
 +
 + \\
 +
  
 ====Display SSD1306/SH1106==== ====Display SSD1306/SH1106====
-{{:arduino:wio-oled-128x32.jpg?0x160}}{{:cbus:display-goes.jpg?0x160}}\\+|{{:arduino:wio-oled-128x32.jpg?0x160}}|{{:arduino:f8.jpg?0x160}}
 +|  Beispiel.  |  {f8} auf einem SH1106 Display.  |
 An I2C können zwei Displays vom Typ SSD1306 mit den I2C-Adressen 0x3C und 0x3D angeschlossen werden.\\ An I2C können zwei Displays vom Typ SSD1306 mit den I2C-Adressen 0x3C und 0x3D angeschlossen werden.\\
 Formatierter Text ist mit **[[:rocnet:rocdisplay-en#text_format|RocDisplay]]** kompatibel.\\ Formatierter Text ist mit **[[:rocnet:rocdisplay-en#text_format|RocDisplay]]** kompatibel.\\
Line 498: Line 557:
 Der Bus wird für die WIO-Kennung verwendet und die Display-Nummer für die Auswahl zwischen 1 und 2. (0x3C oder 0x3D)\\ Der Bus wird für die WIO-Kennung verwendet und die Display-Nummer für die Auswahl zwischen 1 und 2. (0x3C oder 0x3D)\\
 Der Adress-Wert wird nicht verwendet.\\ Der Adress-Wert wird nicht verwendet.\\
 +===Multiplexing===
 +Bis zu 8 Displays können mit **[[:wio:wio-displaymultiplex-en|Display-Multiplexing]]** (en) verwendet werden.\\
 ===Unterstützte Formatierung=== ===Unterstützte Formatierung===
 Formatierungsbefehle sind in geschweiften Klammern eingeschlossen. Formatierungsbefehle sind in geschweiften Klammern eingeschlossen.
Line 507: Line 568:
 ^ Befehl ^ Parameter ^ Beschreibung ^ Hinweis ^ ^ Befehl ^ Parameter ^ Beschreibung ^ Hinweis ^
 | {B#} | #=0-99999999 | Liest eine AMP-Datei, "#.amp", von SPIFFS und zeichnet die Bitmap an der aktuellen Position. | | {B#} | #=0-99999999 | Liest eine AMP-Datei, "#.amp", von SPIFFS und zeichnet die Bitmap an der aktuellen Position. |
-| {B'//name//'} | AMP-Datei //name// | Liest eine AMP-Datei, "//name//.amp", von SPIFFS und zeichnet die Bitmap an der aktuellen Position. | Der Name muss zwischen einfachen Anführungszeichen stehen. |+| {B'//name//'} oder {B[name]} | AMP-Datei //name// | Liest eine AMP-Datei, "//name//.amp", von SPIFFS und zeichnet die Bitmap an der aktuellen Position. | Der Name muss zwischen eckigen Klammern((für Rocview bevorzugt)) oder einfachen Anführungszeichen stehen. |
 | E | - | Lösche Display-Puffer. Ein zusätzliches {P} wird für das Löschen des Display benötigt. | | E | - | Lösche Display-Puffer. Ein zusätzliches {P} wird für das Löschen des Display benötigt. |
 | {F#} | #=0-2 | Font-Auswahl. 0=7x5 1=6x5w 2=6x5n | Font 5x5 wird nicht unterstützt, weil es nicht lesbar ist. | | {F#} | #=0-2 | Font-Auswahl. 0=7x5 1=6x5w 2=6x5n | Font 5x5 wird nicht unterstützt, weil es nicht lesbar ist. |
 | {H#} | #=0-255 | Setzt den Display-Kontrast. | | {H#} | #=0-255 | Setzt den Display-Kontrast. |
 | {I#} | #=0-1 | Invertiert das Display. 0=normal 1=invertiert | | {I#} | #=0-1 | Invertiert das Display. 0=normal 1=invertiert |
-| {L#} | #=0-3 | Gehe zur Zeile. Der Bereich ist von der Displaygröße abhängig. | +| {L#} | #=0-3 | Gehe zur Zeile. Der Bereich ist von der Displaygröße abhängig. (Y = L * 8) 
-| P | - | Puffer zum Display kopieren | +| P | - | Puffer zum Display kopieren |  
-| {R#} | #=0,2 | Legt die Drehung der Anzeige fest. 0=0° 2=180° |+| {R#} | #=0,2 | Legt die Drehung der Anzeige fest. 0=0° 2=180° | Siehe auch **[[:arduino:wio-setup-de#display|Display Konfiguration]]** 
 | {?V} | - | Zeige Firmware-Version. | | {?V} | - | Zeige Firmware-Version. |
 | {X#} | #=0-127 | Gehe zur Spalte. Der Bereich ist von der Displaygröße abhängig. | | {X#} | #=0-127 | Gehe zur Spalte. Der Bereich ist von der Displaygröße abhängig. |
 | {Y#} | #=0-32 | Gehe zur Reihe. Der Bereich ist von der Displaygröße abhängig. | | {Y#} | #=0-32 | Gehe zur Reihe. Der Bereich ist von der Displaygröße abhängig. |
 ^ Neue Befehle ^ Parameter ^ Beschreibung ^ ^ Neue Befehle ^ Parameter ^ Beschreibung ^
-| {c#} | #=0-16 | Zeichnet eine Analog-Uhr mit dem angegebenen Radius an der aktuellen Position. | +| {c#} | #=1-16 | Zeichnet eine Analog-Uhr mit dem angegebenen Radius an der aktuellen Position. | Nur eine (Modellzeit)-Uhr je Display wird aktualisiert. | 
-| {g#} | #=0,**1**,2,3 | Setzt die Display-Geometrie. 0=96x16, 1=128x32, 2=128x64, 3=SH1106 ​(1 ist Standard) | Dies dient nur zu Testzwecken. Um CPU-Last zu sparen, die Option **[[#monitor-befehle|display]]** setzen. |+| {g#} | #=0,**1**,2,3 | Setzt die Display-Geometrie. 0=96x16, 1=128x32, 2=128x64, 3=SH1106 ​(1 ist Standard) | Dies dient nur zu Testzwecken. Um CPU-Last zu sparen, die Option **[[#monitor-befehle|display]]** setzen. \\  Siehe auch **[[:arduino:wio-setup-de#display|Display Konfiguration]]** |
 | {i} | - | Invertierten Text umschalten. | | {i} | - | Invertierten Text umschalten. |
 | {s#} | #=1-x | Zeichnet Lauftext mit einer Anzeige-Breite von # Zeichen an der aktuellen Position. | Beispiel: {s12}Scrolling text to show...{s} | | {s#} | #=1-x | Zeichnet Lauftext mit einer Anzeige-Breite von # Zeichen an der aktuellen Position. | Beispiel: {s12}Scrolling text to show...{s} |
 | {d} | - | Eine Textzeile herunterscrollen. | | {d} | - | Eine Textzeile herunterscrollen. |
-| {f} | - | 7-Segment-Modellzeituhr. |+| {f#} | #=1-| 7-Segment-Modellzeituhr. | Nur eine (Modellzeit)-Uhr je Display wird aktualisiert. | 
 +| {f7} | - | Benutzerdefinierte Modellzeituhr. Benötigte Dateien: ''0.amp...9.amp'' und ''colon.amp'' | Beispieldaten: {{:arduino:f7.zip}} \\ Max. Dateigröße ist 1024 Bytes pro ''amp''. \\ ''DISPLAY_FASTCLOCK'' muss in der ''USERCNF.h'' auf ''true'' gesetzt sein. | 
 +| {f8} | - | wie {f7} aber mit führender Null. | Beispiel: 08:22 anstatt von 8:22|
 | {p} | - | Displays wechseln. | | {p} | - | Displays wechseln. |
 +| {l#,#} | - | Zeichnet eine Linie von X,Y nach #,# |
 +| {r#,#} | - | Zeichnet ein Rechteck links oben X,Y nach rechts unten #,# |
 +| {z#} | - | Zeichnet einen Kreis mit Mittelpunkt und Radius # |
 +| {x#,#} | - | Zeichnet ein Pixel an #,# |
 +| {+} | - | [[:arduino:wio-ampchar-en|Verwendet große Zeichen vom Datei-System.]] | Die Zeichen sind auf dem Datei-System im "amp"-Format. Beispiel: ''3.amp'' |
 +| {-} | - | Große Zeichen beenden. |
 +
 **Hinweis:** //Wenn die Geometrie nicht standardmäßig ist, 128x32, **MUSS** der Text mit einem {gn}-Befehl beginnen, damit die richtige Geometrie ausgewählt wird.//\\ **Hinweis:** //Wenn die Geometrie nicht standardmäßig ist, 128x32, **MUSS** der Text mit einem {gn}-Befehl beginnen, damit die richtige Geometrie ausgewählt wird.//\\
  
  \\  \\
 +
 ====7-Segment Display HT16K33 ==== ====7-Segment Display HT16K33 ====
 {{ :arduino:adafruit-ht16k33.jpg?200}} {{ :arduino:adafruit-ht16k33.jpg?200}}
Line 583: Line 654:
 ^ Stift ^ Verwendung ^ H-Brücke ^ Bemerkung ^ ^ Stift ^ Verwendung ^ H-Brücke ^ Bemerkung ^
 | D0 | Licht vorne | | Kabine 1 | | D0 | Licht vorne | | Kabine 1 |
-D0 | Licht hinten | | Kabine 2 |+D3 | Licht hinten | | Kabine 2 |
 | D5 | Motor-Aktivierung | ENA | RC ESC((**R**emote **C**ontrol - **E**lectronic **S**peed **C**ontroller \\ = Elektronik-Fahrtregler aus dem Modellbau-Bereich)) Servo-PWM | | D5 | Motor-Aktivierung | ENA | RC ESC((**R**emote **C**ontrol - **E**lectronic **S**peed **C**ontroller \\ = Elektronik-Fahrtregler aus dem Modellbau-Bereich)) Servo-PWM |
 | D6 | PWM für Vorwärts-Richtung | IN 1 | | | D6 | PWM für Vorwärts-Richtung | IN 1 | |
Line 596: Line 667:
 Ein **E**lectronic **S**peed **C**ontroller, ESC, an Stift D5 kann auch zur Steuerung des Motors verwendet werden, wenn diese Option auf Eins gesetzt ist.\\ Ein **E**lectronic **S**peed **C**ontroller, ESC, an Stift D5 kann auch zur Steuerung des Motors verwendet werden, wenn diese Option auf Eins gesetzt ist.\\
 Hinweis: __**Nur Masse und PWM anschliessen, falls der ESC einen [[https://de.wikipedia.org/wiki/Battery_Eliminator_Circuit|Battery Eliminator Circuit]] unterstützt.**__\\ Hinweis: __**Nur Masse und PWM anschliessen, falls der ESC einen [[https://de.wikipedia.org/wiki/Battery_Eliminator_Circuit|Battery Eliminator Circuit]] unterstützt.**__\\
- 
-====ID-12LA==== 
-{{  :arduino:rfid-card-antenna.jpg?200}}{{ http://id-innovations.com/httpdocs/assets/immage/id12new.jpg}} 
-Optional kann ein RFID-Leser vom Typ [[http://id-innovations.com|ID-12LA]] an den RX-Stift angeschlossen werden, der Tags erkennen kann, die an Rocrail gemeldet werden.\\ 
-Der Tag wird als **[[:sensor-gen-de#kennung|Rückmelder-Kennung]]** oder **[[:sensor-int-de#uid-name|UID-Name]]** verwendet, **[[:can-gc4-de#rfid-schreibweise|dezimal punkt-formatiert]]**.\\ 
-Die **[[:gca_rfid-de|GCA-RFID-Platine]]** kann für Montage und Anschluss des ID-12LA verwendet werden.\\ 
-__Der serielle Monitor wird auf 9600 Bit/s gesetzt.__\\ 
-**Hinweis 1:** Dies ist für das Scannen von Tags zwischen den Schienen, um Rocrail wissen zu lassen, wo das fahrende Fahrzeug ist.\\ 
-{{  :arduino:id12la-pin6-led-taginrange.jpg?400}} 
-**Hinweis 2:** Tags verwenden, die schnell reagieren.\\ 
  
  \\  \\
Line 634: Line 695:
 ====Sound==== ====Sound====
 Sound kann auf ESP32-Baugruppen durch Verwenden eines der DAC((**D**igital-**A**nalog-**C**onverter))-Stifte (GPIO25 oder GPIO26) abgespielt werden.\\ Sound kann auf ESP32-Baugruppen durch Verwenden eines der DAC((**D**igital-**A**nalog-**C**onverter))-Stifte (GPIO25 oder GPIO26) abgespielt werden.\\
 +Der ''USER_SOUND'' in der ''USERCNF.h'' muss auf ''true'' gestellt sein:
 +<code>
 +// Sound
 +#define USER_SOUND          true
 +</code>
 +
 Unterstütztes [[https://de.wikipedia.org/wiki/RIFF_WAVE|RIFF-Wave]]-Format: Unterstütztes [[https://de.wikipedia.org/wiki/RIFF_WAVE|RIFF-Wave]]-Format:
   * PCM-Typ   * PCM-Typ
Line 659: Line 726:
 |< >| |< >|
 ^ WIO-02 ^ 4-Draht ^ 3-Draht ^ Hinweis ^ ^ WIO-02 ^ 4-Draht ^ 3-Draht ^ Hinweis ^
-Servo 5 | IN1 | CLK+ | +32 | IN1 | CLK+ | 
-Servo 6 | IN2 | DIR+ | +13 | IN2 | DIR+ | 
-Servo 7 | IN3 | ENABLE+ | +| IN3 | ENABLE+ | 
-Servo 8 | IN4 | - | +15 | IN4 | - | 
-DA1     | -   | | Hall/Reed-Kalibrier-Sensor | +25     | -   | | Hall/Reed-Kalibrier-Sensor | 
 | EP1-1   | GND | CLK-,DIR-,ENABLE- | | EP1-1   | GND | CLK-,DIR-,ENABLE- |
 | -       | VCC | 12 - 45V DC | Externe Stromversorgung | | -       | VCC | 12 - 45V DC | Externe Stromversorgung |
Line 674: Line 741:
 | Adresse | 1 | //fest// | | Adresse | 1 | //fest// |
 | Beleuchtungen  | 1...32 | Optionale Beleuchtung der Brücken-Kabine. \\ Digitaler Ausgangs-Port auf demselben WIO-02. | | Beleuchtungen  | 1...32 | Optionale Beleuchtung der Brücken-Kabine. \\ Digitaler Ausgangs-Port auf demselben WIO-02. |
 +| Fahrstufen | 0-16777215 | Anzahl der Schritte für eine 360°-Drehung. \\ Im Fall eines 28BYJ-48: 4096 Schritte. |
 +| Korrektur | 0-255 | Zum Ausgleich des Getriebespiels. |
 +| Schrittverzögerung | 1-10 | Größe der Start- und Verzögerungsrampe |
 +| Offset | -32767...+32767 | Kalibrierungs-Korrektur in Schritten. |
 | Typ | wio | | Typ | wio |
-Dekoderschritte Anzahl der Schritte für eine 360°-Drehung. \\ Im Fall eines 28BYJ-48: 4096 Schritte. |+Drehgeschwindigkeit 0-100% |
 //Die Anzahl der Schritte für eine Drehscheiben-Drehung wird zur Berechnung des kurzen Weges benötigt.//\\ //Die Anzahl der Schritte für eine Drehscheiben-Drehung wird zur Berechnung des kurzen Weges benötigt.//\\
  \\  \\
Line 734: Line 805:
 <code>Loco [ICE-CAM] reports RFID event 56:101 [4.102.181.114.9.64.128] ON</code> <code>Loco [ICE-CAM] reports RFID event 56:101 [4.102.181.114.9.64.128] ON</code>
 Die gemeldete RFID muss zu einer __**[[:sensor-gen-de#kennung|Rückmelder-Kennung]]**__ in Rocrail passen.\\ Die gemeldete RFID muss zu einer __**[[:sensor-gen-de#kennung|Rückmelder-Kennung]]**__ in Rocrail passen.\\
-Die Adresse dieses Rückmelder muss auf Null eingestellt sein.\\+Der Rückmelder muss in Rocrail eine eindeutige Adresse ungleich Null haben.\\
 Die Kennung muss in dieser __**[[:can-gc4-de#rfid-schreibweise|RFID-Schreibweise]]**__ eingestellt sein.\\ Die Kennung muss in dieser __**[[:can-gc4-de#rfid-schreibweise|RFID-Schreibweise]]**__ eingestellt sein.\\
 Für das Kopieren dieser Kennung können die Rocrail-Traces oder der __**[[:sensormon-de|Rückmelder-Monitor]]**__ verwendet werden. Für das Kopieren dieser Kennung können die Rocrail-Traces oder der __**[[:sensormon-de|Rückmelder-Monitor]]**__ verwendet werden.
Line 769: Line 840:
 === Lösung === === Lösung ===
 Sicherstellen, dass zeitgleich mit dem WIO auch alle angeschlossenen I2C-Module eingeschaltet sind. \\ Sicherstellen, dass zeitgleich mit dem WIO auch alle angeschlossenen I2C-Module eingeschaltet sind. \\
 +
 +====macOS "Big Sur"====
 +===Upload tool ESP8266===
 +  * https://forum.arduino.cc/index.php?topic=702144.0
 +
 +===Upload tool ESP32===
 +  * https://github.com/espressif/esptool/issues/540
 +
 +
 +
 +=====Programmieren WIO-Binary mit Arduino IDE-Tools=====
 +|< >|
 +|  Arduino IDE 1.8.16  |
 +
 +====macOS "Big Sur"====
 +===ESP8266===
 +<code>
 +export WIOBIN=~/Downloads/WIO.ino.d1_mini.bin
 +
 +/Users/$USER/Library/Arduino15/packages/esp8266/tools/python3/3.7.2-post1/python3 \
 +/Users/$USER/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.1/tools/upload.py \
 +--chip esp8266 --port /dev/cu.usbserial-110 --baud 921600 --before default_reset --after hard_reset write_flash 0x0 $WIOBIN
 +</code>
 +===ESP32===
 +<code>
 +~/Library/Arduino15/packages/esp32/tools/esptool_py/3.1.0/esptool \
 +--chip esp32 \
 +--port /dev/cu.usbserial-01B9FA0C \
 +--baud 921600 \
 +--before default_reset \
 +--after hard_reset write_flash \
 +-z \
 +--flash_mode dio \
 +--flash_freq 80m \
 +--flash_size 4MB \
 +0x10000 WIO.ino.d1_mini32.bin
 +</code>
 +
 +
 +
 +====Windows 10====
 +<code>
 +set WIOBIN=\Users\%USERNAME%\Downloads\WIO.ino.d1_mini.bin
 +
 +C:\Users\%USERNAME%\AppData\Local\Arduino15\packages\esp8266\tools\python3\3.7.2-post1/python3 -I C:\Users\%USERNAME%\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2/tools/upload.py --chip esp8266 --port COM3 --baud 921600 --before default_reset --after hard_reset write_flash 0x0 %WIOBIN%
 +</code>
 +
 +====PiOS-64 "Buster"====
 +<code>
 +export WIOBIN=/home/$USER/Downloads/WIO.ino.d1_mini.bin
 +
 +/home/$USER/.arduino15/packages/esp8266/tools/python3/3.7.2-post1/python3 -I /home/$USER/.arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/upload.py --chip esp8266 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash 0x0 $WIOBIN 
 +</code>
 +
 +
  
  
arduino/wio-de.1607729078.txt.gz · Last modified: 2020/12/12 00:24 by rainerk