Índice:

Happy Hack Light Switch: 3 etapas
Happy Hack Light Switch: 3 etapas

Vídeo: Happy Hack Light Switch: 3 etapas

Vídeo: Happy Hack Light Switch: 3 etapas
Vídeo: Charizard dies Charmander turns to Cubone #shorts #pokemon 2024, Julho
Anonim
Happy Hack Light Switch
Happy Hack Light Switch

Nas últimas 2 semanas, trabalhamos em um projeto escolar chamado "Hacking feliz". Com este projeto tentamos fazer um "hack feliz" para um espaço público. Bem, o que é um "hack feliz"? No nosso caso, precisávamos fazer algo positivo com base na frustração. O uso do Arduino foi necessário para este projeto. O "hack feliz" que decidimos fazer era uma instalação para acionar o interruptor de luz remotamente.

Etapa 1: Materiais:

1x Arduino Uno

1x breadboard

2x servo

1x sensor infravermelho

Fio 11x

1x emissor infravermelho (remoção da tv)

fita

Etapa 2: Como se conectar:

Coloque um receptor infravermelho Arduino na placa de ensaio; assumindo que o lado frontal do receptor é o lado com a esfera nele:

  • Conecte um fio da 'perna' mais à esquerda à porta '6' do Arduino uno.
  • Conecte um fio da ‘perna’ do meio à linha ‘-’ na placa de ensaio.
  • Conecte um fio da ‘perna’ mais direita à linha ‘+’ na placa de ensaio.

Certifique-se de que o fio esteja entre a linha ‘-’ na placa de ensaio e uma porta ‘aterrada’ no Arduino uno e certifique-se de que o cabo esteja entre a linha ‘+’ na placa de ensaio e a porta ‘5V’ no Arduino uno.

Agora conecte os 2 servos,

  • Ambos com um fio do fio mais escuro no servo para a linha '-' na placa de ensaio.
  • Ambos com um fio do meio no servo para a linha ‘+’ na placa de ensaio.

Agora, para um dos servos, conecte o fio do servo restante à porta '9' do Arduino uno e conecte o outro servo à porta '10' do Arduino uno.

Etapa 3: Código:

#incluir //

#incluir //

#incluir //

IRrecv irrecv (6);

resultados de decode_results;

Servo theServo1;

Servo theServo2;

bool lightOn = false;

bool disco = false;

void setup () {

theServo1.attach (10);

theServo2.attach (9);

pinMode (6, INPUT);

Serial.begin (9600);

irrecv.enableIRIn (); // Iniciar o receptor

irrecv.blink13 (verdadeiro);

}

void loop () {

if (irrecv.decode (& resultados)) {

Serial.println (resultados.valor); // Você obtém um resultado diferente para cada botão. Portanto, verifique no monitor serial qual é o valor dos seus botões.

if (results.value == 3772793023) {// Este é o resultado do botão liga / desliga (3772793023). Provavelmente é diferente com o seu controle remoto.

lightOn =! lightOn;

if (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

if (! lightOn) {

theServo1.write (95);

theServo2.write (95);

}

atraso (1000);

}

if (results.value == 3772839943) {// Este é o nosso resultado do botão de informações (37728).

disco =! disco;

atraso (1000);

}

Serial.println (resultados.valor);

irrecv.resume (); // Receba o próximo valor

}

if (disco) {

lightOn =! lightOn;

if (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

if (! lightOn) {

theServo1.write (95);

theServo2.write (90);

}

atraso (2000);

}

}

Recomendado: