Sommario:
- Passaggio 1: la porta del joystick
- Passaggio 2: porta joystick in VB
- Passaggio 3: implementalo utilizzando la porta parallela in DOS
- Passaggio 4: collegamento del circuito a LPT
- Passaggio 5: usalo
Video: Convertitore da analogico a digitale semplice ed economico: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:06
Dai tempi in cui gli ADC erano costosi e rari, arriva una soluzione hardware-software per l'acquisizione dei dati per PC. Basata sulla vecchia porta Joystick dell'IBM compatibile, una tecnica per attivare un multivibratore monostabile un trasduttore resistivo (termistore, fotocellula, estensimetro, ecc.) e quindi contare quanti cicli passa prima che l'uscita del multivibratore si alzi è abbastanza semplice da implementare sulla maggior parte delle piattaforme PC e sulla maggior parte delle lingue. Vengono mostrati i file di esempio VisualBasic e Qbasic.
Passaggio 1: la porta del joystick
Per anni molti PC domestici compatibili con IBM sono stati dotati di una porta Joystick con pin di segnale dell'asse X, dell'asse Y, dei pulsanti A e B. È possibile accedere al piccolo connettore DB-15 all'indirizzo 200h e 201h. Il joystick stesso era composto solo da due potenziometri e due pulsanti. All'interno della scheda madre del PC, erano posizionati due multivibratori monostabili riattivabili (RMM in breve) con condensatori fissi e pin IN/OUT. La costante di tempo RC è stata impostata dai potenziometri e dai condensatori. Per avviare la conversione del segnale, eseguire una SCRITTURA sull'indirizzo della porta 200h e quindi iniziare a contare fino a ottenere un po' ALTO eseguendo una LETTURA sull'indirizzo della porta 200h. Questo potrebbe essere implementato in qualsiasi lingua (base, pascal, c).
Passaggio 2: porta joystick in VB
Questo è un codice di esempio che ho usato per testare il mio joystick della discarica: 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 = da 1 a 3000 If (Inp(&H201) And &H2) / &H2 = 0 Then Exit For Next V Vertical. Text = V If (Inp(&H201) And &H10) / &H10 = 0 Allora Shape1. FillColor = &HFF If (Inp(&H201) And &H20) / &H10 = 0 Allora Shape2. FillColor = &HFF If (Inp(&H201) And &H10) / &H10 = 1 Allora Shape1. FillColor = &HC0C0C0 If (Inp (&H201) And &H20) / &H20 = 1 Allora Shape2. FillColor = &HC0C0C0 Shape3. Left = H Shape3. Top = VEnd Sub Il programma funziona solo se hai un vero joystick collegato al tuo PC. Le caselle di testo orizzontale e verticale mostreranno un valore relativo ai movimenti X e Y del tuo stick. Inoltre, un quadrato si sposterà all'interno di una casella più grande per rappresentare i tuoi movimenti. Premendo i pulsanti A e B si accenderanno i cerchi grigi. Il file EXE compilato di esempio, il codice sorgente e la libreria INPOUT32. DLL si trovano nel file. RAR.
Passaggio 3: implementalo utilizzando la porta parallela in DOS
Il 74 LS 123 è quello che ho usato per ottenere lo stesso sistema della porta del joystick. Ha due RMM. Nel file PDF puoi vedere la scheda tecnica e un semplice circuito da collegare alla tua porta parallela. Sono un fan di Qbasic (perché è ampiamente disponibile), quindi il codice è scritto al suo interno. La procedura è la stessa dell'esempio 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 THEN EXIT FOR NEXT Y LOCATE 23, 1 PRINT USANDO "####"; LINEA Y (0, 0)-(MAXX, YMAXX), 0, BF PER I = 1 A LINEA MAXX (I, D(I - 1))-(I, D(I)) D(I - 1) = D(I) NEXT ID(MAXX) = YWEND Un pin di output viene utilizzato per attivare l'MMR e un pin di input per leggerne l'output.
Passaggio 4: collegamento del circuito a LPT
Il sistema è implementato per metà hardware e per metà software. La conversione di una resistenza variabile in un ritardo viene quindi utilizzata per contare gli impulsi e questo conteggio è il nostro valore desiderato.
Passaggio 5: usalo
Questo è un IC comune ma possono essere utilizzati anche altri monostabili. Molte persone che vivono in luoghi in cui l'ADC è difficile da trovare, potrebbero voler usare questo circuito come progetto scolastico per tracciare la temperatura o qualsiasi altra cosa, purché tu possa fare in modo che l'MMR cambi il suo ritardo quando lo fa il tuo sensore.
Consigliato:
Mini convertitore da CA a CC economico: 7 passaggi
Mini convertitore da ac a dc economico: questo è un convertitore da ac a dc. Mi è costato solo pochi dollari. Solo il costo di quattro diodi. È molto semplice e nessun problema per la saldatura. quindi voglio condividerlo con tutti voi, quindi iniziamo
La mia prima ala piuma: convertitore analogico-digitale: 5 passaggi
La mia prima ala piuma: convertitore analogico-digitale: Ciao, miei colleghi Makers! L'istruzione di oggi riguarda qualcosa di veramente speciale. Questo dispositivo è LA MIA PRIMA PIUMA, che segue il fattore di forma di Adafruit. È anche il mio PRIMO PCB MONTATO SU SUPERFICIE! Il mio uso più importante di questo scudo è in un dispositivo che mi fa impazzire
Orologio Digilog "semplice" (digitale analogico) utilizzando materiale riciclato!: 8 passaggi (con immagini)
Orologio Digilog "semplice" (analogico digitale) utilizzando materiale riciclato!: Ciao a tutti! Quindi, su questo Instructable, condividerò come realizzare questo orologio digitale + analogico utilizzando materiale economico! Se pensi che questo progetto "fa schifo", puoi andare via e non continuare a leggere questo Instructable. Pace! Mi dispiace davvero se t
Circuiti GPIO Raspberry Pi: utilizzo di un sensore analogico LDR senza un ADC (convertitore analogico-digitale): 4 passaggi
Circuiti GPIO Raspberry Pi: utilizzo di un sensore analogico LDR senza un ADC (convertitore analogico-digitale): nei nostri precedenti Instructables, ti abbiamo mostrato come collegare i pin GPIO del tuo Raspberry Pi a LED e interruttori e come i pin GPIO possono essere alti o Basso. Ma cosa succede se vuoi usare il tuo Raspberry Pi con un sensore analogico? Se vogliamo usare un
Supporto per laptop economico / Convertitore da notebook a desktop: 3 passaggi
Supporto per laptop economico / Convertitore da notebook a desktop: mi ritrovo a utilizzare il mio laptop per lunghi periodi di tempo. Dopo un po' diventa scomodo. La tastiera e lo schermo dovrebbero idealmente essere separati per ridurre la tensione al collo durante l'uso prolungato. Se sei un utente di laptop a tempo pieno, ti suggerisco di costruire s