Şifreli kapı kilit devresi

Başlatan djtur, 21 Mart 2016, 23:00:01

djtur

Arkadaşlar ben sınıfım için şifreli problem kutusu yapmıştım.Ama devrenin okuldan sonra giderken fişini çıkarıyorum sabah geldiğimde pıc silinmiş oluyor ve her seferinde söküp yeniden program atıyorum.Arkadaşın biri kilidi çeken motorun önüne 1n4007 diyot ve 1000mf konds.tak dedi.Acaba nasıl yapmalıyım veya ne yapmalıyım.?

POWER

#1
sence bu şekilde, olup olmayacağına karar verilebilirmi ?

MB_77

#2
bu mesaj tarafımdan silinmiştir.

djtur

Haklısınız.Telefondan yazmıştım o yüzden.Tüm dosyaları ekte.

MB_77

#4
bu mesaj tarafımdan silinmiştir.

ete

#5
Programda hiç bir kusur yok. Hatta çok iyi ve akıllıca yazılmış bir program. Yazan isim F.San yani Fikret San  bu konuda usta olan bir kişi.
Bu programın hiç bir sorun yaratmaması gerekir. Bazı satırlar gördümki pek çok kişi bunlara bir analam veremeyebilir.
Açıklama gereği duydum;

if pwOK then                 ' KOŞUL YOK
bu tür kullanım C dilinde de kullanılan bir mantık ve Basic de buna itiraz etmez. If PwOk=1 THEN anlamına gelir. Koşul yok ise o =1 demek oluyor .

Access_OK:  '   RETURN İLE BİTMEMİŞ
Zaten program içinde bu etikete gönderme Goto (yada Then Access_OK) ile yapılıyor dolayısıyla Return ile bitmesi gerekmiyor.

   next                          'NEXTTEN SONRA CNT GELMELİYDİ
Döngü değişken adının NEXT den sonra yazılması zorunluluğu yoktur basic de. Dolayısyıla Next cnt yazılsada olur yazılmasada.

Bu programın tuş takımı kontrol algoritması mükemmel bence az kodla çok iş yapmaya örnek olabilecek bir algoritma. Öğrenmenizde fayda var.

Sonuç olarak bakarsak, programda bir kusur yok ve kendi kendine silinmesi imkansız. Gece birileri gelip silmiyor ise tabiiki.
Bu sorunun kaynağı ve sebebi olarak şöyle bir senaryo düşündüm. Sonuçta bu bir okul. Bir gurup öğrenci 1234 şifresi ile çalışıyor ve sonra başka bir gurup geliyor şifreyi 4567 (mesela) değiştiriyor. İlk gurup ertesi gün geliyor ve sistemiçalıştırıyor 1234 ile giriş yapmaya çalışıyor ama başaramıyor. Bu durumda yapılacak tek iş pice yeniden program atıp eski şifreyi geri getirmek oluyordur.

Olabilecek tek senaryo bu. Şimdi Djtur şunları yanıtlamalı,
Sabah geldiğinde sistem hiçmi çalışmıyor yoksa beklendiği gibimi çalışmıyor? Hiç çalışmıyor deme sakın çünki böyle bir olasılık mümkün değil. Diğeri üzerine odaklan ve neler olduğunu detaylı anlat istersen.

Ete

djtur

Sistem çalışıyor.Kutuya problemi asıyorum.Problemin cevabı şifre oluyor.diyelim bugün cevap 1423 giriyorum açıyor içinden ödülünü alıyor.yarın geldiğimde o şifre açmıyor.1234 te açmıyor.eskiden asit akü ile problem olmuyordu ama devamlı şarj etmekten bıktığım için 12v 5A adaptör aldım ama fişi çıkarınca hiçbir şifreyi kabul etmiyor.Pic i tekrar programlamak zorunda kalıyorum.

ete

Şöyle bir yol izle;
1. Yazılımı yenile ve sistemi çalıştır.
2. Mevcut şifre ile giriş yap (1234)  çalıştığından emin ol.
3. Sonra mevcut şifreyi (1234) 5678ile değiştir.
4. Sonra bu şifre ile çalıştığından emin ol. Çalışıyor ise sistemi kapat voltajı kes.
5. 30 sn bekle yeniden çalıştır. Tekrar 5678 ile dene bakalım. Çalışıyor ise sorun yok demektir.
    Çalışmıyor ise işlemciyi yerinden sök ve Programlayıcıya tak. READ komutu ile işlemci içindekileri okut.
    sonra eprom tarafına bakarak ilk 4 adreste ne yazdığını not al. Orada 05,06,07,08 sayılarını görmen gerekir.
    Farklı bir sayı görüyor isen burada mesaj yazıp bize ne gördüğünü bildir.
Bu işlemleri yapabilmen için yazılımı işlemciye atarken kod korumasını açıyorsanız kapatın. Hem yazılım hemde epromdaki kod korumalarını kaldırın. Yoksa ekranda 00 00 00 00 görürsünüz.

Ete



MB_77

#8
bu mesaj tarafımdan silinmiştir.

djtur

Eve gider gitmez denerim.çok teşekkürler.

djtur

Ama arkadaşlar akü ile hiçbir problem yok.Acaba fişi çıkarıp takarkenki sıçrama pic i resetliyor olamaz mı?yani ben motorun artı ve eksisine paralel olarak diyot taksam ve 1000 mf kondansatör taksam sorun çözülmez mi?

ete

Pic resetlense bile eprom bilgisi silinmez.
programda kesin bir sorun yok. Simulasyonda denedim. Eprom kayıtlarını düzgün yapıyor.
Bu durumda çalışmadığı zaman epromdaki şifre değerininin ne olduğuna bakılmalı ve ona göre bir fikir yürütülmeli.

Bu arada doğru şifre girildiği zaman röle çekiyor ve motor devreye giriyor sanırım. Bu esnada motor anlık aşırı akım çekip devreyi resetliyor olabilir. Ancak buda sorun yaratmaz. Tek olasılık şifre değiştirme esnasında eproma kayıt yapılırken motor devreye girer ise eproma doğrukayıt yapılamayacağı. Ancak belirtilen sorun akşam fişi çekip yeniden sabah takınca meydana geldiği şeklinde bu hali ile eproma kayıt falanda yapılmadığına göre başka bir sebebi olsa gerek.

Her şeyden önce şundan emin olmalıyız . Sistemi akşam değilde arada kapatıp (fişini çekerek) yeniden çalıştırmak gerekiyor. Bu şekilde aynı sorun yaşanıyormu bulmak lazım. Daha doğrusu bu sorun hangi durumda ortaya çıkıyor bulmak ona görede tedbir üretmek lazım.

Motor, hem ark üretir hemde ters EMK üretir. Bu nedenle motor uçlarına 100nf kondansatör bağlamak ve yine bu kondansatöre paralel bir diyot bağlamak gerekir (diyotun çizgili ucu Motorun + besleme ucuna, diğer ucu GND ye gelecek şekilde). Başka bir şeye gerek yok. Ayrıca işlemci besleme bacaklarına direk bu bacaklara 100nf kondansatör de bağlanmalı.

Ete

djtur

#12
Alıntı yapılan: ete - 22 Mart 2016, 10:42:20
Şöyle bir yol izle;
1. Yazılımı yenile ve sistemi çalıştır.
2. Mevcut şifre ile giriş yap (1234)  çalıştığından emin ol.
3. Sonra mevcut şifreyi (1234) 5678ile değiştir.
4. Sonra bu şifre ile çalıştığından emin ol. Çalışıyor ise sistemi kapat voltajı kes.
5. 30 sn bekle yeniden çalıştır. Tekrar 5678 ile dene bakalım. Çalışıyor ise sorun yok demektir.
    Çalışmıyor ise işlemciyi yerinden sök ve Programlayıcıya tak. READ komutu ile işlemci içindekileri okut.
    sonra eprom tarafına bakarak ilk 4 adreste ne yazdığını not al. Orada 05,06,07,08 sayılarını görmen gerekir.
    Farklı bir sayı görüyor isen burada mesaj yazıp bize ne gördüğünü bildir.
Bu işlemleri yapabilmen için yazılımı işlemciye atarken kod korumasını açıyorsanız kapatın. Hem yazılım hemde epromdaki kod korumalarını kaldırın. Yoksa ekranda 00 00 00 00 görürsünüz.

Ete
Hocam dediklerinizi yaptım ve eeprom kısmında 0x0000 01 02 03 04 -- -- -- --  yazıyor.
Yani başlangıç şifresi.Ama neden 1234 girsem bile kilit açılmıyor?Acaba  diyot ve kondansatörü devre üzerinde çizimle nereye eklemem gerektiğini basitçe gösterebilir misiniz?Çünkü sizin gibi çok anlamıyorum.Lütfen.

onurinci

manyetik selenoid'i çıkar yerine gözlemleyebilmek için lamba bağla ,bakalım yine bozulacakmı ?

djtur


Powered by EzPortal