Cảm biến, được đề xuất bởi Instructables dưới biệt danh AdnanA61, cho phép bạn phát hiện bức xạ hồng ngoại sóng ngắn từ các nguồn như điều khiển từ xa, lửa, đèn sợi đốt và mặt trời. Nó không phản ứng với một dạng bức xạ hồng ngoại khác - sóng dài, các nguồn trong đó là tất cả các vật thể được nung nóng đến nhiệt độ bình thường. Tự làm tạo ra hai loại tín hiệu: tương tự và rời rạc, loại thứ hai được hình thành bởi một bộ so sánh, ngưỡng của nó được điều chỉnh. Cả hai tín hiệu có thể được áp dụng cả cho Arduinovà cho các thiết bị khác có hoặc không có vi điều khiển. Sau đây là một thiết kế bảng khác, mạch không khác:
Cảm biến được chế tạo trên một trong hai bộ so sánh của microcircuit LM393, cái thứ hai có thể được sử dụng để giải quyết vấn đề khác nếu muốn. Nếu bạn không sử dụng nó, tốt hơn là kết nối cả hai đầu vào của nó với một dây chung và không để đầu ra không được kết nối.
Đề án được thiết kế để đọc nó không phải là rất thuận tiện. Ba điểm được chỉ định là A0 phải được kết nối với nhau. Hai điểm được chỉ định là D0 - quá. Vì vậy, nó trở nên rõ ràng những gì được kết nối và làm thế nào nó hoạt động. Không có câu đố. Nếu bạn lắp ráp cảm biến từ nhà thiết kế, sơ đồ chân của lược trên bảng đi kèm trong bộ sản phẩm sẽ như sau:
Tất nhiên, trên một bảng tạm thời, in hoặc bảng, bánh mì này có thể được thực hiện để thuận tiện cho bạn. Bạn có thể kiểm tra bảng hoạt động và điều chỉnh ngưỡng so sánh ngay sau khi lắp ráp, chỉ đơn giản bằng cách cung cấp năng lượng, nhờ đèn LED trên bảng. Đèn LED thứ hai sáng liên tục khi bật nguồn. Sau đó, bạn có thể kết nối cảm biến với Arduino và kiểm tra đầu ra analog với bản phác thảo này:
// sao chép mã này trong ide của arduino từ dòng này
// lưu ý: - mã này dành cho giá trị tương tự
cảm biến int = A0; // khởi tạo pin analog
int buzzer = 3; // khởi tạo pin buzzer
giá trị int;
void setup () {
Nối tiếp.begin (9600);
pinMode (cảm biến, INPUT); // xác nhận loại chế độ pin của pin là đầu vào hoặc đầu ra
pinMode (buzzer, OUTPUT);
}
void loop () {
value = analogRead (cảm biến); // đọc valus từ cảm biến
giá trị = bản đồ (giá trị, 0,1023,0,255); // ánh xạ giá trị từ 0 đến 1023 b / w 0 đến 255
kỹ thuật sốWrite (buzzer, giá trị); // bật hoặc tắt bộ rung theo giá trị được ánh xạ
}
Và kỹ thuật số - với một bản phác thảo khác:
// sao chép mã này trong ide của arduino từ dòng này
// lưu ý: - mã này dành cho giá trị kỹ thuật số
int sensor_digital = 2; // khởi tạo pin kỹ thuật số
int buzzer = 3;
giá trị int;
void setup () {
Nối tiếp.begin (9600);
pinMode (sensor_digital, INPUT);
pinMode (buzzer, OUTPUT);
}
void loop () {
value = digitalRead (sensor_digital); // đọc dữ liệu số từ cảm biến
kỹ thuật sốWrite (buzzer, giá trị); // bật hoặc tắt chuông
}
Khi mọi thứ hoạt động, bạn có thể viết các chương trình thực hiện các thuật toán có độ phức tạp cao hơn. Ví dụ, đối với một robot Robot sợ, hãy tiếp cận ngọn lửa hoặc đèn sợi đốt mạnh mẽ để không bị hư hỏng. Và anh ấy đang làm điều đúng đắn, vì giữ bảng cảm biến cho các nguồn nhiệt mạnh ở khoảng cách dưới 100 mm có thể làm hỏng nó.