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 - Guillaume

Pages: [1] 2 3 ... 9
1
Les réseaux / Re : Mini World Lyon vient d'ouvrir (30 juin 2016)
« le: septembre 10, 2016, 09:51:35 pm »
Je ne sais pas pour TC, j'ai vite stoppé mes questions.
Ce que j'ai vu c'est du vrai déraillement des wagons lachés par un train et poussé par le suivant, des wagons au milieu de trains qui sont hors rails, ce qui est confirmé par les "techniciens" : "oui on connait celui-là déraille c'est normal" assez fort quand même.
Le ballast c'est une semelle marque makur il me semble. Du reste, un peu d'explications ne serait pas de trop.

Après les vis, c'est les poteaux de caténaires, 2 pour chaque poteau cela fait pas mal tout de même. Je n'ai pas vu de signalisation pour ma part...

Un peu d'indulgence certes mais le baba du modélisme n'est pas le partage ? d'interresser les jeunes.

y retourner quand il y aura mini lyon mais pas avant elle est pas donnée l'entrée tout de même ;)

2
Les réseaux / Re : Mini World Lyon vient d'ouvrir (30 juin 2016)
« le: septembre 10, 2016, 08:19:05 pm »
Bonjour, cela faisait un certain temps.
J'ai pu trouvé le temps d'y aller.
Mon avis serait plus mitigé sur cette visite. Je m'explique autant sur le réseau en lui-même, très beau, belles animations, les clins d'oeil sont très biens.
Cependant, quelques bémols :
- j'ai trouvé qu'au niveau des trains, il y a beaucoup de retards comme la sncf ;) beaucoup de déraillements ce qui fait que les trains ne restent pas mal au même endroit. Je n'ai pas vu la voie métrique en marche durant les 3 heures où je suis resté. Un truc que j'ai trouvé assez particulier c'est la présence des vis apparentes pour les supports de caténaire.
- pour savoir ce qu'il se passe derrière, il faut se lever de bonne heure, j'ai posé quelques questions mais me suis heurté à un mur. J'ai su pour rocrail sous linux, je dirais sur Debian vu la présence de firefox esr. J'ai su aussi pour la centrale lenz et des détecteurs ldt mais pas eu une réponse avec sprog ni ce qu'il y a comme détecteurs. Vu comment un le mur était haut, je ne suis pas allé plus loin. Il y a du N dans l'hélice mais je n'en sais pas plus.
Pour l'arduino, je ne suis pas sur, les animations sont commandés par des beaglebone concurrent du rpi qui a bcp plus de gpio. Aussi, c'est apparement sur un serveur web leur truc étant donné la commande sous firefox.
Voila, la visite reste agréable mais cela reste pour du grand public, dommage.

Cela vaut le coup d'oeil quand même.

3
Vos projets / Arduino et Android via bluetooth
« le: février 11, 2016, 12:32:32 pm »
Si jamais cela intéresse quelqu'un :

j'ai dans mon projet de réseau de Noel une gestion du réseau via smartphone, pas besoin de commande avec bouton et tout comme il y a bcp d'effets de lumière. Bref, je n'ai aucune connaissance du java et n'est pas envie de savoir comme cela marche.

Bref, 2 choses :
- sur arduino, le bluetooth remplace simplement la voie série. Le code est donc le même. Une précaution lors du téléversement enlever le module bluetooth. A savoir que c'est un composant bon marché.

- sur android, pas de prog à connaître. J'ai utilisé l'app inventor 2 (le 2 est important ce n'est pas les mêmes trucs) créé par google et géré par le MIT. L'interface est dispo en fr.
2 volets : 1/ design ou on place les différents boutons, liste etc et le 2ème une programmation par blocs comme scratch.
Pour permettre une connexion par bluetooth, il faut que l'appli utilise le bluetooth :
1/ design : mettre une list picker et un client bluetooth et 2/ dans les blocks 2 blocks pour permettre la connexion comme un peu sur cette page :
http://mathsp.tuxfamily.org/spip.php?article278

Je peux être plus précis si cela intéresse des personnes.

4
Bibliothèques / Interruptions
« le: février 09, 2016, 09:28:53 pm »
Bonjour,

deux petites choses :
  • la reference arduino a évolué : attachInterrupt s'utilise : attachInterrupt(digitalPinToInterrupt(pin), blink, CHANGE);
    voir https://www.arduino.cc/en/Reference/AttachInterrupt
  • seulement sur un uno par exemple seules les broches 2 et 3 peuvent être utilisées. J'utilise une librairie enableInterrupt disponible dans le gestionnaire de bibliothèques. Les exemples sont explicites, par exemple pour l'attachInterrupt c'est enableInterrupt(pin, fonction, mode); dans la fonction setup, même fonctionnement.
    Le bémol c'est l'incompatibilité de la lib avec l'interruption de base mais la lib apporte ce qu'il faut pour remplaceer l'attachInterrupt.

Bonne soirée

5
Infos et bonnes affaires / Gestion git avec automatisme
« le: janvier 25, 2016, 04:33:31 pm »
Bonjour,

Je range mon ordi et effectue mes sauvegardes. J'emploie maintenant des dépôts git pour garder une trace de ce que je fais. Même si on n'a pas de dépôt distant comme github ou autre, le dépôt local permet de faire le nécessaire et surtout de pouvoir revenir en arrière dans l'écriture du code. Il est possible quand on ajoute une fonctionnalité dans un code de créer une autre branche et de la fusionner après quand tout est débuggé avec la branche master. En prime, le dépôt distant peut être simplement sur une clé usb comme je fais. Bref, quand il y a beaucoup de dépôt, une automatisation semble nécessaire pour pull et push le dossier surtout quand on travaille sur plusieurs pc (et aussi quand git ne sert pas uniquement pour le code).
Un script est disponible sur https://myrepos.branchable.com/, script en perl, je ne sais pas si c'est utilisable sur windows, je suppose sur mac.
Sinon il reste le principe du script bash dispo sous GNU/Linux et MacOSX. Ca suppose certes un investissement en temps (quelques commandes), mais après on a vu une vue d'ensemble des dépôts. (je ne connais pas windows... ).

6
Bibliothèques / Re : Bibliothèque animations lumineuses
« le: novembre 20, 2015, 01:39:04 pm »
Après ce que l'on va appeler la V1, une v2 est en cours de développement.
L'idée est de reprendre les ScheduleTables de jlb.
Les objets animations lumineuses seront des enfants de ScheduleTableAction pour permettre l'incorporation de ces objets dans les tables.

L'écriture du code sera un peu plus longue mais le temps sera géré dans le code et proprement et vous pourrez le changer à votre guise :

Un exemple pourrait être un chenillard
Les deux include pour les 2 biblio et ensuite

<code>
ScheduleTable cycle(3, 1500);
Chenillard chen();
byte tab[]={3,6,9};

void setup(){
chen.setup(3, tab);
cycle.at(500, chen);
cycle.at(900, chen);
cycle.at(1400, chen);
cycle.start();
}

void loop(){
ScheduleTable::update();
}
</code>

Vous pourrez jeter des coups d'oeil dans le dépôt : https://git.framasoft.org/g.macfly/AnimLumV2

Les essais sont en cours, je commencerais à pousser la semaine prochaine. Ce sera pour les animations qui sont fixes et non dépendantes de l'aléatoire.

7
Vos projets / Re : Interface processing
« le: novembre 01, 2015, 09:44:37 pm »
Bonjour,
je ne vois pas l'apport d'un Rpi dans le truc. Je n'en vois que des contraintes pour moi.
Un simple ordi portable est amplement suffisant.

8
Vos projets / Re : Interface processing
« le: octobre 21, 2015, 05:57:24 pm »
Maj du screen

9
Vos projets / Re : Interface processing
« le: octobre 21, 2015, 10:34:16 am »
Je reprends le fil.
Processing marche très bien avec Arduino. Je vais utiliser cela pour mon module HOe.
En tout cas, cela marche bien avec les DEL donc avec les autres trucs aucun souci.
Donc voici les 1ères lignes du code :
/*Programme de gestion du module HOe via le PC*/

//Importation des lib
import processing.serial.*;
import g4p_controls.*;

//Configuration de la voie série
Serial arduino;
boolean serialConnected = false;

//Bouton voie série
GDropList serialPortListMenu;
GButton connectButton;
String[] serialPortList;

//Bouton commande canton
GButton Bcanton1;
GButton Bcanton2;
GButton Bcanton3;
boolean canton1 = false;
boolean canton2 = false;
boolean canton3 = false;

void setup()
{
  size(1024, 600);
  serialSetup();
  cantonSetup();
}

void draw()
{
  background(255);
  fill(0);
  stroke(0);
  //Décor des commandes 1
  text("Port série", 630, 35);
  text("Module HOe", 10, 20);
  line(620, 0, 620, 600);//Ligne verticale
  line(0, 40, 620, 40);//Ligne Gauche Ht
  line(620, 80, 1024, 80);//Ligne Droite Ht
  text("Commandes des cantons", 10, 60);
 
  //Dessin du réseau
  text("Canton 1", 80, 105);
  text("Canton 2", 30, 145);
  text("Canton 3", 80, 185);
  //Lignes canton 1
  if (canton1 == true) {
    stroke(#2ECC71);
  } else {
    stroke(#FF0000);
  }
  line(150, 100, 250, 100);
  line(250, 100, 300, 140);
  //Lignes canton 2
  if (canton2 == true) {
    stroke(#2ECC71);
  } else {
    stroke(#FF0000);
  }
  line(100, 140, 300, 140);
  //Lignes canton 3
  if (canton3 == true) {
    stroke(#2ECC71);
  } else {
    stroke(#FF0000);
  }
  line(150, 180, 250, 180);
  line(250, 180, 300, 140);
  //Plaque tournante
  fill(255);
  stroke(0);
  ellipse(300, 140, 70, 70);
 
  //Décor des commandes 2
  line(0,240,620,240);
}

// Fonctions pour la voie série
void serialSetup()
{
  serialPortList = Serial.list();
  serialPortListMenu = new GDropList(this, 700, 20, 300, serialPortList.length*24, serialPortList.length);
  serialPortListMenu.setItems(serialPortList, 0);
  connectButton = new GButton(this, 900, 50, 100, 22, "Connecter");
}

boolean connectSerial(String serialName)
{
  arduino = new Serial(this, serialName, 115200);
  serialConnected = true;
  return true;
}

void disconnectSerial()
{
  serialConnected = false;
  arduino.stop();
}

//Handler pour les boutons
void handleButtonEvents(GButton button, GEvent event) {
  if (button == connectButton && event == GEvent.CLICKED) {
    if (! serialConnected) {
      if (connectSerial(serialPortListMenu.getSelectedText())) {
        connectButton.setText("Deconnecter");
      }
    } else {
      disconnectSerial();
      connectButton.setText("Connecter");
    }
  }
  if (button == Bcanton1 && event == GEvent.CLICKED) {
    actionCanton1();
  }
  if (button == Bcanton2 && event == GEvent.CLICKED) {
    actionCanton2();
  }
  if (button == Bcanton3 && event == GEvent.CLICKED) {
    actionCanton3();
  }
}

//Commande des cantons
void cantonSetup() {
  Bcanton1 = new GButton(this, 400, 89, 100, 22, "Canton 1");
  Bcanton2 = new GButton(this, 400, 129, 100, 22, "Canton 2");
  Bcanton3 = new GButton(this, 400, 169, 100, 22, "Canton 3");
}

void actionCanton1() {
  canton1 = ! canton1;
}

void actionCanton2() {
  canton2 = ! canton2;
}

void actionCanton3() {
  canton3 = ! canton3;
}

//Fonctions pour les boutons de trains


//Touches de clavier qui définit aussi les actions pour le module HOe

Il me reste à insérer les handlers des touches pour faire des raccourcis et après à envoyer les ordres correspondants à l'Arduino. Il faut simplement faire une table de correspondance.

Ci joint une image, les couleurs des voies changent.

Pour l'essayer, téléchargez Processing3 et installez la lib G4P. Très simple, vous allez dans le gestionnaire de lib la cherchez et l'installez.

10
Vos projets / Re : Projet servo-aiguille
« le: septembre 23, 2015, 02:18:51 pm »
Processing peut très bien communiquer avec l'Arduino. C'est bien le but de mon truc d'ailleurs. Des informations peuvent être envoyés de processing à Arduino et vice-versa et ce via la voie série.
Jlb a dans sa besace. D'ailleurs, il avait prévu de montrer la même application que moi.

11
Vos projets / Re : Projet servo-aiguille
« le: septembre 22, 2015, 06:13:55 pm »
C'est un bel exemple, mais ce n'est pas encore le but de ce truc ;)
Patience.


12
Vos projets / Re : Projet servo-aiguille
« le: septembre 21, 2015, 05:40:27 pm »
On dessine ce que l'on veut, tu dessines des formes et il existe des lib pour faire des boutons et autre. Et oui en mettant une liaison avec arduino on peut faire un TCO.

C'est un peu mon idée pour mon projet de micro-module en HOe. Mais pas de filaire du bluetooth, le programme sur Arduino est le même et il me semble sur processing aussi.

Le draw remplace le loop.

Allez, il me reste donc à monter le réseau avec les aiguilles pour après vous en dire plus ;)

13
Vos projets / Re : Projet servo-aiguille
« le: septembre 21, 2015, 03:44:38 pm »
A mon avis, il pensait que c'était à mettre dans l'IDE Arduino et processing une lib ou quelque chose appartenant à Arduino.

14
Vos projets / Re : Projet servo-aiguille
« le: septembre 21, 2015, 02:10:55 pm »
En gros, processing est un langage pour dessiner dans un IDE qui s'appelle processing.
Arduino dérive de ce projet.

https://processing.org

Merci pour vos réponses.

15
Vos projets / Re : Projet servo-aiguille
« le: septembre 20, 2015, 09:02:11 am »
Merci, plus qu'un windowsien pour confirmer.
La majeure partie des personnes ici sont apple si je ne me trompe pas ;)

Pages: [1] 2 3 ... 9