Мазмуну:

Happy Hack Light Switch: 3 кадам
Happy Hack Light Switch: 3 кадам

Video: Happy Hack Light Switch: 3 кадам

Video: Happy Hack Light Switch: 3 кадам
Video: AAP yahn aye kisliye?😂 #learnwithpari 2024, Ноябрь
Anonim
Happy Hack Light Switch
Happy Hack Light Switch

Акыркы 2 жумада биз "Happy hacking" деп аталган мектептин долбоорунун үстүндө иштедик. Бул долбоор менен биз коомдук жай үчүн "Happy hack" жасоого аракет кылдык. Ооба, "бактылуу хак" деген эмне? Биздин учурда, биз нааразычылыктын негизинде позитивдүү нерсени жасашыбыз керек болчу. Бул долбоор үчүн Arduino колдонуу талап кылынган. Биз жасоону чечкен "Happy hack" - бул жарык өчүргүчтү алыстан которуу үчүн орнотуу.

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

1x Arduino Uno

1x нан тактасы

2x servo

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

11x зым

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

скотч

2 -кадам: Кантип туташуу керек:

Нан тактасына Arduino инфракызыл ресиверин коюңуз; алуучунун алдыңкы бети анын үстүндөгү сфера менен каптал болгонун эске алуу менен:

  • Эң сол "бутунан" бир зымды Arduino uno портуна "6" туташтырыңыз.
  • Орточо "буттан" бир зымды нан тактасындагы "-" катарына туташтырыңыз.
  • Эң оң "бутунан" бир зымды нан тактасындагы "+" катарына туташтырыңыз.

Нан тилкесиндеги ‘-’ катарынын жана Arduino унодогу ‘жерге’ порттун ортосунда зым турганын текшериңиз жана зым нандагы ‘+’ катар менен Arduino унодогу ‘5V’ портунун ортосунда экенин текшериңиз.

Эми 2 сервону туташтырыңыз,

  • Серводогу эң караңгы зымдан нан тактасындагы ‘-’ катарына чейин зым менен.
  • Экөө тең серводогу орто зымдан нан тактасындагы "+" катарына чейин.

Эми, серволордун бири үчүн калган серво зымын Arduino uno портуна '9' туташтырып, башка сервону Arduino uno портуна '10' туташтырыңыз.

3 -кадам: Код:

#кошуу //

#кошуу //

#кошуу //

IRrecv irrecv (6);

decode_results жыйынтыктары;

Servo theServo1;

Servo theServo2;

bool lightOn = false;

bool disco = false;

жараксыз орнотуу () {

theServo1.attach (10);

theServo2.attach (9);

pinMode (6, INPUT);

Serial.begin (9600);

irrecv.enableIRIn (); // Ресиверди баштаңыз

irrecv.blink13 (чыныгы);

}

void loop () {

эгер (irrecv.decode (& натыйжалар)) {

Serial.println (results.value); // Сиз ар бир баскыч үчүн башкача жыйынтык аласыз. Андыктан сериалдык монитордон сиздин баскычтарыңыздын маанисин текшериңиз.

if (results.value == 3772793023) {// Бул биздин кубат баскычынын натыйжасы (3772793023). Бул сиздин пультуңуздан айырмаланышы мүмкүн.

lightOn =! lightOn;

эгер (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

if (! lightOn) {

theServo1.write (95);

theServo2.write (95);

}

кечигүү (1000);

}

if (results.value == 3772839943) {// Бул биздин маалымат баскычынын натыйжасы (37728).

дискотека =!

кечигүү (1000);

}

Serial.println (results.value);

irrecv.resume (); // Кийинки маанини алыңыз

}

эгер (дискотека) {

lightOn =! lightOn;

эгер (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

if (! lightOn) {

theServo1.write (95);

theServo2.write (90);

}

кечигүү (2000);

}

}

Сунушталууда: