Мазмұны:

Happy Hack Light қосқышы: 3 қадам
Happy Hack Light қосқышы: 3 қадам

Бейне: Happy Hack Light қосқышы: 3 қадам

Бейне: Happy Hack Light қосқышы: 3 қадам
Бейне: 1. Q Light Controller + QLC + арқылы бастау. Фигура және функциялары 2024, Шілде
Anonim
Happy Hack Light қосқышы
Happy Hack Light қосқышы

Соңғы 2 апта ішінде біз «Бақытты хакерлік» деп аталатын мектеп жобасымен жұмыс жасадық. Бұл жобаның көмегімен біз көпшілікке арналған «Бақытты бұзу» жасауға тырыстық. Ал, «Бақытты бұзу» дегеніміз не? Біздің жағдайда көңілсіздікке байланысты жағымды нәрсе жасау керек болды. Бұл жоба үшін Arduino пайдалану қажет болды. Біз жасауға шешім қабылдаған «Бақытты бұзу» - бұл жарық қосқышты қашықтан аударатын қондырғы.

1 -қадам: материалдар:

1x Arduino Uno

1x Нан тақтасы

2x серво

1x инфрақызыл сенсор

11x сым

1x инфрақызыл жіберуші (теледидарды алып тастау)

таспа

2 -қадам: Қосылу әдісі:

Arduino инфрақызыл қабылдағышын тақтаға салыңыз; қабылдағыштың алдыңғы жағы сфераның жағы деп есептесек:

  • Ең сол жақ «аяқтан» бір сымды Arduino uno портына «6» қосыңыз.
  • Орташа «аяқтан» бір сымды нан тақтасындағы «-» қатарына қосыңыз.
  • Оң жақ «аяқтан» бір сымды нан тақтасындағы «+» қатарына қосыңыз.

Сымның нан тақтасындағы '-' қатары мен Arduino uno-дағы 'жер' порты арасында екеніне көз жеткізіңіз және сымның нан тақтасындағы '+' жолымен Arduino uno-дағы '5V' порты арасында екеніне көз жеткізіңіз.

Енді 2 сервоприемді қосыңыз,

  • Сервадағы ең қараңғы сымнан нан тақтасындағы '-' қатарына дейін сыммен.
  • Сервадағы орта сымнан нан тақтасындағы '+' қатарына дейін сыммен.

Енді сервоприводтардың бірінде қалған серво сымын 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);

Serial.begin (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);

}

}

Ұсынылған: