Jump to content

Conrad

Member
  • Posts

    160
  • Joined

  • Last visited

  • Days Won

    8

Other groups

SimRail Early Access

Conrad last won the day on February 2

Conrad had the most liked content!

Reputation

292 Excellent

Recent Profile Visitors

4417 profile views
  1. Pozostaje przetestować i to w dniu kiedy pojawił się brakujący wagon z DLC 🙂 Są tylko znaki ...
  2. Ja na razie nie sprawdzę, na urlopie jestem.
  3. I jak tam zadziałało przesunięcie?
  4. coś takiego znalazłem https://darpol.bydgoszcz.pl/sklep/tabor-szynowy/hasler/zarowka-oswietlenia-tarczy-szybkosciomierza-51534167/ Chyba zamontowana jest pod licznikiem, ale zastanawia mnie ta poświata wokół, co to za element, to on wysyła to zielonkawe światło.
  5. Skąd ta barwa zielona, zielona żarówka?
  6. signal-2025-02-09-201815_.mp4 Pamięci zhackowane, można jeździć z TrackIR, ruszać kokpitem, pixele nie potrzebne. Okazuje się, że jednak czuwak zgłasza się jako 1 albo 0, bez mrugania w pamięci, ale znalezienie tego to masakra jakaś i nie do wszystkich lokomotyw działa. Pozostaje czekać na gotowe rozwiązanie ze strony devów, zabieram się za obudowę 3d print Haslera. Ktoś wie jak rozwiązane jest oświetlenie, ten zielonkawy kolor itp. ?
  7. Hehe racja! dobry pomysł, a ja się bawie w łapanie danych podczas multi 😉
  8. SHP da sie znaleźć bo ma stan 1, ale Ca w trybie mrugania ma stan 0/1/0/1/0/1/... ciężko to mi zlokalizować, ale muszę pokombinować.
  9. Podczas oglądania F8 zauważyłem, że SimRail ma aż trzy atrybuty dla prędkości: prędkość "rzeczywista", prędkość gry (dolny prawy róg) oraz prędkość tachometru (to nas interesuje) Udało się złapać pamięć Parametr tej prędkości drga jak prawdziwy Hasler, falownik, więc jest to symulowane z poziomu gry i po wrzuceniu na silnik krokowy mamy podobne wrażenie. Pierwszy etap za mną, krokomierz podłączony, sprawdzony (tutaj okazało się, że Chinczyki pozamieniali Piny, przypadłość tych wersji i trzeba było odnaleźć prawidłową wersję), napisane przekazywanie danych do arduino, a dalej to już będzie zabawa z optymalizacją i odświeżaniem danych i symulowaniem poruszania się prędkości igły. signal-2025-02-07-115335.mp4 Manometry też złapałem, więc kolejna zabawa będzie z nimi.
  10. Ja myślę, że nie doceniają wartości marketingowej naszej zabawy, która dobrze się pozycjonują w wyszukiwarkach. My otwieramy marzenia na większe doznania z symulacji w warunkach domowych. Zobacz jak się rozwija simracing, czy też akcesoria do flight simulatora, dcs, ets2 czy farming simulator (są jeszcze jakieś symulatory kosmiczne itd.). Jeżeli pojawią się np. proste dashbordy pod SimRail to już będą mieli przewagę na rynku symulatorów kolejowych i przyciągną nowych użytkowników ze świata. Tak to widzę.
  11. Świetnie! Też o tym myślałem, ale ciężko się rozdwoić, na razie zabawa oldtimerami EN51, EP07 i ET22 bo są podobnie zbudowane. A taki Trax/Dragon, czy też Elfik z własnymi dashbordami które wyświetlasz na własnych ekranach i masz czysty widok z okna to właśnie taki cel, dlatego idź przodem i toruj nam droge na to rozwiązanie. Ja nie wiem jak jest zbudowany ten nastawnik jazdy, bo to jakieś bardziej skomplikowane rozwiązanie mechaniczne, trzeba będzie poszukać jakiś rysunków i spróbować to odtworzyć w druku 3d.
  12. Tak, to tylko takie zabawy zanim coś ludzkiego od devów dostaniemy. Głównie mobilizuje mnie to do pracy nad obudowami i pulpitem, tak żeby później przejść szybko i gładko do finalnego rozwiązania.
  13. Jak zasymulować czuwak za pomocą pythona oraz Arduino: Idea jest taka, że za pomocą pythona sprawdzamy kolor pixela i jeżeli jest prawie biały (RGB), to zapalamy za pomocą arduino dany LED i tyle 🙂 1. W Simrail Musimy ustawić sobie widok na stałe, wyłączyć symulowanie przechylania, mnożnik siły odśrodkowej =0, tak żeby ekran pulpitu był statyczny cały czas. 2. Mieć zainstalowanego Pythona 3. Stworzyć sobie plik ze skryptem "czuwak_arduino.py" sprawdzić czy macie i zainstalować brakujące biblioteki jak: pyautgui, serial, time, threading komendy do instalacji: python pip install pyautogui python -m pip install pyserial kod dla pliku "czuwak_arduino.py" - ustawić prawidłowy port COM dla Arduino (tutaj np. mam COM6) - przypisać pozycję pixela (najlepiej tego najjaśniejszego jaki występuje podczas zaplania lampki) dla SHP i Czuwaka dla swojej rozdzielczości i ustawień widoku kokpitu (przycisk 1). Warto sobie zrobić print screena i na spokojnie sprawdzić idealne pozycje dla tych pixeli. - tolerancja koloru pozwala mieć większą czułość reakcji, można to zwiększać wg uznania import pyautogui import serial import time import threading # Ustaw port COM Arduino (sprawdź w Menedżerze urządzeń) arduino_port = 'COM16' # Zmień na odpowiedni port COM baud_rate = 9600 arduino = serial.Serial(arduino_port, baud_rate) # Pozycje pikseli na ekranie pixel_1_x, pixel_1_y = 1141, 1305 # Pozycja 1. piksela pixel_2_x, pixel_2_y = 1238, 1294 # Pozycja 2. piksela # Oczekiwany kolor w RGB expected_color = (180, 180, 180) # Ustaw tolerancję dla każdej składowej koloru tolerance = 30 # Funkcja sprawdzająca, czy kolor jest bliski oczekiwanemu def is_color_close(color, target_color, tolerance): return ( abs(color[0] - target_color[0]) <= tolerance and abs(color[1] - target_color[1]) <= tolerance and abs(color[2] - target_color[2]) <= tolerance ) # Funkcja do sprawdzania kolorów i komunikacji z Arduino def check_colors_and_send(): try: while True: # Pobierz kolor pikseli color_1 = pyautogui.pixel(pixel_1_x, pixel_1_y) color_2 = pyautogui.pixel(pixel_2_x, pixel_2_y) # Zapalanie lampek LED w zależności od warunków if is_color_close(color_1, expected_color, tolerance): arduino.write(b'1') # Zapal LED-y na pinach 2 i 3 else: arduino.write(b'0') # Zgaś LED-y na pinach 2 i 3 if is_color_close(color_2, expected_color, tolerance): arduino.write(b'2') # Zapal LED-y na pinach 5 i 6 else: arduino.write(b'3') # Zgaś LED-y na pinach 5 i 6 time.sleep(0.05) # Zmniejszenie opóźnienia do 0,05 sekundy except KeyboardInterrupt: print("Zatrzymano program.") finally: arduino.close() # Uruchomienie funkcji w osobnym wątku color_thread = threading.Thread(target=check_colors_and_send) color_thread.start() kod dla arduino ledy wpięte w Piny 2,3,5,6 można to zmienić wg uznania, dana para zapala 5 i 6 Czuwak, a 2 i 3 SHP void setup() { pinMode(2, OUTPUT); // LED na pinie 2 pinMode(3, OUTPUT); // LED na pinie 3 pinMode(5, OUTPUT); // LED na pinie 5 pinMode(6, OUTPUT); // LED na pinie 6 Serial.begin(9600); // Komunikacja z komputerem } void loop() { if (Serial.available() > 0) { char command = Serial.read(); // Odczytaj polecenie z komputera if (command == '1') { digitalWrite(2, HIGH); // Zapal LED na pinie 2 digitalWrite(3, HIGH); // Zapal LED na pinie 3 } else if (command == '0') { digitalWrite(2, LOW); // Zgaś LED na pinie 2 digitalWrite(3, LOW); // Zgaś LED na pinie 3 } else if (command == '2') { digitalWrite(5, HIGH); // Zapal LED na pinie 5 digitalWrite(6, HIGH); // Zapal LED na pinie 6 } else if (command == '3') { digitalWrite(5, LOW); // Zgaś LED na pinie 5 digitalWrite(6, LOW); // Zgaś LED na pinie 6 } } } Jak już mamy wszystko odpalamy wiersz poleceń cmd i wpisujemy np. D:\python3 czuwak_arduino.py Uruchamiamy SimRail i powinno działać
  14. Jeżeli pytasz o post powyżej to za pomocą Pythona, jutro wkleję kod to inni bedą mogli skorzystać.
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy