Table des matières

TRAIN DU ZOO

Info

  • Concepteur : amelaye
  • Nombre de Stations : 1
  • Lancement : 2020

Présentation

C'est un trajet relativement court qui attend le visiteur mais qui vaut le coup !

Prenez place à bord de ce train à l'ancienne, réalisé avec Advanced Trains, qui fait le tour du jardin zoologique. Il est entièrement automatisé.

Ici il n'y a qu'un seul train disponible, qui arrive en gare toutes les 5 minutes. Il attend 2 minutes en gare et part faire le tour du parc en 3 minutes à la vitesse de 11kms/heures, de quoi vous laisser le temps de profiter du spectacle ! Aux environs, le site est sécurisé progressivement pour vous préserver d'un écrasement éventuel 8-) !

Ressources Techniques

Info

Cette rubrique permet de comprendre et de reproduire chez vous certains aspects intéressants et techniques du serveur.

LuaController : timing

Voici le code que j'ai utilisé pour programmer le panel d'attente. pin.d est le branchement avec le Detector Rail, “gare_zoo” est le nom du panel Digilines.

mem.travel_time =151 
mem.stations = {}
mem.stations.here = "Zoo"
mem.stations.there= "Zoo"
 
digiline_send("gare_zoo", string.format("To %s ->", mem.stations.there))
 
if (pin.d) then
  mem.train_arrived_time = os.time() 
  digiline_send("gare_zoo", "Train a quai !")
else
  if (mem.train_arrived_time  ~= nil and mem.train_arrived_time  ~= "") then
    time = mem.travel_time - os.difftime(os.time(), mem.train_arrived_time)
    minutes = math.floor(time/60)+3 -- une minute de plus pour le delai
    digiline_send("gare_zoo", string.format("Prochain depart dans  %s minutes.", minutes))
  else
    digiline_send("gare_zoo", "Arrivee imminente ! (ou pas ...)")
  end
end
 
interrupt(1, "gareZooStation_Exclusive")

Passage piétons

Des croix de St André sont posées au niveau du passage. Elles portent le nom “zoo_in” et “zoo_out”, nommées grâce au Passive Component Naming Tool. Deux rails LUA Automation sont posés de part et d'autre pour détecter le passage du train et exécuter le code suivant :

setstate("zoo_in", "on")
setstate("zoo_out", "on")

… quand le signal doit s'allumer (le train arrive) …

setstate("zoo_in", "off")
setstate("zoo_out", "off")

Quand le signal doit s'éteindre (le train est parti).