TempBug: internet-ansluten termometer (3 / 7 steg)
Steg 3: Hur denna sak arbete?
De operativa principen bakom tempbug är egentligen enkel. Allt vi gör här är att göra en resistiv avdelare med hjälp av en resistor och en termistor och mäta spänningen i mitten med en Analog-till-digital-omvandlare i den elektriska imp.
Vänta, vad är en termistor?
En termistor är en temperaturberoende motstånd; Det har en specifik resistens vid rumstemperatur och dess motstånd varierar i en känd andel med temperaturen av komponenten. I vårt fall har vi valt en NTC eller negativ temperaturkoefficient termistor; motståndet av delen kommer att minska som temperaturen ökar.
Fick det, men vad är det med motståndet?
Motstånd och termistor bildar tillsammans en resistiv divider; de två resistorer, trådbunden upp i serien (end-to-end) har ett effektivt motstånd lika med summan av deras individuella motstånd. Detta avgör hur mycket ström som flyter genom dem: V = jag * R (Ohms lag), V = 3.3V (från imp breakout styrelsens 3.3V ombord strömförsörjning), R = 100kΩ + den termistor motstånd vid aktuell temperatur -> nu vet vi hur mycket ström flyter genom kretsen.
Gå tillbaka till Ohms lag, vi vet att spänningen över termistor = jag * R, där jag är strömmen genom avdelaren (de är i serien, så båda komponenterna se den samma nuvarande), och R är termistor nuvarande motstånd. Därför, om vi kan mäta spänningen på pin 9, kan vi lösa för motståndet av termistor. Med tanke på den termistor motstånd, kan vi bestämma temperaturen i delen.
Hej vänta, den andra sidan av termistor inte är ansluten till marken!
Just är du. Den är ansluten till stift 8. Detta är en lömska knep vi använder för att spara batteriet. Ström som passerar genom resistiv delaren tömmer batteriet, så vi ska bara låta strömflödet när vi vill mäta temperaturen. Vi gör detta genom programmering pin8 att vara en digital utsignal. När vi satt stift 8 hög, är spänningsfallet över delningslisten 0V, så inte nuvarande flöden. När vi vill ta en mätning, kör vi stift 8 låg och diskbänken nuvarande från delaren genom den integrerade havspolitiken.
Hur gör vi faktiskt mäta?
För att mäta spänningen över termistor, sätter vi upp stift 9 som en analog-till-digital-omvandlare, som tillåter oss att ta en exakt mätning av analoga spänningen på PIN-koden använder den integrerade havspolitiken. Kolla in programvaran i några steg för att se hur det är gjort.