Auteur Sujet: Mes divers projets de réseau  (Lu 16442 fois)

Guillaume

  • Global Moderator
  • Full Member
  • *****
  • Messages: 204
    • Voir le profil
    • Locoduino
Mes divers projets de réseau
« le: avril 16, 2020, 07:08:56 pm »
Bonjour,

Je refais un peu ce post pour présenter d'une meilleure manière. En reprenant le site, je me suis beaucoup intéressé aux bibliothèques de Thierry dont la dernière extrêmement intéressantes DcDCcNanoController si je l'écris bien.

Si bien que cela va être le dénominateur commun entre mes petits réseaux au moins 3 sachant que j'avais déjà bien avancé sur le dernier en route.

Donc une présentation globale des réseaux :

  • le 1er est un réseau HOe sur un équivalent de feuille A4 comportant une plaque tournante reliant deux rails. L'arduino commandera le train ainsi que la plaque tournante.
  • le 2ème un réseau HO 20 sur 70 cm  de long environ avec une aiguille et donc 1 rail dans un sens et 2 dans l'autre, réseau digital au contraire des autres. L'arduino commandera l'aiguille et les trains ainsi que d'autres mécanismes si possible
  • le 3ème le réseau de Noël en O9, un simple rond de rails sur un carré de 60 cm, l'arduino va commander le train mais surtout plusieurs animations de lumière, ca va scintiller sur celui-là.
  • Le dernier un réseau HOe 25 sur 60 cm, avec une plaque tournante reliant 3 rails dont un seul traverse le module pour aller sur un pont transbordeur, celui-là au niveau arduino est bien avancé pour que je transfère la commande vers DcDCcNanoControler. Il faut que je reprenne les choses en main.


Il en existe un autre qui sera plus imposant de 90*60 cm en HOe, avec ces petits réseaux, je valide des cadres que ce soit arduino ou décor pour faire celui-là dans les règles de l'art.

Voilà, je reviendrais dessus pour les pas à pas sur chaque partie
« Modifié: avril 18, 2020, 03:30:27 pm par Guillaume »
G.

Guillaume

  • Global Moderator
  • Full Member
  • *****
  • Messages: 204
    • Voir le profil
    • Locoduino
Re : Mes divers projets de réseau
« Réponse #1 le: avril 18, 2020, 03:39:12 pm »
Allez, je me suis mis au boulot hier soir, pour un partage rapide.
Je ne sais pas si cela a été fait sur le site, si jamais ca a été pour moi un petit entraînement.

Petit programme pour savoir quelles sont les butées d'un servo pour une application donnée : aiguilles, pont tournant, etc. Cela va donc me servir pour le réseau 1 et 2.

Matériel : arduino, servo, fils, ordi pour voie série

Préparatifs : mettre le servo en place et l'objet qui bouge en position médiane et fixer cet objet au servo. Dans mon cas, pour le pont tournant au milieu des deux voies. Cette position permet de gérer les deux positions extrêmes en tatonnant. Il me semble être le meilleur départ. Sinon on place dans l'un des positions extrèmes avec un writemicroseconds à 200 avec le .attach du servo et on règle seulement l'autre position. Il y a seulement une ligne à ajouter avant le attach. La position se règle dans le moniteur série en écrivant l'angle en micro-seconds. Voir les articles sur le site pour plus de précisions.
J'ai mis un mouvement réaliste aussi pour ne pas abîmer l'objet qui bouge avec un mouvement brusque. Quand j'aurais réglé les butées j'ai vu qu'il y avait une jolie bibliothèque permettant de bouger tout cela.
Servo sur la broche 2, à changer si nécessaire.

Petite note : j'ai bidouillé pour la voie série, je n'ai pas compris certains trucs, cependant comme je ne l’utiliserais pas ce mode de communication, je vais au plus simple ;). En plus, je reprends la programmation après pas mal de temps.

Le voici :

#include <Servo.h>
const int broche=2;
Servo moteur;
int anglepre;
int angleant=1500;
int bin;

void setup() {
  Serial.begin(9600);
  delay(10);
  while (!Serial){};
  moteur.attach(broche);
}

void loop() {
  if(Serial.available()){
    anglepre=Serial.parseInt();
    Serial.read();
    if(anglepre > 999 && anglepre < 2001)
    {
      Serial.print("Angle choisi :");
      Serial.println(anglepre, DEC);
      if(anglepre == angleant){bin=0;}
      else
      {
        if(anglepre > angleant){bin=1;}
        else{bin=-1;}
        while(anglepre != angleant)
        {
          angleant = angleant + bin;
          moteur.writeMicroseconds(angleant);
          delay(2);
        }
      }
    }
    else
    {
      Serial.println("L'angle n'est pas dans les limites de la bibliotèque Servo à savoir entre 1000 et 2000");
    }
  }
}

A déplacer ailleurs si cela n'est pas le sujet du fil ou si cela intéresse

Je vais racheter un servo pour cette application, j'ai l'impression qu'il rend l'âme, il fait un bruit bizarre. Il a pas du aimer quand j'ai inversé la variable bin et donc mis des microsecondes à 4000 probablement... Il finit sur le banc des objets tests.

Prochaine étape : décor et led
G.

Guillaume

  • Global Moderator
  • Full Member
  • *****
  • Messages: 204
    • Voir le profil
    • Locoduino
Re : Mes divers projets de réseau
« Réponse #2 le: avril 27, 2020, 08:59:30 pm »
Bonsoir,

petit avancement pour le petit réseau, le décor est presque fini plus que la mer mais il me manque du matériel, en attente du déconfinement et du servo pour aller plus loin

Bonne soirée
G.