Eenvoudige draadloze temperatuursensor bijwerken website met elektrische GMB en Thermistor (9 / 21 stap)

Stap 9: de sensor-klasse maken


We gaan een klasse om de sensor te maken.  Ik noemde mijn 'TermistorCelcius'. We gaan deze code net onder waar wij onze beschrijving in de vorige stap.

Deze klasse kan worden gebruikt voor elke waarde uit de reeks Vishay van thermistors moeten de vier constanten voor gebruik met de uitgebreide Steinhart – Hart-vergelijking.

Let op code in dit instructable. Ik zette een tag < code beginnen > en een < code >. U moet kopieer/plak alleen de onderdelen tussen deze tags en niet de codes zelf.

< code beginnen >
klasse ThermistorCelcius
{
analogPort = null;  wordt de hardware-pin toegewezen
ROhms = null;       Weerstanden weerstand in ohm
Rref = null;        Thermistors weerstand bij 25C
variabelen te houden van de constanten die specifiek zijn voor de thermistor
voor de vergelijking Steinhart-Hart
A = null;
B = null;
C = null;
D = null;

Waarde te zeggen als de thermistor kant van de
thermistor/weerstand voltage divider is verbonden met GND
ThermToGND = null;

constructor)
poort, / / pin nummer thermistor aangesloten op
ResistorOhms, / / de waarde van de weerstand in ohm
ThermistorOhms, / / thermistor weerstand @ 25C in ohm
Openen, / / constante voorzien van gegevensblad
constB, / / constante voorzien van gegevensblad
constC, / / constante voorzien van gegevensblad
constD, / / constante voorzien van gegevensblad
thermistorToGND) / / 1 indien thermistor kant = GND
{
De constructor van een klasse wordt aangeroepen wanneer de klasse is
ingeleid. De variabelen worden doorgegeven aan de klasse op dit
tijd.
ROhms = ResistorOhms;
Rref = ThermistorOhms;
A = openen;
B = constB;
C = constC;
D = constD;
ThermToGND = thermistorToGND;

Een methode om het gebruik van dezelfde klasse te kunnen bieden
ongeacht de poort.
schakelaar (poort)
{
Case 1:
hardware.PIN1.configure(ANALOG_IN);
analogPort = hardware.pin1;
breken;
Case 2:
hardware.PIN2.configure(ANALOG_IN);
analogPort = hardware.pin2;
breken;
Case 5:
hardware.pin5.configure(ANALOG_IN);
analogPort = hardware.pin5;
breken;
Case 7:
hardware.pin7.configure(ANALOG_IN);
analogPort = hardware.pin7;
breken;
zaak 8:
hardware.pin8.configure(ANALOG_IN);
analogPort = hardware.pin8;
breken;
Case 9:
hardware.pin9.configure(ANALOG_IN);
analogPort = hardware.pin9;
breken;
standaard:
server.log ('ongeldig poort opgegeven.');
breken;
}
}

functie readTemp()
{
krijgen van de huidige spanning het GMB gebruikt als Vref voor de
analoog naar digitaal conversie
lokale hwvolts = hardware.voltage();

Een analoog naar digitaal conversie uit te voeren en op te slaan van de 16
bitwaarde
lokale gegevens = analogPort.read();

Als (gegevens == null) / / if we iets Get didn't,
{
server.log ("Read failure");     een mislukking rapporteren
return false;                   en het resultaat false
}

het nummer van de ADC omzetten in een spanning
lokale spanning = data * (hwvolts / 65535);

afhankelijk van hoe u de 3,3 v en GND bedraad op de
Weerstand/Thermistor voltage divider, selecteer de
geschikte formule voor het berekenen van de weerstand van
de Thermistor.
lokale Ohm = null;
Als (ThermToGND == 1)
gebruikt in combinatie met de weerstand op 3,3 v en thermistor op GND
Ohm = ROhms/((hwvolts/voltage)-1);
anders
gebruikt in combinatie met de weerstand op de GND en thermistor op 3,3 v
Ohm = ((ROhms * hwvolts)/voltage)-ROhms;

We gonna een uitgebreide vergelijking van de Steinhart – Hart te gebruiken
berekenen van de temperatuur op basis van de berekende
weerstand van de thermistor. We zullen ook de
conversiefactor van Kelvin naar Celsius
lokale tempC = 1.0 / (A + B * math.log(ohms/Rref) +
C * math.pow(math.log(ohms/Rref), 2) +
D * math.pow(math.log(ohms/Rref), 3)) - 272.15;
Return tempC;       en de temperatuur terug te keren
}
}
< code einde >

Gerelateerde Artikelen

Maak een eenvoudige draadloze RF robot met behulp van Arduino!

Maak een eenvoudige draadloze RF robot met behulp van Arduino!

UPDATE: IK HEB JOYSTICK-CONTROLE TOEGEVOEGD AAN DEZE ROBOT. GELIEVE TE VERWIJZEN NAAR DE STAP 7, ALS U WILT BEPALEN UW ROBOT VIA JOYSTICK.HalloDit is mijn eerste instructable en in deze tutorial, I 'm gonna Toon u hoe te bouwen van een eenvoudige dra
Hoe het bouwen van een eenvoudige website met WordPress

Hoe het bouwen van een eenvoudige website met WordPress

In 2014, het bouwen van een eenvoudige website hoeft niet een codering vaardigheden of savvy computerkennis. Ja, terug in de dagen van mensen gebruikt om hand-code websites met HTML, CSS en zelfs Flash, maar tegenwoordig de website creatieproces is v
Bouw uw eigen website met dreamweaver

Bouw uw eigen website met dreamweaver

dus ik eerder over dit geschreven heb, voordat de oude is de moeite waard lezen eerst, het bevat instructies over photoshop en dreamweaver die dit niet, maar het mist een heleboel wijst erop in vergelijking met dit.Deze dagen zijn er tonnen van de di
Geen codering, gratis, winstgevende Website, met een DNS-domein.

Geen codering, gratis, winstgevende Website, met een DNS-domein.

In dit Instructable, ik zal u tonen hoe om uw eigen gratis website, met behulp van een content managementsysteem (Joomla). Ik zal overslaan uit op iets, gedurende de tutorial, ik zal je laten zien hoe te opstelling van een domein, web het ontvangen r
Hoe een eenvoudige database maken in Excel met behulp van Filters

Hoe een eenvoudige database maken in Excel met behulp van Filters

Lijst van stappen:Stap 1: twee manieren gegevens importeren(1.1) met behulp van kopiëren en plakkenOR(1.2) importeren van gegevens uit een bestandStap 2: uitvoering van de functie zoeken(2.1) instellen van de lookup()-functie(2.2) belangrijk: de gege
Maak een Website met behulp van iWeb

Maak een Website met behulp van iWeb

Websites zijn een zeer gemakkelijke manier om het publiek te informeren over uw onderwerp van belang. In deze tutorial zullen we het creëren van een fitness-website met behulp van de iWeb-programma. U kunt het maken van een website over elk onderwerp
Opzetten van een Website met Google Page Creator

Opzetten van een Website met Google Page Creator

het instellen van een website met Google Labs de nieuwe Schepper van de pagina. (Hoe maak je een eenvoudige 100mb website kostenloos en heb het in een middag.) Met inbegrip van hoe, koppelen formulier pagina, link naar andere pagina's koppelen aan ge
Mapping The Mangroves draadloze temperatuursensor

Mapping The Mangroves draadloze temperatuursensor

Mangroves zijn zeer gevoelig voor veranderingen in temperatuur na verloop van tijd. Wij willen voor het meten van de lucht en de temperatuur van het water rond Mangrovebomen beter begrijpen deze correlatie.Dit leerprogramma zal u tonen hoe de Mapping
Zeer eenvoudige draadloze transmissie

Zeer eenvoudige draadloze transmissie

zo eenvoudig draadloze transmissie maken het thuisStap 1: onderdelen die je nodig hebt koperen draad, transistor-2N 3904, klein stukje PCB, 1-LED, 1 - 1.5V macht, draadStap 2: Maak 30 zet spoel en tweede centrum tape 30 spoel voor tweede spoel, na 15
Hacken van websites met sqlmap en kali linux

Hacken van websites met sqlmap en kali linux

zo uw op het punt dat u wilt kappen van websites met Kali Linux? Nou klik je op de juiste plaats! Vandaag ga ik je laten zien hoe hack een site met sqlmap in Kali Linux.Stap 1: Fire up Kali LinuxIk denk dat je weet hoe deze stap te doen :DStap 2: Sta
Snel verf stencils met elektrische graveur

Snel verf stencils met elektrische graveur

de titel zegt het allemaal vrij veel, maar gisteren werd ik mijn territorium (grote tools op JaxHax afkomstig) met elektrische graveur ik opgepikt uit Harbor Freight voor ongeveer $8, en zag een van onze leden maken van een stencil verf markeren. Het
Afbeeldingen met elektrische verf stencilkunst

Afbeeldingen met elektrische verf stencilkunst

met onze nieuwe Touch Board, kunt u geluid touch op vrijwel elk materiaal, maar u kunt ook om coole graphics die ook interactief zijn!  Voor een snelle manier om iets waarom niet testen door een stencil te maken? Deze tutorial toont je hoe om scherpe
Hoe maak je een website met behulp van weebly.com

Hoe maak je een website met behulp van weebly.com

Ik zal je leren hoe te maken van websites [voor ons bedrijf] met behulp van weebly.comStap 1: AanmeldenGa naar weebly.com en teken omhoog met uw e-mail [inloggen met onze bedrijfsgegevens].Stap 2: Toevoegen of maken van een websiteAls u zich aanmeldt
Eenvoudige manier om waterdichte overeenkomt met

Eenvoudige manier om waterdichte overeenkomt met

Eenvoudige manier om waterdichte overeenkomt metStap 1: Maken van waterdichte wedstrijdenBekijk de video voor meer details.Als de video niet wordt weergegeven, volgt u [deze link]Het aanbrengen van waterdichte wedstrijden u zal nood wedstrijden en ka