- Vật liệu cần thiết
- Sơ đồ mạch
- Bộ vi điều khiển PIC:
- Mã và giải thích
- Hoạt động của Cảm biến PIR với Vi điều khiển PIC:
PIR (Hồng ngoại thụ động) hoặc Cảm biến chuyển động được sử dụng để phát hiện chuyển động của cơ thể người hoặc vật thể đang chuyển động. Bất cứ khi nào ai đó đến trong phạm vi của cảm biến PIR, nó sẽ cho mức Cao tại chân đầu ra của nó. Trước đây chúng tôi đã giao tiếp PIR với các Bộ vi điều khiển khác:
- Bộ dò chuyển động Arduino sử dụng cảm biến PIR
- Hệ thống an ninh gia đình Raspberry Pi dựa trên IOT với cảnh báo qua email
- Đèn cầu thang tự động với Bộ vi điều khiển AVR
Hôm nay chúng ta đơn giản sẽ giao tiếp PIR với PIC Vi điều khiển PIC16F877A. Trong mạch này nếu một số đối tượng chuyển động nằm trong phạm vi của cảm biến PIR, còi sẽ bắt đầu phát ra tiếng bíp.
Vật liệu cần thiết
- PicKit 3
- Cảm biến PIR.
- IC PIC16F877A
- 40 - Giá đỡ IC chân
- Bảng Perf
- OSC tinh thể 20 MHz
- Ghim Bergstick nữ và nam
- Tụ điện 33pf - giới hạn 2Nos, 100uf và 10uf.
- Điện trở 680 ohm, 10K và 560ohm
- LED của bất kỳ màu nào
- 1 bộ hàn
- IC 7805
- Bộ chuyển đổi 12V
- Buzzer
- Kết nối dây
- Breadboard
Cảm biến PIR:
Cảm biến PIR rẻ tiền, công suất thấp và dễ sử dụng Sesnor phát hiện chuyển động. Cảm biến PIR chỉ nhận tia hồng ngoại, không phát ra đó là lý do tại sao nó được gọi là thụ động. PIR cảm nhận được bất kỳ sự thay đổi nào về nhiệt và nếu có sự thay đổi, nó sẽ cho kết quả CAO tại OUTPUT. Cảm biến PIR còn được gọi là cảm biến chuyển động Pyro điện hoặc IR.
Mọi vật thể đều phát ra một lượng tia hồng ngoại khi bị đốt nóng, tương tự như cơ thể người phát ra tia hồng ngoại do thân nhiệt. Tia hồng ngoại do mọi vật tạo ra do ma sát giữa không khí và vật. Thành phần chính của cảm biến PIR là cảm biến nhiệt điện. Cùng với đó, BISS0001 ("Vi mạch phát hiện chuyển động PIR Micro Power"), một số điện trở, tụ điện và các thành phần khác được sử dụng để xây dựng cảm biến PIR. IC BISS0001 lấy đầu vào từ cảm biến và xử lý để làm cho chân đầu ra CAO hoặc THẤP cho phù hợp.
Tìm hiểu thêm về cảm biến PIR tại đây. Bạn cũng có thể điều chỉnh độ nhạy khoảng cách và khoảng thời gian mà chân đầu ra sẽ ở mức cao khi phát hiện chuyển động. Nó có hai núm chiết áp để điều chỉnh hai thông số này.
Sơ đồ mạch
Bộ vi điều khiển PIC:
Để lập trình vi điều khiển PIC cho giao tiếp PIR, chúng ta sẽ cần một IDE (Môi trường phát triển tích hợp), nơi quá trình lập trình diễn ra. Một trình biên dịch, nơi chương trình của chúng tôi được chuyển đổi thành dạng MCU có thể đọc được gọi là tệp HEX. Một IPE (Lập trình tích hợp Môi trường), được sử dụng để đổ tập tin hex của chúng tôi vào PIC MCUs của chúng tôi.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Trình biên dịch: XC8
Microchip đã tặng miễn phí cả ba phần mềm này. Chúng có thể được tải xuống trực tiếp từ trang chính thức của họ. Tôi cũng đã cung cấp liên kết để bạn tiện theo dõi. Sau khi tải xuống, hãy cài đặt chúng trên máy tính của bạn. Nếu bạn gặp bất kỳ vấn đề gì khi làm như vậy, bạn có thể xem Video được cung cấp ở cuối.
Để kết xuất hoặc tải mã của chúng tôi lên PIC, chúng tôi sẽ cần PICkit 3. Bộ lập trình / gỡ lỗi PICkit 3 là trình gỡ lỗi trong mạch đơn giản, chi phí thấp được điều khiển bởi một PC chạy phần mềm MPLAB IDE (v8.20 trở lên) trên một nền tảng Windows. Bộ lập trình / gỡ lỗi PICkit 3 là một phần không thể thiếu trong bộ công cụ của kỹ sư phát triển. Ngoài phần cứng này, chúng tôi cũng sẽ cần phần cứng khác như bảng Perf, trạm hàn, IC PIC, bộ dao động tinh thể, tụ điện, v.v. Nhưng chúng tôi sẽ thêm chúng vào danh sách của mình khi chúng tôi tiến bộ qua các hướng dẫn của chúng tôi.
Chúng tôi sẽ lập trình PIC16F877A của mình bằng cách sử dụng tùy chọn ICSP có sẵn trong MCU của chúng tôi.
Để ghi mã, hãy làm theo các bước sau:
- Khởi chạy MPLAB IPE.
- Kết nối một đầu của PicKit 3 với PC và đầu kia với các chân ICSP của bạn trên bo mạch hoàn hảo.
- Kết nối với thiết bị PIC của bạn bằng cách nhấp vào nút kết nối.
- Duyệt qua tệp Blink HEX và nhấp vào Chương trình.
Nếu bạn chưa quen với Vi điều khiển PIC thì trước tiên hãy xem qua các hướng dẫn dưới đây để tìm hiểu cách sử dụng và lập trình PIC:
- Bắt đầu với Vi điều khiển PIC: Giới thiệu về PIC và MPLABX
- Viết chương trình đầu tiên của bạn với Vi điều khiển PIC và thiết lập các bit cấu hình
- Đèn LED nhấp nháy với Vi điều khiển PIC
Mã và giải thích
Đầu tiên, chúng ta cần thiết lập các bit cấu hình trong vi điều khiển pic và sau đó bắt đầu với hàm void main .
Trong đoạn mã dưới đây, 'XC.h' là tệp tiêu đề chứa tất cả các tên thân thiện cho các chân và thiết bị ngoại vi. Ngoài ra, chúng tôi đã xác định tần số dao động tinh thể, kết nối chân PIR và Buzzer trong đoạn mã dưới đây.
#include
Trong void main (), ' TRISB = 0X00' được sử dụng để hướng dẫn MCU rằng các chân PORTB được sử dụng làm OUTPUT, 'TRISC = 0Xff' được sử dụng để chỉ dẫn MCU rằng các chân PORTB được sử dụng như INPUT. Và 'PORTB = 0X00' được sử dụng để hướng dẫn MCU tạo tất cả OUTPUT của RB3 Thấp.
TRISB = 0X00; TRISC = 0Xff; PORTB = 0X00; // Làm cho tất cả đầu ra của RB3 THẤP
Theo đoạn mã dưới đây, bất cứ khi nào PIR tăng CAO, bộ rung sẽ trở nên CAO hoặc nếu không, nó vẫn TẮT.
while (1) // Đi vào vòng lặp Infinie While {if (PIR == 1) {Buzzer = 1; __delay_ms (1000); // Chờ} else {Buzzer = 0; }}}
Mã hoàn chỉnh với một Video giới thiệu được đưa ra ở cuối dự án này.
Hoạt động của Cảm biến PIR với Vi điều khiển PIC:
Dự án này không có bất kỳ thiết lập phần cứng phức tạp nào, chúng tôi lại đang sử dụng cùng một bảng Vi điều khiển PIC (như hình bên dưới) mà chúng tôi đã tạo trong Hướng dẫn nhấp nháy đèn LED. Chỉ cần kết nối Mô-đun cảm biến PIR với bảng Vi điều khiển PIC của bạn theo sơ đồ kết nối. Khi bạn đã hoàn tất các kết nối, chỉ cần kết xuất mã bằng trình lập trình PicKit 3 của bạn như đã giải thích trong hướng dẫn trước và tận hưởng đầu ra của bạn.
Sau khi tải lên chương trình, cảm biến PIR đã sẵn sàng để đưa ra OUTPUT. Bất cứ khi nào, một con người hoặc vật thể phát ra IR đến trong phạm vi PIR thì nó sẽ cho RA CAO đối với ĐẦU RA. Và, dựa trên đầu ra đó, bộ rung sẽ hoạt động. Nếu đầu ra PIR cao, đầu vào bộ rung sẽ cao và ngược lại.
Bạn có thể kiểm soát khoảng cách phát hiện và độ trễ thời gian bằng cách sử dụng hai chiết áp cố định trên mô-đun PIR. Để biết thêm về cảm biến PIR theo liên kết.