Jump to content

Conrad

Member
  • Posts

    196
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by Conrad

  1. I would like to present a working element of the czuwak/shp lamp for EP/EU07. The project runs on python and reads the pixel value and sends it to arduino to control the LED. 3d print Case with acrylic 3mm and led module with dome. How it works 20250126_132514.mp4
  2. Projekt "Czuwak" gotowy. Zczytywanie pixeli z ekranu i sterowanie w ten sposób diodami led przez arduino. Dwa wydruki: całość: - szybka to akryl 3mm przyciemniony - diody to gotowe moduły z kopułką Działanie: 20250126_132514.mp4
  3. Już wcześniej napisałeś, że jesteś krótkofalarzem. Tylko my tutaj rozmyślamy jak można to łatwo wprowadzić do symulatora, gry SimRail, a nie tworzyć symulacji rozchodzenia się fal radiowych chyba że lubisz czekać ponad rok na nowe ficzery 🙂
  4. Na radiu jest przycisk szumu, jakby się nakładał na dźwięk radia (kiedy głośnik pracuje) mielibyśmy namiastkę tego co napisałeś.
  5. Dzisiaj pobawilem się tą pamiecią, faktycznie da sie znalezc wartosci, np SHP, czy moment zalaczenia dzwieku dla czuwaka itp, ale po ponownym uruchomieniu SR gubi te dane 😕 Na razie testuje rozwiazanie na zczytywaniu danych rgb danego pixela. W weekand jak uruchomie drukarke pokaze dzialajacy element. Na razie mały test: 20250121_221626.mp4
  6. Też się tego obawiałem, że jak się tak stanie to nie ma sensu tego tak prowadzić. Pokazałeś i udostępniłeś alternatywę, więc ukłony, może pogrzebię w tym temacie, ale chłopaki w SimRail niech obiecają rzadkie aktualizacje 😉 albo udostępnią I/O dla nas, prosimy @uetam 🙂
  7. Thx Co do nanometrów to wartość rzeczywista podzielona przez 100 na skali manometrów, czyli 4,19 to wartość 0,419 Nie mam silników krokowych na razie, więc tutaj niepoeksperyemntuje, ale na razie działa to co pokazałeś powyżej.
  8. @JarkPomsky właśnie udało mi się przekazać dane z JSON do arduino 🙂 Na razie zrobiłem test zapalania się lampki LED kiedy wartość przekroczy >100 z tego co opublikowałeś Kod dla Arduino Leonardo (8bit) #include <ArduinoJson.h> // Pin dla diody LED const int ledPin = 10; // Zmienna do przechowywania ostatniego czasu unsigned long previousMillis = 0; const long interval = 1000; // Czas oczekiwania w ms void setup() { Serial.begin(9600); // Inicjalizacja portu szeregowego pinMode(ledPin, OUTPUT); // Ustawienie pinu diody LED jako wyjścia digitalWrite(ledPin, LOW); // Wyłączenie diody na start Serial.println("Uruchomiono Arduino."); } void loop() { // Sprawdzanie, czy dostępne są dane na porcie szeregowym if (Serial.available() > 0) { String jsonData = Serial.readString(); // Odczyt danych JSON Serial.print("Odebrane dane: "); Serial.println(jsonData); // Przetwarzanie JSON StaticJsonDocument<1024> doc; DeserializationError error = deserializeJson(doc, jsonData); if (error) { Serial.print("Błąd przetwarzania JSON: "); Serial.println(error.c_str()); return; } // Odczytanie wartości value_1 if (doc.containsKey("value_1")) { float value_1 = doc["value_1"]; Serial.print("Odczytana wartość: "); Serial.println(value_1); // Sterowanie diodą LED w zależności od wartości if (value_1 > 100) { digitalWrite(ledPin, HIGH); // Włącz diodę Serial.println("Dioda WŁĄCZONA"); } else { digitalWrite(ledPin, LOW); // Wyłącz diodę Serial.println("Dioda WYŁĄCZONA"); } } else { Serial.println("Brak klucza 'value_1' w danych JSON."); } } } Jako, że mam Arduino po kablu USB-> to w pythonie zrobilem API do czytania danych import serial import time import requests from requests.adapters import HTTPAdapter from urllib3.util.retry import Retry # Ustawienia portu szeregowego serial_port = "COM11" # Zmień na właściwy port, do którego podłączone jest Arduino baud_rate = 9600 # URL API api_url = "http://192.168.0.66:5000/api/receive_data" # Konfiguracja sesji z ponownymi próbami session = requests.Session() retries = Retry(total=5, backoff_factor=1, status_forcelist=[500, 502, 503, 504]) session.mount("http://", HTTPAdapter(max_retries=retries)) def main(): try: # Inicjalizacja połączenia szeregowego ser = serial.Serial(serial_port, baud_rate, timeout=1) print(f"Połączono z Arduino na {serial_port}") while True: try: # Pobierz dane z API z timeoutem i zamykaniem połączenia with session.get(api_url, timeout=5) as response: if response.status_code == 200: json_data = response.json() # Przetwarzanie odpowiedzi JSON print(f"Otrzymane dane z API: {json_data}") # Wysyłanie danych JSON do Arduino ser.write((str(json_data) + "\n").encode('utf-8')) else: print(f"Błąd API: {response.status_code}") time.sleep(1) # Odczekaj 1 sekundę przed kolejnym żądaniem except requests.exceptions.RequestException as e: print(f"Błąd połączenia z API: {e}") time.sleep(0.01) # Odczekaj przed kolejną próbą except Exception as e: print(f"Wystąpił błąd podczas pętli głównej: {e}") break except KeyboardInterrupt: print("Zakończono działanie.") except Exception as e: print(f"Wystąpił błąd: {e}") finally: if 'ser' in locals() and ser.is_open: ser.close() print("Zamknięto port szeregowy.") if __name__ == "__main__": main() Działa 🙂 edit: dodalem zabezpieczenie do limitu otwartych połączeń sieciowych na określony portm, żeby jego nie zamykał.
  9. Mnie zainteresowała kwestia testów z grupą 20-30 graczy Steam, przecież to jakiś żart! Każdy z nas po odpaleniu wersji po wyjściu z EA widział dziesiątki błędów. Mam nadzieje, że PlayWay tego wytłumaczenia nie kupił.
  10. W weekand sprobuję to przetestować i dam znać co się udało uzyskać.
  11. Niestety tylko na razie tędy droga, ale kolejne elementy pulpitu ożyją.
  12. Co do silników krokowych to @Maciej_ZG już wcześniej podpowiedział jakie rozwiązanie się u niego sprawdziło. Tanie i często stosowane silniczki krokowe w projektach diy, często używane przy budowie kokpitów samolotów dla zegarów analogowych. np. do Cessny. Łatwo znaleźć gotowe rozwiązania i tutoriale diy. Co do API od dev to obecnie moja nadzieja szoruje po dnie pustego basenu 🤣
  13. Zazdroszczę! za oryginalny hardware 🙂, spory klamot, ale będzie frajda z tego.
  14. Świetnie! Jak rozumiem byłaby szansa na bypass pomiędzy SimRail, a wyjściem na zewnątrz i przekazywaniem stanów na swój hardware!? Do tego się dokopałeś (pod F8) ? Jako, że jesteś ze świata simracingowego, to kuszące byłoby to zrobić finalnie pod dashboard np SimHuba, który ma spore możliwości dalej odnośnie przenoszenia danych stanów na kontrolery np arduino. Byłby to drugi symulator po TS2021 z takim suportem.
  15. Na to wygląda, że to my jesteśmy testerami
  16. na GeforceNow jest czyli ten sam co na koncie Steam
  17. @Lukaszszsz Ty masz na myśli harmonogram wschodów i zachodów Słońca, do ogarniecia w unity. Mam nadzieje, że dev czytają to. Jeżeli mamy pogodę, pory roku to czas i na to. Myślę, że jesteście to wstanie ogarnąć na multi. Kolejny kamyczek do imersji. Tutaj się z tym zgadzam. Jednak do samych aspektów kolorystyki w grze to pozostaje Reshade. Kazdy ma inny monitor, jeden slabo swiecacy, drugi mocno, jeden z HDR drugi nie, jeden na wypalonych ledach, kolejny już na naj owszych OLEDach. Do tego jedni wola soczyste kolory rodem z mediamarktu, a inni zimowe pantone Poland color dark grey. Wszyscy jesteśmy spięci jak guma w majtkach przed świętami. Na forum, na radiu na multi, wiecej luzaków, bo Mikolej nie przyjdzie 😉
  18. Zawsze można sobie doprawić grafikę za pomocą Reshade i będziesz miał totalny mrok 😉
  19. Super! Gratulacje! i całość ogarnięta, jak rozumiem też pod Maszynę i TD2?
  20. a dlaczego nie możesz jak jest wykonana ta gruszka? Przez joytokey sie nie da?
  21. Dziwna prośba, kiedy grasz na niskich detalach, za to odpowiada rozdzielczość tekstur. Tylko zmiana kompa lub usługa GeforceNow.
  22. Różnice między łącznikiem, włącznikiem i wyłącznikiem – co powinieneś wiedzieć? Choć te nazwy mogą wydawać się zamienne, to dobrze jest znać różnice. Łącznik to fachowa nazwa urządzenia, które służy do włączania i wyłączania prądu w obwodzie. Wyłącznik i włącznik to bardziej potoczne terminy, ale odnoszą się do tego samego elementu.
  23. Jak jedziesz z Pruszkowa do Warszawa Wschodnia, to zatrzymujesz się na Ochocie, ale później już nie masz ochoty jechać dalej, tak to rozwiązali 😉
  24. Nowe klawisze z możliwością przypisania: dodano nowe elementy sterowane z klawiatury: ustawianie fotela/widoku z kamery w kabinie ("1"), oświetlenie kabiny i pulpitu, sprężarka, syrena (oba tony), gwizdek manewrowy, sterowanie poszczególnymi reflektorami na czele pojazdu, sterowanie sygnałami końca pociągu, hamulec przeciwpoślizgowy, asymilacja hamulca, otwarcie wyłącznika szybkiego, przetwornice, wysoki rozruch, odblokowanie przekaźnika nadmiarowego sprężarki, radiostop i w sumie to tyle ...
  25. Cześć, mogę się podzielić, ale zaprojektowane są pod mój kokpit i przeskalowane do rozmiarów elektroniki, którą zastosowałem, to nie jest 1:1. Daj priv.
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy