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
bilgi alıp gondermek akıl
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
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ı 

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
- Murat DİCLE
- Kıdemli Üye
- Mesajlar: 702
- Kayıt: 19 Nis 2006 04:12
- Konum: İstanbul
- İletişim:
- uğur alkan
- Üye
- Mesajlar: 227
- Kayıt: 29 Ağu 2004 04:49
- Konum: Istanbul
Yakınlarda böyle bişey lazım oldu ve yapmıştım...
ama birazcık havya ve lehim işin var
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
Daha detay istersen yardımcı olabilirim....
ama birazcık havya ve lehim işin var


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.
Bazen sert rüzgarlar eser başını öne eğmekten asla korkma
- uğur alkan
- Üye
- Mesajlar: 227
- Kayıt: 29 Ağu 2004 04:49
- Konum: Istanbul
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
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...........
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
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