Nhớ nó như thế nào
người máymáy hút bụi "Cybernetics" trong cuốn sách của N.N. Nosova "Dunno trong thành phố mặt trời"? Anh ấy có phải được nhắc nhở rằng đã đến lúc đi làm không? Bây giờ, khi các thiết bị như vậy đã trở thành hiện thực, hóa ra nó là cần thiết. Lấy điều khiển từ xa và nhấn nút trên nó. Người anh hùng của Pachkul, làm việc Pestrenky, đã nhìn thấy điều này, chắc chắn sẽ nhận thấy: Hồi đó là loại tự động nào, nếu bạn phải nhấn một nút, nếu chỉ có anh ta sẽ không có nút. Tác giả của Instructables dưới biệt danh ShaperG cũng nghĩ vậy. Và đã làm
tự làm thiết bị để bắt đầu một máy hút bụi robot theo lịch trình.
Tự làm bao gồm một bộ đếm thời gian cơ học để bật các thiết bị điện khác nhau theo lịch trình (Ikea hoặc bất kỳ thiết bị nào khác), nguồn điện,
Arduino, loại bánh mì và ván nhảy đôi (tùy chọn, bạn có thể kết nối mọi thứ bằng cách hàn), hai đèn LED - phát sáng có thể nhìn thấy và hồng ngoại, hai điện trở 330 Ohm, vỏ Sparkfun hoặc bất kỳ loại nào khác.
Khi đã chọn tất cả các thành phần cần thiết, trình hướng dẫn sẽ vẽ sơ đồ. Và một lần nữa trong chương trình giống Fritzing, trong trường hợp này, trong ứng dụng trực tuyến Mekanizmalar. Không phải ai cũng thích cách vẽ sơ đồ này, nhưng làm thế nào để kết nối mọi thứ là điều dễ hiểu.
Khi đã quyết định chương trình, trình hướng dẫn bắt đầu lập trình:
Có một thư viện
ở đâyvà bản phác thảo là
ở đây. Đơn giản hóa bản phác thảo để khi bật nguồn, nó sẽ liên tục gửi lệnh xóa sạch trên mỗi năm giây. Bản phác thảo sẽ phải được hoàn thành nếu
mô hình Máy hút bụi khác với iRobot Roomba 530. Chà, chủ nhân hóa ra điều này:
#inc loại
/ *
Bộ lập lịch Arduino Powerd Roomba siêu đơn giản
2013-08-03 Phát hành hướng dẫn
Mã được điều chỉnh từ: https://gist.github.com/probonopd/5181021
Gửi lệnh hồng ngoại từ Arduino đến iRobot Roomba
bởi probono
2013/03/17
Bản quyền (c) 2013 bởi probono
Bảo lưu mọi quyền.
Phân phối lại và sử dụng ở dạng nguồn và nhị phân, có hoặc không có
sửa đổi, được cho phép miễn là các điều kiện sau được đáp ứng:
1. Phân phối lại mã nguồn phải giữ lại thông báo bản quyền ở trên, điều này
danh sách các điều kiện và từ chối trách nhiệm sau đây.
2. Phân phối lại ở dạng nhị phân phải sao chép thông báo bản quyền ở trên,
danh sách các điều kiện và khuyến cáo sau đây trong tài liệu
và / hoặc các tài liệu khác được cung cấp với phân phối.
PHẦN MỀM NÀY ĐƯỢC CUNG CẤP BỞI CÁC NHÀ CUNG CẤP VÀ NHÀ CUNG CẤP BẢN QUYỀN "NHƯ VẬY" VÀ
BẤT K WAR BẢO ĐẢM NÀO HAY NGỤ Ý, BAO GỒM, NHƯNG KHÔNG GIỚI HẠN, NGAY LẬP TỨC
ĐẢM BẢO KHẢ NĂNG SINH LỢI VÀ PHÙ HỢP ĐỐI VỚI MỘT MỤC ĐÍCH THAM GIA
TUYÊN BỐ TỪ CHỐI. KHÔNG CÓ SỰ KIỆN NÀO NÊN SỞ HỮU CHỦ SỞ HỮU BẢN QUYỀN HOẶC NHÀ THẦU
BẤT K D CÁC THIỆT HẠI TRỰC TIẾP, ĐỘC LẬP, ĐỘC LẬP, ĐẶC BIỆT, HIỆN TẠI, HOẶC LIÊN QUAN
(BAO GỒM, NHƯNG KHÔNG GIỚI HẠN, THỦ TỤC HÀNG HÓA GIAO DỊCH HOẶC DỊCH VỤ;
MẤT SỬ DỤNG, DỮ LIỆU, HOẶC LỢI NHUẬN; HOẶC TƯƠNG TÁC KINH DOANH) TUY NHIÊN TUYỆT VỜI VÀ
TRÊN MỌI LÝ THUYẾT VỀ TRÁCH NHIỆM PHÁP LÝ, TRẢ LỜI TRONG HỢP ĐỒNG, TRÁCH NHIỆM PHÁP LÝ, HAY
(BAO GỒM ĐẠI DIỆN HOẶC KHÁC) TẠO RA BẤT CỨ CÁCH NÀO KHI SỬ DỤNG NÀY
PHẦN MỀM, NGAY CẢ KHI ĐƯỢC TƯ VẤN VỀ KHẢ NĂNG CỦA THIỆT HẠI.
* /
IRsend irsend; // cứng để pin 3; sử dụng bóng bán dẫn để điều khiển IR LED cho phạm vi tối đa
int LED = 10;
thiết lập void ()
{
Nối tiếp.begin (9600);
pinMode (LED, OUTPUT);
kỹ thuật sốWrite (LED, CAO); // bật đèn LED (CAO là mức điện áp)
}
vòng lặp void ()
{
roomba_send (136); // Gửi "Sạch"
trì hoãn (5000); // Đợi 5 giây
}
void roomba_send (mã int)
{
Serial.print ("Gửi mã Roomba");
Serial.print (mã);
int chiều dài = 8;
unsign int raw [length * 2];
unsign int one_pulse = 3000;
unsign int one_break = 1000;
unsign int zero_pulse = one_break;
unsign int zero_break = one_pulse;
int mảngplition = 0;
// Nối tiếp.println ("");
for (int counter = length-1; counter> = 0; --count) {
if (mã & (1 << bộ đếm)) {
// Nối tiếp.print ("1");
raw [mảngposeition] = one_pulse;
raw [mảng mảng + 1] = one_break;
}
khác {
// Nối tiếp.print ("0");
raw [mảng mảng] = zero_pulse;
raw [mảng mảng + 1] = zero_break;
}
mảng mảng = mảng mảng + 2;
}
for (int i = 0; i <3; i ++) {
irsend.sendRaw (thô, 15, 38);
trì hoãn (50);
}
Nối tiếp.println ("");
Serial.print ("Thời gian thô:");
for (int z = 0; z
Ban đầu, trình hướng dẫn kiểm tra hoạt động của bản phác thảo để xuất cổng nối tiếp tới màn hình. Sau đó, nó đặt mọi thứ vào vỏ và cung cấp Arduino không phải từ máy tính, mà từ nguồn cung cấp điện được kết nối qua bộ hẹn giờ cơ.
Bây giờ, bằng cách đặt thiết bị gần trạm sạc, mà máy hút bụi robot luôn quay trở lại, bạn có thể đặt lịch gấp cho bộ hẹn giờ cơ để khởi động. Tốt nhất của tất cả - một lần một ngày. Chỉ không vào ban đêm, như trong công việc của N.N. Nosova.