A

For döngüsü

Başlatan adem, 03 Mayıs 2013, 12:34:48

adem

Merhaba Beyler ,

Basit bir servo motor kontrol ediyorum.Ama bir noktada tıkandım.

Bir OP'de yan yana iki kutu düşünün [ 1 ] - [ 2 ]
şimdi bu 1 yazan yere Oparatör 20 yazdıgını ve 2 yazan yerede 5 yazdıgını düşünün ve 5 defa aynı hareketi yaparak 20 cm kesicek.
motoru kontrol etmede sıkıntım yok yanlız bu algoritmayı yapamadım.


Teşekkür ederim.

ete

Sorunun açıklama kısmı çok yetersiz. Dolayısıyla benim açıklamamda sana yetersiz gelebilir.
Öncelikle veri girişi yapılmalı. Bunun için LCD ekranı kullanacağız. 1. satıra Parametre-1 olarak Kaç cm?: şeklinde bir ifade koyup karşısına giriş yaptıracağız. Ancak bunu yapmadan önce 2. satırada Kaç Kez?: şeklinde bir ifade koyup sonra girişleri alacağız.

LCDOUT $fe,$80,"Kac cm.?="
LCDOUT $fe,$c0,"Kac Kez?="
Bu iki komutyazıları yazdırdı. Şimdi kursorü ilk satır yazılacak konuma getirmek gerekiyor.
cm_GIR: şeklinde bir etiket belirledik.
LCDOUT $Fe,$89 (Ka cm.?= ifadesini soldan sağa doğru 8 karekter olarak saydık o halde 9. hane yazacağımız değerin yeri olacaktır. Burada giriş işlemini kim yapacak belli değil. Diyelimki bir ARtır butonu kullandık;
IF ARTIR=0 then CM=CM+1 : if cm>50 then cm=0 gibi bir kısıtlamada koymak gerekebilir.
IF AZALT=0 then cm=cm-1:if cm=255 then cm=0 şeklinde cm değeri sıfırın altına düşerse sıfır yaparız.
Birde SEC tuşumuz olur buda girişten sonra işlemi sonlandırır.
IF SEC=0 then
  while sec=0:wend
  goto SATIR_IKI
Endif
Goto CM_GIR

SATIR_IKI:  etiketinde bu sefer kursorü 2. satırda aynı hizaya getiririz
LCDOUT $fe,$C9
IF ARTIR=0 then kez=kez+1:if kez>10 then kez=10
if azalt=0 then kez=kez-1:if kez=255 then kez=0
if sec=0 then bitir
Şeklinde giriş işlemlerini yaparız.
Bitir: isimli etikette ise işlemi yapacağız.
FOR I=1 to KEZ  'kez değişkenine ne girilmiş ise işlem o kadar adet yapılacak
...işlem
...işlem
Burada cm bilgisini bir şekilde kullanıp her bir döngü çeviriminde istenen cm kadar kesim yapılmasını sağlaman gerekir.
next
end

Burada işlem sona erer ve gerekirse programı başa yönlendirirsin.

Hepsi bu kadar.

Ete

Powered by EzPortal