İçindekiler:

Basit ve Ucuz Analogdan Dijitale Dönüştürücü: 5 Adım
Basit ve Ucuz Analogdan Dijitale Dönüştürücü: 5 Adım

Video: Basit ve Ucuz Analogdan Dijitale Dönüştürücü: 5 Adım

Video: Basit ve Ucuz Analogdan Dijitale Dönüştürücü: 5 Adım
Video: UCUZA ALDIĞIM PLAYSTATION 5’LERİ İNCELEDİM - Standart vs Dijital Versiyon 2024, Temmuz
Anonim
Basit ve Ucuz Analogdan Dijitale Dönüştürücü
Basit ve Ucuz Analogdan Dijitale Dönüştürücü
Basit ve Ucuz Analogdan Dijitale Dönüştürücü
Basit ve Ucuz Analogdan Dijitale Dönüştürücü
Basit ve Ucuz Analogdan Dijitale Dönüştürücü
Basit ve Ucuz Analogdan Dijitale Dönüştürücü
Basit ve Ucuz Analogdan Dijitale Dönüştürücü
Basit ve Ucuz Analogdan Dijitale Dönüştürücü

ADC'nin pahalı ve nadir olduğu zamanlardan beri, PC'ler için veri toplama için bir donanım-yazılım çözümü geliyor. IBM uyumlu eski Joystick bağlantı noktasına dayanarak, tek kararlı bir multivibratörü bir dirençli dönüştürücüyü (termistör, fotosel, gerinim ölçer, vb.) tetikleme ve ardından multivibratörün çıkışı yükselmeden önce ne kadar döngü geçtiğini sayma tekniği oldukça çoğu bilgisayar platformunda ve çoğu dilde uygulanması kolaydır. VisualBasic ve Qbasic örnek dosyaları gösterilir.

Adım 1: Joystick Bağlantı Noktası

Joystick Bağlantı Noktası
Joystick Bağlantı Noktası

Yıllar boyunca birçok IBM uyumlu bilgisayar, X ekseni, Y ekseni, A & B düğmeleri sinyal pinlerine sahip bir Joystick bağlantı noktasıyla geldi. Küçük DB-15 konektörüne 200h ve 201h adresinden erişilebilir. Joystick'in kendisi sadece iki potansiyometre ve iki düğmeydi. PC'nin ana kartının içinde, sabit kapasitörlü ve IN/OUT pinli iki adet yeniden tetiklenebilir monostable multivibrator (kısaca RMM) yer alıyordu. RC zaman sabiti potansiyometreler ve kapasitörler tarafından ayarlandı. Sinyal dönüşümünü başlatmak için, 200h bağlantı noktasına bir YAZMA yaparsınız ve ardından 200h bağlantı noktasına OKUMA yaparak biraz YÜKSEK olana kadar saymaya başlarsınız. Bu herhangi bir dilde uygulanabilir (basic, pascal, c).

Adım 2: VB'de Joystick Bağlantı Noktası

VB'de Joystick Bağlantı Noktası
VB'de Joystick Bağlantı Noktası

Bu, hurdalık joystick'imi test etmek için kullandığım örnek bir kod: Private Sub Timer1_Timer() Dim V, H As Integer Out &H201, &HFF For H = 1 - 3000 If (Inp(&H201) And &H1) / &H1 = 0 Then Exit For Sonraki H Horizontal. Text = H Out &H201, &HFF For V = 1 - 3000 If (Inp(&H201) And &H2) / &H2 = 0 Sonra Exit For Next V Vertical. Text = V If (Inp(&H201) And &H10) / &H10 = 0 Sonra Shape1. FillColor = &HFF If (Inp(&H201) Ve &H20) / &H10 = 0 Sonra Shape2. FillColor = &HFF If (Inp(&H201) Ve &H10) / &H10 = 1 Sonra Shape1. FillColor = &HC0C0C0 If (Inp) (&H201) Ve &H20) / &H20 = 1 Ardından Shape2. FillColor = &HC0C0C0 Shape3. Left = H Shape3. Top = VEnd Sub Program yalnızca bilgisayarınıza bağlı gerçek bir joystick varsa çalışır. Yatay ve Dikey Metin kutuları, çubuğunuzun X ve Y hareketleriyle ilgili bir değer gösterecektir. Ayrıca, hareketlerinizi temsil etmek için daha büyük bir kutu içinde bir kare hareket edecektir. A ve B düğmelerine basmak gri daireleri okuyacaktır. Örnek derlenmiş EXE dosyası, kaynak kodu ve INPOUT32. DLL kitaplığı. RAR dosyasındadır.

Adım 3: DOS Altında Paralel Bağlantı Noktasını Kullanarak Uygulayın

DOS Altında Paralel Bağlantı Noktasını Kullanarak Uygulayın
DOS Altında Paralel Bağlantı Noktasını Kullanarak Uygulayın

74 LS 123, joystick bağlantı noktasıyla aynı sistemi almak için kullandığım şeydi. İki RMM'ye sahiptir. PDF dosyasında veri sayfasını ve paralel bağlantı noktanıza eklemek için basit bir devreyi görebilirsiniz. Ben bir Qbasic hayranıyım (çünkü yaygın olarak bulunur), bu yüzden kod içinde yazılmıştır. Prosedür VB örneğindeki ile aynıdır: LPTveri = &H378 LPTstatus = LPTveri + 1: LPTkontrol = LPTveri + 2YMAXX = 500SCREEN 2LINE (9, 1)-(630, 170),, B, &H3333VIEW (10, 2)- (629, 169)PENCERE (0, YMAXX)-(620, 0)MAXX = 620DIM D(MAXX)WHILE INKEY$ = "" OUT LPTcontrol, &H1 OUT LPTcontrol, &H0 FOR Y = 1 TO YMAXX IF (INP(LPTstatus) VE &H10) / &H10 = 1 SONRAKİ Y YER 23 İÇİN ÇIKIŞ, 1 "####" KULLANARAK YAZDIR; Y HATTI (0, 0)-(MAXX, YMAXX), 0, BF FOR I = 1 - MAXX HATTI (I, D(I - 1))-(I, D(I)) D(I - 1) = D(I) NEXT ID(MAXX) = YWEND MMR'yi Tetiklemek için bir çıkış pini ve bunun çıkışını okumak için bir giriş pini kullanılır.

Adım 4: Devreyi LPT'ye Takma

Devreyi LPT'ye Takma
Devreyi LPT'ye Takma
Devreyi LPT'ye Takma
Devreyi LPT'ye Takma
Devreyi LPT'ye Takma
Devreyi LPT'ye Takma

Sistem yarı donanım yarı yazılım olarak uygulanmaktadır. Değişken bir direncin bir zaman gecikmesine dönüştürülmesi daha sonra darbeleri saymak için kullanılır ve bu sayı bizim istediğimiz değerdir. qbasic dosyası sinyali görüntülemek için çizer ve ardından sağa kaydırır.

Adım 5: Kullanın

Bu yaygın bir IC'dir, ancak diğer monostabiller de kullanılabilir. ADC'nin bulunduğu yerlerde yaşayan birçok insan bulmak zor, bu devreyi sıcaklık veya başka herhangi bir şeyi çizmek için bir okul projesi olarak kullanmak isteyebilir, sensörünüz yaptığında MMR'nin gecikmesini değiştirmesini sağlayabilirsiniz.

Önerilen: