Оглавление:

Happy Hack Light Switch: 3 шага
Happy Hack Light Switch: 3 шага

Видео: Happy Hack Light Switch: 3 шага

Видео: Happy Hack Light Switch: 3 шага
Видео: Уверенное касание, мелодрама, смотрим, премьера новинка (2023) 2024, Июль
Anonim
Happy Hack выключатель света
Happy Hack выключатель света

Последние 2 недели мы работали над школьным проектом под названием «Happy hacking». В этом проекте мы постарались сделать «Happy hack» для публичного пространства. Ну что такое «Хэппи хак»? В нашем случае нам нужно было сделать что-то позитивное на основе разочарования. Для этого проекта требовалось использование Arduino. «Счастливый хакер», который мы решили сделать, был установкой для удаленного включения выключателя света.

Шаг 1: Материалы:

1x Arduino Uno

1x макетная плата

2x сервопривод

1x инфракрасный датчик

11x провод

1x инфракрасный передатчик (удаление телевизора)

Лента

Шаг 2: Как подключиться:

Вставьте инфракрасный приемник Arduino в макетную плату; предполагая, что передняя сторона приемника - это сторона со сферой на ней:

  • Подключите один провод от самой левой «ножки» к порту Arduino uno «6».
  • Подключите один провод от средней «ножки» к «-» ряду на макете.
  • Подключите один провод от самой правой «ножки» к «+» ряду на макетной плате.

Убедитесь, что провод находится между строкой «-» на макетной плате и портом «земля» на Arduino uno, и убедитесь, что провод находится между строкой «+» на макетной плате и портом «5V» на Arduino uno.

Теперь подключите 2 сервопривода,

  • Оба с проводом от самого темного провода сервопривода к строке «-» на макете.
  • Оба с проводом от среднего провода сервопривода до ряда «+» на макетной плате.

Теперь для одного из сервоприводов подключите оставшийся провод сервопривода к порту uno Arduino «9», а другой сервопривод - к порту uno «10» Arduino.

Шаг 3: Код:

#включают //

#включают //

#включают //

IRrecv irrecv (6);

decode_results результаты;

Серво theServo1;

Серво theServo2;

bool lightOn = false;

bool disco = false;

void setup () {

theServo1.attach (10);

theServo2.attach (9);

pinMode (6, ВХОД);

Serial.begin (9600);

irrecv.enableIRIn (); // Запускаем приемник

irrecv.blink13 (правда);

}

void loop () {

if (irrecv.decode (& результаты)) {

Serial.println (результат.значение); // У вас разные результаты для каждой кнопки. Так что проверьте серийный монитор, каково значение ваших кнопок.

if (results.value == 3772793023) {// Это результат нашей кнопки питания (3772793023). Возможно, с вашим пультом все иначе.

lightOn =! lightOn;

if (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

if (! lightOn) {

theServo1.write (95);

theServo2.write (95);

}

задержка (1000);

}

if (results.value == 3772839943) {// Это результат нашей информационной кнопки (37728).

дискотека =! дискотека;

задержка (1000);

}

Serial.println (результат.значение);

irrecv.resume (); // Получаем следующее значение

}

if (disco) {

lightOn =! lightOn;

if (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

if (! lightOn) {

theServo1.write (95);

theServo2.write (90);

}

задержка (2000);

}

}

Рекомендуемые: