Tot nu toe hebben we sensoren zoals de DHT22 of de DS18B20 Gebruikt. Helaas kunnen we er alleen lage temperaturen mee meten, we kunnen geen meting uitvoeren tijdens het grillen of het meten van een uitlaatgastemperatuur. Daarom wil ik vandaag kort gebruik maken van onze module MAX6675 MAX6675 voor het meten van temperaturen tot 1024°C. Instructies om de module in gebruik te nemen met een Arduino zijn gemakkelijk te vinden op het internet, Adafruit biedt hiervoor een bibliotheek. Helaas is deze bibliotheek niet compatibel met de NodeMCU's zonder wijziging. Naar mijn mening zijn de NodeMC's geschikter dan Arduinos, zoals boards zoals onze WIFI Kit 8 die al een voeding levert met Li-Po batterijen en een OLED-scherm aan boord. Het is ook mogelijk om deze te integreren in uw eigen W-Lan en om de informatie-output te hebben via een website of via MQTT.
Als een applicatie voorbeeld, gebruiken we onze LoLin NodeMCU V3 vandaag en draad het als volgt:
NodeMCU LoLin V3 | MAX6675 MAX6675 Module |
3.3V | Vcc |
Gnd | Gnd |
D5 | Sck |
D6 | Zon |
D7 D7 | Cs |
De Bibliotheek van Adafruit is beschikbaar HierAls alternatief kan het ook worden geïnstalleerd via de bibliotheekmanager in de ArduinoIDE. Op de volgende, de directory van de MAX6675 bevindt zich op uw andere libarys onder C:-Gebruikers-gebruikersnaam-Documents-Arduino-bibliotheken
Open daar het max6675.cpp-bestand met een editor zoals Knooppunt++en wijzig de code zoals weergegeven in de screenshot van:
Op:
U de code vervolgens correct compileren:
#include "max6675.h" Int thermoDO thermoDO = 12; Int thermoCS thermoCS = 13; Int thermoCLK thermoCLK = 14; MAX6675 MAX6675 Thermokoppel(thermoCLK thermoCLK, thermoCS thermoCS, thermoDO thermoDO); Void Setup() { Seriële.Beginnen(115200); Seriële.println("MAX6675 test"); wachten op MAX chip! Vertraging(500); } Void Lus() { Seriële.Afdrukken("C = "); Seriële.println(Thermokoppel.leesCelsius()); Serial.print("F = "); Serial.println(thermocouple.readFahrenheit()); Vertraging(1000); }
Op basis hiervan u uw beeldscherm of in uw SmartHome-oplossing goed opbouwen en eenvoudig integreren.
2 Reacties
Uli
habe die Library über die ArduinoIDE installiert, danach hat es ohne weitere Anpassungen funktioniert, danke :-)
Wolfgang
Bei mir gabs eine Fehlermeldung… Das Delay war nicht definiert…
Folgende Änderung hat funktioniert:
// this library is public domain. enjoy!
// www.ladyada.net/learn/sensors/thermocouple
#define _delay_ms(ms) delayMicroseconds((ms) * 2000)
//#include <avr/pgmspace.h>
//#include <util/delay.h>
#include
#include “max6675.h”