Cảnh báo nhiệt độ, Đọc 2 cảm biến LM35 hiển thị LCD1602 , Lập trình Pic

Cảnh báo nhiệt độ là hệ thống được thiết kế để điều khiển nhiệt độ theo giá trị mong muốn đồng thời đưa ra cảnh báo khi vượt ngưỡng giá trị cho phép. Hệ thống cảnh báo nhiệt độ có tính ứng dụng rất lớn từ các vật dụng cơ bản như ấm nước điện đến các hệ thống sử dụng trong công nghiệp. Đây là một tiền đề cho sự phát triển một hệ thống cảnh báo với tính ứng dụng thực tế cao.  

Mua linh kiện điện tử tại Điện tử Nhật Tùng

Liên hệ làm mạch  Phone: 0967.551.477 Zalo: 0967.551.477 Email: dientunhattung@gmail.com Địa Chỉ: 171/25 Lê Văn Thọ, P8, Gò Vấp, Tp HCM Chi tiết: Nhận làm mạch và đồ án Điện tử  
Khóa học Vi điều khiển có phí Hình thức học: Video hoặc Kèm trực tiếp ===>>>>  Kích vào hình để được biết thêm chi tiết khóa học lập trình vi điều khiển online

Tải File bài giải

Pass giải nén: Huynhnhattung.com
===>>>   Nếu bạn chưa có phần mềm giải nén:

Hướng dẫn Tải và Cài đặt phần mềm giải nén Winrar

Video Cảnh báo nhiệt độ, Đọc 2 cảm biến LM35 hiển thị LCD1602

 

Blog Cảnh báo nhiệt độ, Đọc 2 cảm biến LM35 hiển thị LCD1602

Đề bài cảnh báo nhiệt độ:

Doc-2-nhiet-do-lm35-canh-bao-nhiet-do-hien-thi-lcd-1602-de-bai

Bài giải cảnh báo nhiệt độ:

Phần cứng chương trình cảnh báo nhiệt độ:

  • Đề yêu cầu sử dụng hai cảm biến nhiệt độ LM35 trả về tín hiệu Analog vì vậy phải đấu vào chân đọc tín hiệu ADC được ký hiệu là ANxx.
  • Ở đây mình chọn đấu vào chân AN0AN1.
  • Sử dụng dao động ngoài thạch anh 20M gắn vào chân OSC1 OSC2.
  • Các linh kiện chính cần sử dụng tham khảo tại.
    Thông số kỹ thuậtMua Linh kiện
    Pic16F887Pic16F877
    Led đơnLed đơn
    Điện trởĐiện trở
    Nút nhấnNút nhấn
    Thạch anhThạch anh
    Nhiệt độ LM35Nhiệt độ LM35
    LCD1602LCD1602
     
Doc-2-nhiet-do-lm35-canh-bao-nhiet-do-hien-thi-lcd-1602-phan-cung

Phần mềm cảnh báo nhiệt độ:

Khai báo thư viện tiền sử lý của cảnh báo nhiệt độ:

  • Vi điều khiển hiện tại mình đan dùng là Pic16F887
  • Theo yêu cầu hệ thống có đọc giá trị ADC vì vậy phải khai báo ADC bằng lệnh #device  adc=10 tức sử dụng bộ ADC 10bit. Ngoài ra có thể chọn ADC 8bit16bit.
  • Hiện đan dùng thạch anh ngoài và thạch anh ngoài 20M bằng lệnh #Fuses    hs     và    #delay(clock=20M)
  • Định nghĩa chân: tùy theo chức năng của chân mà tên định nghĩa được bám sát vào nội dung đan thực hiện. Vì đây là bài thi nên việc định nghĩa chân phụ thuộc rất lớn vào nội dung đề bài.
  • Khai báo thư viện  #include <tv_lcd_8bit.c> đây là thư viện hổ trợ chương trình. Muốn tải thư viện thì kéo xuống cuối.
  • Tên khai báo biến thì cái này tùy thuộc vào chức năng sử dụng. Sử dụng 2 biến nd0, nd1 đại diện cho 2 cảm biến nhiệt độ được gắn vào chân AN0, AN1
Doc-2-nhiet-do-lm35-canh-bao-nhiet-do-hien-thi-lcd-1602-khai-bao

Chương trình con kiểm tra nút nhấn của cảnh báo nhiệt độ:

  • Có hai chương trình con: Việc tạo chương trình con giúp kiểm soát chương trình được tốt hơn. Bạn cũng có thể copy hết vào chương trình chính.
  • Chương trình con doc_adc(); chương trình này giúp đọc lần lượt hai cảm biến về. Khi đọc cảm biến lưu ý muốn đọc cảm biến chân nào thì phải thiết lập kênh đó sau đó tiến hành đọc về, sau khi đọc về thì chia độ lệch của độ phân giải vi điều khiển với cảm biến nhiệt độ LM35 bằng 2.046 công thức được tính phần note.
  • Chương trình hienthi(); dùng để hiển thị giá trị nhiệt độ ra màn hình LCD1602. Vị trí 0x800xC0 lần lượt là hai vị trí bắt đầu của hàng 1 và hàng 2 xem lý thuyết tại đây . Việc tách số hàng trăm, hàng chục, hàng đơn vị vì mỗi ô của LCD1602 chỉ hiển thị được 1 ký tự. Khi +0x30 sẽ chuyển giá trị sang bảng mã ASCII, các bạn tự tra bảng sẽ rõ hơn.
Doc-2-nhiet-do-lm35-canh-bao-nhiet-do-hien-thi-lcd-1602-chuong-trinh-con

Chương trình chính thực hiện toàn bộ hoạt động của vi điều khiển dùng cảnh báo nhiệt độ

  • Bắt đầu chương trình chính phải khỏi rạo ngõ vào ra cho vi điều khiển. Một chân của vi điều khiển thì làm nhiệm vụ I/O vì thế phải khỏi tạo. Port DPort C đấu vào LCD1602 nên xuất dữ liệu, chân RA0, RA1 đấu vào cảm biến nhiệt độ LM35 dùng để đưa tín hiệu vào vi điều khiển cách tính như phần note.
  • Khởi tạo LCD1602 bằng lệnh lcd_setup();
  • Khởi tạo ADC sử dụng bộ chia 32 để số lần đọc nhiệt độ trên 1s ít. Vì sử dụng hai chân đọc nhiệt độ LM35 vì thế khai báo phải khai báo 2 chân.
  • Ban đầu khỏi  động lên thì Led tắt.
  • Tiến hành đọc nhiệt độ 2 cảm biến LM35 sau đó hiển thị giá trị lên màn hình LCD1602.
  • Nếu nhiệt độ một hoặc 2 vượt ngưỡng 100 độ C thì sẽ báo ra màn hình theo yêu cầu đề bài đặt ra, đồng thời kiểm tra nếu hai nhiệt độ bằng nhau thì bật Led sáng, ngược lại thì Led tắt.
Doc-2-nhiet-do-lm35-canh-bao-nhiet-do-hien-thi-lcd-1602-chuong-trinh-chinh

Chúc các bạn có một kỳ thi thành công…!!!

Leave a Reply