Tajemnice ATARI

POMIAR I REGULACJA
TEMPERATURY


    Zainspirowały mnie wejścia "paddle" w komputerze. Wejścia te reagują na zmiany podłączonej do nich rezystancji. Używając termistora uzyskamy zamianę temperatury na rezystancję, którą zarejestrują wejścia paddla. Zastosowałem termistor 47 kOhm. Użycie innego termistora wymaga skalowania. Podłączamy termistor do wejścia pierwszego paddla. Wkładamy go do naczynia z wodą, ostrożnie, aby nie zanurzyć przewodów. W naczyniu umieszczamy także termometr. Do komputera wprowadzamy program odczytu wartości paddla, na przykład:

10 PRINT PADDLE(0):GOTO 10
   Zwiększając temperaturę wody, notujemy wskazania paddła i termometru, tworząc dwie tablice. Po wpisaniu programu sterującego mamy gotowy elektroniczny termometr.

   Wzbogaciłem go nieco, dodając regulator temperatury. Po przekształceniu wejść joysticków na wyjścia mogę sterować przekaźnikiem włączającym lub wyłączającym grzałkę.

   Sposób połączenia elementów pokazano na rysunku. Dla naszych celów wystarczy podłączenie przekaźnika do jednego wyjścia, ale można ten układ rozbudować, dołączając przekaźniki do pozostałych wyjść układu scalonego.

     opt %00101

SELECT equ %101
START  equ %110

in     equ %00000000
out    equ %11111111

stary  equ $f0
regul  equ $f2

paddle equ 624
dlptr  equ $230

kbcode equ $d01f
porta  equ $d300
pactl  equ $d302

     org $8800

prog equ *

* ustawienie portu
* joysticka na wyjscie
     ldy #out
     jsr kier

* ustawienie ekranu
     lda dlptr
     sta stary
     lda <dl
     sta dlptr
     lda dlptr+1
     sta stary+1
     lda >dl
     sta dlptr+1

* odczyt paddla
pocz ldx #0
ptl1 lda paddle
     cmp tabl,x porownaj
     beq znal
     inx        nastepny
     cpx <ile   wszystkie?
     bne ptl1   nastepny
     beq pocz   jeszcze raz

* znaleziono w tablicy
znal txa
     asl @      *2
     asl @      *4
     tax

* wyswietlenie wartosci
     ldy #0
ptl2 lda temp,x
     sta ptr1,y
     inx
     iny
     cpy #4
     bne ptl2

* regulacja temperatury
     ldx #1    wlacz
     lda regul
     cmp paddle
     bcc stan  temp.<
     ldx #0    wylacz
stan stx porta

* ustawianie temperatury
klaw ldy kbcode
     cpy #SELECT
     bne klw1
     sta regul

* wyswietlenie ustawionej
     ldx #0
ptl3 lda ekr1,x
     sta ekr2,x
     inx
     cpx #4
     bne ptl3

* koniec?
klw1 cpy #START
     bne pocz

* koniec
     ldy #in
     jsr kier
     lda stary
     sta dlptr
     lda stary+1
     sta dlptr+1
     jmp (10)

* ustawienie kierunku
kier lda pactl
     and #%11111011
     sta pactl
     sty porta
     ora #%00000100
     sta pactl
     rts

* program ANTIC-u
dl   dta b($70),b($70),b($70)
     dta b($47),a(ekr1)
     dta b($70),b($06)
     dta b($70),b($70),b($70)
     dta b($47),a(ekr2),b($70)
     dta b($46),a(ekr3),b($70)
     dta b($70),b($70)
     dta b($42),a(ekr4)
     dta d'""""',b($70),b($70)
     dta b($70),b($06),b($70)
     dta b($42),a(ekr5)
     dta b($41),a(dl)

* obszar ekranu
ekr1 dta d'     termometr      '
     dta d'   ELEKTRONICZNY    '
ekr2 dta d'                    '
ekr3 dta d'  stopni celsjusza  '
ekr4 dta d'  Program sluzy do pomiaru i regulacji  '
     dta d'  temperatury w zakresie od 13 do 43    '
     dta d'  stopni Celsjusza. W czasie pomiaru    '
     dta d'  wcisniecie klawisza +SELECT+ powoduje '
     dta d'  ustalenie regulowanej temperatury     '
     dta d'  * MR.soft 1991 *  '
ekr5 dta d'       Ustalona temperatura-brak        '
ptr1 equ ekr2+8
ptr2 equ ekr5+28

* tablica wartosci paddla
tabl dta b(09),b(10),b(11),b(12),b(13),b(14),b(15)
     dta b(16),b(17),b(18),b(19),b(20),b(21),b(22)
     dta b(23),b(24),b(25),b(26),b(27),b(28),b(29)
     dta b(30),b(228)
ile  equ *-tabl

* tablica do wyswietlania temperatury
temp dta d'43.039.537.535.533.531.529.528.026.525.0'
     dta d'24.023.021.020.019.018.017.016.015.014.5'
     dta d'13.513.0brak'

* adres uruchomienia
     org $2e0
     dta a(prog)

     end

   Od redakcji:

   Warto zauważyć, że w tym samym gnieździe dysponujemy jeszcze jednym wejściem "paddle" (patrz TA 1/92), da się zatem wprowadzić dwa niezależne czujniki. Można też w analogiczny sposób podłączyć się do złącza drugiego joysticka, dodając niezależny komplet termistory-przekaźniki.

   Opisane urządzenie może służyć do sterowania grzałką w akwarium, agregatem zamrażarki, może też być bardzo pomocne przy domowej produkcji, powiedzmy, wody destylowanej...

Marek Ruta



Powrót na start | Powrót do spisu treści | Powrót na stronę główną

Pixel 2001