ตัวแปลงอนาล็อกเป็นดิจิตอลที่ง่ายและราคาถูก: 5 ขั้นตอน
ตัวแปลงอนาล็อกเป็นดิจิตอลที่ง่ายและราคาถูก: 5 ขั้นตอน
Anonim

ในช่วงเวลานั้น ADC มีราคาแพงและหายาก โซลูชันฮาร์ดแวร์-ซอฟต์แวร์สำหรับการเก็บข้อมูลสำหรับพีซีก็มาถึง ตามพอร์ตจอยสติ๊กแบบเก่าที่เข้ากันได้กับ IBM เทคนิคในการเรียกใช้ตัวแปลงสัญญาณตัวต้านทานแบบมัลติไวเบรเตอร์แบบโมโนสเตเบิล (เทอร์มิสเตอร์ โฟโตเซลล์ สเตรนเกจ ฯลฯ) แล้วนับจำนวนรอบที่มันผ่านไปก่อนที่เอาต์พุตของมัลติไวเบรเตอร์จะสูง ง่ายต่อการใช้งานบนแพลตฟอร์มพีซีส่วนใหญ่และในภาษาส่วนใหญ่ ไฟล์ตัวอย่าง VisualBasic และ Qbasic จะแสดงขึ้น

ขั้นตอนที่ 1: พอร์ตจอยสติ๊ก

เป็นเวลาหลายปีแล้วที่พีซีในบ้านที่เข้ากันได้กับ IBM มาพร้อมกับพอร์ตจอยสติ๊กที่มีหมุดสัญญาณแกน X, แกน Y, ปุ่ม A & B ตัวเชื่อมต่อ DB-15 ขนาดเล็กสามารถเข้าถึงได้ที่ที่อยู่ 200h & 201h จอยสติ๊กนั้นเป็นเพียงโพเทนซิโอมิเตอร์สองโพเทนชิโอมิเตอร์และสองปุ่ม ภายในเมนบอร์ดของพีซี มีเครื่องมัลติไวเบรเตอร์แบบโมโนสเตเบิลที่สามารถเรียกซ้ำได้สองตัว (เรียกสั้นๆ ว่า RMM) พร้อมตัวเก็บประจุแบบตายตัวและพิน IN/OUT ค่าคงที่เวลา RC ถูกกำหนดโดยโพเทนซิโอมิเตอร์และตัวเก็บประจุ ในการเริ่มต้นการแปลงสัญญาณ คุณจะต้องเขียน WRITE to port address 200h แล้วเริ่มนับจนกว่าคุณจะได้ค่า HIGH เล็กน้อยโดยทำการ READ to port address 200h สามารถใช้ในภาษาใดก็ได้ (พื้นฐาน, ปาสกาล, ค)

ขั้นตอนที่ 2: พอร์ตจอยสติ๊กใน VB

นี่คือตัวอย่างโค้ดที่ฉันใช้ทดสอบจอยสติ๊กของเก่า: Private Sub Timer1_Timer() Dim V, H As Integer Out &H201, &HFF For H = 1 To 3000 If (Inp(&H201) And &H1) / &H1 = 0 Then Exit For Next H Horizontal. Text = H Out &H201, &HFF For V = 1 To 3000 If (Inp(&H201) And &H2) / &H2 = 0 จากนั้นออกสำหรับ Next V Vertical. Text = V If (Inp(&H201) And &H10) / &H10 = 0 จากนั้น Shape1. FillColor = &HFF If (Inp(&H201) And &H20) / &H10 = 0 จากนั้น Shape2. FillColor = &HFF If (Inp(&H201) And &H10) / &H10 = 1 จากนั้น Shape1. FillColor = &HC0C0C0 หาก (Inp (&H201) และ &H20) / &H20 = 1 จากนั้น Shape2. FillColor = &HC0C0C0 Shape3. Left = H Shape3. Top = VEN Sub โปรแกรมจะทำงานก็ต่อเมื่อคุณมีจอยสติ๊กจริงติดอยู่กับพีซีของคุณ กล่องข้อความแนวนอนและแนวตั้งจะแสดงค่าที่เกี่ยวข้องกับการเคลื่อนไหว X และ Y ของแท่งไม้ของคุณ สี่เหลี่ยมจัตุรัสจะเคลื่อนที่ไปมาภายในกล่องที่ใหญ่ขึ้นเพื่อแสดงถึงการเคลื่อนไหวของคุณ การกดปุ่ม A และ B จะเป็นการอ่านวงกลมสีเทา ตัวอย่างไฟล์ EXE ที่คอมไพล์แล้ว ซอร์สโค้ด และไลบรารี INPOUT32. DLL อยู่ในไฟล์. RAR

ขั้นตอนที่ 3: ใช้งานโดยใช้ Parallel Port ภายใต้ DOS

74 LS 123 เป็นสิ่งที่ฉันเคยได้รับระบบเดียวกับพอร์ตจอยสติ๊ก มีสอง RMM ในไฟล์ PDF คุณสามารถดูแผ่นข้อมูลและวงจรง่ายๆ เพื่อแนบกับพอร์ตขนานของคุณ ฉันเป็นแฟนของ Qbasic (เพราะมันมีให้ใช้กันอย่างแพร่หลาย) ดังนั้นจึงมีการเขียนโค้ดไว้ ขั้นตอนเหมือนกับในตัวอย่าง VB: LPTdata = &H378 LPTstatus = LPTdata + 1: LPTcontrol = LPTdata + 2YMAXX = 500SCREEN 2LINE (9, 1)-(630, 170),, B, &H3333VIEW (10, 2)- (629, 169) WINDOW (0, YMAXX)- (620, 0)MAXX = 620DIM D (MAXX) ในขณะที่ INKEY$ = "" OUT LPTcontrol, &H1 OUT LPTcontrol &H0 FOR Y = 1 ถึง YMAXX IF (INP (LPTstatus) AND &H10) / &H10 = 1 จากนั้นออกไปยังตำแหน่งถัดไป 23, 1 พิมพ์โดยใช้ "####"; Y LINE (0, 0)-(MAXX, YMAXX), 0, BF FOR I = 1 TO MAXX LINE (I, D(I - 1))-(I, D(I)) D(I - 1) = D(I) NEXT ID(MAXX) = YWEND เอาต์พุตพินหนึ่งพินใช้สำหรับทริกเกอร์ MMR และพินอินพุตหนึ่งพินเพื่ออ่านเอาต์พุต

ขั้นตอนที่ 4: การแนบ Ciruit กับ LPT

ระบบถูกนำมาใช้เป็นฮาร์ดแวร์ครึ่งหนึ่งและซอฟต์แวร์ครึ่งหนึ่ง การแปลงค่าความต้านทานผันแปรเป็นการหน่วงเวลาจะใช้เพื่อนับพัลส์และการนับนี้เป็นค่าที่เราต้องการ ไฟล์ qbasic จะพล็อตเพื่อคัดกรองสัญญาณแล้วเลื่อนไปทางขวา

ขั้นตอนที่ 5: ใช้มัน

นี่เป็นไอซีทั่วไป แต่สามารถใช้โมโนสเตเบิลอื่นๆ ได้ ผู้คนจำนวนมากที่อาศัยอยู่ในสถานที่ต่างๆ เป็น ADC นั้นหายาก อาจต้องการใช้วงจรนี้เป็นโครงการของโรงเรียนเพื่อวางแผนอุณหภูมิหรือสิ่งอื่น ๆ ตราบเท่าที่คุณสามารถทำให้ MMR เปลี่ยนการหน่วงเวลาเมื่อเซ็นเซอร์ของคุณทำ