Chuyển tới nội dung
Home » Lm35 Lcd Arduino Code | Đặc Điểm Của Cảm Biến Lm35

Lm35 Lcd Arduino Code | Đặc Điểm Của Cảm Biến Lm35

How to use LM35 temperature sensor with arduino

Components Required for the Arduino LM35 Temperature Sensor with LCD Project

Arduino Uno × 1 Amazon
LM35 temperature sensor × 1 Amazon
LCD 16×2 × 1 Amazon
Breadboard × 1 Amazon
Jumper wires × 2 Amazon
USB cable type A/B × 1 Amazon

Software

Arduino IDE

Arduino Temperature Sensor LM35 LCD Code

/*** www.arduinopoint.com ***/ /*** Arduino LM35 Temperature Sensor Project with LCD ***/ // Define to which pin of the Arduino the output of the LM35 is connected: #define sensorPin A0 #include //To include a library to write data on the 16*2 lcd device LiquidCrystal lcd(8,9,10,11,12,13); //we have connected LCD pins to these pins on Arduino byte degree[8] = { 0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000 }; // These lines are to create a custom Degree sign void setup()// this will run only on either on start-up or when arduino is reset { lcd.begin(16,2); lcd.createChar(1, degree); //we assign a number 1 to the degree sign created above lcd.setCursor(2,0); lcd.print(“Arduino Point”); lcd.setCursor(3,1); lcd.print(“Thermometer”); delay(2000); // Keep the words on screen for two seconds lcd.clear(); // clear the screen for writing anything else // Begin serial communication at a baud rate of 9600: Serial.begin(9600); } void loop()// this function will keep on running { // Get a reading from the temperature sensor: int reading = analogRead(sensorPin); // analogRead will read the incoming data from the LM35 sensor /*———Temperature——-*/ // Convert the reading into voltage: //This formula converts the ADC number 0-1023 to 0-5000mV (= 5V). float voltage = reading * (5000 / 1024.0); // Convert the voltage into the temperature in degree Celsius: float temperatureC = voltage / 10; float temperatureF=(temperatureC*1.8)+32; // Converting to Fahrenheit delay(10); /*——Display Result in Serial Monitor——*/ // Print the temperature in Celsius into the Serial Monitor: Serial.print(“Temperature in Celsius = “); Serial.print(temperatureC); Serial.print(” \xC2\xB0″); // shows degree symbol Serial.println(“C”); // Print the temperature in Celsius into the Serial Monitor: Serial.print(“Temperature in Fahrenheit = “); Serial.print(temperatureF); Serial.print(” \xC2\xB0″); // shows degree symbol Serial.println(“F”); Serial.print(“\n”); /*——Display Result in LCD——*/ lcd.clear(); lcd.setCursor(2,0); // Setting Curser on First character of first line lcd.print(“Temperature”); // printing the word Temperature on the display lcd.setCursor(0,1); // setting curser on First character on 2nd line lcd.print(temperatureC); // printing temperatureC value we got from the Sensor on the LCD lcd.write(1); // Write the custom charecter we created (degree sign) lcd.print(“C”); lcd.setCursor(8,1); // setting curser on Second First character on 2nd line lcd.print(temperatureF); // printing temperatureF value we got from the Sensor on the LCD lcd.write(1); // Write the custom charecter we created (degree sign) lcd.print(“F”); delay(1000); // refresh every one second }

Result

You should see your display constantly monitors temperature surrounding the LM35 and shows it on the LCD module display in degree Celsius and Fahrenheit. If you cannot see the desired output, ensure the circuit has been properly assembled, and verified and uploaded the code to your board.

  1. Make Arduino thermometer using LM35.
  2. You can make a Mini weather station using Arduino and LM35.

How to use LM35 temperature sensor with arduino
How to use LM35 temperature sensor with arduino

Applications

  • Temperature measurement in industrial processes.
  • Monitoring temperature in agriculture, greenhouses, and livestock farms.
  • Temperature control in ovens and kilns.
  • Temperature measurement in automobiles and other vehicles.
  • Environmental monitoring and control.
  • Monitoring temperature in refrigeration systems.
  • Temperature measurement in medical equipment and devices.

Features of LM35

  • Calibrated Directly in Celsius (Centigrade)
  • Output proportional to °C
  • Linear + 10-mV/°C Scale Factor
  • Operates From 4 V to 30 V
  • Less Than 60 μA Current Drain
  • Low-Impedance Output, 0.1 Ω for 1 mA Load
  • Low-Cost Due to Wafer-Level Trimming
  • Accuracy 0.5°C (at 25°C)
  • LM35 range temperature −55°C to 150°C
  • Low Self-Heating, 0.08°C in Still Air
  • Non-Linearity Only ±¼°C Typical
  • Suitable for Remote Applications
🔴 Arduino #33 Cảm Biến Nhiệt Độ LM35 Hiển Thị Lên Màn Hình LCD 16x2.
🔴 Arduino #33 Cảm Biến Nhiệt Độ LM35 Hiển Thị Lên Màn Hình LCD 16×2.

Bài tập

Bài tập 1: Thiết kế mạch gồm 1 đèn led và 1 LM35. Nếu nhiệt độ môi trường >30 °C thì cho phép đèn sáng lên.

Bài tập 2: Thiết kế mạch gồm 1 LCD và 1 LM35. Viết chương trình hiển thị nhiệt độ lên LCD (hiển thị theo °C).

Bài tập 3: Thiết kế mạch gồm 1 LCD và 1 LM35, 2 nút nhấn. Viết chương trình tương tự như bài 2 nhưng có thêm phần xử lý nút nhấn, một nút nhấn cho phép hiển thị theo °C, một nút nhấn cho phép hiển thị độ F.

Bài tập 4: Làm tương tự như bài tập 3 với một nút nhấn. Nhấn lần 1 thì hiển thị °C, nhấn lần 2 thì hiển thị °F.

Bài tập 5: Thiết kế mạch gồm 1 LCD, 1 LM35, 1 nút nhấn, 1 đèn xanh, 1 đèn đỏ, 1 đèn vàng. Các thiết bị có các chức năng sau:

– LCD hiển thị nhiệt độ cho LM35.

– Nút nhấn cho phép chuyển chế độ hiển thị độ đo (độ F sang °C và ngược lại).

– Đèn xanh sáng khi nhiệt độ dưới 17 °C, đèn vàng sáng khi nhiệt độ từ 17 °C – 30 °C và đèn đỏ sáng khi nhiệt độ lớn hơn 30 °C.

Trong bài viết này, tôi sẽ hướng dẫn cho các bạn chế tạo một nhiệt kế số dựa trên Arduino để hiển thị nhiệt độ môi trường xung quanh và sự thay đổi của nhiệt độ được hiển thị trên LCD trong thời gian thực. Nó có thể được triển khai trong nhà, văn phòng, các ngành công nghiệp v.v.. để đo nhiệt độ. Dự án này dựa trên Arduino giao tiếp với cảm biến nhiệt độ LM35 và màn hình hiển thị LCD 16×2. Chúng ta có thể phân chia nhiệt kế dựa trên arduino thành ba phần – Đầu tiên cảm nhận nhiệt độ bằng cách sử dụng cảm biến LM35, phần thứ hai chuyển đổi giá trị nhiệt độ thành một số thích hợp trong thang đo độ C được thực hiện bởi Arduino, và phần cuối của hệ thống hiển thị nhiệt độ trên LCD. Sơ đồ khối của nhiệt kế số được thể hiện trong hình bên dưới.

Trong giao tiếp giữa Arduino và LM35 cảm biến nhiệt độ này, Arduino Uno được sử dụng để kiểm soát toàn bộ quá trình. Cảm biến nhiệt độ LM35 được sử dụng để đo nhiệt độ môi trường, đầu ra của cảm biến là tín hiệu điện áp biến đổi theo nhiệt độ, cứ 10mV tương ứng với 1 độ C. Ví dụ, nếu điện áp đầu ra của cảm biến LM35 là 250mV, điều đó có nghĩa là nhiệt độ là khoảng 25 độ C.

Arduino đọc điện áp đầu ra của cảm biến nhiệt độ bằng cách sử dụng chân Analog A0 và thực hiện phép tính để chuyển đổi giá trị Analog này thành giá trị số của nhiệt độ hiện tại. Sau khi tính toán Arduino gửi các tính toán hoặc nhiệt độ này đến màn hình LCD 16×2 bằng cách sử dụng các lệnh thích hợp.

Chuẩn bị

Phần cứng

Tên linh kiện Số lượng
Arduino Uno
Cảm biến LM35
LCD 16×2
Breadboard
Dây cắm breadboard

Phần mềm: Arduino IDE

Giới thiệu cảm biến LM35

LM35 là loại cảm biến tương tự, hoạt động chính xác, sai số nhỏ, kích thước gọn nhẹ, có giá thành hợp lý nên được ứng dụng nhiều trong đo nhiệt độ ở thời gian thực rất phổ biến. Loại cảm biến nhiệt độ tương tự này cũng rất dễ dàng đọc thông số, giá trị đo bằng các hàm đơn giản.

Cảm biến nhiệt độ LM35 hoạt động bằng cách cho ra một giá trị hiệu điện thế nhất định tại chân Vout (chân giữa) ứng với mỗi mức nhiệt độ. Như vậy, bằng cách đưa vào chân bên trái của cảm biến LM35 hiệu điện thế 5V, chân phải nối đất, đo hiệu điện thế ở chân giữa bằng các pin A0 trên Arduino, bạn sẽ có được nhiệt độ (0-100ºC).

Sơ đồ chân

Số chân Tên Chức năng
Vs Điện áp nguồn; 5V (+4V đến 30V)
Vout Điện áp ra (-1V đến 6V)
GND Chân nối đất

Thông số kỹ thuật

  • Điện áp đầu vào từ 4V đến 30V
  • Điện áp ra: -1V đến 6V
  • Công suất tiêu thụ là 60uA
  • Độ phân giải điện áp đầu ra là 10mV/oC
  • Độ chính xác cao ở 25 C là 0.5 C
  • Trở kháng đầu ra thấp 0.1 cho 1mA tải
  • Độ chính xác thực tế: 1/4°C ở nhiệt độ phòng và 3/4°C ngoài khoảng -55°C tới 150°C

Tính toán nhiệt độ đầu ra của LM35

Việc đo nhiệt độ sử dụng LM35 thông thường chúng ta thực hiện bằng cách

Như vậy ta có:

VOUT = t*k

Trong đó:

  • VOUT là điện áp đầu ra của cảm biến LM35
  • t là nhiệt độ môi trường (oC)
  • k là hệ số theo nhiệt độ của LM35 (10mV/oC)

VOUT = t*10mV/oC

Giả sử điện áp cấp cho LM35 là 5V. Bộ chuyển đổi ADC gồm 10 bit tức là 1024 (210) mức.

Vậy mỗi bước thay đổi của LM35 sẽ là n = 5/(210) = 5/1024

Giá trị ADC đo được từ điện áp đầu vào của LM35 là

Giá trị ADC = VOUT/n = (t* 10-2*1024) / 5

Vậy nhiệt độ ta đo được t (oC) = Giá trị ADC/2,048

Tương tự với ADC 11 bit và VCC khác ta cũng tính như trên để được công thức lấy nhiệt độ

Sơ đồ mạch và giải thích

Sơ đồ mạch cho nhiệt kế số sử dụng cảm biến nhiệt độ Arduino LM35, được thể hiện trong hình trên. Ở đây màn hình LCD 16×2 được kết nối trực tiếp với Arduino trong chế độ 4-bit. Chân dữ liệu của LCD là RS, EN, D4, D5, D6, D7 được kết nối với số các chân 7, 6, 5, 4, 3, 2 của arduino. Cảm biến nhiệt độ LM35 cũng được kết nối với chân Analog A0 của Arduino, tạo ra nhiệt độ 1 độ C trên mỗi thay đổi đầu ra 10mV tại chân đầu ra của nó.

Chương trình

/*———–Arduino LM35 Code————-*/

/*———–Do nhiet do dung Arduino————-*/

#include LiquidCrystal lcd(7,6,5,4,3,2);

#define sensor A0

byte degree[8] ={0b00011,0b00011,0b00000,0b00000,0b00000,0b00000,0b00000,0b00000};

void setup(){lcd.begin(16,2);lcd.createChar(1,degree);lcd.setCursor(0,0);lcd.print(“Do nhiet do dung”);lcd.setCursor(0,1);lcd.print(“Cam bien LM35”);delay(500);lcd.clear();lcd.print(“dientuviet.com”);delay(500);lcd.clear();}

void loop(){/*———Đo nhiet do——-*/float reading=analogRead(sensor);float nhietdo=reading*(5.0/1024.0)*100;delay(10);

/*——Hien thi ket qua——*/lcd.clear();lcd.setCursor(2,0);lcd.print(“Nhiet do”);lcd.setCursor(4,1);lcd.print(nhietdo);lcd.write(1);lcd.print(“C”);delay(1000);}

Giải thích

Để viết chương trình cho nhiệt kế số, chúng ta cần phải viết code để giao tiếp cho Arduino, cảm biến nhiệt độ LM35 và mô-đun LCD 16×2. Đầu tiên chúng ta include thư viện cho màn hình LCD và sau đó chúng ta định nghĩa dữ liệu và chân điều khiển cho màn hình LCD và cảm biến nhiệt độ.

#include LiquidCrystal lcd(7,6,5,4,3,2);

#define sensor A0

Sau khi nhận được giá trị tương tự (analog) tại chân A0, Arduino sẽ đọc giá trị đó bằng cách sử dụng hàm đọc Analog và lưu trữ giá trị đó trong một biến. Và sau đó bằng cách áp dụng công thức đã cho để chuyển đổi nó sang nhiệt độ.

float analog_value=analogRead(analog_pin);

float nhietdo=analog_value*factor*100

Trong đó

factor=5/1024

analog_value= giá trị ngõ ra của cảm biến nhiệt độ

float reading=analogRead(sensor);float nhietdo=reading*(5.0/1023.0)*100;delay(10);

Ký hiệu độ (o) ở đây được tạo bằng cách sử dụng phương pháp ký tự tùy chỉnh

byte degree[8] ={0b00011,0b00011,0b00000,0b00000,0b00000,0b00000,0b00000,0b00000};

Table of Contents

Introduction

Interfacing an LM35 temperature sensor with a 16×2 Arduino LCD module using an Arduino UNO microcontroller involves connecting the LM35 temperature sensor to an analog input pin on the Arduino UNO and reading the analog voltage output of the LM35 which is proportional to the temperature. This voltage is then converted to a temperature value in centigrade and Fahrenheit. Finally, the temperature value is displayed on the 16×2 LCD module. The communication between the microcontroller and the LCD module is done through an interface such as I2C or a parallel interface. This setup is used to measure and display the ambient temperature in real time.

The LM35 is a linear temperature sensor that provides a voltage output proportional to the temperature in Celsius. It has a sensitivity of 10mV/°C, meaning that for every 1°C increase in temperature, the output voltage will increase by 10mV. The sensor can measure temperatures ranging from -55°C to 150°C, with an accuracy of ±1°C.

DISPLAY TEMPERATURE ON LCD USING ARDUINO UNO & LM35 || TUTORIAL BY MARICEL DUPIT
DISPLAY TEMPERATURE ON LCD USING ARDUINO UNO & LM35 || TUTORIAL BY MARICEL DUPIT

Đặc điểm của cảm biến LM35

Cảm biến LM35 là một cảm biến đo nhiệt độ của môi trường. Nhiệt độ được xác định bằng cách đo hiệu điện thế ngõ ra (Vout) của LM35. Nhiệt độ lấy ra từ cảm biến LM35 thay đổi theo hiệu điến thế, khoảng 10mV/°C. Cảm biến LM35 có thể lấy ra nhiệt độ ở đơn vị °C hoặc đổi sang °F.

Nhiệt độ nhận được từ LM35 có thể chênh lệch với thực tế 0.25°C ở nhiệt độ phòng và 0.75°C ngoài trời. LM35 có thể đo nhiệt độ trong khoảng -55°C tới 150°C.

Ưu điểm của LM35 là có hiệu năng cao, công suất tiêu thụ là 60µA. LM35 có khả năng nhận được sự thay đổi nhiệt độ nhanh và tương đối chính xác.

Arduino Code – LM35 Temperature Sensor – LCD I2C

Quick Steps

  • Open Arduino IDE on your PC.
  • Navigate to the Libraries icon on the left bar of the Arduino IDE.
  • Search “LiquidCrystal I2C”, then find the LiquidCrystal_I2C library by Frank de Brabander
  • Click Install button to install LiquidCrystal_I2C library.
  • Copy the above code and open with Arduino IDE
  • Click Upload button on Arduino IDE to upload code to Arduino
  • Put the sensor on hot and cold water, or grasp the sensor by your hand
  • See the result on LCD and Serial Monitor

※ NOTE THAT:

The I2C address of LCD can vary according to the manufacturers. In the code, we used 0x27 that is specified by DIYables manufacturer

Temperature Monitor Using || LM35 Sensor|| LCD Display || Arduino Uno
Temperature Monitor Using || LM35 Sensor|| LCD Display || Arduino Uno

What is LM35 Temperature Sensor?

LM35 sensor is a precision integrated-circuit temperature sensor, with an output voltage linearly proportional to the Centigrade temperature. The LM35 device has an advantage over linear temperature sensors calibrated in Kelvin, as the user is not required to subtract a large constant voltage from the output to obtain convenient Centigrade scaling. The LM35 device does not require any external calibration or trimming to provide typical accuracies of ± ¼ °C at room temperature and ± ¾ °C over a full −55°C to 150°C temperature range. Lower cost is assured by trimming and calibration at the wafer level.

The low output impedance, linear output, and precise inherent calibration of the LM35 device make interfacing to readout or control circuitry especially easy. The device is used with single power supplies, or with plus and minus supplies. As the LM35 device draws only 60 μA from the supply, it has very low self-heating of less than 0.1°C in still air. The LM35 device is rated to operate over a −55°C to 150°C temperature range, while the LM35C device is rated for a −40°C to 110°C range (−10° with improved accuracy).

Code mẫu

int sensorPin = A0; void setup() { Serial.begin(9600); } void loop() { int reading = analogRead(sensorPin); float voltage = reading * 5.0 / 1024.0; float temp = voltage * 100.0; Serial.println(temp); delay(1000); }

Giải thích Code

reading = analogRead(sensorPin);

Hàm

analogRead()

có nhiệm vụ đọc giá trị điện áp từ một chân Analog (ADC), hàm này luôn trả về 1 số nguyên nằm trong khoảng từ 0 đến 1023 tương ứng với thang điện áp (mặc định) từ 0 đến 5V. Hàm

analogRead()

cần 100 micro giây để thực hiện.

  • Xem bài viết kiểu số nguyên int để hiểu thêm.

Vậy

reading = analogRead(sensorPin)

có nghĩa là đọc giá trị điện áp từ cảm biến nhiệt độ LM35.

float voltage = reading * 5.0 / 1024.0;

Công thức tính ra giá trị hiệu điện thế từ giá trị cảm biến (đơn vị Volt) Voltage = giá trị điện áp từ cảm biến chia cho mức analog cao nhất (1024) rồi nhân với mức điện áp 5V.

Như ở trên ta thấy nhiệt độ thay đổi tuyến tính 10mV/°C nên đổi từ Vol sang °C thì ta chỉ cần nhân giá trị điện thế với 100 là ra nhiệt độ.

float temp = voltage * 100.0;

Arduino – Display Temperature from LM35 Sensor on LCD

In this tutorial, we are going to learn how to read the temperature from LM35 sensor and display it on an LCD 16×2 I2C.

LM35 Arduino code with LCD in Proteus
LM35 Arduino code with LCD in Proteus

Cảm biến nhiệt độ LM35

  • LM35 là một cảm biến nhiệt độ Analog (A0 đến A5 trên board Arduino Uno).
  • LM35 không cần phải canh chỉnh nhiệt độ khi sử dụng.
  • LM35 thay đổi nhiệt độ nhanh và chính xác.

Cảm biến nhiệt độ LM35 là bộ cảm biến nhiệt mạch tích hợp chính xác cao mà điện áp đầu ra của nó tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius.

Thông số kỹ thuật của cảm biến:

  • Điện áp hoạt động: 4-20V DC.
  • Công suất tiêu thụ: 60uA.
  • Khoảng đo nhiệt độ: -55°C đến 150°C.
  • Nhiệt độ thay đổi tuyến tính: 10mV/°C.
  • Độ chính xác thực tế: 1/4°C ở nhiệt độ phòng và 3/4°C ngoài khoảng 2°C tới 150°C.

Cảm biến LM35 hoạt động bằng cách cho ra một giá trị hiệu điện thế nhất định tại chân Vout (chân giữa) ứng với mỗi mức nhiệt độ.

Cụ thể hoạt động của mạch Arduino Uno R3 các bạn xem video:

Ngoài ra còn nhiều Phần và các môn khác

Đồ án điện tử, Lập trình vi điều khiển tổng hợp File đồ án – Phần 1 Mạch điện tử, Lập trình vi điều khiển tổng hợp File đồ án – Phần 2 Thiết kế mạch điện tử, Lập trình vi điều khiển tổng hợp File đồ án – Phần 3 Vi xử lý, Lập trình vi điều khiển Pic – 8051 – Avr – Phần 4 Tổng hợp File ĐỒ ÁN Điện tử cơ bản Tổng hợp File ĐỒ ÁN Viễn thông Tổng hợp File ĐỒ ÁN PLC Tổng hợp File ĐỒ ÁN Cung cấp điện

LM35 temperature sensor LCD Display  Arduino Project
LM35 temperature sensor LCD Display Arduino Project

Hardware Components

You will require the following hardware for LM35 Temperature Sensor Display on LCD with Arduino.

S.no Component Value Qty
1. Arduino UNO
2. USB Cable Type A to B
3. LED I2C
4. Temperature Sensor LM35
5. Power Adapter for Arduino 9V
6. Breadboard
7. Jumper Wires

Sẽ còn các phần khác nữa nhé.

Chúc các bạn thành công…!!!

Đo nhiệt độ bằng Cảm biến LM35 sử dụng Arduino Uno

Hôm nay chúng ta sẽ cùng nhau tìm hiểu về cách sử dụng cảm biến nhiệt độ LM35.

Cảm biến có ưu điểm hoạt động khá chính xác và ít sai số đồng thời kích thước nhỏ, giá thành thấp nên được sử dụng rất nhiều trong các ứng dụng đo nhiệt độ thời gian thực.

Qua bài viết này, các bạn sẽ tìm hiểu thêm một hàm mới là analogRead().

  • Đọc bài viết về hàm analogRead(pin).
LM-35 TEMPERATURE SENSOR with Arduino Nano | how to work LM-35 TEMPERATURE SENSOR [With Code]
LM-35 TEMPERATURE SENSOR with Arduino Nano | how to work LM-35 TEMPERATURE SENSOR [With Code]

Hướng dẫn đồ án nhiệt độ LM35 giao tiếp Atmega hiển thị LCD1602

Phần cứng

Phần mềm

#include LiquidCrystal lcd(2, 3, 4, 5, 6, 7); //(RS, E, D4, D5, D6, D7) int ar = 0, v = 0, t = 0; char y = 223; void setup() { lcd.begin(16, 2); } void loop() { ar = analogRead(A0); delay(100); // how to convert analog to digital see here: https://pijaeducation.com/adc-in-arduino/ v = ar * 4.887; t = v / 10; lcd.setCursor(0, 0); lcd.print(“AR:”); lcd.println(ar); lcd.setCursor(8, 0); lcd.print(“mV:”); lcd.println(v); lcd.setCursor(0, 1); lcd.print(“Temperature:”); lcd.print(t); lcd.print(y); delay(1000); lcd.clear(); }

Linh kiện cần thiết làm mạch Arduino Uno R3

1.1 Vi điều khiển Arduino Uno R

Giới thiệu

Arduino Uno R3 (Dip) có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối). Arduino Uno R3 là một bảng mạch vi điều khiển nguồn mở dựa trên vi điều khiển Microchip ATmega328 được phát triển bởi Arduino.cc. Bảng mạch được trang bị các bộ chân đầu vào/ đầu ra Digital và Analog có thể giao tiếp với các bảng mạch mở rộng khác nhau. Mạch Arduino Uno thích hợp cho những bạn mới tiếp cận và đam mê về điện tử, lập trình…Dựa trên nền tảng mở do Arduino.cc cung cấp các bạn dễ dàng xây dựng cho mình một dự án nhanh nhất ( lập trình Robot, xe tự hành, điều khiển bật tắt led…).

Chức năng của Arduino R3:
  • 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này. Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây. Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết
  • Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite(). Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác.
  • Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác.
  • LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân số 13. Khi chân này được người dùng sử dụng, LED sẽ sáng.
  • Arduino Uno R3 có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF trên board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog. Tức là nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùng các chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit. Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác.
c.Thông số kỹ thuật Arduino Uno R3 (Dip)
Datasheets Atmega328
Standard Package 27
Category Integrated Circuits (ICs)
Family Embedded – Atmel
Series Atmega
Packaging Tube
Core Processor AVR
Core Size 8-Bit
Speed 16MHz
Connectivity I²C, SPI, UART / USART, USB
Peripherals Brown-out Detec t/ Reset, HLVD, POR, PWM, WDT
Number of I /O 14
Program Memory Size 32KB
Program Memory Type FLASH
EEPROM Size 1KB
RAM Size 2K
Voltage – Supply (Vcc/Vdd) 4.2 V ~ 5.5 V
Data Converters A/D 6 x 10bit
Oscillator Type Internal
Operating Temperature -40°C ~ 85°C
Package / Case 28-SOIC (0.295″, 7.50mm Width)
Other Names Atmega328
Power
  • LED: Có 1 LED được tích hợp trên bảng mạch và được nối vào chân D13. Khi chân có giá trị mức cao (HIGH) thì LED sẽ sáng và LED tắt khi ở mức thấp (LOW).
  • VIN: Chân này dùng để cấp nguồn ngoài (điện áp cấp từ 7-12VDC).
  • 5V: Điện áp ra 5V (dòng điện trên mỗi chân này tối đa là 500mA).
  • 3V3: Điện áp ra 3.3V (dòng điện trên mỗi chân này tối đa là 50mA).
  • GND: Là chân mang điện cực âm trên board.
  • IOREF: Điệp áp hoạt động của vi điều khiển trên Arduino UNO và có thể đọc điện áp trên chân IOREF. Chân IOREF không dùng để làm chân cấp nguồn.
e.Bộ nhớ

Vi điều khiển ATmega328:

  • 32 KB bộ nhớ Plash: trong đó bootloader chiếm 0.5KB.
  • 2 KB cho SRAM: (Static Random Access Menory): giá trị các biến khai báo sẽ được lưu ở đây. Khai báo càng nhiều biến thì càng tốn nhiều bộ nhớ RAM. Khi mất nguồn dữ liệu trên SRAM sẽ bị mất.
  • 1 KB cho EEPROM: (Electrically Eraseble Programmable Read Only Memory): Là nơi có thể đọc và ghi dữ liệu vào đây và không bị mất dữ liệu khi mất nguồn.
Các chân đầu vào và đầu ra

Trên Board Arduino Uno có 14 chân Digital được sử dụng để làm chân đầu vào và đầu ra và chúng sử dụng các hàm pinMode(), digitalWrite(), digitalRead(). Giá trị điện áp trên mỗi chân là 5V, dòng trên mỗi chân là 20mA và bên trong có điện trở kéo lên là 20-50 ohm. Dòng tối đa trên mỗi chân I/O không vượt quá 40mA để tránh trường hợp gây hỏng board mạch. Ngoài ra, một số chân Digital có chức năng đặt biệt:

  • Serial: 0 (RX) và 1 (TX): Được sử dụng để nhận dữ liệu (RX) và truyền dữ liệu (TX) TTL.
  • Ngắt ngoài: Chân 2 và 3.
  • PWM: 3, 5, 6, 9 và 11 Cung cấp đầu ra xung PWM với độ phân giải 8 bit bằng hàm analogWrite ().
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Các chân này hỗ trợ giao tiếp SPI bằng thư viện SPI.
  • LED: Có 1 LED được tích hợp trên bảng mạch và được nối vào chân D13. Khi chân có giá trị mức cao (HIGH) thì LED sẽ sáng và LED tắt khi ở mức thấp (LOW).
  • TWI/I2C: A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác.

1.2 Cảm biến Nhiệt độ LM35

Giới thiệu

LM35 có dải đo từ 0 Độ đến 150 độ C. LM35 là cảm biến tiêu hao điện năng thấp sử dụng điện áp 5V. Cảm biến gồm có 3 chân, 2 chân nguồn, 1 chân tín hiệu ra dạng Analog. Chân dữ liệu của IC cảm biến LM35 là chân ngõ ra điện áp dạng tuyến tính. Chân số 2 cảm biến xuất ra cứ 1mV = 0.1°C (10mV = 1°C). Để lấy dữ liệu ở dạng °C chỉ cần lấy điện áp trên chân OUT đem chia cho 10. Chân 1 cấp điện áp 5V, chân 3 cấp GND, chân 2 là chân OUTPUT dữ liệu dạng điện áp LM35 là một cảm biến nhiệt độ tương tự, điện áp ở đầu ra của cảm biến tỷ lệ với nhiệt độ tức thời và có thể dễ dàng được xử lý để có được giá trị nhiệt độ bằng oC.

Thông số kỹ thuật lm35 giao tiếp Atmega
  • Điện áp hoạt động: 4~20VDC
  • Công suất tiêu thụ: khoảng 60uA
  • Khoảng đo: -55°C đến 150°C
  • Điện áp tuyến tính theo nhiệt độ: 10mV/°C
  • Sai số: 0.25°C
  • Kiểu chân: TO92
  • Kích thước: 4.3 × 4.3mm
Nguyên lý hoạt động của cảm biến LM35 giao tiếp Arduino

Cảm biến LM35 hoạt động bằng cách cho ra một giá trị điện áp nhất định tại chân VOUT (chân giữa) ứng với mỗi mức nhiệt độ. Như vậy, bằng cách đưa vào chân bên trái của cảm biến LM35 điện áp 5V, chân phải nối đất, đo hiệu điện thế ở chân giữa, bạn sẽ có được nhiệt độ (0-100ºC) tương ứng với điện áp đo được. Vì điện áp ngõ ra của cảm biến tương đối nhỏ nên thông thường trong các mạch ứng dụng thực tế, chúng ta thường dùng Op-Amp để khuếch đại điện áp ngõ ra này.

Cách tính toán giao tiếp
  • Thiết kế mạch.
  • Cấp nguồn cho cảm biến với điện áp từ 4V đến 30V. Chân GND được nối đất.
  • Kết nối chân VOUT với đầu vào bộ chuyển đổi tương tự sang số hay vi điều khiển.
  • Lấy mẫu đọc ADC để xác định điện áp đầu ra VOUT.
  • Chuyển đổi điện áp thành nhiệt độ.
Các dạng ngoài thực tế

LM35 có thể được sử dụng một trong hai cấu hình mạch như hình bên dưới. Cả hai đều mang lại kết quả khác nhau.

Ứng dụng của cảm biến LM35 giao tiếp Arduino

Cảm biến nhiệt độ LM35 phù hợp cho các ứng dụng:

  • Học tập nghiên cứu
  • Đo nhiệt độ của một môi trường cụ thể
  • Giám sát nhiệt độ trong hệ thống HVAC
  • Kiểm tra nhiệt độ pin

1.3 LCD1602 mạch Arduino Uno R3

Giới thiệu
Thông số kỹ thuật
  • Điện áp hoạt động là 5 V.
  • Kích thước: 80 x 36 x 12.5 mm
  • Chữ đen, nền xanh lá
  • Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với Breadboard.
  • Tên các chân được ghi ở mặt sau của màn hình LCD hổ trợ việc kết nối, đi dây điện.
  • Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để sử dụng ít điện năng hơn.
  • Có thể được điều khiển với 6 dây tín hiệu
  • Có bộ ký tự được xây dựng hổ trợ tiếng Anh và tiếng Nhật, xem thêm HD44780 datasheet để biết thêm chi tiết.
Sơ đồ chân LCD
Số chân Ký hiệu chân Mô tả chân
Vss Cấp điện 0v
Vcc Cấp điện 5v
V0 Chỉnh độ tương phản
RS Lựa chọn thanh ghi địa chỉ hay dữ liệu
RW Lựa chọn thanh ghi Đọc hay Viết
EN Cho phép xuất dữ liệu
D0 Đường truyền dữ liệu 0
D1 Đường truyền dữ liệu 1
D2 Đường truyền dữ liệu 2
10 D3 Đường truyền dữ liệu 3
11 D4 Đường truyền dữ liệu 4
12 D5 Đường truyền dữ liệu 5
13 D6 Đường truyền dữ liệu 6
14 D7 Đường truyền dữ liệu 7
15 Chân dương đèn màn hình
16 Chân âm đèn màn hình
  • Các chân cấp nguồn: Chân số 1 là chân nối mass (0V), chân thứ 2 là Vdd nối với nguồn+5V. Chân thứ 3 dùng để chỉnh contrast thường nối với biến trở.
  • Các chân điều khiển: Chân số 4 là chân RS dùng để điều khiển lựa chọn thanh ghi. ChânR/W dùng để điều khiển quá trình đọc và ghi. Chân E là chân cho phép dạng xung chốt.
  • Các chân dữ liệu D7÷D0: Chân số 7 đến chân số 14 là 8 chân dùng để trao đổi dữ liệu giữa thiết bị điều khiển và LCD.
Địa chỉ ba vùng nhớ
  • Bộ điều khiển LCD có ba vùng nhớ nội, mỗi vùng có chức năng riêng. Bộ điều khiển phải khởi động trước khi truy cập bất kỳ vùng nhớ nào. a. Bộ nhớ DDRAM
  • Bộ nhớ chứa dữ liệu để hiển thị (Display Data RAM: DDRAM) lưu trữ những mã ký tự để hiển thị lên màn hình. Mã ký tự lưu trữ trong vùng DDRAM sẽ tham chiếu với từng bitmap kí tự được lưu trữ trong CGROM đã được định nghĩa trước hoặc đặt trong vùng do người sử dụng định nghĩa. b. Bộ phát kí tự ROM – CGROM
  • Bộ phát kí tự ROM (Character Generator ROM: CGROM) chứa các kiểu bitmap cho mỗi kí tự được định nghĩa trước mà LCD có thể hiển thị, như được trình bày bảng mã ASCII. Mã kí tự lưu trong DDRAM cho mỗi vùng kí tự sẽ được tham chiếu đến một vị trí trong CGROM. Ví dụ: mã kí tự số hex 0x53 lưu trong DDRAM được chuyển sang dạng nhị phân 4 bit cao là DB[7:4] = “0101” và 4 bit thấp là DB[3:0] = “0011” chính là kí tự chữ ‘S’ sẽ hiển thị trên màn hình LCD. c. Bộ phát kí tự RAM – CGRAM
  • Bộ phát kí tự RAM (Character Generator RAM: CG RAM) cung cấp vùng nhớ để tạo ra 8 kí tự tùy ý. Mỗi kí tự gồm 5 cột và 8 hàng.
Các lệnh điều khiển của LCD
  • Lệnh thiết lập chức năng giao tiếp “Function set”:

    • Bit DL (data length) = 1 thì cho phép giao tiếp 8 đường data D7 ÷ D0, nếu bằng 0 thì cho phép giao tiếp 4 đường D7 ÷ D4.
    • Bit N (number of line) = 1 thì cho phép hiển thị 2 hàng, nếu bằng 0 thì cho phép hiển thị 1 hàng.
    • Bit F (font) = 1 thì cho phép hiển thị với ma trận 5×8, nếu bằng 0 thì cho phép hiển thị với ma trận 5×11.
    • Các bit cao còn lại là hằng số không đổi.
  • Lệnh xoá màn hình “Clear Display”: khi thực hiện lệnh này thì LCD sẽ bị xoá và bộ đếm địa chỉ được xoá về 0.
  • Lệnh di chuyển con trỏ về đầu màn hình “Cursor Home”: khi thực hiện lệnh này thì bộ đếm địa chỉ được xoá về 0, phần hiển thị trở về vị trí gốc đã bị dịch trước đó. Nội dung bộ nhớ RAM hiển thị DDRAM không bị thay đổi.
  • Lệnh thiết lập lối vào “Entry mode set”: lệnh này dùng để thiết lập lối vào cho các kí tự hiển thị,

    • Bit I/D = 1 thì con trỏ tự động tăng lên 1 mỗi khi có 1 byte dữ liệu ghi vào bộ hiển thị, khi I/D = 0 thì con trỏ sẽ tự động giảm đi 1 mỗi khi có 1 byte dữ liệu ghi vào bộ hiển thị.
    • Bit S = 1 thì cho phép dịch chuyển dữ liệu mỗi khi nhận 1 byte hiển thị.
  • Lệnh điều khiển con trỏ hiển thị “Display Control”:
    • Bit D: cho phép LCD hiển thị thì D = 1, không cho hiển thị thì bit D = 0.
    • Bit C: cho phép con trỏ hiển thị thì C= 1, không cho hiển thị con trỏ thì bit C = 0.
    • Bit B: cho phép con trỏ nhấp nháy thì B= 1, không cho con trỏ nhấp nháy thì bit B = 0.
    • Với các bit như trên thì để hiển thị phải cho D = 1, 2 bit còn lại thì tùy chọn, trong thư viện thì cho 2 bit đều bằng 0, không cho phép mở con trỏ và nhấp nháy, nếu bạn không thích thì hiệu chỉnh lại.
  • Lệnh di chuyển con trỏ “Cursor /Display Shift”: lệnh này dùng để điều khiển di chuyển con trỏ hiển thị dịch chuyển

    • Bit SC: SC = 1 cho phép dịch chuyển, SC = 0 thì không cho phép.
    • Bit RL xác định hướng dịch chuyển: RL = 1 thì dịch phải, RL = 0 thì dịch trái. Nội dung bộ nhớ DDRAM vẫn không đổi.
    • Vậy khi cho phép dịch thì có 2 tùy chọn: dịch trái và dịch phải.
  • Lệnh thiết lập địa chỉ cho bộ nhớ RAM phát kí tự “Set CGRAM Addr”: lệnh này dùng để thiết lập địa chỉ cho bộ nhớ RAM phát kí tự.
  • Lệnh thiết lập địa chỉ cho bộ nhớ RAM hiển thị “Set DDRAM Addr”: lệnh này dùng để thiết lập địa chỉ cho bộ nhớ RAM lưu trữ các dữ liệu hiển thị.
  • Hai lệnh cuối cùng là lệnh đọc và lệnh ghi dữ liệu LCD.
Bảng mã ASCII sử dụng cho LCD
Bảng địa chỉ cho LCD
Arduino LCD Shield - Coding Menus the Easy Way
Arduino LCD Shield – Coding Menus the Easy Way

Temperature LM35 Sensor on LCD with Arduino

  1. Connect the LM35 temperature sensor to the Arduino board:
  • Connect the VCC pin of the LM35 to the 5V pin on the Arduino board.
  • Connect the GND pin of the LM35 to the GND pin on the Arduino board.
  • Connect the Output pin of the LM35 to the A0 pin on the Arduino board.
  1. Connect the 16×2 LCD display to the Arduino board:
  • Connect the VCC pin of the LCD to the 5V pin on the Arduino board.
  • Connect the GND pin of the LCD to the GND pin on the Arduino board.
  • Connect the RS (register select) pin of the LCD to digital pin 12 on the Arduino board.
  • Connect the RW (read/write) pin of the LCD to the GND pin on the Arduino board.
  • Connect the E (enable) pin of the LCD to digital pin 11 on the Arduino board.
  • Connect the D4 pin of the LCD to digital pin 5 on the Arduino board.
  • Connect the D5 pin of the LCD to digital pin 4 on the Arduino board.
  • Connect the D6 pin of the LCD to digital pin 3 on the Arduino board.
  • Connect the D7 pin of the LCD to digital pin 2 on the Arduino board.
  1. Include the LiquidCrystal library in the code.


#include

  1. Define the LCD pins and create an instance of the LiquidCrystal class.


LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // (RS, E, D4, D5, D6, D7)

  1. Initialize the LCD in the

    setup()

    function.


void setup() { lcd.begin(16, 2); // initialize the LCD with 16 columns and 2 rows Serial.begin(9600); }

  1. Read the temperature from the LM35 in the

    loop()

    function.


void loop() { int adcVal = analogRead(A0); // read the ADC value from the LM35 float milliVolt = adcVal * (5000.0 / 1024.0); // convert the ADC value to voltage in millivolt float tempC = milliVolt / 10; // convert the voltage to temperature in Celsius // convert the temperature to Fahrenheit float tempF = (tempC * 9 / 5) + 32; // print the temperature to the Serial Monitor Serial.print("Temperature (°C): "); Serial.println(tempC); Serial.print("Temperature (°F): "); Serial.println(tempF);

  1. Display the temperature on the LCD.


// display the temperature on the first line of the LCD lcd.setCursor(0, 0); // set the cursor position to the first line, first column lcd.print("Temperature: "); lcd.print(tempC); lcd.print("°C");

// display the temperature on the LCD in Fahrenheit lcd.setCursor(0, 1); lcd.print(“Temp(F): “); lcd.print(tempF); lcd.print(“°F”); delay(500); // wait for half a second }

Schematic

Make connections according to the circuit diagram given below.

Wiring / Connections
Arduino LM35 SENSOR LCD
5V VCC VCC
GND GND GND
A4 SDA
A5 SCL

Installing Arduino IDE

First, you need to install Arduino IDE Software from its official website Arduino. Here is a simple step-by-step guide on “How to install Arduino IDE“.

Installing Libraries

Before you start uploading a code, download and unzip the following libraries at /Progam Files(x86)/Arduino/Libraries (default), in order to use the sensor with the Arduino board. Here is a simple step-by-step guide on “How to Add Libraries in Arduino IDE“.

Code

Now copy the following code and upload it to Arduino IDE Software.


#include // LCD I2C library #define ADC_VREF_mV 5000.0 // in millivolt #define ADC_RESOLUTION 1024.0 #define PIN_LM35 A0 // pin connected to LM35 temperature sensor LiquidCrystal_I2C lcd(0x3F, 16, 2); // LCD I2C address 0x27, 16 column and 2 rows void setup() { Serial.begin(9600); lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight } void loop() { int adcVal = analogRead(PIN_LM35); // convert the ADC value to voltage in millivolt float milliVolt = adcVal * (ADC_VREF_mV / ADC_RESOLUTION); // convert the voltage to the temperature in Celsius float tempC = milliVolt / 10; float tempF = tempC * 9 / 5 + 32; // convert Celsius to Fahrenheit lcd.clear(); lcd.setCursor(0, 0); // start to print at the first row lcd.print(tempC); // print the temperature in Celsius lcd.print("°C"); lcd.setCursor(0, 1); // start to print at the second row lcd.print(tempF); // print the temperature in Fahrenheit lcd.print("°F"); // print the temperature to Serial Monitor Serial.print(tempC); Serial.print("°C ~ "); Serial.print(tempF); Serial.println("°F"); delay(500); }

Working Explanation

The

setup()

function initializes the serial communication at 9600 baud rate, and the LCD display. The

lcd.init()

function initializes the LCD, and the

lcd.backlight()

function opens the backlight of the LCD display.

The

loop()

function reads the ADC value from the LM35 temperature sensor, converts the ADC value to voltage in millivolt, converts the voltage to the temperature in Celsius, and converts the temperature in Celsius to Fahrenheit. The temperature in Celsius and Fahrenheit are displayed on the LCD display and printed to the Serial Monitor. The

lcd.clear()

function is used to clear the display,

lcd.setCursor(0, 0)

sets the cursor position to the first row, and

lcd.print()

function is used to print the temperature in Celsius or Fahrenheit. The

Serial.print()

function is used to print the temperature to the Serial Monitor. The

delay(500)

function waits for 500 milliseconds before repeating the loop.

LM35 Temperature Sensor Code

By clicking the button in the top right corner of the code field, you can copy the code. Copy and paste it into Arduino IDE.

/*** www.arduinopoint.com ***/ /*** Arduino LM35 Temperature Sensor Project***/ // Define to which pin of the Arduino the output of the LM35 is connected: #define sensorPin A0 void setup() { // Begin serial communication at a baud rate of 9600: Serial.begin(9600); } void loop() { // Get a reading from the temperature sensor: int reading = analogRead(sensorPin); // Convert the reading into voltage: //Convert digital data into analog by multiplying by 5000 and dividing by 1024 float voltage = reading * (5000 / 1024.0); // Convert the voltage into the temperature in degree Celsius: float temperatureC = voltage / 10; float temperatureF=(temperatureC*1.8)+32; // Converting to Fahrenheit // Print the temperature in Celsius into the Serial Monitor: Serial.print(“Temperature in Celsius = “); Serial.print(temperatureC); Serial.print(” \xC2\xB0″); // shows degree symbol Serial.println(“C”); // Print the temperature in Celsius into the Serial Monitor: Serial.print(“Temperature in Fahrenheit = “); Serial.print(temperatureF); Serial.print(” \xC2\xB0″); // shows degree symbol Serial.println(“F”); Serial.print(“\n”); delay(1000); // wait a second between readings }

You should see the following output in the Serial Monitor:

Arduino Project: Temperature and Humidity monitor Tutorial with DHT11 (or DHT22) sensor LCD shield.
Arduino Project: Temperature and Humidity monitor Tutorial with DHT11 (or DHT22) sensor LCD shield.

LM35 Temperature Calculation

When you use a 5V Arduino and directly connect the sensor into an analog pin, you can use the following formula to convert the 10-bit analog reading to a temperature:Voltage at pin in milliVolts = (reading from ADC) * (5000/1024)This formula converts the ADC number 0-1023 to 0-5000mV (= 5V).

When you use a 3.3V Arduino, you need to use the following formula:Voltage at pin in milliVolts = (reading from ADC) * (3300/1024)This formula converts the ADC number 0-1023 to 0-3300mV (= 3.3V)

Convert the millivolts into the temperature in degrees Celsius and Fahrenheit:Centigrade temperature = (analog voltage in mV) / 10Fahrenheit temperature=[(Centigrade temperature )*1.8]+32

Arduino Temperature Sensor LM35 with LCD Circuit Diagram

Arduino Temperature Sensor LM35 with LCD Circuit Diagram

Most LCDs include a series resistor for the LED backlight. It should be connected to pin 15 on the back of the LCD (Anode). If your display doesn’t come with one, you’ll need to add one between 5 V and pin 15. A 220 resistor should be fine, but it may make your display a little dim. Check the datasheet for the maximum current rating of the backlight and use that to choose an appropriate resistor value.You need to adjust the contrast of the LCD display. Turning the 10 kΩ potentiometer clockwise or counterclockwise accomplishes this.

Easy and Simple Arduino Settings Menu - How to
Easy and Simple Arduino Settings Menu – How to

Temperature Sensor LM35 Specifications

Supply Voltage +35V to −0.2V
Output Voltage +6V to −1.0V
Output Current 10mA
LM35 range temperature −55°C to 150°C
Accuracy 0.5°C (at 25°C)

±1°C (at −55°C to 150°C)

Cost Check Price

For more information, you can check out the LM35 Datasheet below:

Video Tutorial

We are considering to make the video tutorials. If you think the video tutorials are essential, please subscribe to our YouTube channel to give us motivation for making the videos.

In this project, we’ll show you how to lm35 interfacing with Arduino and how to program it. Once we successfully lm35 interface with Arduino, We’ll use an Arduino and an LCD 16×2 module to construct a temperature display. The display constantly monitors the temperature surrounding the LM35 measuring field and shows it on the LCD module display in degrees Celsius and Fahrenheit. So, let’s get started on the project!

LM35 Sensor is an analog temperature sensor having an analog output voltage proportional to the temperature. It shows the output voltage in degrees Centigrade (Celsius). No external calibration circuit is required.

Arduino Project: Weather Station with a BME280 sensor and an LCD screen with Arduino Mega
Arduino Project: Weather Station with a BME280 sensor and an LCD screen with Arduino Mega

Sơ đồ đấu nối

Arduino Uno Cảm biến nhiệt độ LM35
VCC +Vs (4 – 20V)
GND GND
A0 VOUT

Các linh kiện cần thiết cho dự án

Tên linh kiện Số lượng Shopee
Arduino Uno R3 Mua ngay
Dây cáp nạp Mua ngay
Cảm biến nhiệt LM35 Mua ngay
Breadboard (Bo test) Mua ngay
Dây cắm (Đực – Đực) Mua ngay

Bạn sẽ học được gì

  • Có kiến thức cơ bản về Robotics
  • Chế tạo Robot dò đường thông minh
  • Đánh thức nhà khoa học bên trong bạn
  • Tìm hiểu thêm về Robotics, các thuật toán Robot tự động
  • Kiến thức nền tảng để chế tạo các máy móc tự động phục vụ đời sống sinh hoạt, lao động sản xuất
  • Kiến thức để chế tạo sản phẩm, tham gia các cuộc thi khoa học công nghệ trong nước và quốc tế

Chương trình lấy giá trị nhiệt độ từ LM35 hiển thị lên LCD

Bằng cách cấp vào chân 1 của cảm biến LM35 một hiệu điện thế 5V, chân 3 nối đất, lấy hiệu điện thế ở chân 2 bằng cách lấy tín hiệu tại chân analog (ví dụ chân A0) trên Arduino. Từ đó, ta sẽ có được nhiệt độ ở đơn vị °C bằng công thức:


float tempCelsius = (5.0*analogRead(A0)*100.0/1024.0);

Nếu muốn đổi từ °C sang °F thì áp dụng công thức:


float tempFahrenheit = (tempCelsius * 1.8)+32;

Sau đó, chúng ta sử dụng hàm

print()

để in giá trị nhiệt độ lên LCD.


#include LiquidCrystal lcd(12, 11, 5, 4, 3, 2); int lm35 = A0;//chân analog kết nối LM35 với Arduino void setup() { lcd.begin(16, 2); } void loop() { float tempCelsius = (5.0*analogRead(lm35)*100.0/1024.0);//độ C float tempFahrenheit =(tempCelsius * 1.8)+32;//độ F lcd.setCursor(0, 0); lcd.print("TEMP "); lcd.print(char(223)); lcd.print("C:"); lcd.print(tempCelsius); lcd.print(char(223)); lcd.print("C"); lcd.setCursor(0, 1); lcd.print("TEMP "); lcd.print(char(223)); lcd.print("F:"); lcd.print(tempFahrenheit); lcd.print(char(223)); lcd.print("F"); delay(1000); lcd.clear(); }

Kết quả
Arduino LCD Display Menu System Tutorial
Arduino LCD Display Menu System Tutorial

Keywords searched by users: lm35 lcd arduino code

Arduino Thermometer Using Lm35 With Lcd Display : Tutorial 58 - Youtube
Arduino Thermometer Using Lm35 With Lcd Display : Tutorial 58 – Youtube
Arduino - Display Temperature From Lm35 Sensor On Lcd | Arduino Tutorial
Arduino – Display Temperature From Lm35 Sensor On Lcd | Arduino Tutorial
Temperature Sensor Using Arduino, Lm35 And I2C Lcd - Buildcircuit.Com
Temperature Sensor Using Arduino, Lm35 And I2C Lcd – Buildcircuit.Com
In-Depth: Interfacing Lm35 Temperature Sensor With Arduino
In-Depth: Interfacing Lm35 Temperature Sensor With Arduino
Lm35 Temperature Sensor Interfacing With Arduino Code - Sritu Hobby
Lm35 Temperature Sensor Interfacing With Arduino Code – Sritu Hobby
Temperature Meter Using Lm35 And Arduino Uno With I2C Lcd Display By  Technoesolution | #Arduinolm35 - Youtube
Temperature Meter Using Lm35 And Arduino Uno With I2C Lcd Display By Technoesolution | #Arduinolm35 – Youtube
In-Depth: Interfacing Lm35 Temperature Sensor With Arduino
In-Depth: Interfacing Lm35 Temperature Sensor With Arduino
Arduino Tutorial - Chapter 23 - Lm35 Temperature Sensor + Lcd 1602A —  Eightify
Arduino Tutorial – Chapter 23 – Lm35 Temperature Sensor + Lcd 1602A — Eightify
How To Interface Lm35 Temperature Sensor With Arduino?
How To Interface Lm35 Temperature Sensor With Arduino?
Temperature Sensor Lm35 And Arduino » Pija Education
Temperature Sensor Lm35 And Arduino » Pija Education
Display Temperature On Lcd 16*2 Using Lm35 Temperature Sensor With Arduino  Lm35 - Youtube
Display Temperature On Lcd 16*2 Using Lm35 Temperature Sensor With Arduino Lm35 – Youtube

See more here: kientrucannam.vn

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *