Arduino Labirent Oyunu

Arkadaşlar sizler için arduino ile yapılacak devreleri araştırırken yabancı kaynaklı labirent oyunu devresini buldum.İananın sırf bu devreyi yapabilmek için 3D yazıcı aldım.Bildiğiniz gibi devre ürettiğim için 3D yazıcı almak mantıklı geldi bana.Neyse devreye geçelim biz.Aslında devrenin elektronik olarak pek fazla karışık durumu yok gibi.Şöyleki ;

  • 1 Adet Arduino Uno
  • 1 adet HC-05 Bluetooth
  • 2 adet sg90 servo motor

işte tüm elektronik kısım bu kadar.Gerisi arkadaşlar 3d yazıcıdan alınan çıktılar.

 

video

Devrenin çalışması videodan da göründüğü gibi alt kısımdaki 2 servo lu bir makanizma üst kısımda bulunan labirent yolları olan tablayı X ve Y eksenlerinde aşağı ve yukar olmak şartı ile hareket etttiriyor.Ve tabla içinde bulunan boncuk ,deyim ben ona, yollarda hareket ediyor. Hemen elektronik kısmının bağlantısınıda anlatayım arkadaşlar.

HC-05 in 4 adet bacağını kullanacağız bunlar şöyleki;

  • RX
  • TX
  • VCC
  • GND

bağlantısıda arkadaşlar bilindiği üzere

  • RX – TX
  • TX – RX
  • VCC – VCC
  • GND – GND bu şekilde olacaktır.

Servo motorların ise , alt servo motorun sinyal pini 6 , üstteki servo motor pini 7 olacak. Arduino kodlarında bize gerekli olan tek kütüphane Var SpeedServo Kütüphanesidir arkadaşlar.Gerekli olan dosyayı buradan indirebilirsiniz. – https://github.com/netlabtoolkit/VarSpeedServo

devreşeması

malseme şeması

 

labirent devre şeması

uygulama

Telefona direkt buradan indireceğimiz .apk dosyasını telefona yüklüyoruz ve uygulamayı açmadan devreye enerji vererek başta telefonun bluetooth bölümünden hc-05 e bağlınıyoruz.Sonra uygulamayı çalıştırarak tekrar hc-05 e bu sefer uygulamadan bağlanıyoruz. indirilecek dosya:Labirent Oyunu Telefon Dosyası

arduino

#include <VarSpeedServo.h> //include the VarSpeedServo library
VarSpeedServo pitchServo; //create VarSpeedServo objects for pitch and roll
VarSpeedServo rollServo;
const int svsp = 10; //speed setting for VarSpeedServo SlowMove
const int pitchHm = 97; //set so the maze pitch direction is level
const int rollHm = 90; //set so the maze roll direction is level
int pitch;
int roll;
void setup() //setup runs one time
{
// Open serial communications-via bluetooth
Serial.begin(9600);
pitchServo.attach(6); //attach servos to pins
rollServo.attach(7);
pitchServo.slowmove(pitchHm, svsp); //Home servos to start
rollServo.slowmove(rollHm, svsp);
delay(200);
}
void loop() //loop repeats forever
{
// if there's any serial available, read it:
while (Serial.available() > 0) {
// look for the next valid integer in the incoming serial stream:
pitch = Serial.parseInt();
// do it again:
roll = Serial.parseInt();
if (Serial.read() == '\n') break; // look for the newline. That's the end of your read
}
//keep angles under 15 degrees
pitch = constrain(pitch, -15, 15);
roll = constrain(roll, -15, 15);
//move servos to pitch and roll angles
pitchServo.slowmove(pitchHm - pitch, svsp); // change - to + if pitch is backword
rollServo.slowmove(rollHm + roll, svsp);
delay(70); // let slowmove do its thing
}
Orjinal Yazılım Dosyası:labirentprog
Adsız
3D yazıcıdan çıktı almak için gerekli dosya yı buradan indiriniz.3D Yazıcı Dosyası
malzemeler
İlk başta 3D yazıcıdan çıktıları alalım arkadaşlar sonraki işlemler şöyle;
İlk başta bağlantı aparatlarını bir birlerine yönleri ters olacak şekilde m3 vidalarla bağlayalım göürüntü şöyledir.
bağlantı aparatı
Arduinonun kablo bağlantılarını yaptıktan sonra yuvasına takalım ve yuvanın üzerine alt servo tutucuyu silikon yardımı ile birleştirelim.
arduino yuıvası
Üst tablanın cetvel yardımı ile orta noktasını bulalım ve üst servo tutucu ile birleştirelim.
tabla
Son olarak alt kısım ile üst kısımı birlerştirerek üst resimde bulunan sağ alttaki foto gibi görüntü elde edelim.
Evet arkadaşlar bir projenin daha sonuna geldik inşallah anlaşılır bir şekilde aktara bilmişimdir.
Projenin kaynağı : http://www.instructables.com/id/3D-Printed-Maze-Controlled-by-Your-Android-Device/
son hali
20160703_132311
20160703_132254
20160703_132358

HOŞ GELDİNİZ

Youtube kanalıma Abone Olabilirsiniz.