Mục lục:

Happy Hack Light Switch: 3 bước
Happy Hack Light Switch: 3 bước

Video: Happy Hack Light Switch: 3 bước

Video: Happy Hack Light Switch: 3 bước
Video: [Review Phim] Ở Tù 10 Năm Với IQ 300 | Review Phim Hàn Hay 2024, Tháng mười một
Anonim
Happy Hack Light Switch
Happy Hack Light Switch

Trong 2 tuần qua, chúng tôi đã thực hiện một dự án trường học có tên "Happy hacking". Với dự án này, chúng tôi đã cố gắng tạo ra một "Happy hack" cho một không gian công cộng. Vậy "Happy hack" là gì? Trong trường hợp của chúng tôi, chúng tôi cần tạo ra điều gì đó tích cực dựa trên sự thất vọng. Việc sử dụng Arduino là bắt buộc cho dự án này. "Happy hack" mà chúng tôi quyết định thực hiện là cài đặt để bật công tắc đèn từ xa.

Bước 1: Vật liệu:

1x Arduino Uno

1x Breadboard

2x servo

1x cảm biến hồng ngoại

11x dây

1x người gửi hồng ngoại (loại bỏ tv)

băng

Bước 2: Cách kết nối:

Đặt một bộ thu hồng ngoại Arduino vào breadboard; giả sử mặt trước của máy thu là mặt có quả cầu trên đó:

  • Kết nối một dây từ "chân" bên trái nhất với cổng Arduino una '6'.
  • Nối một dây từ ‘chân’ ở giữa với hàng ‘-’ trong breadboard.
  • Nối một dây từ ‘chân’ bên phải nhất với hàng ‘+’ trong breadboard.

Đảm bảo dây nằm giữa hàng ‘-’ trong breadboard và cổng ‘đất’ trên Arduino una và đảm bảo dây nằm giữa hàng ‘+’ trong breadboard và cổng ‘5V’ trên Arduino una.

Bây giờ kết nối 2 servos,

  • Cả hai đều có dây từ dây tối nhất trên servo đến hàng ‘-’ trên breadboard.
  • Cả hai đều có dây từ dây giữa trên servo đến hàng ‘+’ trên breadboard.

Bây giờ, đối với một trong các servo, hãy kết nối dây servo còn lại với cổng Arduino una ‘9’ và kết nối servo khác với cổng Arduino una ‘10’.

Bước 3: Mã:

#bao gồm //

#bao gồm //

#bao gồm //

IRrecv không thể thay đổi (6);

giải mã kết quả;

Servo theServo1;

Servo theServo2;

bool lightOn = false;

bool disco = sai;

void setup () {

theServo1.attach (10);

theServo2.attach (9);

pinMode (6, INPUT);

Serial.begin (9600);

không thể thay đổi.enableIRIn (); // Khởi động bộ thu

không thể thay đổi.blink13 (đúng);

}

void loop () {

if (không thể thay đổi.decode (& kết quả)) {

Serial.println (results.value); // Bạn nhận được một kết quả khác nhau cho mỗi nút. Vì vậy, hãy kiểm tra trong màn hình nối tiếp giá trị các nút của bạn là gì.

if (results.value == 3772793023) {// Đây là kết quả nút nguồn của chúng tôi (3772793023). Điều này có thể khác với điều khiển từ xa của bạn.

lightOn =! lightOn;

if (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

if (! lightOn) {

theServo1.write (95);

theServo2.write (95);

}

chậm trễ (1000);

}

if (results.value == 3772839943) {// Đây là kết quả nút thông tin của chúng tôi (37728).

disco =! disco;

chậm trễ (1000);

}

Serial.println (results.value);

không thể tìm thấy (); // Nhận giá trị tiếp theo

}

if (disco) {

lightOn =! lightOn;

if (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

if (! lightOn) {

theServo1.write (95);

theServo2.write (90);

}

chậm trễ (2000);

}

}

Đề xuất: