Turinys:

„Happy Hack“šviesos jungiklis: 3 žingsniai
„Happy Hack“šviesos jungiklis: 3 žingsniai

Video: „Happy Hack“šviesos jungiklis: 3 žingsniai

Video: „Happy Hack“šviesos jungiklis: 3 žingsniai
Video: Dienoraštis, kuriame yra baisių paslapčių. Perėjimas. Geraldas Durrellas. Mistikas. Siaubas 2024, Liepa
Anonim
„Happy Hack“šviesos jungiklis
„Happy Hack“šviesos jungiklis

Pastarąsias 2 savaites dirbome prie mokyklos projekto „Laimingas įsilaužimas“. Šiuo projektu mes bandėme padaryti „Happy hack“viešai erdvei. Na, kas yra „Happy hack“? Mūsų atveju turėjome padaryti kažką teigiamo, pagrįsto nusivylimu. Šiam projektui reikėjo naudoti „Arduino“. „Happy hack“, kurį nusprendėme padaryti, buvo instaliacija, skirta nuotoliniu būdu pasukti šviesos jungiklį.

1 žingsnis: medžiagos:

1x „Arduino Uno“

1x duonos lenta

2x servo

1x infraraudonųjų spindulių jutiklis

11x laidas

1x infraraudonųjų spindulių siųstuvas (pašalinus televizorių)

juosta

2 veiksmas: kaip prisijungti:

Įdėkite „Arduino“infraraudonųjų spindulių imtuvą į duonos lentą; darant prielaidą, kad imtuvo priekinė pusė yra pusė su sfera:

  • Prijunkite vieną laidą nuo labiausiai kairės „kojos“prie „Arduino uno“prievado „6“.
  • Prijunkite vieną laidą nuo vidurinės kojos prie duonos lentos eilutės „-“.
  • Prijunkite vieną laidą nuo dešinės „kojos“prie „+“eilutės duonos lentoje.

Įsitikinkite, kad laidas yra tarp duonos lentos „-“eilutės ir „Arduino uno“įžeminimo prievado, ir įsitikinkite, kad laidas yra tarp „+“eilutės duonos lentelėje ir „5 V“prievado „Arduino uno“.

Dabar prijunkite 2 servos

  • Abu su viela nuo tamsiausios servo vielos iki „-“eilutės ant duonos lentos.
  • Abu su viela nuo vidurinio laido ant servo iki „+“eilutės ant duonos lentos.

Dabar vienam iš servo prijunkite likusį servo laidą prie „Arduino uno“prievado „9“, o kitą - prie „Arduino uno“prievado „10“.

3 žingsnis: kodas:

#įtraukti //

#įtraukti //

#įtraukti //

IRrecv irrecv (6);

decode_results rezultatai;

Servo theServo1;

Servo theServo2;

bool lightOn = klaidinga;

bool disco = klaidinga;

void setup () {

theServo1.attach (10);

theServo2.attach (9);

pinMode (6, INPUT);

Serial.begin (9600);

irrecv.enableIRIn (); // Paleiskite imtuvą

irrecv.blink13 (tiesa);

}

void loop () {

if (irrecv.decode (& rezultatai)) {

Serial.println (results.value); // Kiekvienam mygtukui gausite skirtingą rezultatą. Taigi serijiniame monitoriuje patikrinkite, kokia yra jūsų mygtukų vertė.

if (results.value == 3772793023) {// Tai yra mūsų maitinimo mygtuko rezultatas (3772793023). Tikriausiai su nuotolinio valdymo pultu yra kitaip.

lightOn =! lightOn;

if (šviesa) {

theServo1.write (65);

theServo2.write (15);

}

jei (! lightOn) {

theServo1.write (95);

theServo2.write (95);

}

vėlavimas (1000);

}

if (results.value == 3772839943) {// Tai yra mūsų informacijos mygtuko rezultatas (37728).

diskoteka =! diskoteka;

vėlavimas (1000);

}

Serial.println (results.value);

irrecv.resume (); // Gaukite kitą vertę

}

jei (diskoteka) {

lightOn =! lightOn;

if (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

jei (! lightOn) {

theServo1.write (95);

theServo2.write (90);

}

vėlavimas (2000 m.);

}

}

Rekomenduojamas: