Elektronik zar

Başlatan Ibrahim324, 15 Nisan 2016, 09:17:35

ete

Neden acaba. ? Sebebini merak ettim doğrusu.
Ete

mlkara

pic e program yükleyemiyorum.

aldığım hata kodunun ekran fotosunu ek olarak koydum. Pic i yeni aldım ve DEFINE OSCCAL_1K 1  satırınıda ekledim.

ete

#17
O hata genellikle bozuk olan piclerde ortaya çıkar. Program yazmaya çalışıyor ardından verify yapmak için yazılanı okuyor ama yazdığını geri alamıyor böylece ilk adreste hata veriyor. Pic bozuk yeni almış olabilirsin. Pic kesin sağlam diyorsan programlayıcın bozuk demem gerekiyor. Başka yolu yok bunun. Ara kablon bile bozuk olabilir. Ama elinde başka picler var ise onları programlayabiliyorsan kesin pic bozuktur demek gerekiyor.
Ete

Not: Bu arada dikkatimi çekti O pic de OSCCAL değeri son adreste yazılı olması gerekir. Pic ancak bu bilgiyi alarak doğru çalışır. Senin programlayıcı orada 3FFF  okuduğunu ve invalid yani geçersiz olduğunu söylüyor. Bu durumda programlasan bile o pic çalışmayacaktır.
Öncelikle doğru Osccal değerini o programlayıcıya hesaplatman gerekiyor. Bunun için Tools menüsünden OSCCAL seçeneğini seçerek yeniden hesaplatıp yerine yazılmasını sağlaman gerekiyor. Daha sonra yeniden programlamayı deneyebilirsin.

mlkara

hocam merhaba. Zar çalıştı ancak şasesi GPIO.4 e bağlı olan kısım çalıştı. programda GPIO.4=0 yapmışız ancak GPIO.5=0 yapmamışız onu nereye hangi komut satırı şeklinde ekleyeceğimi söylerseniz sevinirim.
teşekkür ederim. 
Çalıştırdığım program ektedir..

ete

Bu iş programcılık bilgisi ve biraz da mantık gerektiriyor. Kafandan ne geçtiğini anlamam zor.
İllaki ikinci zarı da çalıştırmak istersen,
low GPIO.4
komutu altına
LOW GPIO.5
yazarsın olur biter.
Ancak oturup biraz düşünmek gerekir. İki zar attığın zaman ikiside aynı mı gelir her zaman?. Şimdi sen yukarıda söylediğimi yaparsan hep iki zarda aynı değeri gösterecektir. Çünki 1 zart atıyorsun ama iki zarda attığın zar değerini gösteriyorsun.
Böyle istiyorsan sözüm yok konuyu burada kapatırım. Ama böyle istemediğini düşünüyorum.
Peki ne yapmak lazım her bir zar için ayrı zar atmak gerek. Program tabiri ile o tusa iki defa basmak gerekir yada tek basışta programın iki ayrı random sayı üretmesi gerekir değilmi.

Ete

mlkara

#20
sayi=0
TEKRAR:
RANDOM RAKAM
SAYI=RAKAM//7
IF SAYI=0 then TEKRAR
low GPIO.4
HIGH GPIO.5

GPIO=SAYI
pause 100

RANDOM RAKAM
SAYI=RAKAM//7
IF SAYI=0 then TEKRAR
LOW GPIO.5
HIGH GPIO.4
GPIO=SAYI

şeklinde yazdım ama iki tarafada aynı sayı geliyor.
iki kez basalım diye düşünürsek basma sayısını saydırıp 2 olunca sıfırlarsak olur sanırım diyerek;
@ __config _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_ON & _MCLRE_OFF & _CP_OFF

OSCCAL=%10000000
DEFINE OSC 4
DEFINE OSCCAL_1K 1
CMCON = 7

TRISIO = %111000 ' 1 ve 2. bit ler çıkış-- diğerleri giriş. (hepsi giriş iser trısıo=1 hepsi çıkış ise trısıo =0 yazmak da yeterli)
GPIO=%00000
zar1   VAR GPIO.0
zar2   VAR GPIO.1
zar3   VAR GPIO.2
tus   VAR GPIO.3
a var byte
a=0

SAYI  VAR BYTE  56
RAKAM var word  57

CLEAR
PAUSE 200
GPIO=%000000

BASLA:
IF TUS=1 THEN BASLA
a=a+1
if a=2 then GIT
GPIO=0

sayi=0

RANDOM RAKAM
SAYI=RAKAM//7
low GPIO.4

GPIO=SAYI
pause 100

GIT:
RANDOM RAKAM
SAYI=RAKAM//7
low GPIO.5

GPIO=SAYI
pause 100

WHILE TUS=0:WEND
PAUSE 100
a=0
GOTo BASLA

kodunu denedim ancak yine ikisinede aynı sayıyı atıyor.

İdealde istediğimiz bir basşta ikisinede farklı sayı gelmesi. Bunun için üretilen sayıyı 1000 ile toplatıp tekrar 7 ye bölsek ve onuda ikinci kısıma atasak olur mu acaba?

Not : Denediğim kodu eklemek için editledim


ilk

ete

İkisi aynı and farklı sayı gösteremez.Mantıken düşünürsen gösterilecek sayıyı GPIO.0-1-2 pinleri belirliyor.
Farklı göstermesi için taramalı gibi bir sistem kullanman lazımki oda burada nasıl çalışır bilemem. Biri gösterir silinir sonra diğeri gösterir. Ancak bu şekilde olur. Başka türlü olmaz.

Ete

mlkara

hocam birde aynı pice 2. kez program yazdıramıyorum.
DEFINE OSCCAL_1K 1 satırı ekli olduğu halde aşağıda eklediğim resimlerdeki hataları alıyorum.
ilk resimdeki gibi pic tanınıyor ancak osc değeri yok sonta tools menüsünden otomatik osc değerini aldırıyorum bu defada 2. resimdeki görüldüğü gibi gibi pic tanınamıyor

ete

Bana kalırsa o picleri bozmuşsun. Birden fazla led aynı pine bağlanınca dikkat etmek gerekir. Pin den 20 ma den fazla akım çekilmemelidir. Birkısmını transistör ile yapmışsın (oda sanırım ters çalışıyor) ama ledlere GND veren pinler den aşırı akım çekiliyor 20+20 40 ma her birinde en azından bir iki led bağlı. O pinleride NPN transistörle sürmen gerekir. GPIO,0-GPIO.1ve GPIO.2 pinlerini PNP transistörle sürmek daha uygun olurdu.
BU işlemci direk EREASE komutu ile silinmemelidir. Silinirse son adreste yer alan OSCON kalibrasyon değeri silinir ve pic çalışamaz hale gelir. Aslında kullandığın Pickit2 programlayıcıda o kaybolan OSCCAL değerini yeniden bulduracak seçenek var.
Tools menüsünde OSCCAL seçeneğini seç ve yeniden buldurup yerine yazdır. Bir kaç aşamalı işlemdir. Bir yandan belirli değer verir frekansı ölçer tutturduğu zaman direk ilgili adrese OSCCAL değerini yazar.
Dene belki kurtarırsın işlemcileri.

Ete

mlkara

gördüğünüz transistör 7805 hocam. Pic bozuk olsaydı devreye bağladığımda çalışmazdı diye düşünüyorum. çünkü devrede çalışan pice bir daha program atmak istediğimde resimlerdeki durum ortaya çıkıyor. Tools menüsünden otomatik aldırıyorum bu defa 2. resimdeki gibi durum ortaya çıkıyor. Yani pic i tanıyamıyor.erase ile silmeme olayını deniycem hocam. giden picler önemli değil bu devreden 300 adet yaptırıcam bursa bilim şenliği için. Neyse en azından sıfır pic olunca ilk programı atarken sıkıntı olmuyor.
http://bursabilimsenligi.org/atolye-calismalari/

ete

Doğru şema ve program ekte verdim onu incele böyle olması gerekir.
Ete

mlkara

hocam merhaba. pic lere program atıyorum. toplamda 350 adet 12f629 aldım. şuana kadar 80 tanesine program atmaya çalıştım 60 tanesine atıldı, 20 tanesine atılmadı, çok fire veriyorum, hata fotosunu ekte yükledim, neden olabilir sizce. osilatör frekanslarını takip ediyorum aynı frekanslı olan bir pice program yüklenirken diğerine yüklenmiyor.  şenlik 4 mayısta bayağı zor durumdayım yani

ete

Hiç bir fikrim yok çakma olabilirler. Yada pragramlayıcınız çok iyi değildir.
Başkabir şey söyleyemiyorum maalesef.
Ete

Elektronikprojem

Pickit üzerindeki jumper ı  PK3 konumuna getirip denermisin. Bu tip hatalar bende de aynı oluyor bu şekilde jumper değiştirerek düzeltiyorum

ete

Pickit2 üzerinde bir Jumper olduğunu sanmıyorum. PK3 de neyin nesidir acaba?
En azından benim gördüklerimin hiç birisinde öyle bir jumper bulunmuyor idi.
Orjinal şemada da bir jumper yok bildiğim kadarı ile aynı devredenmi bahsediyoruz.?
Ete

Powered by EzPortal