İçindekiler:

Mutlu Hack Işık Anahtarı: 3 Adım
Mutlu Hack Işık Anahtarı: 3 Adım

Video: Mutlu Hack Işık Anahtarı: 3 Adım

Video: Mutlu Hack Işık Anahtarı: 3 Adım
Video: Bunu da sadece müslümanlar anlıyacak 🙃 #shorts 2024, Kasım
Anonim
Mutlu Hack Işık Anahtarı
Mutlu Hack Işık Anahtarı

Son 2 haftadır "Happy hacking" adlı bir okul projesi üzerinde çalıştık. Bu proje ile bir kamusal alan için "Happy hack" yapmaya çalıştık. Peki, "Mutlu kesmek" nedir? Bizim durumumuzda, bir hayal kırıklığı temelinde olumlu bir şey yapmamız gerekiyordu. Bu proje için Arduino kullanımı gerekliydi. Yapmaya karar verdiğimiz "Happy hack", ışık anahtarını uzaktan çevirmek için bir kurulumdu.

Adım 1: Malzemeler:

1x Arduino Uno

1x Ekmek Tahtası

2x servo

1x kızılötesi sensör

11x tel

1x kızılötesi gönderici (tv kaldırma)

kaset

Adım 2: Nasıl Bağlanılır:

Bir Arduino kızılötesi alıcısını devre tahtasına yerleştirin; alıcının ön tarafının üzerinde küre bulunan taraf olduğunu varsayarsak:

  • En soldaki 'bacak'tan bir kabloyu Arduino uno bağlantı noktası '6'ya bağlayın.
  • Ortadaki 'bacak'tan bir kabloyu devre tahtasındaki '-' sırasına bağlayın.
  • En sağdaki 'bacak'tan bir kabloyu devre tahtasındaki '+' satırına bağlayın.

Breadboard'daki "-" satırı ile Arduino uno'daki "toprak" bağlantı noktası arasında bir kablo olduğundan emin olun ve bir kablonun devre tahtasındaki "+" satırı ile Arduino uno'daki "5V" bağlantı noktası arasında olduğundan emin olun.

Şimdi 2 servoyu bağlayın,

  • Her ikisi de servodaki en koyu telden devre tahtasındaki '-' sırasına kadar bir tel ile.
  • Her ikisi de servo üzerindeki orta telden breadboard üzerindeki '+' sırasına kadar bir tel ile.

Şimdi, servolardan biri için kalan servo telini Arduino uno portu '9'a ve diğer servoyu Arduino uno portu '10'a bağlayın.

Adım 3: Kod:

#Dahil etmek //

#Dahil etmek //

#Dahil etmek //

IRrecv değişmez(6);

decode_results sonuçları;

Servo Servo1;

Servo theServo2;

bool lightOn = yanlış;

bool disko = yanlış;

geçersiz kurulum(){

theServo1.attach(10);

theServo2.attach(9);

pinMode(6, GİRİŞ);

Seri.başla(9600);

irrecv.enableIRIn(); // alıcıyı başlat

irrecv.blink13(doğru);

}

boşluk döngüsü(){

if (irrecv.decode(&sonuçlar)) {

Serial.println(sonuçlar.değer); // Her buton için farklı bir sonuç alırsınız. Bu yüzden seri monitörde düğmelerinizin değerinin ne olduğunu kontrol edin.

if (results.value == 3772793023){ // Bu, güç düğmesi sonucumuzdur (3772793023). Bu muhtemelen sizin uzaktan kumandanızdan farklıdır.

lightOn = !lightOn;

if(ışıkAçık){

theServo1.write(65);

theServo2.write(15);

}

if(!lightOn){

theServo1.write(95);

theServo2.write(95);

}

gecikme(1000);

}

if (results.value == 3772839943){ // Bu, bilgi düğmesi sonucumuz (37728).

disko = !disko;

gecikme(1000);

}

Serial.println(sonuçlar.değer);

irrecv.özgeçmiş(); // sonraki değeri al

}

if(disko){

lightOn = !lightOn;

if(ışıkAçık){

theServo1.write(65);

theServo2.write(15);

}

if(!lightOn){

theServo1.write(95);

theServo2.write(90);

}

gecikme(2000);

}

}

Önerilen: