Πίνακας περιεχομένων:

Απλός & Φθηνός μετατροπέας αναλογικού σε ψηφιακό: 5 βήματα
Απλός & Φθηνός μετατροπέας αναλογικού σε ψηφιακό: 5 βήματα

Βίντεο: Απλός & Φθηνός μετατροπέας αναλογικού σε ψηφιακό: 5 βήματα

Βίντεο: Απλός & Φθηνός μετατροπέας αναλογικού σε ψηφιακό: 5 βήματα
Βίντεο: αναλογικό-ψηφιακό 2024, Νοέμβριος
Anonim
Απλός & Φθηνός μετατροπέας αναλογικού σε ψηφιακό
Απλός & Φθηνός μετατροπέας αναλογικού σε ψηφιακό
Απλός & Φθηνός μετατροπέας αναλογικού σε ψηφιακό
Απλός & Φθηνός μετατροπέας αναλογικού σε ψηφιακό
Απλός & Φθηνός μετατροπέας αναλογικού σε ψηφιακό
Απλός & Φθηνός μετατροπέας αναλογικού σε ψηφιακό
Απλός & Φθηνός μετατροπέας αναλογικού σε ψηφιακό
Απλός & Φθηνός μετατροπέας αναλογικού σε ψηφιακό

Από την εποχή που η ADC ήταν ακριβή και σπάνια, έρχεται μια λύση υλικού-λογισμικού για την απόκτηση δεδομένων για υπολογιστές. Με βάση την παλιά θύρα Joystick από το συμβατό με IBM, μια τεχνική ενεργοποίησης ενός μονόστατου πολυ-δονητή ενός αντιστάτη αντιστάτη (θερμίστορ, φωτοκύτταρο, μετρητή καταπόνησης κ.λπ.) και έπειτα η καταμέτρηση πόσων κύκλων περνά πριν η έξοδος του πολυ-δονητή είναι υψηλή απλό στην εφαρμογή στις περισσότερες πλατφόρμες υπολογιστών και στις περισσότερες γλώσσες. Εμφανίζονται δείγματα αρχείων VisualBasic και Qbasic.

Βήμα 1: Το λιμάνι του Joystick

Το λιμάνι του Joystick
Το λιμάνι του Joystick

Για πολλά χρόνια, πολλοί οικιακοί υπολογιστές συμβατοί με IBM έρχονταν με μια θύρα Joystick που είχε ακίδες X άξονα, άξονα Y, κουμπιά A & B. Μπορείτε να έχετε πρόσβαση στη μικρή υποδοχή DB-15 στη διεύθυνση 200h & 201h. Το ίδιο το χειριστήριο ήταν μόνο δύο ποτενσιόμετρα και δύο κουμπιά. Μέσα στη μητρική πλακέτα του Η/Υ, εντοπίστηκαν δύο μονόσταθμοι πολλαπλοί δονητές (RMM για συντομία) με σταθερούς πυκνωτές και πείρους IN/OUT. Η χρονική σταθερά RC καθορίστηκε από τα δυναμομετρητές και τους πυκνωτές. Για να ξεκινήσετε τη μετατροπή σήματος, θα κάνατε ΓΡΑΠΤΗ στη διεύθυνση θύρας 200h και, στη συνέχεια, θα αρχίσετε να μετράτε μέχρι να φτάσετε λίγο Υ HIGHΗΛΑ κάνοντας ΑΝΑΓΝΩΣΗ στη διεύθυνση θύρας 200h. Αυτό θα μπορούσε να εφαρμοστεί σε οποιαδήποτε γλώσσα (βασικό, pascal, c).

Βήμα 2: Θύρα Joystick στο VB

Joystick Port στο VB
Joystick Port στο VB

Αυτός είναι ένας δείκτης κώδικα που χρησιμοποίησα για να δοκιμάσω το χειριστήριο μου junkyard: Private Sub Timer1_Timer () Dim V, H As Integer Out & H201, & HFF Για H = 1 έως 3000 If (Inp (& H201) And & H1) / & H1 = 0 Τότε Έξοδος για Next H Horizontal. Text = H Out & H201, & HFF Για V = 1 έως 3000 If (Inp (& H201) And & H2) / & H2 = 0 Then Exit For Next V Vertical. Text = V If (Inp (& H201) And & H10) / & H10 = 0 Στη συνέχεια Shape1. FillColor = & HFF If (Inp (& H201) And & H20) / & H10 = 0 Then Shape2. FillColor = & HFF If (Inp (& H201) And & H10) / & H10 = 1 Στη συνέχεια Shape1. FillColor = & HC0C0C0 If (Inp (& H201) Και & H20) / & H20 = 1 Στη συνέχεια Shape2. FillColor = & HC0C0C0 Shape3. Left = H Shape3. Top = VEnd Sub Το πρόγραμμα λειτουργεί μόνο εάν έχετε ένα πραγματικό joystick προσαρτημένο στον υπολογιστή σας. Τα οριζόντια και κάθετα πλαίσια κειμένου θα εμφανίσουν μια τιμή που σχετίζεται με τις κινήσεις Χ και Υ του ραβδιού σας. Επίσης ένα τετράγωνο θα κινείται μέσα σε ένα μεγαλύτερο κουτί για να αντιπροσωπεύει τις κινήσεις σας. Πατώντας τα κουμπιά Α και Β θα διαβάσετε τους γκρι κύκλους. Το μεταγλωττισμένο δείγμα EXE, ο πηγαίος κώδικας και η βιβλιοθήκη INPOUT32. DLL βρίσκονται στο αρχείο. RAR.

Βήμα 3: Εφαρμόστε το χρησιμοποιώντας την παράλληλη θύρα του DOS

Εφαρμόστε το χρησιμοποιώντας την παράλληλη θύρα του DOS
Εφαρμόστε το χρησιμοποιώντας την παράλληλη θύρα του 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) WHILE INKEY $ = "" OUT LPTcontrol, & H1 OUT LPTcontrol, & H0 FOR Y = 1 TO YMAXX IF (INP (LPTstatus) AND & H10) / & H10 = 1 ΤΟΤΕ ΕΞΟΔΟΣ ΓΙΑ ΤΗΝ ΕΠΟΜΕΝΗ ΥΠΟΘΕΣΗ 23, 1 ΧΡΗΣΗ ΕΚΤΥΠΩΣΗΣ "####"; ΓΡΑΜΜΗ Υ (0, 0) - (MAXX, YMAXX), 0, BF ΓΙΑ I = 1 ΕΩΣ MAXX LINE (I, D (I - 1)) - (I, D (I)) D (I - 1) = D (I) ΕΠΟΜΕΝΟ ID (MAXX) = YWEND Ένας ακροδέκτης εξόδου χρησιμοποιείται για την ενεργοποίηση του MMR και ένας ακροδέκτης εισόδου για την ανάγνωση της εξόδου του.

Βήμα 4: Προσάρτηση του Ciruit στο LPT

Επισύναψη του Ciruit στο LPT
Επισύναψη του Ciruit στο LPT
Επισύναψη του Ciruit στο LPT
Επισύναψη του Ciruit στο LPT
Επισύναψη του Ciruit στο LPT
Επισύναψη του Ciruit στο LPT

Το σύστημα εφαρμόζεται ως μισό υλικό και μισό λογισμικό. Η μετατροπή μιας μεταβλητής αντίστασης σε χρονική καθυστέρηση χρησιμοποιείται στη συνέχεια για τον υπολογισμό των παλμών και αυτός ο αριθμός είναι η επιθυμητή τιμή μας. Το αρχείο qbasic θα σχεδιάσει για να προβάλει το σήμα και στη συνέχεια να το μετακινηθεί προς τα δεξιά.

Βήμα 5: Χρησιμοποιήστε το

Αυτό είναι ένα κοινό IC, αλλά μπορούν να χρησιμοποιηθούν και άλλες μονόσταθμες. Πολλοί άνθρωποι που ζουν σε μέρη ήταν ADC είναι δύσκολο να βρεθούν, μπορεί να θέλουν να χρησιμοποιήσουν αυτό το κύκλωμα ως σχολικό έργο για να σχεδιάσουν τη θερμοκρασία ή οποιοδήποτε άλλο υλικό, αρκεί να κάνετε το MMR να αλλάξει την καθυστέρησή του όταν το κάνει ο αισθητήρας σας.

Συνιστάται: