Kazalo:

Happy Hack Stikalo za luč: 3 koraki
Happy Hack Stikalo za luč: 3 koraki

Video: Happy Hack Stikalo za luč: 3 koraki

Video: Happy Hack Stikalo za luč: 3 koraki
Video: Xiaomi Qingping CGPR1 - датчик движения с сенсором освещенности, обзор, интеграция в Home Assistant 2024, Julij
Anonim
Happy Hack Light Switch
Happy Hack Light Switch

Zadnja 2 tedna smo delali na šolskem projektu, imenovanem "Happy hacking". S tem projektom smo poskušali narediti "Happy hack" za javni prostor. No, kaj je "Happy hack"? V našem primeru smo morali narediti nekaj pozitivnega na podlagi frustracije. Za ta projekt je bila potrebna uporaba Arduina. "Happy hack", za katerega smo se odločili, je bila namestitev daljinskega obračanja stikala za luč.

1. korak: Materiali:

1x Arduino Uno

1x deska

2x servo

1x infrardeči senzor

11x žica

1x infrardeči pošiljatelj (odstranite televizor)

trak

2. korak: Kako se povezati:

Infrardeči sprejemnik Arduino vstavite v ploščo; ob predpostavki, da je sprednja stran sprejemnika stran s kroglo na njem:

  • Priključite eno žico z najbolj leve "noge" na vrata Arduino uno "6".
  • Priključite eno žico iz srednje 'noge' v vrstico '-' na plošči.
  • Priključite eno žico iz najbolj desne "noge" v vrstico "+" na plošči.

Prepričajte se, da je žica med vrstico "-" na plošči in "ozemljitvenim" vhodom na Arduino uno in se prepričajte, da je žica med vrstico "+" na plošči in vhodom "5V" na Arduino uno.

Zdaj priključite 2 servomotorja,

  • Oboje z žico od najtemnejše žice na servo do vrstice '-' na plošči.
  • Oba z žico od srednje žice na servo servo do vrstice '+' na plošči.

Zdaj za enega od servomotorjev priključite preostalo servo žico na vrata Arduino uno '9', drugi servo pa priključite na vrata Arduino uno '10'.

3. korak: Koda:

#vključi //

#vključi //

#vključi //

IRrecv unrecv (6);

decode_results rezultati;

Servo theServo1;

ServoServo2;

bool lightOn = false;

bool disco = false;

void setup () {

theServo1.attach (10);

priključek Servo2. (9);

pinMode (6, VHOD);

Serial.begin (9600);

unrecv.enableIRIn (); // Zaženite sprejemnik

unrecv.blink13 (res);

}

void loop () {

if (unrecv.decode (& rezultati)) {

Serial.println (results.value); // Za vsak gumb dobite drugačen rezultat. Zato v serijskem monitorju preverite, kakšna je vrednost vaših gumbov.

if (results.value == 3772793023) {// To je rezultat gumba za vklop (3772793023). Verjetno je z vašim daljincem drugače.

lightOn =! lightOn;

if (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

if (! lightOn) {

theServo1.write (95);

theServo2.write (95);

}

zamuda (1000);

}

if (results.value == 3772839943) {// To je rezultat našega gumba z informacijami (37728).

disco =! disco;

zamuda (1000);

}

Serial.println (results.value);

unrecv.resume (); // Prejemamo naslednjo vrednost

}

if (disko) {

lightOn =! lightOn;

if (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

if (! lightOn) {

theServo1.write (95);

theServo2.write (90);

}

zamuda (2000);

}

}

Priporočena: