İçindekiler:
- Adım 1: Joystick Bağlantı Noktası
- Adım 2: VB'de Joystick Bağlantı Noktası
- Adım 3: DOS Altında Paralel Bağlantı Noktasını Kullanarak Uygulayın
- Adım 4: Devreyi LPT'ye Takma
- Adım 5: Kullanın
Video: Basit ve Ucuz Analogdan Dijitale Dönüştürücü: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:22
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ı
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ı
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
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
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:
Basit DC - 555 Kullanan DC Boost Dönüştürücü: 4 Adım
555 Kullanan Basit DC - DC Boost Dönüştürücü: Bir devrede daha yüksek voltajlara sahip olmak genellikle yararlıdır. Bir op-amp için +ve ve -ve rayları sağlamak, buzzerleri sürmek, hatta ek bir pile ihtiyaç duymadan bir röle sağlamak için. Bu, 555 zamanlayıcı kullanılarak inşa edilmiş basit bir 5V - 12V DC dönüştürücüdür ve
3.3V Cihazlar için Basit Kendin Yap Mantık Dönüştürücü: 4 Adım
3.3V Cihazlar için Basit Kendin Yap Mantık Dönüştürücü: Bu Yazıda, 5V sensörleri yeni Arduino Kartlarına ve Raspberry Pi'ye bağlamak için kendi 5V - 3.3V mantık dönüştürücünüzü nasıl yapabileceğinizi göstereceğim.Neden bir Mantık Seviyesi Dönüştürücü IC'ye ihtiyacımız var? ?Bir çoğunuz Arduino ve Raspberry Pi ile oynamayı çok seviyorsunuz
İlk Tüy Kanadım: Analogdan Dijitale Dönüştürücü: 5 Adım
İlk Tüy Kanadım: Analogdan Dijitale Dönüştürücü: Merhaba, Yapımcı arkadaşlarım!Bugünün talimatı gerçekten özel bir şey hakkında. Bu cihaz, Adafruit'in form faktörünü takip eden İLK TÜYLÜĞÜM. Aynı zamanda İLK YÜZEYE MONTAJLI PCB'm! Bu kalkanı en belirgin kullanımım, delirdiğim bir cihazda
Analogdan Dijitale Dönüştürme Eğitimi: 7 Adım
Analogdan Dijitale Dönüştürme Eğitimi: Merhaba arkadaşlar, bu dönem Vanderbilt Üniversitesi'nde biyomedikal mühendisliği bölümleri için mühendislik sınıfına giriş için bir öğretim asistanıyım. Bu videoyu onlara analogdan dijitale dönüştürmeyi açıklamak için oluşturdum çünkü c sırasında zaman tükendi
Raspberry Pi GPIO Devreleri: ADC Olmadan LDR Analog Sensör Kullanma (Analogdan Dijitale Dönüştürücü): 4 Adım
Raspberry Pi GPIO Devreleri: ADC Olmadan LDR Analog Sensör Kullanma (Analogdan Dijitale Dönüştürücü): Daha önceki Eğitimlerimizde size Raspberry Pi'nizin GPIO pinlerini LED'lere ve anahtarlara nasıl bağlayabileceğinizi ve GPIO pinlerinin nasıl Yüksek olabileceğini göstermiştik. veya Düşük. Peki ya Raspberry Pi'nizi analog bir sensörle kullanmak isterseniz?