!

[Atari] AtariOnLine: Atari jako programator pojazdu gąsienicowego

[15] # AtariOnLine | środa, 4 Marca 2026 16:15CET

[Atari] AtariOnLine: Atari jako programator pojazdu gąsienicowego


Zenon Rakoczy napisał:

Ta zabawka, widoczna na zdjęciach poniżej, to zrealizowane moje marzenie sprzed lat, a właściwie z dzieciństwa. Samobieżny samochodzik na gąsienicach. Pierwowzór sterowany był ręcznie, przewodowo, małym manipulatorem. Jeździł w przód, w tył, no i skręcał. Nie był mój, ale wybawiłem się nim co niemiara. Minęło pół wieku. Będąc na emeryturze, wraca się do marzeń. Pora zbudować więc własny egzemplarz, tyle że w nieco innej koncepcji. Zatem samochodzik nadal jest na gąsienicach, ale jest sterowany procesorem AT89C2051. Niepotrzebne jest sterowanie ręczne, bo jeździ sam.



Wprowadzone innowacje polegają na tym, że z przodu i z tyłu ma wbudowane czujniki na podczerwień, które wykrywają przeszkody do ominięcia. Są światła i klakson. Napędzany jest dwoma silniczkami, co pozwala na proste sterowanie realizujące skręt w lewo i prawo. Samochodzik jeździ sobie według programu zaszytego w pamięci procesora – może prosto, może skręcać, może do tyłu. Po napotkaniu przeszkody zatrzymuje się na chwilę. Wtedy "myśli”, co tu zrobić. Według założonego algorytmu wycofuje się i obiera inną trasę. W czasie, kiedy swobodnie jeździ, zbiera rozsypane na podłodze metalowe kulki i turla je w ustalone miejsce. Robi to w momencie, gdy metalowa kulka znajdzie się między widełkami umieszczonymi z przodu. Od tego momentu kieruje się w stronę światła ustawionego w miejscu składowania kulek. Ot, taki marsjański łazik…

No tak, ale co to ma wspólnego z Atari? Zaraz się wyjaśni. By było łatwiej i szybciej zastosować algorytm, według którego samochodzik jeździ i wykonuje zadane czynności, program napisany jest w edytorze Notepad++ i skompilowany. Wszystko to wykonuje się na pececie. Kod wynikowy zostaje przesłany łączem SIO2PC do Atari, a tam w gnieździe kartridża znajduje się programator procesorów jednoukładowych AT89Cx51. Dlaczego tak? Bo “Atari tak chciało”, bo tak to sobie wymyśliłem. Po zaprogramowaniu procesora i przełożeniu go do samochodzika pozostaje włączyć zasilanie i można się bawić. No, czasem nie tak szybko. Jeżeli dopiero opracowujemy algorytm, trzeba usunąć w nim błędy, dopracować szczegóły, przetestować kilka razy i dopiero potem zabawa rozpoczyna się na całego. Dzieciarnia co rusz wymyśla nowy układ przeszkód, którymi są rozstawiane na podłodze drewniane klocki. Nie może się nadziwić, skąd samochodzik wie, że na drodze jest przeszkoda. Mała uwaga. To nie jest tak, że za każdym razem, chcąc się bawić, trzeba na nowo pisać program i programować procesor. Mój algorytm jest już na tyle dopracowany, że wystarczy samochodzik wyjąć z pudełka, ewentualnie doładować akumulatorki i gotowe. Start i jedzie.



W zamyśle było jeszcze, aby Atari przeanalizowało wymyśloną trasę, po której samochodzik będzie się poruszać. W tym celu na ekranie w trybie GR.8 mała, poruszająca się kropeczka miała pozostawiać za sobą ślad symulujący trasę, po której poruszać będzie się samochodzik. Ale jak to bywa, projekt nie został zrealizowany do końca. Samochodzik jeździ? Jeździ. No to jest dzień zwycięstwa i nie ma pilnej potrzeby ulepszania.

Szczegóły techniczne pojazdu są takie: wykonany ze sklejki. Silniki zasilane są napięciem około 6V. Osobne zasilanie elektroniki i silników, by zakłócenia nie burzyły pracy procesora. Sterowanie silnikami poprzez przekaźniki, bo tak najłatwiej. Z przodu i z tyłu po trzy czujniki podczerwieni. Wymiary: długość 250 mm, szerokość 160 mm, wysokość 130 mm. To tyle.



Krótki filmik z poruszania się pojazdu powyżej, a poniżej fragmenty programu:


Informacje:

;Samochód na gąsienicach
;TEST 10.03.2023. Program działający
;TEST 11.03.2023. zoptymalizowany program
;TEST 12.03.2023. procedura wyliczania kierunku
;skrętu po wykryciu przeszkody
;na podstawie programu T3.asm
;15.03.2023. Gotowe, mechanicznie


;PORT P3 steruje silnikami. lewym i prawym
;------------------------------------------------
;PORT P3.0 D0, pin2, bit-0b0h, silnik lewy
;D0=1 silnik lewy stop, D0=0 silnik lewy start
;------------------------------------------------
;PORT P3.1 D1, pin3, bit-0b1h, silnik prawy
;D1=1 silnik prawy stop, D1=0 silnik prawy start
;------------------------------------------------
;PORT P3.2 D2, pin6, bit-0b2h, kierunek jazdy
;D2=1 jazda w przód, D2=0 jazda w tył
;------------------------------------------------

;0FFh silniki stop, równoważne z 0FBh
;0FCh jazda prosto w przód, silniki start
;0FDh skręt w lewo w przód, silnik prawy start
;0FEh skręt w prawo w przód, silnik lewy start

;0FBh silniki stop, równoważne z 0FFh
;0F8h jazda prosto w tył, silniki start
;0F9h skręt w lewo w tył, silnik prawy start
;0FAh skręt w prawo w tył, silnik lewy start
;------------------------------------------------
;PORT P1 steruje funkcjami samochodu
;------------------------------------------------

Fragment kodu głównego:

mov r6,#0FFh
acall xa

mov r2,#009h
mov r6,#0FCh
acall xa

mov a,r4 ;skręt, wyliczanie kierunku
rl a
mov r4,a
anl a,#11111011b
orl a,p3

cjne a,#0F9h,k2
mov r7,#030h
mov dptr,#p1
ljmp k1

k2:
mov r7,#010h
mov dptr,#pp
ljmp k1

Fragment głównej procedury:

;pusta pętla, r2 jako parametr, r3 jako parametr

xa:
mov p3,r6 ;wyłącz silniki
setb 090h ;wyłącz czujniki
cpl 092h ;włącz/wyłącz światła

Tabela danych, wyznacza trasę przejazdu:

t1:
db 0FFh,004h ;stop
db 0F9h,00Ch ;lewo tył
db 0F8h,020h ;prosto tył
db 0F9h,010h ;lewo tył
db 0F8h,020h ;prosto tył
db 0FFh,002h ;stop
db 0FEh,010h ;prawo przód
db 0FCh,030h ;prosto przód

;05
db 0FDh,00Ch ;lewo przód
db 0FCh,030h ;prosto przód
db 0FDh,010h ;lewo przód
db 0FCh,020h ;prosto przód
db 0FDh,010h ;lewo przód
db 0FCh,028h ;prosto przód
db 0FEh,010h ;prawo przód
db 0FCh,020h ;prosto w przód

;06
db 0FFh,002h ;stop
db 0F9h,010h ;lewo tył
db 0F8h,020h ;prosto tył
db 0FAh,00Ch ;prawo tył
db 0F8h,030h ;prosto tył
db 0FFh,002h ;stop
db 0FDh,010h ;lewo przód
db 0FCh,028h ;prosto przód

;07
pp:
db 0FEh,00Ch ;prawo przód
db 0FCh,020h ;prosto przód
db 0FEh,00Ch ;prawo przód
db 0FCh,030h ;prosto przód
db 0FEh,00Ch ;prawo przód
…….
…….


2026-03-04 16:15 by Kaz
komentarzy: 4
NOWSZY [Atari] AtariOnLine: Rozmowa o demoscenie - Bac z Taquart
NOWSZY [Atari] AtariOnLine: Sceny z demosceny #6: rozmowa z Bac/Taquart
NOWSZY [Atari] AtariOnLine: Od Atari do książki o procesorach - historia Roberta Jaremczaka
NOWSZY [Atari] AtariOnLine: Najnowszy magazyn "FLOP", numer 69
NOWSZY [Atari] AtariOnLine: Najnowszy magazyn "FLOP", numer 69
NOWSZY [Atari] AtariOnLine: Ankieta o AI na demoscenie
NOWSZY [Atari] AtariOnLine: Ankieta o AI na demoscenie
NOWSZY [Atari] AtariOnLine: Ankieta o AI na demoscenie
NOWSZY [Atari] AtariOnLine: Nowy kanał o Atari 16/32-bit
NOWSZY [Atari] AtariOnLine: Nowy kanał o Atari 16/32-bit

Vox populi

Ten artykuł nie byl jeszcze komentowany:(

Dodaj komentarz!!!!

Nick
Email
Www
Komentarz
 
wstecz04/03/2026 16:15
Inne treści związane z tematem
[Atari] AtariOnLine: Rozmowa o demoscenie - Bac z Taquart [Atari] AtariOnLine: Rozmowa o demoscenie - Bac z Taquart
#demoscene #atari #amigaWczoraj, 16 kwietnia 2026 roku na kanale zoom AtariOnline.pl gościliśmy muzyka Marka Bądkowskiego (ksywa demoscenowa Bac) z grupy demoscenowej Taquart, wcześniej Tight i Denomia. Tematem naszej rozmowy była jego historia komputerowa i demoscenowa. Ponad dwie godzinki materiału to powrót do lat 80. i 90., wiele fantastycznych anegdot, ...
[Atari] AtariOnLine: Sceny z demosceny #6: rozmowa z Bac/Taquart [Atari] AtariOnLine: Sceny z demosceny #6: rozmowa z Bac/Taquart
W najbliższy czwartek, 16 kwietnia 2026 roku o godzinie 20:00, naszym gościem na zoomie AtariOnline.pl będzie Marek "Bac" Bądkowski, między innymi członek demoscenowych grup Denomia, Tight i Taquart, tworzący muzykę dla Atari XL/XE. Opowie nam swoją historię związaną z komputerami Atari, demosceną, a także oczywiście muzyką. ...
[Atari] AtariOnLine: Od Atari do książki o procesorach - historia Roberta Jaremczaka [Atari] AtariOnLine: Od Atari do książki o procesorach - historia Roberta Jaremczaka
Mieliśmy rozmawiać maksymalnie godzinkę, żeby nie zanudzić słuchaczy. Tak sobie wymyślił nasz gość, Robert Jaremczak, autor książki "Ewolucja mikroprocesorów". A skończyło się na trzech godzinach, nie tylko prezentacji książki i dyskusji o niej, ale również wielu jego wspomnień o Atari, Commodore 64 i starych ...
[Atari] AtariOnLine: Najnowszy magazyn "FLOP", numer 69 [Atari] AtariOnLine: Najnowszy magazyn "FLOP", numer 69
Właśnie ukazał się magazyn dyskowy "FLOP" naszych kolegów z czeskiego klubu w Ołomuńcu (główny redaktor - Zdenek Burian). Jak część z Was wie, jest to najdłużej ukazujący się w świecie Atari discmag (obok ABBUC-owego), a jego historia zaczęła się w 1989 roku! Aktualny numer jest sześćdziesiąty ...
[Atari] AtariOnLine: Najnowszy magazyn "FLOP", numer 69 [Atari] AtariOnLine: Najnowszy magazyn "FLOP", numer 69
Właśnie ukazał się magazyn dyskowy "FLOP" naszych kolegów z czeskiego klubu w Ołomuńcu (główny redaktor - Zdenek Burian). Jak część z Was wie, jest to najdłużej ukazujący się w świecie Atari discmag (obok ABBUC-owego), a jego historia zaczęła się w 1989 roku! Aktualny numer jest sześćdziesiąty ...
W ramach wolnego czasu odtwarzam stare magazyny komputerowe i prowadzę serwis emulacyjny try2emu. Jeżeli uważasz, że moja publiczna działalność możesz postawić mi kawę, a kawę lubię;). Wspierając mnie, otrzymujesz w nagrodę dostęp do pełnych pdf'ów publikowanych magazynów - czyli dokładnie takich jakie spełniają zamierzenia tego projektu.
Postaw mi kawę na buycoffee.to
Ostatnio dodane pliki

Retro T-shirt

Retro T-Shirt TurboGrapx16 57,00zł - męski podkoszulek
Retro T-Shirt Sinclair 128k 75,00zł - męski podkoszulek
Newsy Linkownia Emulatory na PC Wideoteka Screenshoty Bajtek Reduks Ready.Run Kreator okładek na kasety Kreator kalendarzy Alpha

© Try2emu 1999 - 2026 | Krzysztof 'Faust' Karkosza Kontakt Polityka Prywatności OWU