in ,

Arduino İle Kedi Oyun Lazeri Yapımı

Merhaba arkadaşlar arduino ile projelerimizde oldukça hızlı ilerlemeye çalışıyoruz.

Bildiğiniz üzere kediler lazerle oynamaya bayılıyorlar bu projemizde de hayvan severler için uygun maliyetli bir proje düzenledik 🙂

Bu yazımızda bir arduino ile kedi oyun lazeri yada farklı bir deyişle, lazerli kedi oyun robotu nasıl yapılır, bunu öğreneceğiz.. Robot diyorum çünkü artık eş zamanlı çalışan sistemlere geçiyoruz bu proje ile robot teknolojisinin ufak ta olsa temellerini atıyoruz hazırsanız zaman kaybetmeden projemize geçelim 🙂

Projemizde ana elemanlardan olan lazerden biraz bahsetmek istiyorum. işte nerede yapılmış ne zaman yapılmış falan merak etmeyin fazla sıkmayacağım 🙂

Lazer Nedir?

Lazer, tüm fotonların tutarlı bir durumda bulunduğu bir ışık demeti oluşturmak için kuantum mekaniği prensipleri üzerine kurulmuş bir cihazdır. (Çoğu ışık kaynağı, fazın rasgele değiştiği yerde tutarsız ışık yayar.) Diğer etkiler arasında, bir lazerin ışığının genellikle sıkı bir şekilde odaklandığı ve fazla ayrılmadığı, böylece geleneksel lazer ışınının oluştuğu anlamına gelir.

Daha kısa bir tabirle, çok şiddetli, koherent ve tek renk ışık elde etmeye yarayan optik düzeneklerdir. Bir diğer adı da maserdir. Optik kaynaklar olan lazerler, fotonları uyumlu bir hüzme şeklinde oluşturmaya yarar.

Lazer ismi İngilizce’den dilimize geçmiştir. LASER sözcüğü dilimize LAZER şeklinde geçmiştir. LASER aslında “Light Amplification by Stimulated Emission of Radiation” kelimelerinin baş harflerinden oluşan bir kısaltmadır. Anlamı ise “Uyarılmış Radyasyon Emisyonuyla Işık Amplifikasyonu”dur.

Ve lazerin kökeni Albert Einstein e dayanmakta.. Abi adam ne kadar cihaz varsa yapmış bu nasıl insan 😀 adamı tanıdıkça insan kendinden şüphe ediyor 🙂 bence bu kadar geçmiş yeterli hayde projemize geçelim..

Malzeme Listesi

1- Herhangi bir arduino modeli

2- Lazer pointer herhangi biri olur

3- Lazeri tetiklemek için 2N3904 Npn transtör ve onun için 1K direnç

4- 2 Adet servo motor (SG90 Yeterli)

5-BreadBoard ve Jumper kablolar

6- Yapıştırıcı Silikon, Maket vs

Not: Tüm bu malzemeleri elektronik parça satan yerlerde bulabilirsiniz yada şu ve bu adreslerden internet üzerinden güvenle sipariş edebilirsiniz. 🙂

Ayrıca eğer zamanım bol diyorsanız Çin’den de Aliexpress vasıtasıyla getirtebilirsiniz. Daha uygun fiyata gelecektir. 

Şasenin Hazırlanması

Sizinde gördüğünüz üzere oldukça basit bir şasesi var hatta aradaki profilleri kaldırarak servoları dikte yapıştırabilirsiniz altta olduğu gibi. Tamamen size kalmış isterseniz bunu farklı şekillere sokabilirsiniz mesela peluş bir köpeğin içine yerleştirirsiniz lazeride gözüne falan takarsınız hem hareket eden bir köpeğiniz hemde kedi oyun lazeriniz olmuş olur falan filan işte tamamen size kalmış 🙂

Kedi Oyun Lazeri Devre Şeması

Ben lazeri tetiklemek için npn koydum ancak eğer siz isterseniz normal bir anahtar koyarak ta açıp kapayabilirsiniz..

Yazılım

Bu modülle çalışabilmek için bir kütüphaneye ihtiyaç duymuyoruz.

Bu proje çok farklı şekillerde yapılabilir. Geliştirmeye açık bir proje şuan sadece arduino kendince kordinatlar bulup servoya yolluyor isterseniz buna bir bluetooth modül bağlayarak telefonunuzdan kontrol edebilirsiniz (şu yazımızda bluetooth ile servo kontrolünü anlatmıştık.)tamamen size kalmış ipucu benden yapması sizden 🙂 Eğerki yapamadık derseniz de bize ulaşın yardım edelim sitede sergileyelim projenizi 😉

// DONANIM PLUS ELEKTRONİK
// MODİFİKASYON TOLGA SOYTEPE
// KEDİ OYUN LAZERİ
// 2019
#include <Servo.h>

Servo dikey; 
Servo yatay;
int lazer=2;

void setup() { 
  dikey.attach(4);
  yatay.attach(3); 
 pinMode(lazer,OUTPUT);
 digitalWrite(lazer,HIGH);
}

void migrate(Servo &amp;myServo, int newPos) {
  int wait=random(30,60); //Biraz daha yapay zeka görünmesi için beklemeleri rastgele seçtik
  int pos = myServo.read(); //Mevcut servo durumunu oku
  if (pos < newPos) { 
    for (int i=pos; i < newPos; i++) {
      myServo.write(i);
      delay(wait); 
    }
  } else { 
    for (int i=pos; i > newPos; i--) { 
      myServo.write(i);
      delay(wait);
    }
  }
}
    
  
void randomPosition() {
  int rand=random(40,120); // Kediyi zorlamamak açısından yatay servoyunun hareket derecesini kısıtladık
  migrate(yatay, rand);
  
  rand=random(90,135); //Aynı şekilde dikey servoyuda
  migrate(dikey, rand);
}
   
void loop() { 
  randomPosition();
  delay(2000);
}


Projede kullanılan yazılım kodlarını buradan indirebilirsiniz .

Bir yazının daha sonuna geldik umarım faydalı olmuştur anlamadığınız veya kafanıza takılan yerler olursa yorumda veya kişisel sosyal medya hesaplarımdan ulaşabilirsiniz. Konu ile ilgili video eğer istenirse en kısa sürede yazıya eklenecektir. Kolay gelsin 🙂

Yazar Tolga Soytepe

Ara sıra yazılımcı :)

Yorumlar (2)

Yorum Yap
  1. Merhaba Tolga bey. Yazılarınızı sürekli takip ediyorum çok güzel anlatıyorsunuz bizi bu güzel bilgileriniz ile aydınlattığınız için teşekkür ederim. Size sormak istediğim yazınızda projelerinizden bahsedin yardım edelim demişsiniz bir proje üzerinde çalışıyorum ama takıldığım bir kaç nokta var acaba rica etsem yardımcı olabilir misiniz ?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

ARDUİNO İLE JOYSTİCK MODÜLÜ KULLANARAK ÇİFT SERVO KONTROLÜ

WinRaR’da 14 Yıllık Önemli Bir Bug Bulundu