Şimdi Ara

AYNI KAPIDAN GİREN VE ÇIKAN KİŞİLERİ SAYAN DEVRE VE PROGRAM

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
10
Cevap
0
Favori
5.048
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba, düşündüğümüz projeye göre aynı kapıdan içeri giren ve çıkan kişileri algılayan iki ayrı sensörün lcd paneldeki sayıyı artırması ve azaltmasına dayalı bir devre şemasına ve programa ihtiyacımız var. Devremizde PIC kullanmak istiyoruz. Araştırmalarıma göre ldr ve lazer ile sayma mümkün ama sonuçta içerden çıkanın ayrı algılanması ve girenin ayrı algılanması lazım ki değer ona göre artsın veya azalsın. Yardımlarınızı bekliyorum. Teşekkürler.



  • Sadece çalışma mantığı açısından fikir verebilirim. Sistemi iki kapı olarak varsayıyorum. Yani giriş yapılan ve çıkış yapılan kapılar ayrı olacak. Kapıdan geçişin tek sıra olduğunu duşunelim ve kapının ustune bi verici, vericiyi gormek şartı ile kapının altına da bi alıcı koyun. Vericiden alıcıya giden sinyal her kesildiğinde PIC bunu algılayıp o anki tanımlı değeri artırsın ve lcdye yazsın. Aynı işlemi çıkış kapısı içinde yapıp tek bi PIC de birleştirirseniz bu iş tamamdır.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • ahmtbicer kullanıcısına yanıt
    ayrı kapı olmaz wclerde tek var..
  • GİRİŞ
    Bir çift ad engel algılayan yapılacak, IR- TX DIŞARIDAN içeri girerken 1 puls okuyacak program bu pulsu aldığında bekleyecek içeri geçildiğinde diğer IR-TX algılama yaptığında sayaç 1 yazacak ,yani her 2 Puls da +1 sayacak.

    ÇIKIŞ

    Bir çift ad engel algılayan yapılacak, IR-TX İÇERİDEN dışarı çıkılırken 1 puls okuyacak program bu pulsu aldığında bekleyecek dışarıya geçildiğinde diğer IR-TX algılama yaptığında sayaç -1 olacak ,yani her 2 Puls da -1 sayıyı azaltacak.

    Burada dikkat edilir ise,

    GİRİŞTE [ TX ] kapı dışında [TX] kapı içinde
    ÇIKIŞTA [ TX ] kapı içinde [TX] kapı dışında

    Her çift engel algılayıcısının IR frekansları farklı olduğundan bir birlerini etkilemeyecek şekilde çalışacaktır.

    1 ci algılayıcı 22 Khz
    2 ci algılayıcı 44 Khz

    Geri kalanı program ile yapılacak iştir.
  • En basit yapısıyla 2 lazer, 2 fotosel al. Bir seriyi giriş tarafına, diğerini çıkış tarafına koy. Önce giriş tarafındaki ışık kesilir, ardından çıkış tarafındaki ışık kesilirse içeri biri giriyor demektir. Tam tersi durumda dışarı çıkıyor demektir. Kararsız kalıp kapıda giriş ışığını kesip, çıkış ışığını kesitkten sonra geri dönüş yapıyorsa giriş ışığı geri kesilirken çıkış ışığı aktif oluyorsa çıkmamış demektir.

    Hassasiyeti artırmak için sensörler yukarıdan aşağı dizilebilir. Seri halinde büyük bir kapıda 10 tane koyar (kapıya göre 20 cm ar ile koyduğunu düşün ) farklı durumlara göre hem giriş hem çıkışı aynı anda yapılan yerlerde sayımı sağlayabilir.
  • Arkadaşlar ilginize teşekkür ediyorum. Gochisar arkadaşım dediğin gibi 2 lazer ve 2 fotosel derken ldr kastediyorsun sanırım. ben de öyle düşünüyorum. Yalnız yukardan aşağı dizilim dedin, hassasiyet ve 10 tane dedin orası karıştı. Bu dediğim olayı kapının içeri ve dışarı tarafına karşılıklı iki lazer ve iki ldr kullanarak yapabiliriz sanırım. tek lazer ve led için devre bulabilsem de dediğim 2 lazer ve 2 ldr yi PIC'le denetleyecek bir devre şeması ve program konusunda yardımcı olabilirseniz zaman kazanmış olurum. Teşekkürler.
  • Giriş tarafı ile çıkış tarafı arasında kapı kasası olacak, arasında 20cm bir fark olması yeterli. Kapı geniş ise, 2 metrelik bir kapıdan tek lazer iş yapmaz. Çoğaltma olayı orada devreye giriyor.

    1. Senaryo: İnsan direkt dışarı çıkar

    a) Çıkış ışığı kesilir
    b) Giriş ışığı kesilir
    c) Çıkış ışığı ldr ye tekrar gelir
    d) Giriş ışığı ldr ye tekrar gelir

    2. Senaryo: İnsan içeri girer, 1. senaryonun tersi

    3. Senaryo: Dışarı çıkmaktan vaz geçer, içeri geri döner

    a) Çıkış ışığı kesilir
    b) Giriş ışığı kesilmeden çıkış ışığı tekrar ldr ye gelir.

    a) Çıkış ışığı kesilir
    b) Giriş ışığı kesilir
    c) Giriş ışığı tekrar ldr yi aktşfler
    d) Çıkış ışığı tekrar ldr yi aktifler

    4. Senaryo: İçeri girmekten vaz geçer, 3. senaryonun tersi


    Geniş kapı yapısı kuracaksan 10 çift yani 20 adet lazer ldr takarsan, giriş ve çıkşışarda yanyana olan giriş çıkış ışıkları yukarıdaki senaryolara göre birlikte kapanıp açılır. yan yana olan sensörlerdeki verileri kontrol ederek geniş kapı giriş çıkışları kontrol edilir. Örneğin 4. giriş ile yakınındaki 3 ve 5 te kontrole dahil edilir, çıkışı için ise 2-6 arasında çapraz geçiş yapabileceği düşünülerek çıkış kontrolleri yapılır. Aynı anda farklı biri de çıkış yapabilir. Çıkış içinde yakındaki sensörler ortak olarak taranır. 4. sensörden giriş yapan var ise çıkış yapan 6-10 arası sensörü kullanacaktır.

    Geniş kapıda aynı anda kalabalık giriş çıkışlar problem olacaktır. onu ayarlarken bir insanın en fazla aynı anda 20cm aralıklı 2 sensörü tetikleyeceği düşünülerek 2 den fazla sensörden giriş yada çıkış işlemi var ise sayıyı 2 artırmak gerekir.

    Elinde yük ile giren çıkan olabilir düşüncesi var ise lazerleri yatayda da taratarak hassasiyet artırılabilir. En uç noktası ise kamera ile tarama yaptırmak olur. O konu için bilgisayar işlemcisi ancak işlerini karşılar. Yüz tarama sistemi ile işin içinden çıkılır.

    Senin ihtiyacın hangisi?




  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • cvabına teşekkürler. Benimkisi o kadar geniş kapı değil. sanırım 2 lazer ve ldr ile denemeler yapılabilir. Biri algılama yaptığında diğeri o anda pasifleşmeli.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • buyrun kodlar
    int trigPin = 8 ;
    int trig2Pin = 10 ;
    int echoPin = 9 ;
    int echo2Pin = 11 ;
    int role = 12 ; //röle pinini tanımladık
    int x = 0; // x bizim kişi sayımız olacak
    void setup() {
    Serial.begin (9600);//seri haberleşmeyi 9600 baudrate hızında başlattık
    pinMode(trigPin, OUTPUT);//sağ sensör trig pin atama
    pinMode(echoPin, INPUT);//sağ sensör echo pin atama
    pinMode(trig2Pin, OUTPUT);//sol sensör trig pin atama
    pinMode(echo2Pin, INPUT);//sol sensör echo pin atama
    }
    void loop() {
    long sure, mesafe;
    digitalWrite(trigPin, LOW);
    delayMicroseconds(2);
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW);
    sure = pulseIn(echoPin, HIGH);
    mesafe = (sure/2) / 29.1;
    //buranın üstü sağ sensörle alakalı
    //buranın üstü sağ sensörle alakalı
    //buranın üstü sağ sensörle alakalı
    //buranın üstü sağ sensörle alakalı
    //buranın üstü sağ sensörle alakalı
    //buranın üstü sağ sensörle alakalı
    long su2re, mesafeler;
    digitalWrite(trig2Pin, LOW);
    delayMicroseconds(2);
    digitalWrite(trig2Pin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trig2Pin, LOW);
    su2re = pulseIn(echo2Pin, HIGH);
    mesafeler = (su2re/2) / 29.1;

    //buranın üstü sol sensörle alakalı
    //buranın üstü sol sensörle alakalı
    //buranın üstü sol sensörle alakalı
    //buranın üstü sol sensörle alakalı
    //buranın üstü sol sensörle alakalı
    //buranın üstü sol sensörle alakalı
    //buranın üstü sol sensörle alakalı
    //buranın üstü sol sensörle alakalı
    if ( mesafe < 20 and mesafeler > 20 ){
    x++ ;
    }
    else if (mesafe > 20 and mesafeler < 20){
    x-- ;
    }

    if (x > 0)
    {
    digitalWrite(role , HIGH);
    }
    else if (x == 0)
    digitalWrite(role , LOW); //eğer kişi sayımız 0 olursa

    //buranın üstü sonuçları değerlendirip kişi sayısına yazıyor ve rölenin durumunu denetliyor
    //buranın üstü sonuçları değerlendirip kişi sayısına yazıyor ve rölenin durumunu denetliyor
    //buranın üstü sonuçları değerlendirip kişi sayısına yazıyor ve rölenin durumunu denetliyor
    //buranın üstü sonuçları değerlendirip kişi sayısına yazıyor ve rölenin durumunu denetliyor
    //buranın üstü sonuçları değerlendirip kişi sayısına yazıyor ve rölenin durumunu denetliyor
    //buranın üstü sonuçları değerlendirip kişi sayısına yazıyor ve rölenin durumunu denetliyor
    //buranın üstü sonuçları değerlendirip kişi sayısına yazıyor ve rölenin durumunu denetliyor
    //buranın üstü sonuçları değerlendirip kişi sayısına yazıyor ve rölenin durumunu denetliyor
    Serial.println ("mesafe");
    Serial.println (mesafe);
    Serial.println ("mesafeler");
    Serial.println (mesafeler);

    Serial.println (x);

    delay (850);
    }




  • efe123324 E kullanıcısına yanıt
    devreyide eklede hayrın olsun bari.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.