bilgi alıp gondermek akıl

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
samety81
Üye
Mesajlar: 84
Kayıt: 07 Nis 2006 03:53

bilgi alıp gondermek akıl

Mesaj gönderen samety81 »

ben dışardan ldr lerden bilgisayara bilgi girişi sağlayacağım.
girişi 5 bit 5 bit giriş yapacğım ben bu girişi ldr lerden alacağım ama şuan nasıl bir şekilde giriş yapsam diye karar veremedim tek tek girişleri sağlasam sorun çıkacak diye düşünüyorum bir arkadaşım dijital olarak giriş sağlanabileceğini soyledi ama ben bu konuda bir bilgiye sahip değilim portlardan giriş 1 0 larla sağlanmıyormu bu girişler başka nasıl yapılabilir paralel port hakkında tek bildigim 1 0 larla giriş yapıldıgı sizce başka port la mı uğraşsam
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Yanlış anlamadıysam LDR dediğin foto dirençtir. Yani ışıkta direnci azalan karanlıkta artan elektronik bir parça. Buradan elde edebileceğin bilgi ise sadece analog bilgidir. Direncin durumuna göre yapacağın bir devreden 0 veya 1 ler gönderebilirsin. Bu da biraz PIC programlamaya ve PIC elektroniği ile alakalı :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
Murat DİCLE
Kıdemli Üye
Mesajlar: 702
Kayıt: 19 Nis 2006 04:12
Konum: İstanbul
İletişim:

Mesaj gönderen Murat DİCLE »

Git Selanik pasajına (Karaköy'de) derdini anlat, sana bi analog-dijital dönüştürücü kart versinler, bir de kablo vs. alıver. Eminim ucuz ve basit sistemler vardır.

Sonrasını ise halledebilirsin. İster COM ister PARALEL port.
Kullanıcı avatarı
uğur alkan
Üye
Mesajlar: 227
Kayıt: 29 Ağu 2004 04:49
Konum: Istanbul

Mesaj gönderen uğur alkan »

Yakınlarda böyle bişey lazım oldu ve yapmıştım...
ama birazcık havya ve lehim işin var :D :P
bir sinyali grafik olarak incelemiştim.

TLC549 isimli bir adc var paralel porttan çevrim yapabiliyorsun.
tek sorunu 5V besleme problemi, gerçi onuda sistemden sağlayabilirsin
LDR nin çıkış sinyalini adc nin girişine verdiğide ışık miktarını (8bit olarak)ölçebilirsin.(adc sana sinyalin şiddetine göre 0-255 arasında bir sayı gönderir sende nasıl istersen öyle kullanırsın);

Şemayı buradan aldım...
kaynak kodu Qbasic te yazılmıştı Delphiye çevirdim.
http://www.udayton.edu/~physics/rlb/micro.htm

SMport... bileşenini formda ararsan bulursun...

buda delphi kodu


Kod: Tümünü seç


var
Form1: TForm1;
deger:array[0..10000] of double;
ZAMAN,I,A,T,time:INTEGER;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
VAR
K:INTEGER;
VALUE:EXTENDED;
begin
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
FORM1.SmallPort1.OpenDriver;
end;

procedure TForm1.Button2Click(Sender: TObject);
VAR
I,A,T:INTEGER;
K,DD:INTEGER;
VALUE:EXTENDED;
begin
FORM1.XYChart1.ClearData;
ZAMAN:=0;
time:=0;
form1.Timer1.Enabled:=true;
FOR DD:=1 TO FORM1.SpinEdit2.Value DO
BEGIN
        VALUE:=0;
        FOR T:=1 TO FORM1.SpinEdit1.Value DO
        BEGIN
           FORM1.SmallPort1.Port[$378]:=0;
           FORM1.SmallPort1.Port[$378]:=1;
           FORM1.SmallPort1.Port[$378]:=0;
                FOR I:=0 TO 7 DO
                BEGIN
                        K:=FORM1.SmallPort1.Port[$379] AND 128 ;
                        IF K=128 THEN
                        BEGIN
                        A:=0;
                        END;
                        IF K=0 THEN
                        BEGIN
                        A:=1;
                        END;
                        VALUE:=VALUE+(A*INTPOWER(2,(7-I)));
                        FORM1.SmallPort1.Port[$378]:=2;
                        FORM1.SmallPort1.Port[$378]:=0;
                END;
           END;
           VALUE:=VALUE*(5/(255*FORM1.SpinEdit1.Value));
           ZAMAN:=ZAMAN+1;
           deger[zaman]:=value;
           FORM1.XYChart1.AddData(ZAMAN,VALUE);
           END;
           form1.Timer1.Enabled:=false;
           form1.Edit1.Text:=floattostr(maxvalue(deger));
           FORM1.XYChart1.Plot;
           form1.SpinEdit3.Value:=time;

END;


procedure TForm1.Timer1Timer(Sender: TObject);
begin
time:=time+1;
end;

end.

Daha detay istersen yardımcı olabilirim....
Bazen sert rüzgarlar eser başını öne eğmekten asla korkma
samety81
Üye
Mesajlar: 84
Kayıt: 07 Nis 2006 03:53

Mesaj gönderen samety81 »

özür diliyorum yanlış anlattım
ldr lerin direclerini kullanarak en az direnci olanı baz alarak 5 farklı role sayesinde bilgisayara sayısal giriş yapacagım bunu araştırıyorum ilginiz için teşekkürler
Kullanıcı avatarı
uğur alkan
Üye
Mesajlar: 227
Kayıt: 29 Ağu 2004 04:49
Konum: Istanbul

Mesaj gönderen uğur alkan »

Paralel Portun Status Port uçları vasıtasıyla dış dünyadan 5 bitlik veri alabilirsin....

statusun pin uçları 10-11-12-13-15 tir konnektörün üzerine dikkatli bakarsan numaraları görebilirsin...

yalnız 10 ve 15 numaralı pinler sen dışardan logic 1 (+5V) verdiğin zaman proğram vasıtasıyla okuduğunda sana logic 0 (0 V) olarak döndürcektir. 0 volt verdiğinde ise sanki giriş logic 1 varmış gibi davranacaktır. yani bu uçlardan gelen bilginin terslerini alman gerekecek tir


Kod: Tümünü seç

K:=FORM1.SmallPort1.Port[$379] AND XXX

porttan status registerini bu şekilde okuyup kullanmadığın bitleri AND operatörü ile maskeleyebilirsin....

Giriş çıkış şeması istersende.....
http://www.s-ellis.freeserve.co.uk/atar ... allel.html

http//www.planet-source code.com/Upload ... 247537.gif

bit durumlarını buradan takip edebilirsin...........
Bazen sert rüzgarlar eser başını öne eğmekten asla korkma
Cevapla