Агуулгын хүснэгт:

Happy Hack Light Switch: 3 алхам
Happy Hack Light Switch: 3 алхам

Видео: Happy Hack Light Switch: 3 алхам

Видео: Happy Hack Light Switch: 3 алхам
Видео: Лучший из ЛУЧШИХ???. Радиоприемник TECSUN PL680 ПОЛНЫЙ ОБЗОР!!! #tecsun 2024, Долдугаар сарын
Anonim
Happy Hack Light Switch
Happy Hack Light Switch

Сүүлийн 2 долоо хоногийн турш бид "Happy hacking" нэртэй сургуулийн төсөл дээр ажилласан. Энэхүү төслөөр бид олон нийтийн орон зайд зориулж "Happy hack" хийхийг оролдсон. За, "Happy hack" гэж юу вэ? Бидний хувьд бухимдал дээр үндэслэн эерэг зүйлийг хийх хэрэгтэй байв. Энэ төсөлд Arduino ашиглах шаардлагатай байсан. Бидний хийхээр шийдсэн "Happy hack" бол гэрлийн унтраалгыг алсаас эргүүлэх зориулалттай суурилуулалт юм.

Алхам 1: Материал:

1 удаа Arduino Uno

1х талхны самбар

2x servo

1х хэт улаан туяаны мэдрэгч

11х утас

1х хэт улаан туяаны илгээгч (ТВ устгах)

соронзон хальс

Алхам 2: Хэрхэн холбогдох вэ:

Arduino хэт улаан туяаны хүлээн авагчийг талхны тавцан дээр тавь; хүлээн авагчийн урд талыг бөмбөрцөг тал гэж үзвэл:

  • Хамгийн зүүн "хөл" -өөс нэг утсыг Arduino uno порт "6" руу холбоно уу.
  • Дунд талын "хөл" -өөс нэг утсыг талхны самбар дээрх "-" эгнээнд холбоно уу.
  • Талбар дээрх "+" эгнээнд хамгийн баруун "хөл" -өөс нэг утсыг холбоно уу.

Талхны самбар дээрх '-' эгнээ ба Arduino uno дээрх 'газрын' порт хоёрын хооронд утас байгаа эсэхийг шалгаад, талхны самбар дээрх '+' эгнээ болон Arduino uno дээрх '5V' порт хооронд утас байгаа эсэхийг шалгаарай.

Одоо 2 servo холбоно уу,

  • Серво дээрх хамгийн харанхуй утаснаас талхны самбар дээрх ‘-’ эгнээ хүртэл утастай.
  • Серво дээрх дунд утаснаас талхны самбар дээрх "+" эгнээ хүртэл утастай.

Одоо нэг servo -ийн хувьд үлдсэн servo утсыг Arduino uno порт '9' руу, нөгөө сервог Arduino uno порт '10' руу холбоно уу.

Алхам 3: Код:

#оруулах //

#оруулах //

#оруулах //

IRrecv irrecv (6);

decode_results үр дүн;

Servo theServo1;

Servo theServo2;

bool lightOn = худал;

bool disco = худал;

хүчингүй тохиргоо () {

theServo1.attach (10);

theServo2.attach (9);

pinMode (6, INPUT);

Цуваа эхлэх (9600);

irrecv.enableIRIn (); // Хүлээн авагчийг эхлүүлнэ үү

irrecv.blink13 (үнэн);

}

void loop () {

if (irrecv.decode (& үр дүн)) {

Serial.println (үр дүнгийн утга); // Та товчлуур бүрийн хувьд өөр үр дүнг авах болно. Тиймээс товчлуурын үнэ цэнийг сериал монитороос шалгаарай.

if (results.value == 3772793023) {// Энэ бол бидний цахилгаан товчлуурын үр дүн (3772793023). Энэ нь таны алсын удирдлагаас өөр байж магадгүй юм.

lightOn =! lightOn;

хэрэв (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

хэрэв (! lightOn) {

theServo1.write (95);

theServo2.write (95);

}

саатал (1000);

}

if (results.value == 3772839943) {// Энэ бол бидний мэдээллийн товчлуурын үр дүн (37728).

диско =! диско;

саатал (1000);

}

Serial.println (үр дүнгийн утга);

irrecv. resume (); // Дараагийн утгыг хүлээн авна уу

}

хэрэв (диско) {

lightOn =! lightOn;

хэрэв (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

хэрэв (! lightOn) {

theServo1.write (95);

theServo2.write (90);

}

саатал (2000);

}

}

Зөвлөмж болгож буй: