Cytron Technologies
Giờ làm việc: 8:00 - 17:00
Thứ 2 - Thứ 6 (trừ ngày lễ)
Hotline 0362917357
Video này trình bày cách kết nối cặp nhiệt điện loại K với Maker UnoX và hiển thị giá trị nhiệt độ trên màn hình LCD 16×2 và cũng sử dụng Blynk.
Cặp nhiệt điện loại K là linh kiện được sử dụng tốt nhất để đo nhiệt độ vượt quá 100 °C. t that is best used for measuring temperatures that go beyond 100 °C. Đầu dây trần có thể đo nhiệt độ không khí hoặc bề mặt. Cảm biến này bao gồm hai dây kim loại khác nhau được nối ở một đầu và kết nối với thiết bị có khả năng ghép nhiệt ở một đầu.
Đây là những sản phẩm được sử dụng trong video.
Kết nối giữa các linh kiện được hiển thị trong hình dưới đây. Dây màu trắng chưa kết nối là danh cho cặp nhiệt điện
Đối với Grove WiFi 8266, kết nối như hình bên dưới
Grove WiFi 8266 | MAKER UNO X |
GND | GND |
VCC | 5V |
RX | 11 |
TX | 10 |
Mã code sử dụng trong phần hướng dẫn này được hiển thị bên dưới
#define BLYNK_PRINT Serial
#include <Wire.h>
#include <SerLCD.h> //Click here to get the library: http://librarymanager/All#SparkFun_SerLCD
#include <max6675.h>
#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>
//Software Serial on Uno, Nano...
#include <SoftwareSerial.h>
SoftwareSerial EspSerial(10, 11); // RX, TX
//Insert your Blynk project Auth Token
char auth[] = "djigt1lMWzPmqbppsEDxk6uUFNeLzf-C";
// Insert your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "hotspot";
char pass[] = "hotspot123";
// Your ESP8266 baud rate:
#define ESP8266_BAUD 115200
ESP8266 wifi(&EspSerial);
SerLCD lcd; // Initialize the library with default I2C address 0x72
//#define DISPLAY_ADDRESS1 0x72 //This is the default address of the OpenLCD that
int thermoDO = 4;
int thermoCS = 5;
int thermoCLK = 6;
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
int vccPin = 7;
int gndPin = 8;
// make a cute degree symbol
uint8_t degree[8] = {140,146,146,140,128,128,128,128};
void setup() {
// put your setup code here, to run once:
pinMode(vccPin, OUTPUT); digitalWrite(vccPin, HIGH);
pinMode(gndPin, OUTPUT); digitalWrite(gndPin, LOW);
Wire.begin(); //Join the bus as master
lcd.begin(Wire); //Set up the LCD for I2C communication
lcd.createChar(0, degree);
title();
delay(1000);
// Debug console
Serial.begin(9600);
delay(10);
// Open the connection at 115200
EspSerial.begin(115200);
EspSerial.println("AT");
Blynk.begin(auth, wifi, ssid, pass);
}
void loop() {
Blynk.run();
// put your main code here, to run repeatedly:
lcd.setCursor(0,0);
lcd.clear();
lcd.print("Temperature: ");
// go to line #1
lcd.setCursor(0,1);
lcd.print(thermocouple.readCelsius());
#if ARDUINO >= 100
lcd.write((byte)0);
#else
lcd.print(0, BYTE);
#endif
lcd.print("C ");
Blynk.virtualWrite(V1, thermocouple.readCelsius());
delay(1000);
}
void title()
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Thermocouple");
lcd.setCursor(1,1);
lcd.print("Temperature");
delay(2000);
lcd.clear();
lcd.setCursor(1,0);
lcd.print("With Maker Uno");
lcd.setCursor(3,1);
lcd.print("And Blynk");
}
Tham khảo: