sobota, 15 lipca 2023

Panel do gdy SimRail (aktualizacja: 18.07.2023)

Od kilku miesięcy gram w polski symulator kolejowy SimRail. Niedawno na forum gry trafiłem na post pokazujący panel sterowniczy zrobione przez jednego z użytkowników. Natchnął mnie on do zrobienia podobnego. Postanowiłem zastosować Arduino Due - ma ono dwie wady - cenę i wielkość, ale ma też kilka zalet:

  • ma dużo wyprowadzeń, a przycisków do obsługi jest stosunkowo dużo
  • może emulować klawiaturę bez wgrywania dodatkowych zewnętrznych plików
  • oprogramowanie jest bardzo proste
  • elektryczne połączenia również są bardzo proste

Powoli dodaję kolejne przyciski, więc przyjemność gry z nowym panelem wciąż wzrasta.

Sprzęt:

Kod programu:

#include <Keyboard.h>
int i = 0;
int stanKlawisza[54] = {};

void setup() {
  for (int i = 2; i < 55; i++)
  {
    if (stanKlawisza[i] == NULL) {
      stanKlawisza[i] = HIGH;
    }
    pinMode(i, INPUT_PULLUP);
  }
  Keyboard.begin();
}

// https://www.arduino.cc/reference/en/language/functions/usb/keyboard/keyboardmodifiers/
void loop() {
  klawisz(2, '=');
  klawisz(3, 'o');
  klawisz(9, 178); // BACKSPACE
  klawisz(22, '-');
  klawisz(23, 'i');
  klawisz(28, 220); // NUM /
  klawisz(29, 217); // DOWN ARROW
  klawisz(31, 'p');
  klawisz(30, 230); // NUM 6
  klawisz(36, 221); // NUM *
  klawisz(37, '\\');
  klawisz(39, 'h');
  //klawisz(45, 'spryskiwacz');
  klawisz(43, 232); // NUM 8
  klawisz(44, 235); // NUM .
  klawisz(46, 'z');
  klawisz(51, 226); // NUM 2
  klawisz(52, 218); // UP ARROW
  klawisz(53, 'J');

  i = 45; // hamulec - nastawnik czy nastawnik - hamulec
  if ((digitalRead(i) == LOW && stanKlawisza[i] == HIGH) || (digitalRead(i) == HIGH && stanKlawisza[i] == LOW)) {
    klawisz(4, 222); // NUM -
    klawisz(5, 223); // NUM +
    klawisz(7, 227); // NUM 3
    klawisz(8, 233); // NUM 9
    stanKlawisza[i] = LOW;
  }
  else if ((digitalRead(i) == LOW && stanKlawisza[i] == LOW) || (stanKlawisza[i] == HIGH)) {
    klawisz(4, 227); // NUM 3
    klawisz(5, 233); // NUM 9
    klawisz(7, 222); // NUM -
    klawisz(8, 223); // NUM +
    stanKlawisza[i] = HIGH;
  }

  i = 38; // wesołe Pendolino
  if (digitalRead(i) == LOW && stanKlawisza[i] == HIGH) {
    Keyboard.press('h');
    delay(750);
    Keyboard.release('h');
    delay(250);
    Keyboard.press('j');
    delay(600);
    Keyboard.release('j');
    delay(300);
    Keyboard.press('h');
    delay(250);
    Keyboard.release('h');
    stanKlawisza[i] = HIGH;
  }
}

void klawisz(int i, int l) {
  if (digitalRead(i) == LOW && stanKlawisza[i] == HIGH) {
    Keyboard.press(l);
    delay(50);
    stanKlawisza[i] = LOW;
  }
  if (digitalRead(i) == HIGH && stanKlawisza[i] == LOW) {
    Keyboard.release(l);
    delay(50);
    stanKlawisza[i] = HIGH;
  }
}

czwartek, 23 marca 2023

Moneta z Ogniem

Na Facebooku trafiłem na ofertę sprzedaży monety z Józefem Kurasiem "Ogniem". Sportretowana osoba została opisana dwoma zdaniami, drugie mówiło skąd wziął się jej pseudonim, a pierwsze było następujące: "Kuraś był żołnierzem Armii Krajowej. Żył w latach 1915-1947.". I tyle.

Zostawiłem następujący komentarz:

Powiedzieć, ze Kuraś był w AK to nic nie powiedzieć. Rzeczywiście w '43 r. wstąpił do AK, ale jeszcze w tym samym roku został skazany na karę śmierci za samowolne opuszczenie obozu co spowodowało śmierć dwóch partyzantów. Wyrok co prawda unieważniono w kolejnym roku, ale Kuraś był już wtedy w AL gdzie prowadził działania propagandowe przeciwko AK. W '45 r. pomógł Armii Czerwonej przejść przez góry i podporządkował swój oddział Rosjanom. Na ich polecenie zaczął tworzyć struktury Milicji. W marcu został szefem Urzędu Bezpieczeństwa Publicznego w Nowym Targu. Ale już w kwietniu zdezerterował i przeszedł do podziemia gdzie działał na własną rękę mordując Polaków, Słowaków i Żydów z powodów zarówno politycznych jak i rabunkowych.

Wiki: W 1990 nowotarski oddział Światowego Związku Żołnierzy Armii Krajowej wydał oświadczenie w którym czytamy: Nie mamy nic wspólnego z „Ogniem” i jego pogrobowcami. Uważamy, że zamiast uczestniczyć w uroczystościach ku czci „Ognia” należałoby odprawić żałobne nabożeństwo w intencji jego ofiar, a jest ich 430.

piątek, 10 lutego 2023

Podwyższenie dopuszczalnej prędkości na obszarze zabudowanym nie dla wszystkich



Podwyższenie dopuszczalnej prędkości na obszarze zabudowanym nie dotyczy wszystkich pojazdów, a dokładniej mogą z niego skorzystać tylko niektóre.

Rozporządzenie Ministrów Infrastruktury oraz Spraw Wewnętrznych i Administracji z dnia 31 lipca 2002 r. w sprawie znaków i sygnałów drogowych:

§ 27. 3. Znak B-33, określający dopuszczalną prędkość większą niż 50 km/h, umieszczony na obszarze zabudowanym, dotyczy samochodu osobowego, motocykla i samochodu ciężarowego o dopuszczalnej masie całkowitej nieprzekraczającej 3,5 t, z wyjątkiem:

1) pojazdu przewożącego towary niebezpieczne;

2) pojazdu z urządzeniem wystającym do przodu więcej niż 1,5 m od siedzenia kierującego, o którym mowa w art. 20 ust. 6 pkt 2 ustawy;

3) pojazdu holującego pojazd silnikowy, o którym mowa w art. 31 ust. 1 pkt 1 ustawy;

4) motocykla, którym przewozi się dziecko w wieku do lat 7, o którym mowa w art. 20 ust. 6 pkt 3 ustawy;

5) samochodu ciężarowego przewożącego osoby poza kabiną kierowcy, o którym mowa w art. 63 ust. 2 pkt 4 ustawy.

środa, 25 stycznia 2023

Z jakich krajów kupować monety - krótki poradnik

  • aluminiowe - z Albanii
  • srebrne - z Argentyny
  • złote - z Australii
  • miedziane - z Kuby
  • niklowe - z Nikaragui
  • platynowe - z Portugalii

Aktualizacja 6.03.2023:
Jaka wtopa. Argentyna to AR, a nie AG, które należy do Antigua i Barbuda

środa, 21 grudnia 2022

Czy jak drogi się krzyżują to jest to skrzyżowanie? (aktualizacja: 23.12.2022)

Żeby to było takie proste...

Ustawa z dnia 20 czerwca 1997 r. - Prawo o ruchu drogowym:

Art. 2. Użyte w ustawie określenia oznaczają:
1) droga – drogę w rozumieniu art. 4 pkt 2 ustawy z dnia 21 marca 1985 r. o drogach publicznych (Dz. U. z 2022 r. poz. 1693 i 1768);
1b) droga wewnętrzna – drogę wewnętrzną w rozumieniu art. 8 ust. 1 i 11 ustawy z dnia 21 marca 1985 r. o drogach publicznych;
2a) droga o nawierzchni gruntowej – drogę z jezdnią o nawierzchni z gruntu rodzimego lub nasypowego, ulepszonego mechanicznie lub chemicznie, w której wierzchnia warstwa może być wykonana z kruszywa naturalnego, sztucznego lub pochodzącego z recyklingu;
2b) droga o nawierzchni twardej – drogę niebędącą drogą o nawierzchni gruntowej;
6) jezdnia – jezdnię w rozumieniu art. 4 pkt 5 ustawy z dnia 21 marca 1985 r. o drogach publicznych;
10) skrzyżowanie – część drogi będącą połączeniem dróg albo jezdni jednej drogi w jednym poziomie, z wyjątkiem połączenia drogi o nawierzchni twardej z drogą o nawierzchni gruntowej lub z drogą wewnętrzną;

Ustawa z dnia 21 marca 1985 r. o drogach publicznych:

Art. 4. Użyte w ustawie określenia oznaczają:
1) pas drogowy - wydzielony liniami rozgraniczającymi grunt wraz z przestrzenią nad i pod jego powierzchnią, w którym jest lub będzie usytuowana droga;
2) droga - budowla składająca się z części i urządzeń drogi, budowli ziemnych, lub drogowych obiektów inżynierskich, określonych w przepisach wydanych na podstawie art. 7 ustawy z dnia 7 lipca 1994 r. - Prawo budowlane, stanowiącą całość techniczno-użytkową, usytuowaną w pasie drogowym i przeznaczoną do ruchu lub postoju pojazdów, ruchu pieszych, ruchu osób poruszających się przy użyciu urządzenia wspomagającego ruch, jazdy wierzchem lub pędzenia zwierząt;
5) jezdnia - część drogi przeznaczoną do ruchu pojazdów, składającą się z pasa albo pasów ruchu, z wyjątkiem torowiska wydzielonego z jezdni;

Art. 8. 1. Drogi, parkingi oraz place przeznaczone do ruchu pojazdów, niezaliczone do żadnej z kategorii dróg publicznych i niezlokalizowane w pasie drogowym takiej drogi, są drogami wewnętrznymi.
11. Droga wewnętrzna przeznaczona wyłącznie do ruchu:
1) osób poruszających się przy użyciu urządzenia wspomagającego ruch, rowerów, hulajnóg elektrycznych i urządzeń transportu osobistego albo
2) pieszych, osób poruszających się przy użyciu urządzenia wspomagającego ruch, rowerów, hulajnóg elektrycznych i urządzeń transportu osobistego
- jest drogą rowerową.

Czyli bez mapy geodezyjnej nawet nie podchodź. No chyba, że akurat są słupki wyznaczające pas drogowy.

PS. Okazuje się, że lektura Konwencji Wiedeńskiej wywraca wszystko do góry nogami: