Stap 4: Schrijven van de code
Zoals we eerder vermeld, hebben we gekozen voor het schrijven van een aangepaste GUI voor de spirometer. Omdat iedereen dit leest niet toegang tot MATLAB hebben kan, zullen we gewoon bieden de algemene vergelijkingen, en vertrekken uit de rommelige details van de GUI in deze handleiding. We zullen een overzicht van de basisprincipes van de code in een paar stappen.
Binnen een for-lus die itereert mettertijd het monster waar ii de iteratie is:
- Spanning van A0 leest, en een bewegende gemiddelde filter toepassen om het lawaai te verminderen
- voltage(II) = * spanning afgelezen pin (tenuitvoerlegging zal afhangen of u MATLAB of Arduino gebruikt
- Met behulp van de vergelijking van de drukopnemer gegevensblad, zetten de spanning in een drukverschil (psi).
- dP_psi(ii) = (14.6959 / 2) * (voltage(ii) - V_reference)
- Converteer de druk naar Pascals voor gemakkelijker berekeningen
- dP_Pa(ii) = dP_psi (ii) * 6894.76
- Met behulp van de vergelijking voor het volumetrisch debiet door middel van een Venturi-buis, (IDs is de inwendige diameter van het kleine gedeelte van de buis en bèta is de verhouding van de twee diameters. Rho is de dichtheid van lucht bij een gegeven temperatuur)
Verkrijgen = A2*sqrt((2*(P1-P2))/(ρ*(1-(A2/A1)^2)))
Zie stap 2 voor meer info over deze vergelijking
- Als u berekenen van dat de totale hoeveelheid lucht verlopen in het bereik van uw voorbeeld wilt, kunnen we een eenvoudige numerieke integratie gebruiken:
- VolTotal += verkrijgen * dt
- Waar dt is de samplefrequentie