Talaan ng mga Nilalaman:

Happy Hack Light Switch: 3 Mga Hakbang
Happy Hack Light Switch: 3 Mga Hakbang

Video: Happy Hack Light Switch: 3 Mga Hakbang

Video: Happy Hack Light Switch: 3 Mga Hakbang
Video: Mike Swift performs “Kalendaryo” LIVE on Wish 107.5 Bus 2024, Nobyembre
Anonim
Happy Hack Light Switch
Happy Hack Light Switch

Sa huling 2 linggo nagtrabaho kami sa isang proyekto sa paaralan na tinatawag na "Maligayang pag-hack". Sa proyektong ito sinubukan naming gumawa ng isang "Maligayang pag-hack" para sa isang pampublikong puwang. Kaya, ano ang isang "Maligayang pag-hack"? Sa aming kaso kailangan namin upang gumawa ng isang bagay na positibo batay sa isang pagkabigo. Ang paggamit ng Arduino ay kinakailangan para sa proyektong ito. Ang "Maligayang pag-hack" na nagpasya kaming gawin ay isang pag-install upang malayuan na i-flip ang ilaw switch.

Hakbang 1: Mga Kagamitan:

1x Arduino Uno

1x Breadboard

2x servo

1x infrared sensor

11x wire

1x na nagpadala ng infrared (alisin sa tv)

tape

Hakbang 2: Paano Kumonekta:

Maglagay ng isang Arduino infrared receiver sa breadboard; Ipagpalagay na ang harap na bahagi ng tatanggap ay ang gilid na may sphere dito:

  • Ikonekta ang isang kawad mula sa pinaka kaliwang 'binti' patungo sa Arduino uno port na '6'.
  • Ikonekta ang isang kawad mula sa gitnang 'binti' sa hilera na '-' sa breadboard.
  • Ikonekta ang isang kawad mula sa pinaka kanang ‘binti’ patungo sa row na ‘+’ sa breadboard.

Tiyaking ang isang kawad ay nasa pagitan ng row na ‘-’ sa breadboard at isang port na ‘ground’ sa Arduino uno at tiyaking ang isang kawad ay nasa pagitan ng row na ‘+’ sa breadboard at ang port na ‘5V’ sa Arduino uno.

Ikonekta ngayon ang 2 servo,

  • Parehong may kawad mula sa pinakamadilim na kawad sa servo hanggang sa row na ‘-’ sa breadboard.
  • Parehong may kawad mula sa gitnang wire sa servo hanggang sa row na ‘+’ sa breadboard.

Ngayon, para sa isa sa mga servos ikonekta ang natitirang wire ng servo sa Arduino uno port na '9' at ikonekta ang iba pang servo sa Arduino uno port na '10'.

Hakbang 3: Code:

# isama //

# isama //

# isama //

IRrecv irrecv (6);

mga resulta sa pag-decode_resulta;

Servo theServo1;

Servo theServo2;

bool lightOn = false;

bool disco = false;

walang bisa ang pag-setup () {

theServo1.attach (10);

theServo2.attach (9);

pinMode (6, INPUT);

Serial.begin (9600);

irrecv.enableIRIn (); // Simulan ang tatanggap

irrecv.blink13 (totoo);

}

void loop () {

kung (irrecv.decode (& mga resulta)) {

Serial.println (resulta.value); // Nakakakuha ka ng ibang resulta para sa bawat pindutan. Kaya suriin sa serial monitor kung ano ang halaga ng iyong mga pindutan.

kung (results.value == 3772793023) {// Ito ang aming resulta ng power button (3772793023). Marahil ay naiiba ito sa iyong remote.

lightOn =! lightOn;

kung (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

kung (! lightOn) {

theServo1.write (95);

theServo2.write (95);

}

pagkaantala (1000);

}

kung (results.value == 3772839943) {// Ito ang resulta ng aming pindutan ng impormasyon (37728).

disco =! disco;

pagkaantala (1000);

}

Serial.println (resulta.value);

irrecv.resume (); // Tanggapin ang susunod na halaga

}

kung (disco) {

lightOn =! lightOn;

kung (lightOn) {

theServo1.write (65);

theServo2.write (15);

}

kung (! lightOn) {

theServo1.write (95);

theServo2.write (90);

}

pagkaantala (2000);

}

}

Inirerekumendang: