- Vật liệu cần thiết:
- Mô-đun cảm biến IR:
- Sơ đồ mạch và giải thích:
- Lập trình Raspberry Pi của bạn:
- Đang làm việc:
Như chúng ta đã biết Raspberry Pi là một nền tảng Phát triển tuyệt vời dựa trên bộ vi xử lý ARM. Với sức mạnh tính toán cao, nó có thể tạo ra những điều kỳ diệu trong tay của những người yêu thích điện tử hoặc sinh viên. Tất cả điều này chỉ có thể thành hiện thực nếu chúng ta biết cách làm cho nó tương tác với thế giới thực. Có nhiều cảm biến có thể phát hiện các thông số nhất định từ thế giới thời gian thực và chuyển nó sang thế giới kỹ thuật số. Chúng tôi đã bao gồm rất nhiều Dự án Raspberry Pi với nhiều cảm biến. Raspberry Pi cũng là một lợi ích cho các dự án IoT, vì nó là một máy tính bỏ túi có Wi-Fi sẵn có, có các khả năng của một bộ vi điều khiển.
Trong hướng dẫn này, chúng ta sẽ học cách có thể Giao tiếp cảm biến IR với Raspberry pi. Những cảm biến này được sử dụng phổ biến nhất trong các robot nhỏ như robot theo đường, robot tránh biên, v.v… Nói một cách đơn giản, nó có thể phát hiện sự hiện diện của các đối tượng trước nó và cũng phân biệt giữa màu trắng và màu đen. Nghe hấp dẫn phải không?
Vì vậy, chúng ta hãy tìm hiểu cách giao diện cảm biến này với Raspberry Pi. Trong dự án này, khi không có vật thể nào phía trước cảm biến IR thì đèn LED Đỏ vẫn bật và ngay sau khi chúng ta đặt vật gì đó trước cảm biến hồng ngoại thì đèn LED đỏ sẽ tắt và đèn LED xanh sẽ bật. Mạch này cũng có thể đóng vai trò là Mạch báo động an ninh.
Vật liệu cần thiết:
- Raspberry Pi 3 (bất kỳ kiểu máy nào)
- Mô-đun cảm biến hồng ngoại
- Đèn LED xanh và đỏ
- Breadboard
- Kết nối dây
Mô-đun cảm biến IR:
Cảm biến IR (Cảm biến hồng ngoại) là mô-đun phát hiện sự hiện diện của các đối tượng trước chúng. Nếu đối tượng có mặt, nó cung cấp đầu ra 3,3V và nếu không có mặt, nó cho 0 volt. Điều này có thể thực hiện được bằng cách sử dụng một cặp IR (bộ phát và bộ thu), bộ phát (IR LED) sẽ phát ra một tia IR sẽ bị phản xạ nếu có một vật thể hiện diện trước nó. Tia hồng ngoại này sẽ được nhận lại bởi bộ thu (Điốt quang) và đầu ra sẽ đạt mức cao sau khi được khuếch đại bằng liên kết op-amp LM358. Bạn có thể tìm hiểu thêm về Mạch mô-đun cảm biến IR tại đây.
Cảm biến IR được sử dụng trong dự án này được hiển thị ở trên. Giống như tất cả các cảm biến IR, nó có ba chân tương ứng là 5V, Gnd và Out. Mô-đun được cấp nguồn bởi chân 5V từ Raspberry Pi và chân ra được kết nối với GPIO14 của Raspberry Pi. Chiết áp trên đầu mô-đun có thể được sử dụng để điều chỉnh phạm vi của cảm biến hồng ngoại.
Sơ đồ mạch và giải thích:
Sơ đồ mạch để kết nối Raspberry Pi với cảm biến IR được hiển thị bên dưới. Như bạn thấy, sơ đồ mạch rất đơn giản. Chúng tôi đã cấp nguồn trực tiếp cho mô-đun IR từ Chân 5V và Chân nối đất của Raspberry Pi. Chân đầu ra của mô-đun IR được kết nối với GPIO14. Chúng tôi cũng đã sử dụng hai đèn LED (Xanh lục và Đỏ) để biểu thị trạng thái của đối tượng. Hai đèn LED này được kết nối với GPIO3 và GPIO2 tương ứng.
Vì các chân GPIO của Raspberry Pi là 3,3V nên không bắt buộc phải sử dụng điện trở hạn chế dòng điện. Tuy nhiên, nếu muốn, một điện trở có giá trị 470 ohms có thể được thêm vào giữa chân nối đất của đèn LED và Raspberry Pi. Toàn bộ mạch được cấp nguồn bởi bộ sạc di động 5V thông qua cổng micro USB của Raspberry pi.
Lưu ý: Khi kết nối bất kỳ cảm biến nào, hãy đảm bảo rằng đất của cảm biến được kết nối với đất của MCU hoặc MPU (ở đây là Raspberry Pi). Chỉ khi đó họ mới có thể giao tiếp.
Lập trình Raspberry Pi của bạn:
Ở đây chúng tôi đang sử dụng ngôn ngữ lập trình Python để lập trình RPi. Có nhiều cách để lập trình Raspberry Pi của bạn. Trong hướng dẫn này, chúng tôi đang sử dụng Python 3 IDE, vì nó là IDE được sử dụng nhiều nhất. Các chương trình Python hoàn chỉnh được đưa ra vào cuối của hướng dẫn này. Tìm hiểu thêm về Chương trình và chạy mã trong Raspberry Pi tại đây.
Chúng ta sẽ nói về một số lệnh mà chúng ta sẽ sử dụng trong chương trình PYHTON,
Chúng tôi sẽ nhập tệp GPIO từ thư viện, chức năng bên dưới cho phép chúng tôi lập trình các chân GPIO của PI. Chúng tôi cũng đang đổi tên “GPIO” thành “IO”, vì vậy trong chương trình bất cứ khi nào chúng tôi muốn đề cập đến các chân GPIO, chúng tôi sẽ sử dụng từ 'IO'.
nhập RPi.GPIO dưới dạng IO
Đôi khi, khi các chân GPIO, mà chúng tôi đang cố gắng sử dụng, có thể đang thực hiện một số chức năng khác. Trong trường hợp đó, chúng tôi sẽ nhận được cảnh báo trong khi thực hiện chương trình. Lệnh dưới đây yêu cầu PI bỏ qua các cảnh báo và tiếp tục với chương trình.
IO.setwarnings (Sai)
Chúng ta có thể tham khảo các chân GPIO của PI, theo số chân trên bo mạch hoặc theo số chức năng của chúng. Giống như 'PIN 29' trên bảng là 'GPIO5'. Vì vậy, chúng tôi nói ở đây hoặc chúng tôi sẽ đại diện cho chốt ở đây bằng '29' hoặc '5'.
IO.setmode (IO.BCM)
Chúng tôi đang đặt 3 chân làm chân đầu vào / đầu ra. Hai chân đầu ra sẽ điều khiển đèn LED và chân đầu vào sẽ đọc tín hiệu từ cảm biến IR.
IO.setup (2, IO.OUT) #GPIO 2 -> LED đỏ ở đầu ra IO.setup (3, IO.OUT) #GPIO 3 -> LED xanh ở đầu ra IO.setup (14, IO.IN) #GPIO 14 -> Cảm biến hồng ngoại làm đầu vào
Bây giờ chúng ta phải tắt đèn LED xanh và bật đèn LED đỏ khi đối tượng ở xa. Điều này có thể được thực hiện bằng cách kiểm tra chân GPIO14.
if (IO.input (14) == True): # đối tượng ở xa IO.output (2, True) # LED đỏ BẬT IO.output (3, Sai) # LED xanh TẮT
Tương tự, chúng ta phải bật đèn LED xanh và tắt đèn LED đỏ khi vật thể ở gần.
if (IO.input (14) == False): #object gần IO.output (3, True) # LED xanh BẬT IO.output (2, False) # LED đỏ TẮT
Lệnh dưới đây được dùng làm vòng lặp vĩnh viễn, với lệnh này các câu lệnh bên trong vòng lặp này sẽ được thực hiện liên tục.
Trong khi 1:
Đang làm việc:
Khi bạn đã tạo mã python của mình, hãy thực thi nó bằng lệnh run. Nếu chương trình được thực thi mà không có bất kỳ lỗi nào, bạn sẽ nhận được màn hình sau.
Bạn cũng sẽ thấy đèn LED màu đỏ tăng cao khi không có vật thể phía trước cảm biến như hình dưới đây.
Bây giờ, đưa một thứ gì đó lại gần đèn LED hồng ngoại và bạn sẽ thấy đèn LED màu đỏ tắt và màu xanh lá cây đang bật. Hoàn thành công việc có thể được tìm thấy trên Video dưới đây.
Hy vọng bạn hiểu dự án và có thể xây dựng một cái gì đó hữu ích với nó. Nếu có bất kỳ câu hỏi nào, hãy đăng những câu hỏi đó vào phần bình luận bên dưới hoặc trên diễn đàn.