Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - Pierre59

Pages: 1 ... 9 10 [11] 12 13 ... 19
151
Présentez vous ! / Re : Réseau à l'échelle TT 1:120
« le: octobre 26, 2020, 12:44:48 pm »
Pas de bug, il faut utiliser le clic "droit".
Il y a deux aiguille dans une TJD, normalement les cllc gauche manœuvre l'une et le clic droit l'autre
Pierre

152
Présentez vous ! / Re : Réseau à l'échelle TT 1:120
« le: octobre 26, 2020, 11:06:08 am »
OK pour les jonctions doubles du bas, mais je parle des deux croisements plus haut.

Pierre

153
Présentez vous ! / Re : Réseau à l'échelle TT 1:120
« le: octobre 26, 2020, 08:39:15 am »
Bonjour

Super !

Les pavés signaux en haut et à droite me semblent mal orientés, il leur manque un demi-tour ( rotation(2) ) et ils sont mal placés par rapport au retrait.

Je persiste à dire que les deux croisement devraient êtres de TJD  (Traversée Jonction Double) ou des TJS (Traversée Jonction Simple).

Cordialement

Pierre

154
Présentez vous ! / Re : Re : Réseau à l'échelle TT 1:120
« le: octobre 25, 2020, 10:02:17 am »
Est-il possible d'ajouter TCO_GARE.pde, TCO_TRIAGE.pde ? et de les afficher dès le départ ?

Tout à fait, mais il faudra changer les noms des classes TCO, du genre TCOA TCOB TCOC, il faut aussi ajouter les boutons dans chaque TCO (PaveBouton)

Avant le setup() changer TCO tco=new TCO(); en TCO tco=new TCOA(); TCO tco=new TCOB(); TCO tco=new TCOC();

et dans le draw() il faudra avec des ifs choisir le TCO que l'on veut afficher en fonction des boutons

Chacun des 3 TCOs aurait donc les boutons nécessaires pour afficher ou pas les autres TCOs !

Dans le mouseClicked() il faudra traiter les boutons et mémoriser celui qui a été appuyé (int 1 2 3 ?)

Cordialement

Pierre

155
Présentez vous ! / Re : Réseau à l'échelle TT 1:120
« le: octobre 24, 2020, 02:28:02 pm »
Bonjour

Dans l'article https://www.locoduino.org/spip.php?article184, vous trouverez un exemple complet avec les échanges de messages entre Processing et l'Arduino.

Il y a aussi des boutons.

Il est tout à fait possible d'afficher un réseau complet ou des parties selectionnables par des boutons (ce que je fait sur mon réseau).

Cordialement

Pierre


156
Présentez vous ! / Re : Réseau à l'échelle TT 1:120
« le: octobre 23, 2020, 04:08:53 pm »
Bonjour

Quand on clique sur un pavé-aiguille, celle ci change de position (c'est aussi vrai pour les signaux), il faut donc en plus envoyer un message à l'Aduino.

Pour communiquer entre Processing et Arduino le plus simple est le câble USB/Série (celui qui sert à charger les programmes).

Il faut ensuite définir un protocole pour les messages échangés (taille, contenu, ...), en pratique cela peut être 1, 2, ou 3 octets. La taille du message dépends du nombre de messages différents (et aussi du nombre d'appareils commandés, par exemple le nombre d'aiguiles). Il faut avoir une petite idée d'avance sur les messages échangés : commandes d'aiguilles, de signaux, trains,... mais aussi ceux de rétrosignalisation.

Concernant le dessin du TCO : on peut faire tourner les pavé-signaux (comme les autres), il existe aussi des des grands quart de cercle ( PaveArc90Grand(n) ). Je me pose aussi des questions sur les deux croisements, est ce bien des croisement, par ce qu'il existe des pavés TJD et TJS contenant deux aiguilles et un croisement.

Je vous aiderais pour la communication entre Processing et l'Arduino. N'hésitez pas à poser des questions.

Cordialement

Pierre

157
Présentez vous ! / Re : Re : Re : Réseau à l'échelle TT 1:120
« le: octobre 22, 2020, 08:54:43 am »
Sais-tu quel est le pseudo de Pierre Lecouffe ?

C'est moi, Pierre59

158
Discussions ouvertes / Re : Devinette
« le: juin 07, 2020, 11:24:55 am »

Bonjour

Quelques essais en Java (ou Processing) et en C++, concernant les opérateurs logiques.

En Java il y a un vrai type booléen ne pouvant être mélangé avec d'autres.

Soit une petite fonction f avec un effet de bord : boolean f(boolean b) { print("*"); return b; }
cette fonction affiche une étoile chaque fois que la fonction est appelée.

Le programme suivant teste les opérateurs logiques & && | || pour toutes les combinaisons de valeurs booléennes par le biais de la fonction f pour avoir des effets de bord :

  boolean a; boolean[] bs={false,true};
  println("et");
  for (boolean b : bs) for (boolean c : bs) {
    a=f(b)&f(c);  print(b,"&",c,"=",a," ");
    a=f(b)&&f(c); print(b,"&&",c,"=",a," "); println();
  }
  println("ou");
  for (boolean b : bs) for (boolean c : bs) {
    a=f(b)|f(c);  print(b,"|",c,"=",a," ");
    a=f(b)||f(c); print(b,"||",c,"=",a," "); println();
  }

cela donne :

et
**false & false = false  *false && false = false 
**false & true = false  *false && true = false 
**true & false = false  **true && false = false 
**true & true = true  **true && true = true 
ou
**false | false = false  **false || false = false 
**false | true = true  **false || true = true 
**true | false = true  *true || false = true 
**true | true = true  *true || true = true 

Les opérateurs & && | || sont bien des opérateurs logiques.

Passons au C++, la fonction avec effet de bord s'écrit : bool f(bool b) { cout<<"*"; return b; }

Le programme de test est semblable (à part les affichages) :

   bool a; bool bs[]={false,true};
   cout<<"et"<<endl;      
   for (bool i : bs) for (bool j : bs) {
      a=f(i)&f(j); cout<<i<<"&"<<j<<"="<<a<<" ";
      a=f(i)&&f(j); cout<<i<<"&&"<<j<<"="<<a<<" "; cout<<endl;
   }
   cout<<"ou"<<endl;      
   for (bool i : bs) for (bool j : bs) {
      a=f(i)|f(j); cout<<i<<"|"<<j<<"="<<a<<" ";
      a=f(i)||f(j); cout<<i<<"||"<<j<<"="<<a<<" "; cout<<endl;
   }

Le résultat est le même (à part l'affichage des booléens)

**0&0=0 *0&&0=0
**0&1=0 *0&&1=0
**1&0=0 **1&&0=0
**1&1=1 **1&&1=1
ou
**0|0=0 **0||0=0
**0|1=1 **0||1=1
**1|0=1 *1||0=1
**1|1=1 *1||1=1

En C++ les booléens sont en fait des entiers particuliers (on peut écrire 3+true ce qui donne 4).

En conclusion les opérateurs & && | || ressemblent bien à des opérateurs logiques. Mais en pratique dans les documentations Java ou C++ on n'en parle quasiment pas .

Cordialement

Pierre


159
Mon mobile se connecte très bien en wifi à internet, évidemment.
Mais pas via l'application APDE (Android Processing IDE).
Comme j'aimerais trouver une solution !

Bonjour

Je t'avais envoyé il y a quelques temps trois applications Processing pour tester le wifi. Un serveur a mettre sur PC, un client pour PC et un client Android. Je peux les renvoyer si nécessaire.

Dans le client Android il y un fichier AndroidManifest.xml il devrait y avoir des lignes pour donner des permissions d'accès au wifi  (à la fin) :

    </application>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
</manifest>

Il faut aussi permettre à Android de faire de la mise au point par USB (si mes souvenirs sont bons il faut appuyer 7 fois sur le bouton M/A pour accéder aux paramétrages ! )

On peut refaire des essais si tu veux.

Amicalement

Pierre

160
Je vais certainement te décevoir, mais, pour l'instant, je n'ai pas trouvé d'appli Processing dans le PlayStore qui gère le réseau et donc, sauf erreur de ma part, pas le WiFi.
Il y en a chez La Pomme (on a regardé avec Pierre59).
Donc, pas de smartphone, pas de tablette Processing sous Android. Comme j'aimerai avoir tort !
Bonjour

Je ne comprends pas bien ce que tu veux dire, il est facile de faire en Processing une application Android qui gère le WIFI.

Pierre

161
Discussions ouvertes / Devinette
« le: mai 31, 2020, 04:13:31 pm »

Bonjour

Il existe en C/C++ quatre opérateurs booléens :  !    &    |    ^   pour les opérations booléennes   non   et   ou   ou-exclusif   .

Par exemple  :    boolean a,b,c;    c=!a;   c=a&b;    c=a|b;    c=a^b;   

Trois de ces opérateurs peuvent êtres aussi utilisés sur des entiers, ils effectuent dans ce cas des   et   ou   ou-exclusif   bit à bit.

Par exemple :   int a,b,c;   c=a&b;    c=a|b;    c=a^b; 

Il existe aussi deux autres opérateurs booléens qui effectuent une optimisation   &&   ||   pour les opérations booléennes   et   ou    .

Pour ces deux opérateurs si on peux déterminer le résultat avec seulement le premier opérande, le deuxième n'est pas pris en compte. Pour le    et    si le premier opérande est faux le résultat est faux, pour le   ou   si le premier opérande est vrai le résultat est vrai.

Mais attention, les deux opérateurs ne sont pas équivalents dans certains cas, cela se produit quand le deuxième opérateur fait ce que l'on appelle "des effets de bord", cet effet de bord sera toujours fait avec l'opérateur normal, mais pas systématiquement avec l'opérateur optimisé.

Il existe aussi des opérateurs booléens combinés avec l'affectation  (comme pour beaucoup d'opérateurs) :       .

Par exemple :    boolean a,b;   a&=b;   a|=b;

Devinette, il existe des opérateurs optimisés pour le   et   et le   ou  , pourquoi il n'y en n'a pas pour le ou-exclusif ?

Pierre



162
Infos et bonnes affaires / Re : Capteur de proximité VL6180X
« le: mai 14, 2020, 05:34:38 pm »
Bonjour

Apparemment l'adresse I2C se trouve dans le registre 0x212, elle peut être changée après la mise sous tension (7 bits).

Pierre

163
Présentez vous ! / Re : Bonjour à tous
« le: mai 11, 2020, 05:11:05 pm »
Bonjour

Processing c'est du Java avec une surcouche pour faciliter grandement des applications graphiques et des animations. On le trouve aussi sur toutes les plateformes et même sur Android. Très pratique pour faire des TCO des manettes, ...

Cordialement

Pierre

164
Vos projets / Re : projet centrale wifi DCC++ Can
« le: avril 14, 2020, 09:32:09 am »

Bonjour

Habituellement avec un ESP32 on établit la connexion WIFI avec un point d'accès WIFI pendant le setup(), cette connexion n'est qu'une connexion "physique" du média de communication. N'importe quand par la suite on peut établir des connexion réseau (IP,TCP ou UDP) en nombre quelconque ou les abandonner. Ces connexion se font en mode client/serveur, un client peut accéder à un serveur s'il connait son adresse IP, si on dispose d'un serveur de noms (DNS) on peut utiliser des noms pour faire ces connexions.

Pierre

165
Vos projets / Re : projet centrale wifi DCC++ Can
« le: avril 02, 2020, 02:27:55 pm »
Bonjour

L'idée de Denis d'empiler les cartes filles est une bonne idée, cela améliore beaucoup la modularité.
Mais pourquoi ne pas mettre la partie puissance (booster) aussi sur une carte séparée de l'ESP32 , cela améliorerait beaucoup la modularité.

Cordialement

Pierre

Pages: 1 ... 9 10 [11] 12 13 ... 19