Cuprins:

Happy Hack Light Switch: 3 pași
Happy Hack Light Switch: 3 pași

Video: Happy Hack Light Switch: 3 pași

Video: Happy Hack Light Switch: 3 pași
Video: Ce înseamna semnul tau din nastere 2024, Noiembrie
Anonim
Happy Hack Light Switch
Happy Hack Light Switch

În ultimele 2 săptămâni am lucrat la un proiect școlar numit „Happy hacking”. Cu acest proiect am încercat să facem un „hack fericit” pentru un spațiu public. Ei bine, ce este un „hack fericit”? În cazul nostru, trebuia să facem ceva pozitiv pe baza unei frustrări. Pentru acest proiect a fost necesară utilizarea Arduino. „Hackul fericit” pe care am decis să îl facem a fost o instalare pentru a răsturna de la distanță comutatorul de lumină.

Pasul 1: Materiale:

1x Arduino Uno

1x placă de pâine

2x servo

1x senzor infraroșu

11x sârmă

1x expeditor cu infraroșu (eliminarea televizorului)

bandă

Pasul 2: Cum să vă conectați:

Introduceți un receptor infraroșu Arduino în panoul de control; presupunând că partea frontală a receptorului este partea cu sfera pe ea:

  • Conectați un fir de la „piciorul” cel mai stâng la portul Arduino uno „6”.
  • Conectați un fir de la „piciorul” mijlociu la rândul „-” din panou.
  • Conectați un fir de la „piciorul” cel mai drept la rândul „+” din panou.

Asigurați-vă că un fir este între rândul ‘-’ din panou și un port ‘la sol’ de pe Arduino uno și asigurați-vă că un fir este între rândul ‘+’ din panou și portul ‘5V’ de pe Arduino uno.

Acum conectați cele 2 servouri,

  • Ambele cu un fir de la cel mai întunecat fir de pe servo la rândul „-” de pe panou.
  • Ambele cu un fir de la firul de mijloc de pe servo la rândul „+” de pe panou.

Acum, pentru unul dintre servo conectați firul servo rămas la portul Arduino uno ‘9’ și conectați celălalt servo la portul Arduino uno ‘10’.

Pasul 3: Cod:

#include //

#include //

#include //

IRrecv irrecv (6);

rezultate decode_results;

ServoServo1;

ServoServo2;

bool lightOn = false;

discoteca bool = fals;

configurare nulă () {

theServo1.attach (10);

theServo2.attach (9);

pinMode (6, INPUT);

Serial.begin (9600);

irrecv.enableIRIn (); // Porniți receptorul

irrecv.blink13 (adevărat);

}

bucla nulă () {

if (irrecv.decode (& rezultate)) {

Serial.println (results.value); // Obțineți un rezultat diferit pentru fiecare buton. Deci, verificați în monitorul serial care este valoarea butoanelor dvs.

if (results.value == 3772793023) {// Acesta este rezultatul butonului nostru de pornire (3772793023). Acest lucru este probabil diferit cu telecomanda dvs.

lightOn =! lightOn;

if (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

if (! lightOn) {

theServo1.write (95);

theServo2.write (95);

}

întârziere (1000);

}

if (results.value == 3772839943) {// Acesta este rezultatul butonului nostru de informații (37728).

disco =! disco;

întârziere (1000);

}

Serial.println (results.value);

irrecv.resume (); // Primiți următoarea valoare

}

dacă (discotecă) {

lightOn =! lightOn;

if (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

if (! lightOn) {

theServo1.write (95);

theServo2.write (90);

}

întârziere (2000);

}

}

Recomandat: