Taula de continguts:

Happy Hack Light Switch: 3 passos
Happy Hack Light Switch: 3 passos

Vídeo: Happy Hack Light Switch: 3 passos

Vídeo: Happy Hack Light Switch: 3 passos
Vídeo: NORMAL vs PSYCHOPATH😈 4 - THE AMAZING DIGITAL CIRCUS (TADC) | GH'S ANIMATION 2024, Juliol
Anonim
Happy Hack Light Switch
Happy Hack Light Switch

Durant les dues darreres setmanes hem treballat en un projecte escolar anomenat "Happy hacking". Amb aquest projecte hem intentat fer un "Happy hack" per a un espai públic. Bé, què és un "Happy hack"? En el nostre cas, hem de fer alguna cosa positiva basada en la frustració. L'ús d'Arduino era necessari per a aquest projecte. El "Happy hack" que vam decidir fer era una instal·lació per fer girar l'interruptor de la llum de forma remota.

Pas 1: materials:

1x Arduino Uno

1x tauler de pa

Servo 2x

1x sensor d'infrarojos

11x filferro

1x remitent d'infrarojos (suprimir la televisió)

cinta

Pas 2: Com connectar-se:

Introduïu un receptor d'infrarojos Arduino a la taula de suport; suposant que el costat frontal del receptor és el costat amb l’esfera:

  • Connecteu un cable de la "cama" més esquerra al port "6" d'Arduino uno.
  • Connecteu un cable de la "cama" mitjana a la fila "-" de la taula de treball.
  • Connecteu un cable de la "cama" més dreta a la fila "+" de la taula de treball.

Assegureu-vos que hi hagi un cable entre la fila ‘-’ de la taula de taulers i un port ‘terra’ a l’Arduino uno i assegureu-vos que hi hagi un cable entre la fila ‘+’ de la taula de taulers i el port ‘5V’ de l’Arduino uno.

Ara connecteu els 2 servos,

  • Tots dos amb un cable que va des del cable més fosc del servo fins a la fila ‘-’ de la taula de treball.
  • Tots dos amb un filferro des del fil central al servo fins a la fila ‘+’ de la taula de treball.

Ara, per a un dels servos, connecteu el cable de servo restant al port ‘9’ d’Arduino uno i connecteu l’altre servo al port ‘10’ d’Arduino uno.

Pas 3: Codi:

#incloure //

#incloure //

#incloure //

IRrecv irrecv (6);

resultats decode_results;

Servo theServo1;

Servo theServo2;

bool lightOn = fals;

discoteca bool = fals;

configuració nul·la () {

theServo1.attach (10);

theServo2.attach (9);

pinMode (6, INPUT);

Serial.begin (9600);

irrecv.enableIRIn (); // Arrenca el receptor

irrecv.blink13 (cert);

}

bucle buit () {

if (irrecv.decode (& resultats)) {

Serial.println (results.value); // Obteniu un resultat diferent per a cada botó. Per tant, comproveu al monitor sèrie quin és el valor dels vostres botons.

if (results.value == 3772793023) {// Aquest és el resultat del nostre botó d’engegada (3772793023). Probablement això sigui diferent amb el comandament a distància.

lightOn =! lightOn;

if (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

if (! lightOn) {

theServo1.write (95);

theServo2.write (95);

}

retard (1000);

}

if (results.value == 3772839943) {// Aquest és el resultat del nostre botó d'informació (37728).

discoteca =! discoteca;

retard (1000);

}

Serial.println (results.value);

irrecv.resume (); // Rep el següent valor

}

si (discoteca) {

lightOn =! lightOn;

if (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

if (! lightOn) {

theServo1.write (95);

theServo2.write (90);

}

endarreriment (2000);

}

}

Recomanat: