INHOUDSOPGAWE:

Happy Hack Light Switch: 3 stappe
Happy Hack Light Switch: 3 stappe

Video: Happy Hack Light Switch: 3 stappe

Video: Happy Hack Light Switch: 3 stappe
Video: Узнав этот секрет ты НИКОГДА не выбросишь старый БУР от перфоратора! Такого ты еще не видел! 2024, November
Anonim
Happy Hack Light Switch
Happy Hack Light Switch

Ons werk die afgelope 2 weke aan 'n skoolprojek genaamd "Happy hacking". Met hierdie projek het ons probeer om 'n 'Happy hack' vir 'n openbare ruimte te maak. Wel, wat is 'n 'Happy hack'? In ons geval moes ons iets positiefs maak op grond van frustrasie. Die gebruik van Arduino was nodig vir hierdie projek. Die 'Happy hack' wat ons besluit het, was 'n installasie om die ligskakelaar op afstand te draai.

Stap 1: materiaal:

1x Arduino Uno

1x broodbord

2x servo

1x infrarooi sensor

11x draad

1x infrarooi sender (TV verwyder)

band

Stap 2: Hoe om aan te sluit:

Plaas 'n Arduino infrarooi ontvanger in die broodbord; as die voorkant van die ontvanger die kant is met die bol daarop:

  • Koppel een draad van die linkerkantste been tot die Arduino uno -poort '6'.
  • Verbind een draad van die middelste 'been' met die '-' ry in die broodbord.
  • Koppel een draad van die regterste 'been' aan die '+' ry in die broodbord.

Maak seker dat daar 'n draad tussen die '-' ry in die broodbord en 'n 'grond' poort op die Arduino uno is en maak seker dat daar 'n draad tussen die '+' ry in die broodbord en die '5V' poort op die Arduino uno is.

Koppel nou die 2 servo's,

  • Beide met 'n draad van die donkerste draad op die servo na die '-' ry op die broodbord.
  • Beide met 'n draad van die middelste draad op die servo na die '+' ry op die broodbord.

Koppel die oorblywende servodraad vir een van die servo's aan die Arduino uno -poort '9' en koppel die ander servo aan die Arduino uno -poort '10'.

Stap 3: Kode:

#insluit //

#insluit //

#insluit //

IRrecv irrecv (6);

resultate van dekode_resultate;

Servo theServo1;

Servo theServo2;

bool lightOn = vals;

bool disco = vals;

ongeldige opstelling () {

theServo1.aanheg (10);

dieServo2.aanheg (9);

pinMode (6, INVOER);

Serial.begin (9600);

irrecv.enableIRIn (); // Begin die ontvanger

irrecv.blink13 (waar);

}

leemte -lus () {

if (irrecv.decode (& resultate)) {

Serial.println (resultate.waarde); // U kry 'n ander resultaat vir elke knoppie. Kyk dus na die seriële monitor wat die waarde van u knoppies is.

if (results.value == 3772793023) {// Dit is ons kragknoppie (3772793023). Dit is waarskynlik anders met u afstandsbediening.

lightOn =! lightOn;

as (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

as (! lightOn) {

theServo1.write (95);

theServo2.write (95);

}

vertraging (1000);

}

if (results.value == 3772839943) {// Dit is die resultaat van ons infoknoppie (37728).

disco =! disco;

vertraging (1000);

}

Serial.println (resultate.waarde);

irrecv.resume (); // Ontvang die volgende waarde

}

as (disko) {

lightOn =! lightOn;

as (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

as (! lightOn) {

theServo1.write (95);

theServo2.write (90);

}

vertraging (2000);

}

}

Aanbeveel: