Innholdsfortegnelse:

Happy Hack Light Switch: 3 trinn
Happy Hack Light Switch: 3 trinn

Video: Happy Hack Light Switch: 3 trinn

Video: Happy Hack Light Switch: 3 trinn
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Juli
Anonim
Happy Hack Light Switch
Happy Hack Light Switch

De siste 2 ukene har vi jobbet med et skoleprosjekt kalt "Happy hacking". Med dette prosjektet prøvde vi å lage en "Happy hack" for et offentlig rom. Vel, hva er en "Happy hack"? I vårt tilfelle måtte vi lage noe positivt basert på en frustrasjon. Bruken av Arduino var nødvendig for dette prosjektet. "Happy hack" vi bestemte oss for å gjøre var en installasjon for å fjernbryte lysbryteren.

Trinn 1: Materialer:

1x Arduino Uno

1x brødbrett

2x servo

1x infrarød sensor

11x ledning

1x infrarød sender (fjerning av tv)

teip

Trinn 2: Slik kobler du til:

Sett en Arduino infrarød mottaker i brødbrettet; forutsatt at forsiden av mottakeren er siden med sfæren på den:

  • Koble en ledning fra det mest venstre ‘beinet’ til Arduino uno -porten ‘6’.
  • Koble den ene ledningen fra det midterste "beinet" til "-"-raden i brødbrettet.
  • Koble en ledning fra det høyeste "beinet" til "+" - raden i brødbrettet.

Sørg for at en ledning er mellom ‘-’ raden i brødbrettet og en ‘bakken’ port på Arduino uno og sørg for at en ledning er mellom ‘+’ raden i brødbrettet og ‘5V’ porten på Arduino uno.

Koble nå til de 2 servoene,

  • Begge med en ledning fra den mørkeste ledningen på servoen til ‘-’ raden på brødbrettet.
  • Begge med en ledning fra den midterste ledningen på servoen til ‘+’ -raden på brødbrettet.

Nå, for en av servoene, koble den gjenværende servotråden til Arduino uno -porten '9' og koble den andre servoen til Arduino uno -porten '10'.

Trinn 3: Kode:

#include //

#include //

#include //

IRrecv irrecv (6);

resultater for dekoderesultater;

Servo theServo1;

Servo theServo2;

bool lightOn = false;

bool disco = false;

ugyldig oppsett () {

theServo1.attach (10);

theServo2.attach (9);

pinMode (6, INNGANG);

Serial.begin (9600);

irrecv.enableIRIn (); // Start mottakeren

irrecv.blink13 (true);

}

void loop () {

if (irrecv.decode (& resultater)) {

Serial.println (resultater.verdi); // Du får et annet resultat for hver knapp. Så sjekk i seriell skjerm hva knappene er.

if (results.value == 3772793023) {// Dette er resultatet for av / på -knappen (3772793023). Dette er sannsynligvis annerledes med fjernkontrollen.

lightOn =! lightOn;

hvis (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

hvis (! lightOn) {

theServo1.write (95);

theServo2.write (95);

}

forsinkelse (1000);

}

if (results.value == 3772839943) {// Dette er vårt infoknappresultat (37728).

diskotek =! diskotek;

forsinkelse (1000);

}

Serial.println (resultater.verdi);

irrecv.resume (); // Motta neste verdi

}

hvis (diskotek) {

lightOn =! lightOn;

hvis (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

hvis (! lightOn) {

theServo1.write (95);

theServo2.write (90);

}

forsinkelse (2000);

}

}

Anbefalt: