mz80 ile mesafe algılama

ewreka10

Üye
Katılım
17 Eki 2013
Mesajlar
28
Puanları
1
Yaş
41
Merhaba Sayın Dostlar.

Bir mini sumo robot programlıyorum pic basic pro ile fakat, programda sharp sensör kullanılmıştı, ben ise mz80 sensörü aldım.

Şimdi ise bunu nasıl programlayacağımı bilmiyorum.Yapmak istediğim şu şekilde;

1-Pic basic pro 2.60 kullanıyorum
2-Pic16f628a dahili 4mhz kullanıyorum.
3-3 adet mz80 sensör var biri önde ikisi yanlarda şu şekilde _|_
4-Sizin önerilerinizi dikkata alacağım fakat yapmak istediğim şu;
a)_öndeki sensör algılarsa düz git.
b)_sağ veya sol senseörden bilgi geldiğinde o yöne dön (taki ön sensör algılayıncaya kadar.) ön sensör algıladığında ise düz git.
c)_bu şu an olmasa da olur fakat bir diğer iş ise; eğer arada 5 - 10 cm var ise bunu öğrenmek.

Sayın arkadaşlar çok araştırdım fakat mz80'in picbasic pro da yazılmış kodu nu bulamadım.

Hepinize şimdiden Teşekkür ederim.

Hürmetler.
 
Ben sorunun cevabını bilmiyorum fakat sadece tavsiye olarak şunu söyleyeyim.

Robot vs gibi karmaşık programlarda pic basic yetersiz gelebilir.Programlama dilinizi değiştirirseniz (c dili)daha rahat edersiniz.
 
Cevabınız için teşekkür ederim sayın peugeot98.
Fakat ben pbp ile devam edeceğim.
 
Arkadaşlar amerikan online'nı dahi araştırdım ama bulamadım.

Lütfen yardım :S
 
Arkadaşlar bir kod buldum ama mz80 için çalışır mı bilmiyorum.

sharp sensörü için çalışmıyor isis simulasyonda bir bakarmısınız?:

Trigger CON 5 ' trigger pulse = 10 uS
Scale CON $200 ' raw x 2.00 = uS
RawToIn CON 889 ' 1 / 73.746 (with **)
RawToCm CON 2257 ' 1 / 29.034 (with **)
IsHigh CON 1 ' for PULSOUT
IsLow CON 0
ULTRA_SONAR VAR PORTA.1

rawDist VAR Word
inches VAR Word
cm VAR Word

TRISA = 1
TRISB = 0
PORTB = 0
LOW ULTRA_SONAR
main:

GOSUB GET_SONAR
' get sensor value
inches = rawDist ** RawToIn ' inch'e dönü?tür
cm = rawDist ** RawToCm
' cm'ye dönü?tür
DO
IF (cm > 40) THEN GOTO LED1YANSIN
IF (cm < 75) AND (CM > 40) THEN GOTO LED2YANSIN
IF (cm < 40) THEN GOTO LED3YANSIN
LOOP

GET_SONAR: ' make trigger 0-1-0
ULTRA_SONAR = IsLow
PULSOUT ULTRA_SONAR, Trigger ' sensörü aktifle
PULSIN ULTRA_SONAR, IsHigh, rawDist ' measure echo pulse
rawDist = rawDist */ Scale 'convert to uS
rawDist = rawDist / 2
RETURN

LED1YANSIN:
PORTB = 0
HIGH PORTB.0
GOTO main

LED2YANSIN:
PORTB = 0
HIGH PORTB.1
GOTO main

LED3YANSIN:
PORTB = 0
HIGH PORTB.2
GOTO main
END
 

Forum istatistikleri

Konular
130,052
Mesajlar
932,568
Kullanıcılar
453,033
Son üye
Luxate

Yeni konular

Geri
Üst