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 [2022/04/06 10:16] – [Servos] phil45 | arduino:wio-fr [2024/04/12 15:29] (current) – [Bibliothèques] phil45 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | [[: | ||
[[: | [[: | ||
====== Firmware WIO ====== | ====== Firmware WIO ====== | ||
- | [[:france|{{ :hardware.png}}]][[:france|{{ : | + | [[:wio: |
- | [[: | + | [[: |
- | * [[: | + | * [[: |
* [[: | * [[: | ||
+ | * [[https:// | ||
\\ | \\ | ||
=====Introduction===== | =====Introduction===== | ||
- | Cette solution est basée sur la famille des ESP8266/ESP32.\\ | + | Ce projet a pour cible les plateformes |
+ | Le code source n'est seulement disponible pour être capable de le charger sur le périphérique cible si aucune autre méthode n'est possible.\\ | ||
+ | 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: | ||
Line 29: | Line 33: | ||
* Lolin D1 Mini | * Lolin D1 Mini | ||
* Lolin D32 | * Lolin D32 | ||
- | * Module Dev ESP32 | + | * ESP32 Module Dev |
- | * Module CAM ESP32 | + | * ESP32 D1 Mini |
- | ====Broches | + | ====Broches utilisées==== |
Vérifiez la cartographie des broches dans Pins.cpp: | Vérifiez la cartographie des broches dans Pins.cpp: | ||
* https:// | * https:// | ||
====Prospectus==== | ====Prospectus==== | ||
- | * https:// | + | * https:// |
\\ | \\ | ||
Line 51: | Line 55: | ||
\\ | \\ | ||
- | =====IDE Arduino | + | =====IDE Arduino===== |
Prépare l'IDE Arduino avec les cartes et les bibliothèques suivantes: | Prépare l'IDE Arduino avec les cartes et les bibliothèques suivantes: | ||
Line 74: | Line 78: | ||
* Servo | * Servo | ||
* ArduinoOTA | * ArduinoOTA | ||
- | * MCP_CAN | + | * mcp_can |
* https:// | * https:// | ||
* [[: | * [[: | ||
+ | * SparkFun APDS9960 RGB et capteur de geste \\ Ligne 198 dans le fichier Arduino/ | ||
+ | |||
+ | |||
===ESP32=== | ===ESP32=== | ||
* ESP32 (Board Manager) | * ESP32 (Board Manager) | ||
Line 96: | Line 103: | ||
// wait for the frame tx to complete | // wait for the frame tx to complete | ||
- | int rc = xSemaphoreTake(sem_tx_complete, | + | int rc = xSemaphoreTake(sem_tx_complete, |
return rc; | return rc; | ||
} | } | ||
Line 111: | Line 118: | ||
* https:// | * https:// | ||
- | ====Thème Dark==== | ||
- | Pour ceux qui veulent une thème Dark pour l'IDE Arduino: | ||
- | * https:// | ||
- | \\ | ||
=====Sketch WIO===== | =====Sketch WIO===== | ||
| //Copyright (c) 2002-2022 Robert Jan Versluis, Rocrail.net// | | //Copyright (c) 2002-2022 Robert Jan Versluis, Rocrail.net// | ||
Line 237: | Line 240: | ||
| *canprot=< | | *canprot=< | ||
| *dccslave=< | | *dccslave=< | ||
- | | *trace=< | + | | *trace=< |
| *ptmain=< | | *ptmain=< | ||
| *pwm=< | | *pwm=< | ||
Line 262: | Line 265: | ||
\\ | \\ | ||
- | ====Configuration de base avec un navigateur WEB==== | ||
- | | //Non activé en cas de type WIO DCC.// | ||
- | Le WIO agit comme un petit point d’accès pour être capable de connecter et faire la configuration de base sans moniteur série.\\ | ||
- | Le nom du point d’accès WIO est formaté comme suit: " | ||
- | Les points d' | ||
- | {{: | ||
- | Le **mot de passe** du point d' | ||
- | Après la connexion au WIO, la configuration de base peut être changé avec un navigateur WEB à l' | ||
- | < | ||
- | http:// | ||
- | </ | ||
- | Après **Submit** le WIO essayera automatiquement le WiFi et la connexion au serveur Rocrail.\\ | ||
- | Le point d' | ||
- | * une soumission. | ||
- | * 2 minutes d' | ||
- | \\ | ||
====Mise à jour OTA==== | ====Mise à jour OTA==== | ||
Line 289: | Line 276: | ||
\\ | \\ | ||
+ | |||
+ | ====Installation OTA à partir de zéro==== | ||
+ | * __**[[arduino: | ||
=====Manette - RIC===== | =====Manette - RIC===== | ||
Line 352: | 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 | ||
Line 373: | Line 363: | ||
\\ | \\ | ||
+ | |||
+ | ====Extension E/S PCF8574P==== | ||
+ | Jusqu' | ||
+ | - 0x20 et 0x21 ne devrait pas être disponible en tant qu' | ||
+ | - L' | ||
+ | \\ | ||
====Adressage==== | ====Adressage==== | ||
|< >| | |< >| | ||
Line 432: | Line 428: | ||
\\ | \\ | ||
+ | ====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 ^ Commutateur ^ Signaux ^ Plage ^ | + | ^ Contrôle ^ Sortie ^ Commutateur ^ Signaux |
- | | WIO | IID=" | + | | WIO | IID=" |
- | | Identifiant WIO | Identifiant du Nœud (Bus) | Identifiant du Nœud (Bus) | Identifiant du Nœud (Bus) | 1...255 | | + | | Identifiant WIO | Identifiant du Nœud (Bus) | Identifiant du Nœud (Bus) | Identifiant du Nœud (Bus) | Identifiant du Nœud (Bus) | 1...255 | |
- | | Port du Servo | Adresse | Adresse | Adresse | 1...4 | | + | | Port du Servo | Adresse |
- | | Options Supplémentaires | - | Simple porte ON | - | - | | + | | Options Supplémentaires | - | Simple porte ON | - | - | - | |
| Accessoire | - | - | Détails | - | | | Accessoire | - | - | Détails | - | | ||
- | | Position 1 | Paramètre ON | Paramètre | Valeur ROUGE 0 * | 0...180° | | + | | Position 1 | Paramètre ON | Paramètre | Valeur ROUGE 0 * | - | 0...180° | |
- | | Position 2 | Paramètre OFF | Valeur | Valeur VERTE 1 * | 0...180° | | + | | Position 2 | Paramètre OFF | Valeur | Valeur VERTE 1 * | - | 0...180° |
- | | Vitesse de déplacement | Délai | Durée de commutation | Dim | 1...10 | | + | | Position | - | - | - | Numéro de voie du décodeur | PWM 500...2500 ²| |
- | | Cible | Type de port " | + | | Vitesse de déplacement | Délai | Durée de commutation | Dim | Délai du pas | 1...10 | |
- | * Onglet Détails, | + | | Cible | Type de port " |
+ | * Onglet Détails, | ||
La valeur de l' | 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 461: | 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 470: | 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 487: | Line 533: | ||
\\ | \\ | ||
+ | |||
+ | ====Broches S88==== | ||
+ | |< >| | ||
+ | ^ ESP8266 ^ ESP32 ^ PicoW ^ Utilisation ^ | ||
+ | | D0 | 12 | 10 | PS | | ||
+ | | D5 | 17 | 11 | Reset | | ||
+ | | D6 | 26 | 12 | Clock | | ||
+ | | D7 | 27 | 13 | Data | | ||
+ | |||
+ | \\ | ||
+ | |||
+ | |||
====Afficheur SSD1306/ | ====Afficheur SSD1306/ | ||
- | {{: | + | |{{: |
+ | | 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 497: | 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 504: | Line 566: | ||
</ | </ | ||
^ Commande ^ Paramètre ^ Description ^ Remarque ^ | ^ Commande ^ Paramètre ^ Description ^ Remarque ^ | ||
+ | | {A...} | 0...9 & : | Numéros agrandis. | Exemple: {A%hour%: | ||
| {B#} | # | | {B#} | # | ||
- | | {B'// | + | | {B'// |
| {E} | - | Efface le tampon de l' | | {E} | - | Efface le tampon de l' | ||
| {F#} | #=0-2 | Sélectionne la police de caractère. 0=7x5 1=6x5w 2=6x5n | La police de caractère 5x5 n'est pas supportée parce qu' | | {F#} | #=0-2 | Sélectionne la police de caractère. 0=7x5 1=6x5w 2=6x5n | La police de caractère 5x5 n'est pas supportée parce qu' | ||
Line 512: | Line 575: | ||
| {L#} | #=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' | ||
- | | {R#} | #=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. | | ||
| {X#} | #=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' | ||
| {Y#} | #=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' | | {c#} | #=1-16 | Afficher une horloge analogique avec l' | ||
- | | {g#} | # | + | | {g#} | # |
| {i} | - | Basculer le texte inversé. | | | {i} | - | Basculer le texte inversé. | | ||
| {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} | | | {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#} | #=1-2 | Horloge rapide 7-Segments. | Seulement une seule horloge (rapide) par afficheur sera mise à jour. | | | {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. | | | {p} | - | Permuter les afficheurs. | | ||
| {l#,#} | - | Dessine une ligne de X,Y à #,# | | | {l#,#} | - | Dessine une ligne de X,Y à #,# | | ||
Line 528: | Line 592: | ||
| {z#} | - | Dessine un cercle avec centre et angle # | | | {z#} | - | Dessine un cercle avec centre et angle # | | ||
| {x#,#} | - | Affiche un pixel à #,# | | | {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.// | ||
Line 590: | Line 657: | ||
| D7 | Marche arrière PWM | IN 2 | | | | D7 | Marche arrière PWM | IN 2 | | | ||
| D8 | PWM Servo pour attelage | | F1 | | | D8 | PWM Servo pour attelage | | F1 | | ||
- | | I2C 1-32 | Fonctions 1 à 32 | | | | + | | I2C 1-32 | Fonctions 1 à 32 | | L' |
| A0 | Moniteur batterie LiPo 3S | | + 100kΩ A0 32kΩ - | | | A0 | Moniteur batterie LiPo 3S | | + 100kΩ A0 32kΩ - | | ||
L' | L' | ||
Line 601: | Line 668: | ||
\\ | \\ | ||
- | ====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.\\ | ||
- | \\ | ||
====RailCom==== | ====RailCom==== | ||
{{ : | {{ : | ||
Line 679: | Line 736: | ||
| Lumières | | Lumières | ||
| Type | wio | | | Type | wio | | ||
- | | Pas du décodeur | N° des pas pour une rotation de 360°. \\ En cas d'un 28BYJ-48: 4096 pas. | | + | | Pas du décodeur |
+ | | 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.//\\ | //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.//\\ | ||
\\ | \\ | ||
Line 699: | Line 761: | ||
</ | </ | ||
+ | === 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==== | ====CAN==== | ||
Line 738: | Line 812: | ||
====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 751: | 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. |
arduino/wio-fr.1649232992.txt.gz · Last modified: 2022/04/06 10:16 by phil45