pic in cam ile haberleşmesi

Başlatan tugbatolunbuke, 04 Eylül 2007, 16:24:44

tugbatolunbuke

merhaba arkadaslar..picin kamera ile haberleşmesini istiyorum ancak pic te yeni olduğum için bu işlemin nasıl yapılacağını bilmiyorum.hangi protokol kullanılacak?başlamama yardımcı olabilirseniz sevinirim...

herkese kolay gelsin :)

picusta

Forumun aram kisminda webcam yazip baslayabilirsin.
Burada asil önemli soru : kameradan kastin ne ?

1. kamera = parallel çikisli görüntü sensörü (OV6620 tipi)
   En kolay haberlestirilen kamera. Bunun en güzel örnegi atmel ile yapilmis CMUcam.

2. = seri port webcam.  2. en kolay haberlestirilebilen diyebilirim, adindan anlasildigi gibi bir seri porta ihtiyaç duyulur. Birde yazilim için açik kaynak driver'a (DOS veya Linux). Bu driverdan esinlenilerek PIC'e adapte edilir. driver sitesi :http://www.exploits.org/v4l/  Fakat hiz düsüktür dolayisi ile saniyede görüntü sayisi da düser (maks.115kb/s)

3. = parallel port webcam. Bu kamera ile konusmak biraz daha ugrastirir çünkü parallel portu (EPP modu) emüle etmek gerekir. Fakat seri porta göre avantaji çok daha hizli olmasi (2Mb/s).

4. = USB webcam. Bu webcamlar ile haberlesmek için islemcinin USB host donanimina sahip olmalidir. Tercihen bir isletim sistemi ve bu OS altinda çalisan driver'e ihtiyaci vardir. (örn. : ARM7-9 ailesinden bir islemci)

5. = "normal" (TV) çikisli kamera. Kameralarin çikisi analog oldugundan, islemci ile haberlestirmek için önce sinyali sayisala çevirmek gerekir. Bunun için hizli bir A/D düzenegi tasarlanmalidir, ayrica gelen veriyi saklamak için de islemci tarafinda gereken önlem alinir. (Buffer, DMA)

örnegin ben 3. türden bir kamera ile PIC'i haberlestirdim, gelen görüntü bir SD-Kart'a kaydedilebilir veya ikinci bir islemcide islenebilir.

mustafa_cmbz

hocam su sd kartlara görüntü kaydetme işini biraz daha açarmısın elinde örnek felan varmı acaba...

picusta

Alıntı yapılan: "mustafa_cmbz"hocam su sd kartlara görüntü kaydetme işini biraz daha açarmısın elinde örnek felan varmı acaba...
Kameradan görüntü almadan bahsettim, protokolü nerden bulunacagi hakkinda link verdim.
SD kartta yazma isi için forumda örnek bulunuyor.

picusta

Proje ne durumda? webcam ile PIC haberlestimi?
Hazir kodun (C dilinde) oldugu sitenin link'i vereyim:
http://www.lostintheether.pwp.blueyonder.co.uk/electronics/camera.zip
Alıntı Yap

Creative Video Blaster II Driver

Introduction

This is the interesting bit of our code for interfacing a Mitsubishi M16C/62 microcontroller and a Video Blaster II. The code is pretty generic and is almost completely non platform-specific.

You can get it here.

Points

The camera documentation is vague in places. It also makes use of undefined (or at least as far as we could find) constant values which are only available in the various driver sources available.

Most of the data for developing this driver came from http://webcam.sourceforge.net.

The driver code here has simply been removed from our project, it is all in the correct order but will almost certainly not compile on its own - it is only for demonstration purposes.

The negative state of all the port names has been ignored. For example, the pin ACK is normally defined as being active low. In the code shown, if the macro ECP_ACK_ON is used then the line will go high (i.e. +5V). If the macro ECP_ACK_OFF is used then the line will go low (i.e. +0V). This applies to all pins.

Our camera was very sensitive to the power supply on our device. It crashed, pretty arbitrarily, on a regular basis. If it was given a clean power supply we couldn't make it crash at all. Most crashes could be solved by going back to low power mode and returning to high power.

Webcam'dan görüntüyü aldiktan sonra ne yapacaksin? PIC'te saklayamazsin, harici hafizaya ihitiyacin var.
PIC'in yanina SRAM, ARM7 veya FPGA koyarsan güzel ^rojelere imza atabilirsin.

DumrulBey

Alıntı yapılan: "tugbatolunbuke"merhaba arkadaslar..picin kamera ile haberleşmesini istiyorum ancak pic te yeni olduğum için bu işlemin nasıl yapılacağını bilmiyorum.hangi protokol kullanılacak?başlamama yardımcı olabilirseniz sevinirim...

herkese kolay gelsin :)
Bence de yapmak istediklerini biraz daha açmalısın ki doğru bilgiler verebilelim. Yani kamerayı kontrol etmek için mi, yoksa sensörün elde ettiği verileri PIC ile işleyip bir robot mu yapmak istiyorsun.

Son söylediğim @picusta'nın dediği gibi CMUcam en ideali. En son ikinci sürümü çıkmıştı. Bir süredir bakmıyorum belki üçücü sürümü çıkarmış olabilirler.

Internetden araştırmak lazım...
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)

picusta

CMUcam biraz tuzlu kaçiyor.
Bu webcam ile kendimiz sistemi yaparsak çok daha ucuza gelir.
örnegin webcam'i çok ucuza bulabiliriz (3dolar civari), PIC'imiz iletisimi saglasin, SRAM'e atsin. Oradan ADuc7020 ARM'miz, veya LPC alsin ve algoritmayi 40-60MHz'te kostursun.
Gerçi tek ARM ile de sistem idare edilebilir, fakat webcamimiz sensor olmadigindan görüntüyü almak için daha ugrastiriyor olmasi, PIC'in amaci ARM'in tamamen kendini algoritmaya vermesi ve en iyi performansi (islenen FPS) vermesi.
Sistemi yapin ben size güzel algoritmalar saglarim.

Alıntı YapThe CMUcam3 is an ARM7TDMI based fully programmable embedded computer vision sensor. The main processor is the NXP LPC2106 connected to an Omnivision CMOS camera sensor module.

DumrulBey

Gördüm gördüm, bir SD bellek desteği vermişler oldu mu sana sürüm 3. Elbette daha ucuz sistemler var ama Cem YILMAZ'ın dediği gibi yapılmışı var...:)

Bu arada yüksek çözünürlüklü CCD sensörler bulabiliyor muyuz? Mesela 1024x1024! Çok mu fazla oldu...:) Ama gökyüzü gözlem için ihtiyaç var...
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)

picusta

Adamlar yapmis, dedigim gibi yapmis. CMUcam 3'ün diyer iki sürüme göre avantaji Open-source olmasi (gelistirme platformu dahil). Bütün kaynak kodlari ve belgeler açikca verilmis. Görüntü islemeyi görüntü yakalama ksmindan ayirmislar. Bu demek oluyor ki yakinda birçok kisi bu projenin benzerini yapacak ve 260 dolar vermek yerine kendi CMUcam'lerini yapacaklar.
Bu forumda birçok kisinin elinde söz edilen islemci bulunuyor (LPC2106) neden aramizdan biri bunu yapmasin?  görüntü yakalama için dedigim sekilde yaparsak çok daha uyguna gelir. (OVxxxx sensör modüleri kolay bulunmuyor, bulunsa bile pahali)

Dijital fotograf makinelerinde o dedigin mega piksel'lik sensörden var gerçi CCD veya CMOS ne farkeder?

z

Alıntı yapılan: "picusta"CMUcam biraz tuzlu kaçiyor.
Bu webcam ile kendimiz sistemi yaparsak çok daha ucuza gelir.
örnegin webcam'i çok ucuza bulabiliriz (3dolar civari).....

Picusta bu webcami nerden aliyoruz?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

picusta

ebayda toptan alinabiliyor veya elinde olan satiyor, malum XP'de çalismiyor, parallel port erisimi degistigi ve Creative'in driver yazmadigi için.
Win98,Linux, Renesas, PIC altinda canavar gibi çalisiyor ama.

picusta

CMUcam'in kullandigi sensör normalde 40$'dan satiliyor:
http://www.electronics123.com/s.nl/it.A/id.2347/.f?sc=16&category=318

Bu sensör ayrica Ezonics EZCam USB II Webcam'inda bulunmakta. Webcam 4.49$'dan bulunabiliyor:
http://cgi.ebay.com/EZONICS-EZCam-II-USB-Color-Webcam_W0QQitemZ190099840367QQcmdZViewItem

Simdi toparlarsak, LPC2106 ve sensör rahatlikla temin edilebilen elemanlar arasinda bulunuyor. islemcinin kodlari açikca verilmis, üstelik derleyiciye ücret ödemek bile gerekmiyor. Elektronik sema da malzemelerin  detaylari ile birlikte açikca ile verilmis.
Geriye PCB çizimi yapip devreryi üretmek kaliyor. Ürettikten sonra bu devre satar mi? Bence üniversitelere satilabilir. Amatör robot yapanlarda ilgilenebilir, bazilari güvenlik veya endüstride bile kullanmak isteyecektir.
240 değil de 140$'dan satabilirsek CMUcam'e gerçekten rakip olabiliriz diye düsünüyorum.

i-rot

bi gelişme varmı bu konuda ?


bence w-usb üzerine yoğunlaşılmalı

herhangibir şekilde wireless usb tarzı.elimde bikaç döküman vardı buraya koyarım

edit:

Alıntı YapRF se-ri-@l Data Link {usb ile}


Nasıl ucuz bir rf modulu ile usb üzerinden data aktarımı yapılır. Devre enerjisini usb portundan alıyor ( 100mA ve birkaç programlama ile 500mA ulaşabilirsiniz)

Gerekenler
1 - bir çift rf modulu (Laipac RLP/TLP433A gibi) sparkfun.com  a bakabilirsiniz(tdeğişik operasyon frekansları bulunuyor: 315, 433 ve 917(?) MHz)
1 - TUBs3410 - se-ri-@l-to-USB integrated chip (QFP-32) from Texas Instruments.
1 - güç LEDİ (atlayabilirsiniz)
1 - 3.3V LDO (Low Drop-out) regülatör -  +5V (+/- 10%)usb ye bağlayabilmek için

böyle birşey buldum tamamını tercüme edebilirim isterseniz ancak pek yeterli değil bağlantı şeması ve açıklamaları

http://www.instructables.com/id/RF-Serial-Data-Link-%7bthrough-USB%7d/

i-rot