Kendi tasarladigim robot devresi (Sorun)

Başlatan Okan12345, 05 Mart 2014, 00:17:51

Okan12345

Iyi Akşamlar Arkadaşlar. Resimini İsis dosyasini, Ares dosyasini ve Pic Basic kodunu aşağıda paylaştım. Bir türlü sorunu gözemiyorun.
Devreyi İsisde deniyorum sorunsuz çalışıyor.

Devrenin çalışması şöyledir.

Devrede Sag sensor sol sensor var ve bunlarin birine isik tuttugumda ilgili bacaga bagli motorr donmelidir.
Aşağıdakı paylaştiğim kod devrenin çalışıb çalışmadığını deneme amaçlı yazdığım koddur.

Fakat sorun şudur.
GPİO.4 BAcagina  bagli olan sensora isik verdigimde GPİO.2 ye 5v gelmelidir.

Devrede gordugunuz gibi IR ledle transistoru birlestirerek fototransistor yaptim bu kisimda sorun yoktur 1v iken isik verdigimde 4.7 volta cikiyor yani bu kisimda sorun yoktur
Sorun şu ki giriş 1 oldugu halde çıkışta 1 alamiyorum kodu duzgun yazmama ragmen.

Pici test etmek icin asagidaki kodu yazdigimda ayni devrede Led (Motor cikisina Led bagladim test amacli) yanip sondugunu goruyorum.

Basla:
Pause 1000
Gpio.2=1
Pause 1000
Gpio.2=0
Goto Basla


Devreyi bir çok kez test etdim yollarda kısa devre  falan varmı diye.


Pic Programlara yeni başladım sayılır bir şeyleri gözden kaçırmış olabilirim. Lütfen yardımcı olurmusunuz? Acaba devrenimi düzgün tasarlamadımm? Sorun nedir aşağıda ilgili dosyaları paylaşıyorumm.



Projenin kodu:
Not: Diger sensor komutlarini sildim kolay anlasilsin diye.
'****************************************************************
'*  Name    : Robot Projesi.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2014 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 24.02.2014                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
@ DEVICE pic12f675
@ DEVICE pic12f675, wdt_on 
@ DEVICE pic12f675, pwrt_on
@ device pic12f675, protect_off
@ device pic12f675, mclr_off

Cmcon=7    ' Tum komporator pinleri kapatildi hepsi giris cikis
Ansel=0    ' Tum Analog pinleri kapatildi hepsi IO

TrisIO.0=1 ' TrisIO 0 Pini Giris yapildi
TRisIO.1=0
TrisIO.2=0
TrisIO.3=0
TrisIO.4=1
TrisIO.5=1

GPIO=0

BASLA:

IF GPIO.4=1 Then
GPIO.2=1
THEN
GPIO.2=0
ENDIF 

GOTO BASLA


Isis Ve Ares dosyalari

http://www.dosya.tc/server25/2XtcvA/YeniKlas_r.rar.html

Maxim

böyle olmaz
IF GPIO.4=1 Then
GPIO.2=1
THEN
GPIO.2=0
ENDIF


doğrusu bu
IF GPIO.4=1 Then
GPIO.2=1
else
GPIO.2=0
ENDIF

Okan12345

Yok aslında bunu şu an yanlışlıkla yazmışım. Else idi kodda.  Tasarladığım devrede bir sorun varmı acaba?

subram

#3
GP2 pini aynı zamanda TOCKI pini olarak kullanılıyor, bu yüzden çıkış olarak kullanıldığında pull-up direnci ile beraber kullanmak lazım.
http://www.elektronark.org  Türkiyede Elektronik Kültürünü Değiştirmeye Geliyoruz

Okan12345

Yani Gpio 2 ye dirençle 5 v vermek lazım öylemi?
Ve ayrıca devrede sorun varmı acaba?

ferit06

#5
GPIO.3 çıkış  olmaz,  bu pin yalnızca giriş olarak kullanılabilir.
TIRISIO.3=0 geçersiz bir tanımlama
Datasheets te;
GP3/MCLR/VPP     GP3              TTL             Input port w/ interrupt-on-change
                          MCLR             ST             Master Clear
                          VPP              HV              Programming voltage