Finora, abbiamo usato sensori come il DHT22 o il DS18B20 Utilizzato. Purtroppo, possiamo misurare solo basse temperature con esso, non possiamo implementare una misurazione durante la grigliatura o la misurazione di una temperatura di gas di scarico. Ecco perché oggi vorrei usare brevemente il nostro modulo Valore di MAX6675 per misurare le temperature fino a 1024 gradi centigradi. Le istruzioni per mettere in funzione il modulo con un Arduino possono essere facilmente trovate su Internet, Adafruit fornisce una libreria per questo scopo. Sfortunatamente, questa libreria non è compatibile con i NodeMcsenza modifiche. A mio parere, i NodeMUS sono più adatti di Arduinos, come schede come la nostra Kit WIFI 8 che già fornisce un alimentatore con batterie Li-Po e un OLED Display a bordo. È anche possibile integrarli nel proprio W-Lan e avere l'output informativo tramite un sito web o tramite MQTT.
Come esempio di applicazione, usiamo il nostro LoLin NodeMCU V3 oggi e lo colleghiamo in questo modo:
NodoMCU LoLin V3 | Valore di MAX6675 Modulo |
3.3V | Vcc |
Gnd | Gnd |
D5 | Sck |
D6 | sole |
D7 | Cs |
La Biblioteca di Adafruit è disponibile QuiIn alternativa, può essere installato anche tramite il gestore di librerie in ArduinoIDE. Nella directory del seguente, la directory del MAX6675 si trova nelle altre libhes in C:-Users-username-Documents-Arduino-libraries
Aprire il file max6675.cpp con un editor come Nodo Nodoe modificare il codice come mostrato nella schermata di:
Attivato:
È quindi possibile compilare correttamente il codice:You can then compile the code correctly:
#include "max6675.h" Int thermoDO = 12; Int thermoCS = 13; Int thermoCLK = 14; Valore di MAX6675 Termocoppia(thermoCLK, thermoCS, thermoDO); Vuoto Installazione() { Seriale.Iniziare(115200); Seriale.println("Test MAX6675"); attendere MAX chip! Ritardo(500); } Vuoto Ciclo() { Seriale.Stampare("C "); Seriale.println(Termocoppia.readCelsius()); Serial.print("F : "); Serial.println(thermocouple.readFahrenheit()); Ritardo(1000); }
Su questa base, puoi costruire bene e integrare facilmente il tuo display o nella tua soluzione SmartHome.
2 commenti
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”