arduino:wio-fr
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
arduino:wio-fr [2019/11/10 10:30] – [Bibliothèques] phil45 | arduino:wio-fr [2024/04/12 15:29] (current) – [Bibliothèques] phil45 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ======W I O - Manette WiFi - 32 E/S - LEDs - Servos - RFID - OLED - DCC ====== | + | [[: |
- | [[: | + | [[: |
- | [[: | + | ====== Firmware WIO ====== |
- | | + | [[: |
- | \\ | + | [[: |
- | {{ :arduino:rici-proto.png? | + | * [[: |
- | ^ T r a v a i l - E n - C o u r s ^ | + | |
+ | * [[https:// | ||
\\ | \\ | ||
+ | |||
=====Introduction===== | =====Introduction===== | ||
- | Cette solution | + | Ce projet a pour cible les plateformes ESP8266, ESP32 et RP2040((Raspberry Pi PicoW)).\\ |
+ | Le code source n'est seulement disponible pour être capable de le charger | ||
+ | Bifurquer ou manipuler le code source N'EST PAS autorisé et est protégé par le droit d' | ||
Il peut être utilisé comme: | Il peut être utilisé comme: | ||
* Manette sans fil | * Manette sans fil | ||
- | ou comme interface E/S sans fil avec avec une des quatre options suivantes: | + | ou comme interface E/S sans fil avec: |
- | * 32 E/S | + | * 32 E/S I2C [[: |
- | * 2 afficheurs | + | * 2 afficheurs |
- | - Contrôle de LED basé sur les WS2812 | + | et une des options supplémentaires suivantes: |
+ | - Contrôle de LED WS2812 | ||
- 4 servos | - 4 servos | ||
- 2 lecteurs RC522 | - 2 lecteurs RC522 | ||
- Générateur DCC | - Générateur DCC | ||
+ | - PWM mobile, direction et lumières | ||
+ | et une des options suivantes: | ||
+ | * Lecteur RFID ID12LA 125kHz sur RX | ||
+ | * Lecteur RailCom sur RX | ||
- | \\ | + | ====Cartes supportées==== |
+ | * Lolin D1 Mini | ||
+ | * Lolin D32 | ||
+ | * ESP32 Module Dev | ||
+ | * ESP32 D1 Mini | ||
+ | ====Broches utilisées==== | ||
+ | Vérifiez la cartographie des broches dans Pins.cpp: | ||
+ | * https:// | ||
====Prospectus==== | ====Prospectus==== | ||
- | * https:// | + | * https:// |
+ | |||
+ | \\ | ||
+ | |||
+ | =====Attention===== | ||
+ | {{ : | ||
+ | - Le serveur Rocrail doit fonctionner sur un PC qui __ne__ doit __pas__ se mettre automatiquement en mode suspendre ou dormir en cas d' | ||
+ | - __Le routeur WiFi utilisé doit être configuré dans les règle de l'art; Utiliser uniquement du matériel maintenu.__ | ||
+ | - Soyer sûr que le SSID n'est pas visible pour prévenir tous trafic publique supplémentaire. | ||
+ | |||
+ | ^ L' | ||
+ | |||
\\ | \\ | ||
=====IDE Arduino===== | =====IDE Arduino===== | ||
- | //Testé avec la version 1.8.10// | + | Prépare |
- | Préparez | + | |
- | ====Gestionnaire de carte===== | + | ====Gestionnaire de cartes===== |
- | Ajouter dans la boite de dialogue Préférence à "URL de gestionnaire de cartes supplémentaires" | + | Ajouter dans la boite de dialogue Préférence à "Additional Boards Manager" |
< | < | ||
https:// | https:// | ||
+ | https:// | ||
</ | </ | ||
+ | |||
{{ : | {{ : | ||
- | Et installez la bibliothèque | + | Et installez la bibliothèque |
====Sélection de la carte==== | ====Sélection de la carte==== | ||
{{ : | {{ : | ||
'' | '' | ||
====Bibliothèques==== | ====Bibliothèques==== | ||
- | | + | ===ESP8266 & ESP32=== |
- | * Wire (I2C) | + | |
- | * FastLED | + | * Adafruit NeoPixel |
* Encodeur Rotatif | * Encodeur Rotatif | ||
* MFRC522 (RC522) | * MFRC522 (RC522) | ||
* Servo | * Servo | ||
+ | * ArduinoOTA | ||
+ | * mcp_can | ||
+ | * https:// | ||
+ | * [[: | ||
+ | * SparkFun APDS9960 RGB et capteur de geste \\ Ligne 198 dans le fichier Arduino/ | ||
- | ====Thème Dark==== | ||
- | Pour ceux qui veulent une thème Dark pour l'IDE Arduino: | ||
- | * https:// | ||
+ | ===ESP32=== | ||
+ | * ESP32 (Board Manager) | ||
+ | * ESP32Servo | ||
+ | * ESP32CAN | ||
+ | * https:// | ||
+ | |||
+ | __**Modifications ESP32CAN**__\\ | ||
+ | Le '' | ||
+ | Remplacer '' | ||
+ | <code c> | ||
+ | int CAN_write_frame(const CAN_frame_t *p_frame) { | ||
+ | if (sem_tx_complete == NULL) { | ||
+ | return -1; | ||
+ | } | ||
+ | |||
+ | // Write the frame to the controller | ||
+ | CAN_write_frame_phy(p_frame); | ||
+ | |||
+ | // wait for the frame tx to complete | ||
+ | int rc = xSemaphoreTake(sem_tx_complete, | ||
+ | return rc; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | | Juste descendre " | ||
\\ | \\ | ||
+ | |||
+ | ====Système de fichier==== | ||
+ | Sélectionner 1M FS size:\\ | ||
+ | {{: | ||
+ | LittleFS est un système de fichier qui peut être utilisé dans WIO pour télécharger les bitmaps et les scripts utilisateur.\\ | ||
+ | Installation du plugin Arduino IDE pour télécharger des données: | ||
+ | * https:// | ||
+ | |||
+ | |||
=====Sketch WIO===== | =====Sketch WIO===== | ||
- | | //Copyright (c) 2002-2019 Robert Jan Versluis, Rocrail.net// | + | | //Copyright (c) 2002-2022 Robert Jan Versluis, Rocrail.net// |
WIO est le firmware pour la manette de contrôle, l'I2C, les LEDs, les servos, les afficheurs et le DCC.\\ | WIO est le firmware pour la manette de contrôle, l'I2C, les LEDs, les servos, les afficheurs et le DCC.\\ | ||
- | | + | * [[https:// |
- | | + | * Cloner le dépôt: (WIO en capitales!)\\ < |
- | * [[https:// | + | * [[https:// |
- | Le code source est publique mais pas sous licence open source, et il ne peut être utilisé seulement pour le compiler et le charger dans le LOLIN D1 Mini.\\ | + | Le code source est publique mais pas sous licence open source, et il ne peut être utilisé seulement pour le compiler et le charger dans le LOLIN D1 Mini ou D32.\\ |
+ | __**IMPORTANT**__ | ||
+ | ^ :!::!::!: Le répertoire DOIT être renommé après la décompression du fichier ZIP à partir de " | ||
+ | Les sources ne sont pas utilisable dans l'IDE Arduino sans renommage du répertoire source principal, et n' | ||
+ | \\ | ||
+ | (**Important: | ||
+ | \\ | ||
+ | \\ | ||
====Binaire==== | ====Binaire==== | ||
- | {{ : | + | {{ : |
Utiliser l' | Utiliser l' | ||
- | * [[https://launchpad.net/rocrail/+download|Binaire WIO]] | + | * [[https://gitlab.com/rocrail/wio|Binaire WIO]] |
* [[https:// | * [[https:// | ||
+ | * :!: Ne pas décocher " | ||
====Sortie du compilateur==== | ====Sortie du compilateur==== | ||
Line 76: | Line 151: | ||
</ | </ | ||
- | ^ Pratfall: Beaucoup de câbles micro USB fournissent 5V et aucune donnée, et ne peuvent pas être utilisés pour la programmation. ^ | + | ^ Déconvenue: Beaucoup de câbles micro USB fournissent 5V et aucune donnée, et ne peuvent pas être utilisés pour la programmation. ^ |
- | La mise en place du WiFi peut être faite avec le moniteur série Arduino | + | La mise en place du WiFi peut être faite avec le moniteur série Arduino |
< | < | ||
# | # | ||
Line 91: | Line 166: | ||
La sortie après une commande ?:\\ | La sortie après une commande ?:\\ | ||
< | < | ||
- | Settings: | ||
------------------------------ | ------------------------------ | ||
- | version=0.85 WIO 20191031d | + | revision=458 WIO (c)Rocrail |
- | ssid=xxxxxxxx | + | 192.168.100.175 RSSI=-52 |
- | pwd=xxxxxxxx | + | battery=186 |
- | server=xxxxxxxx | + | EEPROM size=3804 |
- | port=8051 | + | Free heap=174271 |
- | name= | + | I/O state=00 00 00 00 |
- | id=33 | + | ------------------------------ |
- | io=i2cdcc | + | SPIFFS total=1345kb used=0kb |
- | i2c=ooooooooooooooooppppiiiibbbbbbbb | + | file: Disco01.led size=110 |
- | steps=50 | + | ------------------------------ |
- | pulse=50 | + | Configuration: |
- | display=22 | + | ------------------------------ |
- | dccsc=0 | + | ssid1= |
- | RSSI=-53 | + | pwd1= |
- | MCP23017 status: 0x20=OK 0x21=OK | + | ssid2= |
- | I2C device found at address 0x20 | + | pwd2= |
- | I2C device found at address 0x21 | + | server= |
- | I2C device found at address 0x3C | + | name=[local] |
- | I2C found 3 devices | + | id=45 |
- | loco1=0 loco2=3 active=0 | + | io=i2cled |
- | + | i2c=ooooooooiiiiiiii | |
- | Change settings by typing: | + | steps=64 |
+ | sleeptimer=5 | ||
+ | pulse=5 | ||
+ | pwmsize=0 | ||
+ | options=0xC2 0x01 0x00 0x00 | ||
+ | booster=0 | ||
+ | board=1 | ||
+ | display=3 | ||
+ | railcom=0 | ||
+ | id12=0 | ||
+ | depart=0 | ||
+ | stepper=0 | ||
+ | canprot=0(0) | ||
+ | canio=0 | ||
+ | canusb=0 | ||
+ | trace=0 | ||
------------------------------ | ------------------------------ | ||
- | *ssid=< | ||
- | *pwd=< | ||
- | *server=< | ||
- | *port=< | ||
- | *name=< | ||
- | *id=< | ||
- | *io=< | ||
- | *i2c=< | ||
- | *steps=< | ||
- | *pulse=< | ||
- | *display=< | ||
- | *dccsc=< | ||
</ | </ | ||
- | |||
- | |||
- | |||
====Configuration utilisateur==== | ====Configuration utilisateur==== | ||
- | Le fichier [[https:// | + | Le fichier [[https:// |
Les valeurs doivent être fixées avant la compilation et le téléchargement.\\ | Les valeurs doivent être fixées avant la compilation et le téléchargement.\\ | ||
Ensuite ces valeurs peuvent être changées avec les commandes via le moniteur.\\ | Ensuite ces valeurs peuvent être changées avec les commandes via le moniteur.\\ | ||
- | ====Les commandes | + | :!: Les valeurs dans les fichiers USERCNF.h sont uniquement utilisées, si il n'y a pas encore de configuration (nouveau dispositif).\\ |
+ | - Si les valeurs dans la mémoire flash d'un dispositif WIO existant doivent être remplacées par celles du fichier USERCNF.h, l' | ||
+ | - Si seulement le micrologiciel d'un périphérique WIO existant doit être mis à jour, sans changement de la configuration (par exemple les paramètres WLAN), configurez l'IDE Arduino-IDE à "Erase flash -> only Sketch" | ||
+ | ====Les commandes | ||
+ | Le moniteur série Arduino peut être utilisé à 115200 bps pour changer les réglages WIO.\\ | ||
+ | - Si RailCom a été activé la vitesse de transmission basculera automatiquement à 250000 et le moniteur série sera en lecture seule. | ||
+ | - Si l'ID12 a été activé la vitesse de transmission basculera à 9600 et le moniteur série sera en lecture seule. | ||
+ | |||
+ | La configuration de base de la connexion peut également être faite via l' | ||
^ Commande ^ Description ^ Défaut ^ | ^ Commande ^ Description ^ Défaut ^ | ||
| ? | Affiche les réglages en cours et comment les changer. | | | ? | Affiche les réglages en cours et comment les changer. | | ||
| ! | Vide la mémoire flash utilisée. | | | ! | Vide la mémoire flash utilisée. | | ||
- | | *ssid=< | + | | *sod | Force le Début de Journée | |
- | | *pwd=< | + | | *scan | Liste tous les points d' |
- | | *server=< | + | | *ssid1=< |
- | | *port=< | + | | *pwd1=< |
+ | | *ssid2=< | ||
+ | | *pwd2=< | ||
+ | | *server=< | ||
+ | | *autoserver=< | ||
| *name=< | | *name=< | ||
| *id=< | | *id=< | ||
- | | *io=< | + | | *io=< |
| *i2c=< | | *i2c=< | ||
| *steps=< | | *steps=< | ||
| *pulse=< | | *pulse=< | ||
- | | *display=<value> | Géométrie par défaut | + | | *canprot=<valeur> | Protocole CAN | MBUS | 0=MBUS, 1=RCAN | |
+ | | *dccslave=< | ||
+ | | *trace=< | ||
+ | | *ptmain=< | ||
+ | | *pwm=< | ||
+ | | *display=< | ||
**Note: | **Note: | ||
+ | **Note: | ||
+ | |||
+ | |< >| | ||
+ | ^ Port type ^ Description ^ | ||
+ | | i | Entrée | | ||
+ | | o | Sortie | | ||
+ | | b | Bloc: Entrée avec un délai de 2 secondes. | | ||
+ | | p | Impulsion: Sortie avec arrêt automatique. | | ||
+ | |||
===Type de configuration ES=== | ===Type de configuration ES=== | ||
Line 163: | Line 264: | ||
\\ | \\ | ||
+ | |||
+ | |||
+ | ====Mise à jour OTA==== | ||
+ | | //Doit être activé par la fenêtre de dialogue WIO.// | ||
+ | Si ce n'est pas possible, ou encombrant, pour faire la mise à jour par USB, le WIO peut également être mise à jour par voie aérienne "Over The Air" (OTA).\\ | ||
+ | {{: | ||
+ | Sélectionner simplement le WIO désiré à partir de la liste au lieu du port USB, et télécharger.\\ | ||
+ | Si il est demandé un **Mot de passe**, ce sera le même que pour le [[# | ||
+ | {{: | ||
+ | |||
+ | |||
+ | \\ | ||
+ | |||
+ | ====Installation OTA à partir de zéro==== | ||
+ | * __**[[arduino: | ||
+ | |||
=====Manette - RIC===== | =====Manette - RIC===== | ||
+ | | Note: RIC n'est plus supporté dans le firmware, et est remplacé par [[: | ||
**Note:** //Les contrôles de locomotives RIC par adresse, pas par identifiant. Donc le premier dans la liste sera utilisé si plusieurs locomotives partagent la même adresse.// | **Note:** //Les contrôles de locomotives RIC par adresse, pas par identifiant. Donc le premier dans la liste sera utilisé si plusieurs locomotives partagent la même adresse.// | ||
La manette de poche en mode E/S nécessite un commutateur rotatif, une LED et quatre boutons.\\ | La manette de poche en mode E/S nécessite un commutateur rotatif, une LED et quatre boutons.\\ | ||
Line 218: | Line 336: | ||
La LED commencera à clignoter très rapidement tant que la batterie ne sera pas complètement vide.\\ | La LED commencera à clignoter très rapidement tant que la batterie ne sera pas complètement vide.\\ | ||
===Découverte du serveur=== | ===Découverte du serveur=== | ||
- | | La multidiffusion UDP vide l' | + | Si le serveur Rocrail a R2RNet actif sur l' |
- | <del>Si le serveur Rocrail a R2RNet actif sur l' | + | |
\\ | \\ | ||
Line 225: | Line 342: | ||
* Brancher directement au port client 8051 du serveur Rocrail. | * Brancher directement au port client 8051 du serveur Rocrail. | ||
* Découverte de la connexion WiFi et du Serveur. | * Découverte de la connexion WiFi et du Serveur. | ||
- | * 32 E/S numériques compatible avec toutes les interfaces GCA. | + | * 32 E/S numériques, MCP23017, |
* Entrée | * Entrée | ||
* Sortie | * Sortie | ||
* Bloc | * Bloc | ||
* Impulsion | * Impulsion | ||
- | * 128 LEDs compatible avec le WS2812 sur D8. (Sortie type couleur dans Rocrail.) | + | * 100 LEDs compatible avec le WS2812 sur D8. (Sortie type couleur dans Rocrail.) |
* Couleur RGB | * Couleur RGB | ||
* Luminosité | * Luminosité | ||
Line 242: | Line 359: | ||
* Jusqu' | * Jusqu' | ||
* Une alarme sera générée si les messages 'en vie' n' | * Une alarme sera générée si les messages 'en vie' n' | ||
- | * Les commandes Sortie/ | + | * Les commandes Sortie/ |
* Les évènements Entrée doivent être reconnues dans les 100ms. Après cette expiration un renvoi sera effectué. (5 essais maximum.) | * Les évènements Entrée doivent être reconnues dans les 100ms. Après cette expiration un renvoi sera effectué. (5 essais maximum.) | ||
\\ | \\ | ||
+ | |||
+ | ====Extension E/S PCF8574P==== | ||
+ | Jusqu' | ||
+ | - 0x20 et 0x21 ne devrait pas être disponible en tant qu' | ||
+ | - L' | ||
+ | \\ | ||
====Adressage==== | ====Adressage==== | ||
|< >| | |< >| | ||
^ Rocrail ^ WIO ^ | ^ Rocrail ^ WIO ^ | ||
| Identifiant de l' | | Identifiant de l' | ||
- | | Bus | ID | | + | | Identifiant du Nœud (Bus) | ID | |
- | | Adresse | I2C ou Port E/S | | + | | Adresse | Port I2C | |
| Adresse | Port LED | | | Adresse | Port LED | | ||
| Adresse | Port du servomoteur | | | Adresse | Port du servomoteur | | ||
Line 260: | Line 383: | ||
* Détecteurs | * Détecteurs | ||
+ | ===Aiguillages double bobines=== | ||
+ | | // | ||
+ | La prochaine adresse pour aucun aiguillage à porte simple est utilisée pour la commande de déviation.\\ | ||
+ | Donc si sur le port 1 il y a un aiguillage à double bobines, le port 2 ne doit être utilisé, et le deuxième aiguillage ira sur le port 3.\\ | ||
+ | Les deux sorties I2C sont automatiquement utilisées comme impulsion de type ' | ||
+ | Matériel possible: | ||
+ | * **[[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | |||
+ | ====Clignotement==== | ||
+ | La sortie clignotante et les options de retard peut être utilisée pour faire clignoter un port I2C.\\ | ||
+ | Si le retard est nul la longueur d' | ||
\\ | \\ | ||
====LEDs==== | ====LEDs==== | ||
+ | {{ : | ||
L' | L' | ||
Line 283: | Line 420: | ||
\\ | \\ | ||
+ | ====Signaux==== | ||
+ | - WIO-ID: Bus | ||
+ | - LED offset: Adresse | ||
+ | - Type de port: Sortie | ||
+ | - Type de contrôle: Numéro d’aspect | ||
+ | Les valeurs de l' | ||
+ | \\ | ||
+ | |||
+ | ====Support de signal Charlieplexing==== | ||
+ | Seulement disponible sur [[: | ||
+ | Un signal Rocrail avec les aspects de contrôle et le type de port multiple, utilise 4 broches démarrant avec le décalage du port.\\ | ||
+ | Le taux de rafraîchissement est d' | ||
+ | Les valeurs d' | ||
+ | Exemple: LED 1 et 2 allumées et LED 2 clignotante: | ||
+ | |||
+ | Un second signal sur le mât peut être défini dans Rocrail avec l' | ||
+ | |||
+ | La luminosité règle la luminosité, | ||
+ | Le fondu avec gradation n'est pas possible.\\ | ||
+ | |||
+ | ^ Numéro de LED pour signal Multiples Viessmann^^^^^^^^^ | ||
+ | |LED|Pin+|Pin-|1|2|3|4|Viessmann| | | ||
+ | |1|1|2|H|L| | |Vr_Ge_O|Signal distant jaune au dessus| | ||
+ | |2|1|3|H| |L| |Hp_Rt_R|Signal principal rouge à droite| | ||
+ | |3|1|4|H| | |L|Hp_Rt_L|Signal principal rouge à gauche| | ||
+ | |4|2|1|L|H| | |Vr_Gr_O|Signal distant vert au dessus| | ||
+ | |5|2|3| |H|L| |Vr_Gr_u|Signal distant vert en dessous| | ||
+ | |6|2|4| |H| |L| | | | ||
+ | |7|3|1|L| |H| |Hp_Ge|Signal principal jaune| | ||
+ | |8|3|2| |L|H| |Vr_Ge_U|Signal distant jaune en dessous| | ||
+ | |9|3|4| | |H|L| Hp_Ws_L|Signal principal blanc à gauche| | ||
+ | |10|4|1|L| | |H|Hp_Gr|Signal principal vert| | ||
+ | |11|4|2| |L| |H| | | | ||
+ | |12|4|3| | |L|H|Hp_Ws_R|Signal principal blanc à droite| | ||
+ | |||
+ | Pour un affichage correct du signal principal au rouge et de manœuvre, le signal distant doit être masqué. \\ | ||
+ | La valeur de la luminosité du signal principal et distant doit être identique. \\ | ||
+ | |||
+ | Les entrées multiples de Viessmann, vue de dessous sur le connecteur. \\ | ||
+ | {{: | ||
+ | \\ | ||
====Servos==== | ====Servos==== | ||
+ | {{ : | ||
L' | L' | ||
- | ^ Contrôle ^ Sortie ^ Commutation | + | ^ Contrôle ^ Sortie ^ Commutateur |
- | | WIO | IID=" | + | | WIO | IID=" |
- | | WIO ID | Bus | Bus | 1...255 | | + | | Identifiant |
- | | Port du servo | Adresse | Adresse | 1...4 | | + | | Port du Servo | Adresse | Adresse |
- | | Options | + | | Options |
- | | Position 1 | Paramètre ON | Paramètre | 0...180° | | + | | Accessoire | - | - | Détails |
- | | Position 2 | Paramètre OFF | Valeur | 0...180° | | + | | Position 1 | Paramètre ON | Paramètre |
- | | Vitesse de déplacement | Délai | Durée de commutation | 1...10 | | + | | Position 2 | Paramètre OFF | Valeur |
- | | Cible | Type de port " | + | | Position | - | - | - | Numéro de voie du décodeur | PWM 500...2500 ²| |
+ | | Vitesse de déplacement | Délai | Durée de commutation | ||
+ | | Cible | Type de port " | ||
+ | * Onglet Détails, Appuyez sur Entrée en utilisant le champ avec des décimales dans le bouton Valeur \\ | ||
+ | La valeur de l' | ||
+ | ² Attention, des valeurs trop hautes ou trop basses peut endommager le démarrage du servo avec PWM 1500 = 0°. \\ | ||
+ | La valeur de l' | ||
\\ | \\ | ||
+ | |||
====RFID==== | ====RFID==== | ||
| //Soyez sûr qu'il n'y a pas de servos et de LEDs branchés lorque vous basculez en RFID.// | | //Soyez sûr qu'il n'y a pas de servos et de LEDs branchés lorque vous basculez en RFID.// | ||
+ | |||
+ | Impossible avec WIO Type I/O16, veuillez utiliser ID-12LA dans ce cas. | ||
{{ : | {{ : | ||
- | - Deux lecteurs | + | - Deux lecteurs RFID RC522 sont supportés. |
- Ils nécessitent 5 ports supplémentaires; | - Ils nécessitent 5 ports supplémentaires; | ||
- Les adresses de rapport sont 100 et 101. (Dans Rocrail 101 et 102.) | - Les adresses de rapport sont 100 et 101. (Dans Rocrail 101 et 102.) | ||
Line 308: | Line 496: | ||
\\ | \\ | ||
- | ^ Signal ^ D1 Mini ^ RFID RC522 ^ | + | ^ Signal ^ D1 Mini ESP 8266 ^ RFID RC522 ^ |
| Sélection esclave 1 | D3 | 1 (SDA) lecteur 1 | | | Sélection esclave 1 | D3 | 1 (SDA) lecteur 1 | | ||
| Sélection esclave 2 | D0 | 1 (SDA) lecteur 2 | | | Sélection esclave 2 | D0 | 1 (SDA) lecteur 2 | | ||
Line 317: | Line 505: | ||
\\ | \\ | ||
+ | ====ID-12LA==== | ||
+ | {{ : | ||
+ | En option un lecteur RFID du type [[http:// | ||
+ | La balise est utilisé comme **[[: | ||
+ | La carte **[[: | ||
+ | __Le moniteur série sera réglé à 9600bps.__\\ | ||
+ | **Note 1:** Cela sert à analyser les balises entre les rails pour laisser à Rocrail le temps de savoir où se trouve le véhicule en marche.\\ | ||
+ | **Note 2:** Utilisez des balises sélectionnées qui répondent rapidement.\\ \\ | ||
+ | |||
+ | |||
+ | \\ | ||
====Broches I2C==== | ====Broches I2C==== | ||
^ Broche ^ Usage ^ | ^ Broche ^ Usage ^ | ||
Line 335: | Line 534: | ||
\\ | \\ | ||
- | ====Afficheur SSD1306==== | + | ====Broches S88==== |
- | {{: | + | |< >| |
+ | ^ ESP8266 ^ ESP32 ^ PicoW ^ Utilisation ^ | ||
+ | | D0 | 12 | 10 | PS | | ||
+ | | D5 | 17 | 11 | Reset | | ||
+ | | D6 | 26 | 12 | Clock | | ||
+ | | D7 | 27 | 13 | Data | | ||
+ | |||
+ | \\ | ||
+ | |||
+ | |||
+ | |||
+ | ====Afficheur SSD1306/SH1106==== | ||
+ | |{{: | ||
+ | | Exemple. | ||
Deux afficheurs peuvent être connectés à l'I2C du Type SSD1306 avec les adresses I2C 0x3C et 0x3D.\\ | Deux afficheurs peuvent être connectés à l'I2C du Type SSD1306 avec les adresses I2C 0x3C et 0x3D.\\ | ||
Le texte formaté est compatible avec [[: | Le texte formaté est compatible avec [[: | ||
Line 344: | Line 557: | ||
Le bus est utilisé pour l' | Le bus est utilisé pour l' | ||
La valeur de l' | La valeur de l' | ||
+ | ===Multiplexage=== | ||
+ | Jusqu' | ||
===Formatage pris en charge=== | ===Formatage pris en charge=== | ||
Les commandes de formatage sont enfermés entre accolades. | Les commandes de formatage sont enfermés entre accolades. | ||
Line 351: | Line 566: | ||
</ | </ | ||
^ Commande ^ Paramètre ^ Description ^ Remarque ^ | ^ Commande ^ Paramètre ^ Description ^ Remarque ^ | ||
- | | {Bn} | n=0-19 | Dessine | + | | {A...} | 0...9 & : | Numéros agrandis. | Exemple: {A%hour%: |
+ | | {B#} | #=0-99999999 | ||
+ | | {B'// | ||
| {E} | - | Efface le tampon de l' | | {E} | - | Efface le tampon de l' | ||
- | | {Fn} | n=0-2 | Sélectionner | + | | {F#} | #=0-2 | Sélectionne |
- | | {Hn} | n=0-255 | Régler le contraste de l' | + | | {H#} | #=0-255 | Régler le contraste de l' |
- | | {In} | n=0-1 | Inverser l' | + | | {I#} | #=0-1 | Inverser l' |
- | | {Ln} | n=0-3 | Aller à la ligne. La gamme dépend de la taille de l' | + | | {L#} | #=0-3 | Aller à la ligne. La gamme dépend de la taille de l' |
| {P} | - | Copier le tampon vers l' | | {P} | - | Copier le tampon vers l' | ||
- | | {Rn} | n=0,2 | Régler la rotation de la cartographie de l' | + | | {R#} | #=0,2 | Régler la rotation de la cartographie de l' |
| {?V} | - | Afficher la version du firmware. | | | {?V} | - | Afficher la version du firmware. | | ||
- | | {Xn} | n=0-127 | Aller à la colonne. La gamme dépend de la taille de l' | + | | {X#} | #=0-127 | Aller à la colonne. La gamme dépend de la taille de l' |
- | | {Yn} | n=0-32 | Aller à la ligne. La gamme dépend de la taille de l' | + | | {Y#} | #=0-32 | Aller à la ligne. La gamme dépend de la taille de l' |
- | ^ Nouvelle commande ^ Paramètre ^ Description ^ | + | | {c#} | #=1-16 | Afficher une horloge analogique avec l' |
- | | {cn} | n=0-16 | Afficher une horloge analogique avec l' | + | | {g#} | #=0,**1**,2,3 | Configurer la géométrie de l' |
- | | {gn} | n=0,**1**,2 | Configurer la géométrie de l' | + | |
| {i} | - | Basculer le texte inversé. | | | {i} | - | Basculer le texte inversé. | | ||
- | | {sn} | n=1-x | Afficher le texte défilant à la position courante, avec une largeur de vue de n caractères. | Exemple: {s12}Scrolling text to show...{s} | | + | | {s#} | #=1-x | Afficher le texte défilant à la position courante, avec une largeur de vue de n caractères. | Exemple: {s12}Scrolling text to show...{s} | |
| {d} | - | Faire défiler une ligne de texte vers le bas. | | | {d} | - | Faire défiler une ligne de texte vers le bas. | | ||
- | | {f} | - | Horloge rapide 7-Segments. | | + | | {f#} | #=1-2 | Horloge rapide 7-Segments. | Seulement une seule horloge (rapide) par afficheur sera mise à jour. | |
+ | | {f7} | - | Horloge accélérée définie par l' | ||
+ | | {f8} | - | Identique à {f7} mais avec un zéro devant l' | ||
+ | | {p} | - | Permuter les afficheurs. | | ||
+ | | {l#,#} | - | Dessine une ligne de X,Y à #,# | | ||
+ | | {r#,#} | - | Dessine un rectangle coté supérieur gauche X,Y au coté inférieur droit #,# | | ||
+ | | {z#} | - | Dessine un cercle avec centre et angle # | | ||
+ | | {x#,#} | - | Affiche un pixel à #,# | | ||
+ | | {+} | - | [[: | ||
+ | | {-} | - | Arrête l' | ||
**Note:** //Si la géométrie n'est pas par défaut, 128x32, le texte DOIT démarrer avec une commande {gn} pour sélectionner la bonne géométrie.// | **Note:** //Si la géométrie n'est pas par défaut, 128x32, le texte DOIT démarrer avec une commande {gn} pour sélectionner la bonne géométrie.// | ||
- | ==Bitmaps== | + | \\ |
- | Les bitmaps ont une taille de 20 x 8 pixels. | + | |
- | ^ Numéro ^ Description ^ Original ^ | + | ====Afficheur 7-Segments HT16K33 |
- | | 13 | Nederlandse Spoorwegen (NS) | {{:arduino:bitmaps:ns.jpg}} | + | {{ :arduino:adafruit-ht16k33.jpg?200}} |
+ | //Horloge rapide// | ||
+ | La carte dAdafruit HT16K33 est supportée sur I2C à l' | ||
+ | Il affiche le temps alternatif, la date et le température.\\ | ||
+ | Avec le réglage '' | ||
\\ | \\ | ||
Line 381: | Line 611: | ||
=== WIO supporte le suivi des paquets DCC === | === WIO supporte le suivi des paquets DCC === | ||
* Vitesse de la locomotive et direction. (Pas de support pour 14 pas de vitesse.) | * Vitesse de la locomotive et direction. (Pas de support pour 14 pas de vitesse.) | ||
- | * Les fonctions de la locomotive 0-28. | + | * Les fonctions de la locomotive 0-32. |
- | * Définir/ | + | * Définir/ |
* Accessoires. | * Accessoires. | ||
* BinState | * BinState | ||
+ | * Voie de programmation; | ||
+ | - L' | ||
+ | - PT doit être réglé à ON | ||
+ | - Lecture/ | ||
+ | * Adresses de locomotive >= 100 sont considérées comme des adresses longues. | ||
+ | * Adresse courte 111 est utilisée comme factice pour déclencher d' | ||
===Caractéristiques=== | ===Caractéristiques=== | ||
* 100% conforme à la synchronisation NMRA. | * 100% conforme à la synchronisation NMRA. | ||
* Coupure de l' | * Coupure de l' | ||
* Affiche l' | * Affiche l' | ||
- | * Rafraîchissement de 64 emplacements empilés avec purge automatique. | + | * Rafraîchissement de 48 emplacements empilés avec purge automatique. |
- | * 16 file d' | + | * 12 files d' |
===Broches DCC=== | ===Broches DCC=== | ||
^ Broche ^ Usage ^ Remarque ^ | ^ Broche ^ Usage ^ Remarque ^ | ||
| D6 & D7 | Signal symétrique DCC. | | | | D6 & D7 | Signal symétrique DCC. | | | ||
- | | D5 | Détection de court-circuit. | + | | D5 | Active le pont en H 1 | Opération | |
+ | | D8 | Active le pont en H 2 | Service | ||
===ORD3=== | ===ORD3=== | ||
Pour utiliser le niveau 3.3V une résistance de 470 Ohm doit être ajoutée parallèlement à R1.\\ | Pour utiliser le niveau 3.3V une résistance de 470 Ohm doit être ajoutée parallèlement à R1.\\ | ||
===Adressage Mobile=== | ===Adressage Mobile=== | ||
^ IID | WIO | Remarque | | ^ IID | WIO | Remarque | | ||
- | ^ Bus | WIO ID | | + | ^ Identifiant du Nœud (Bus) | WIO ID | |
^ Adresse | Adresse de décodeur DCC. | Adresses > 99 sont considérés comme adresse longue DCC. | | ^ Adresse | Adresse de décodeur DCC. | Adresses > 99 sont considérés comme adresse longue DCC. | | ||
^ Crans de vitesse | 28 ou 128 | | | ^ Crans de vitesse | 28 ou 128 | | | ||
Line 407: | Line 644: | ||
\\ | \\ | ||
- | =====Mobile===== | + | ====Mobile==== |
+ | Utiliser le WIO comme décodeur mobile.\\ | ||
+ | La valeur du __**[[: | ||
+ | Le nombre de __**[[: | ||
+ | ===Broches du LOLIN D1=== | ||
+ | {{ arduino: | ||
+ | ^ Broches ^ Usage ^ Pont en H ^ Remarque ^ | ||
+ | | D0 | Fonction éclairage | | Cab1 | | ||
+ | | D3 | Feux arrières | | Cab2 | | ||
+ | | D5 | Activation du moteur | ENA | RC ESC servo PWM | | ||
+ | | D6 | Marche avant PWM | IN 1 | | | ||
+ | | D7 | Marche arrière PWM | IN 2 | | | ||
+ | | D8 | PWM Servo pour attelage | | F1 | | ||
+ | | I2C 1-32 | Fonctions 1 à 32 | | L' | ||
+ | | A0 | Moniteur batterie LiPo 3S | | + 100kΩ A0 32kΩ - | | ||
+ | L' | ||
+ | Une valeur de masse de 5 augmentera/ | ||
+ | Vstart et Vhigh, CV2/CV5, peut être simulé avec l' | ||
+ | ===Contrôleur de Vitesse Électronique=== | ||
+ | Un Contrôleur de Vitesse Électronique, | ||
+ | Note: __**Seulement la masse et le PWM au cas ou l'ESC supporte BEC.**__ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | |||
+ | ====RailCom==== | ||
+ | {{ : | ||
+ | Le connecteur série sur le circuit imprimé WIO peut être utilisé pour le connecter à un amplificateur pour la lecture des données RailCom.\\ | ||
+ | Le GCA214 peut être utilisé comme amplificateur.\\ | ||
+ | Les identifiants RailCom suivants sont supportés: | ||
+ | ^ ID ^ Canal ^ Description ^ | ||
+ | | 0 | 2 | Lecture POM | | ||
+ | | 1 | 1 | Adresse basse du décodeur | | ||
+ | | 2 | 1 | Adresse haute du décodeur | | ||
+ | Le seul moyen pour activer la lecture RailCom dans le WIO est de régler cette option dans la fenêtre de dialogue WIO. (WIO 0.105, Rocrail 2.1.212)\\ | ||
+ | La vitesse du port série basculera à 250000, et le moniteur ne pourra être que seulement lu. __Donc avec cette option active il n'est pas possible de régler le WIO par les commandes du moniteur.__\\ | ||
+ | \\ | ||
+ | ====Capteurs==== | ||
+ | {{ : | ||
+ | Un capteur BME280/ | ||
+ | Le USER_ALTITUDE dans le fichier USERCNF.h doit être ajusté pour correspondre à l' | ||
+ | Un capteur TSL2591 ' | ||
+ | ===Texte dynamique=== | ||
+ | Aussi bien la température, | ||
+ | Voir: __**[[: | ||
+ | \\ | ||
+ | |||
+ | ====Son==== | ||
+ | Le son peut être joué sur les cartes ESP32 en utilisant une des broches DAC. (GPIO25 ou GPIO26)\\ | ||
+ | Le USER_SOUND dans le fichier USERCNF.h doit être réglé à true: | ||
+ | < | ||
+ | // Sound | ||
+ | #define USER_SOUND | ||
+ | </ | ||
+ | Format supporté [[ https:// | ||
+ | * Type PCM | ||
+ | * Taux d' | ||
+ | * 16 bits d' | ||
+ | * Un canal (Mono) | ||
+ | ===Action=== | ||
+ | * Type: Son | ||
+ | * Commande: Play | ||
+ | * Paramètre: Fichier son incluant le chemin comme : "/ | ||
+ | * Interface Bus: WIO ID | ||
+ | Exemple: | ||
+ | <code xml> | ||
+ | <ac id=" | ||
+ | </ | ||
+ | ===Recommandations=== | ||
+ | Le DAC est seulement capable d' | ||
+ | Pour obtenir un meilleur résultat: | ||
+ | * Normaliser les fichiers son de sorte que les données utilisent pleinement 16 bits. | ||
+ | \\ | ||
+ | |||
+ | ====Moteur pas à pas==== | ||
+ | TLe WIO-02 supporte deux types de moteur pas à pas: Pilote de pas 4-fils et 3-fils.\\ | ||
+ | {{ : | ||
+ | ^ WIO-02 ^ 4-fils ^ 3-fils ^ Remarque ^ | ||
+ | | 32 | IN1 | CLK+ | | ||
+ | | 13 | IN2 | DIR+ | | ||
+ | | 2 | IN3 | ENABLE+ | | ||
+ | | 15 | IN4 | - | | ||
+ | | 25 | - | | Capteur de calibration Hall/Reed | | ||
+ | | EP1-1 | GND | CLK-, | ||
+ | | - | VCC | 12V-45V DC | Alimentation externe | | ||
+ | ===Configuration pont tournant=== | ||
+ | | Interface pont tournant | ||
+ | ^ Champ ^ Valeur ^ Remarque ^ | ||
+ | | Identifiant du nœud | WIO-02 ID | | | ||
+ | | Adresse | 1 | Fixe | | ||
+ | | Lumières | ||
+ | | Type | wio | | ||
+ | | Pas du décodeur | 0-16777215 | N° des pas pour une rotation de 360°. \\ En cas d'un 28BYJ-48: 4096 pas. | | ||
+ | | Correction | 0-255 | Pour compenser le jeu des engrenages. | | ||
+ | | Délai du pas | 1-10 | Durée de la rampe de démarrage et de la décélération | | ||
+ | | Offset | -32767...+32767 | Points de correction de calibration en pas. | | ||
+ | | Type | wio | | ||
+ | | Vitesse de rotation | 0-100% | | ||
+ | //Le nombre de pas du décodeur pour une rotation complète du pont tournant est nécessaire pour calculer le chemin le plus court.// | ||
+ | \\ | ||
+ | | Voies du pont tournant (Exemple 4096 pas) || | ||
+ | ^ Voie ^ Voie du décodeur ^ | ||
+ | | 0 | 0 | | ||
+ | | 12 | 1024 | | ||
+ | | 24 | 2048 | | ||
+ | | 36 | 3072 | | ||
+ | |||
+ | Exemple XML: (Seuls les attributs obligatoires sont répertoriés.) | ||
+ | <code xml> | ||
+ | <tt ori=" | ||
+ | <track nr=" | ||
+ | <track nr=" | ||
+ | <track nr=" | ||
+ | <track nr=" | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | === Configuration-Sortie === | ||
+ | |||
+ | |< >| | ||
+ | | Interface | | ||
+ | ^ Champ ^ Valeur ^ Remarque ^ | ||
+ | | Identifiant du nœud | Identifiant WIO | | | ||
+ | | Adresse | 1 | //fixé// | | ||
+ | | Paramètre on | 0-16777215 | Nombre de pas sens anti-horaire | | ||
+ | | Paramètre off | 0-16777215 | Nombre de pas sens horaire | | ||
+ | | Retard | 0-255 | vitesse de rotation \\ Si la valeur est >0, une accélération et une rampe de freinage est générée. | | ||
+ | | Type | Moteur | | ||
+ | |||
+ | La calibration n'est pas possible! | ||
+ | |||
+ | |||
+ | ====CAN==== | ||
+ | {{ : | ||
+ | Le type WIO CAN peut être utilisé comme pont CAN-WiFi pour | ||
+ | * [[: | ||
+ | * RCAN, type TCP+binaire sur le port 5550 | ||
+ | |||
+ | ====MCP2515==== | ||
+ | La cartographie des broches pour l' | ||
+ | |||
+ | ^ Nom ^ Nano ^ Lolin D1 Mini ^ Lolin D32 ^ Remarque ^ | ||
+ | | GND | GND | GND | GND | Masse | | ||
+ | | 5V | 5V | 5V | 5V(USB) | | | ||
+ | | CS | D10 | D3 | GPIO14 | Sélection de la puce | | ||
+ | | MOSI | D11 | D7 | GPIO23(MOSI) | Sortie maître, Entrée esclave | | ||
+ | | MISO | D12 | D6 | GPIO19(MISO) | Entrée maître, Sortie esclave | | ||
+ | | SCK | D13 | D5 | GPIO18(SCK) | Horloge série | | ||
+ | |||
+ | Le Lolin D1/D32 doit être branché au 5V USB sans alimentation venant du bus CAN.\\ | ||
+ | Un kit WIO-CAN sera bientôt disponible.\\ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ====ESP32==== | ||
+ | Le firmware WIO en cours, 1.94, utilise le contrôleur CAN interne, et utilise donc seulement le MCP2551/ | ||
+ | En cas d' | ||
+ | |< >|< >|< >| | ||
+ | ^ Connexion ^ Broche ESP32 ^ MCP2561 ^ | ||
+ | | TXCAN | 16 | 1 | | ||
+ | | RXCAN | 4 | 4 | | ||
+ | |||
+ | \\ | ||
+ | =====Lecteur RFID mobile===== | ||
Le WIO peut également être utilisé comme lecteur mobile RFID et d' | Le WIO peut également être utilisé comme lecteur mobile RFID et d' | ||
L' | L' | ||
====Configuration du détecteur==== | ====Configuration du détecteur==== | ||
- | < | + | < |
Le RFID reporté doit correspondre à un __**[[: | Le RFID reporté doit correspondre à un __**[[: | ||
- | Ce détecteur doit avoir son adresse | + | Ce détecteur |
L' | L' | ||
Les suivis de Rocrail peuvent être utilisés pour copier cet identifiant ou le __**[[: | Les suivis de Rocrail peuvent être utilisés pour copier cet identifiant ou le __**[[: | ||
Line 425: | Line 825: | ||
\\ | \\ | ||
+ | |||
+ | =====Clavier===== | ||
+ | {{ : | ||
+ | Un clavier est supporté sur le type IO16 WIO par le connecteur E/S 1. | ||
+ | La touche # enverra l' | ||
+ | Avec la touche * l' | ||
+ | Si un afficheur est branché l' | ||
+ | Claviers supportés: 3x4 et 4x4. Le 4x4 possède une colonne de touches supplémentaires " | ||
+ | Il est recommandé de régler les ports 1...8 dans l' | ||
+ | {{: | ||
+ | |||
+ | |||
+ | \\ | ||
+ | |||
=====Matériel===== | =====Matériel===== | ||
Le firmware ne fonctionne pas sans résistances de pull-up sur les entrées des boutons, incluant le commutateur rotatif. | Le firmware ne fonctionne pas sans résistances de pull-up sur les entrées des boutons, incluant le commutateur rotatif. | ||
Line 435: | Line 849: | ||
* https:// | * https:// | ||
+ | |||
+ | =====Dépannage===== | ||
+ | |||
+ | ====LOLIN vs Wemos==== | ||
+ | |< >| | ||
+ | | Avant || Arrière | ||
+ | | LOLIN D1 mini | Wemos mini | LOLIN D1 mini | Wemos mini | | ||
+ | | {{: | ||
+ | |||
+ | |< >| | ||
+ | ^ Broche ^ Lolin ^ Wemos ^ | ||
+ | | D3 | - | Ne démarre pas en cas de niveau bas. | | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ====Très lent==== | ||
+ | Si un module I2C, comme le Pi02 ou le Pi03, est connecté au bus I2C du WIO, et n'a pas de puissance, cela va ralentir le traitement et aucun autre appareil I2C ne sera détecté. (Plusieurs secondes entre les appels de boucle.)\\ | ||
+ | L' | ||
+ | Le Pi08, avec la puce PCA9622, ne souffre pas de ce problème avec son extenseur de bus I2C interne.\\ | ||
+ | ===Solution=== | ||
+ | Soyez sûr que tous les modules I2C connectés sont alimentés en même temps que le WIO.\\ | ||
+ | |||
+ | ====macOS "Big Sur" | ||
+ | ===Télécharger l' | ||
+ | * https:// | ||
+ | |||
+ | ===Télécharger l' | ||
+ | * https:// | ||
+ | |||
+ | =====Programmation du binaire WIO avec les outils IDE Arduino===== | ||
+ | |||
+ | | Arduino IDE 1.8.16 | ||
+ | |||
+ | ====macOS "Big Sur" | ||
+ | ====macOS "Big Sur" | ||
+ | ===ESP8266=== | ||
+ | < | ||
+ | export WIOBIN=~/ | ||
+ | |||
+ | / | ||
+ | / | ||
+ | --chip esp8266 --port / | ||
+ | </ | ||
+ | ===ESP32=== | ||
+ | < | ||
+ | ~/ | ||
+ | --chip esp32 \ | ||
+ | --port / | ||
+ | --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 | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====Windows 10==== | ||
+ | < | ||
+ | set WIOBIN=\Users\%USERNAME%\Downloads\WIO.ino.d1_mini.bin | ||
+ | |||
+ | C: | ||
+ | </ | ||
+ | |||
+ | ====PiOS-64 " | ||
+ | < | ||
+ | export WIOBIN=/ | ||
+ | |||
+ | / | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
arduino/wio-fr.1573378201.txt.gz · Last modified: 2019/11/10 10:30 by phil45