Inhoudsopgave:

Happy Hack-lichtschakelaar - Ajarnpa
Happy Hack-lichtschakelaar - Ajarnpa

Video: Happy Hack-lichtschakelaar - Ajarnpa

Video: Happy Hack-lichtschakelaar - Ajarnpa
Video: Xiaomi Qingping CGPR1 - датчик движения с сенсором освещенности, обзор, интеграция в Home Assistant 2024, November
Anonim
Happy Hack-lichtschakelaar
Happy Hack-lichtschakelaar

De afgelopen 2 weken hebben we gewerkt aan een schoolproject genaamd "Happy hacking". Met dit project hebben we geprobeerd een "Happy hack" te maken voor een openbare ruimte. Welnu, wat is een "Happy hack"? In ons geval moesten we iets positiefs maken op basis van een frustratie. Voor dit project was het gebruik van Arduino vereist. De "Happy hack" die we besloten te maken was een installatie om op afstand de lichtschakelaar om te draaien.

Stap 1: Materialen:

1x Arduino Uno

1x Broodplank

2x servo

1x infraroodsensor

11x draad

1x infrarood zender (tv verwijderen)

plakband

Stap 2: Hoe te verbinden:

Plaats een Arduino-infraroodontvanger in het breadboard; ervan uitgaande dat de voorkant van de ontvanger de kant is met de bol erop:

  • Sluit een draad van het meest linker 'been' aan op de Arduino uno-poort '6'.
  • Sluit een draad van het middelste 'been' aan op de '-'-rij in het breadboard.
  • Sluit een draad van het meest rechtse 'been' aan op de '+'-rij in het breadboard.

Zorg ervoor dat er een draad tussen de '-'-rij in het breadboard en een 'ground'-poort op de Arduino uno zit en zorg ervoor dat er een draad tussen de '+'-rij in het breadboard en de '5V'-poort op de Arduino uno zit.

Sluit nu de 2 servo's aan,

  • Beide met een draad van de donkerste draad op de servo naar de '-' rij op het breadboard.
  • Beide met een draad van de middelste draad op de servo naar de '+' rij op het breadboard.

Sluit nu voor een van de servo's de resterende servodraad aan op de Arduino uno-poort '9' en sluit de andere servo aan op de Arduino uno-poort '10'.

Stap 3: Coderen:

#erbij betrekken //

#erbij betrekken //

#erbij betrekken //

IRrecv irrev (6);

decode_results resultaten;

Servo deServo1;

Servo deServo2;

bool lightOn = false;

bool disco = vals;

ongeldige setup(){

deServo1.attach(10);

theServo2.attach (9);

pinMode (6, INGANG);

Serieel.begin(9600);

onrecv.enableIRIn(); // Start de ontvanger

irrev.blink13(waar);

}

lege lus(){

if (irrecv.decode(&resultaten)) {

Serial.println(resultaten.waarde); // Je krijgt voor elke knop een ander resultaat. Controleer dus in de seriële monitor wat de waarde van uw knoppen is.

if (results.value == 3772793023){ // Dit is ons resultaat van de aan / uit-knop (3772793023). Dit is waarschijnlijk anders met uw afstandsbediening.

lichtAan = !lichtAan;

als (licht aan){

theServo1.write(65);

theServo2.write(15);

}

if(!licht aan){

theServo1.write(95);

theServo2.write(95);

}

vertraging (1000);

}

if (results.value == 3772839943){ // Dit is het resultaat van onze infoknop (37728).

disco = !disco;

vertraging (1000);

}

Serial.println(resultaten.waarde);

irrev.resume(); // Ontvang de volgende waarde

}

als (disco){

lichtAan = !lichtAan;

als (licht aan){

theServo1.write(65);

theServo2.write(15);

}

if(!licht aan){

theServo1.write(95);

theServo2.write(90);

}

vertraging (2000);

}

}

Aanbevolen: