KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Benzer belgeler
Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur.

PROJE RAPORU. Proje adı: Pedalmatik 1 Giriş 2 Yöntem 3 Bulgular 6 Sonuç ve tartışma 7 Öneriler 7 Kaynakça 7

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş

BİLGİSAYAR BİLİMİ DERSİ (KUR-2)

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Elif İLİKSİZ. Keziban TURAN. Radio Frekanslarla Hareket Eden Araç

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ ELEKTRONİK SİSTEMLER LABORATUVARI 1

Mikroişlemciler ve Mikrodenetleyiciler

KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ MÜHENDĠSLĠK FAKÜLTESĠ BĠLGĠSAYAR MÜHENDĠSLĠĞĠ BÖLÜMÜ

Örnek. int analogpin = 3; int val = 0; void setup() { Serial.begin(9600); } void loop() { val = analogread(analogpin); Serial.

BİLGİSAYAR BİLİMİ DERSİ ROBOT PROGRAMLAMA ÜNİTESİ

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ TASARIM PROJESİ

Arduino Uno ile Hc-Sr04 ve Lcd Ekran Kullanarak Mesafe Ölçmek

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

KARABÜK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK PROJE UYGULAMASI

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

İÇİNDEKİLER VII İÇİNDEKİLER 1 ARDUINONUN TEMELLERİ 1

ALİ ÇETİNKAYA Tuğba SARAY DERS DANIŞMANI PROF. DR. MEHMET BAYRAK

1- KULLANILACAK DEVRE ELEMANLARININ TANITILMASI

Arduino Temel Bilgiler

4-Deney seti modüler yapıya sahiptir ve kabin içerisine tek bir board halinde monte edilmiştir.

Melih Hilmi ULUDAĞ. Yazılım Mühendisi Mekatronik Mühendisi. a aittir.

UniGSM Arduino SHIELD (UniGSM-A) KURULUM ve KULLANIM KİTAPÇIĞI

İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak

LED YAKMAK. Circuit 2. Kablo LED. Direnç. Arduino LED. Direnç (330ohm)

KARABÜK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ

Yedi Karat Kullanım Klavuzu. Yedi Karat nedir? Neden Karat?

KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ MÜHENDĠSLĠK FAKÜLTESĠ BĠLGĠSAYAR MÜHENDĠSLĠĞĠ BÖLÜMÜ CAFE ARDUINO PROJESĠ TASARIM PROJESĠ SÜMEYRA AKSEKĠ KÜBRA DEMĠRKOL

KARABÜK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ PROJE : SUMO ROBOTU PROJE RAPORU

IR Modülü. Kart Özellikleri Çalısma Frekansı: 38KHz Mesafe: 6 Metre Çalısma Voltajı: 3.3-5V Kart Boyutları: 20 mm x 20 mm

Mikroişlemciler (EE 208) Ders Detayları

ARDUINO NEXTION UYGULAMASI. Bu makale, Arduino UNO kartı ile Nextion HMI ekranlarının nasıl kontrol edildiğini anlatmaktadır.

Fırat Üniversitesi DENEY NO: 5 GÖMÜLÜ SİSTEM PROGRAMLAMA

DOKUMANLAR

void setup() fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız.

S50 Parmak izi Cihazı Kullanım Kılavuzu. S50 Genel Tanıtım

Program AkıĢ Kontrol Yapıları

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ TASARIM PROJESİ

Paralel ve Seri İletişim. Asenkron/Senkron İletişim. Şekil 2: İletişim Modları

3 YIL GARANTĠ YÜKSEK KALĠTE SERİ KUMANDA KUTUSU RPB

SÜLEYMAN DEMİREL ÜNİVERSİTESİ TEKNİK EĞİTİM FAKÜLTESİ MEKATRONİK EĞİTİMİ BÖLÜMÜ BİLGİSAYAR DESTEKLİ İMALAT SERVO VE STEP MOTORLAR

DC motorların sürülmesi ve sürücü devreleri

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ MÜHENDĠSLĠK FAKÜLTESĠ. TASARIM PROJE ÇALIġMASI

INVT IVC1. -Kompakt Tip PLC. Marketing 2014 HM

Şekil-1. Dr. Özgür AKIN

Bilgisayar ile Nasıl İletişim Kurulur?

MEHMET AKİF ERSOY ÜNİVERSİTESİ EĞİTİM FAKÜLTESİ BİLGİSAYAR VE ÖĞRETİM TEKNOLOJİ- LERİ ÖĞRETMENLİĞİ PROJENIN ADI

ARDUİNO TEKNOLOJİSİ KULLANILARAK TARLA İÇİN RADYASYON KAPI KONTROLÜ TASARIMI RADIATION DOOR CONTROL DESIGN USING ARDUINO TECHNOLOGY FOR TARLA

2019

Çizgi İzleyen Robot Yapımı

T.C. KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ. Mühendislik Fakültesi PIC PROGRAMLAMA İLE ROBOT KOLU KONTROLÜ BİTİRME ÇALIŞMASI

Model BLW-210PI

T.C. RC SERVO MOTOR KONTROLÜ

Bilgisayar Mühendisliği Bölümü. BİL Proje II

2. Malzemeler: Bu bölümde size verilecek malzemeler anlatılacaktır ve montaj yaparken dikkat etmeniz gereken hususlar belirtilecektir.

İÇERİK YÖNETİM SİSTEMİ KULLANMA KILAVUZU

ELEKTRİKSEL EYLEYİCİLER

DENEY-2. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

Şekil XNOR Kapısı ve doğruluk tablosu

Mikroişlemciler ve Programlama Dersi- ARDUINO. Sensörler ve Analog-Digital Çeviriciler İle Çalışma

TEZSİZ YÜKSEK LİSANS PROJE ONAY FORMU. Eğitim Bilimleri Anabilim Dalı Eğitim Yönetimi, Denetimi, Planlaması ve Ekonomisi

KARADENĠZ TEKNĠK ÜNĠVERSĠTESĠ MÜHENDĠSLĠK FAKÜLTESĠ BĠLGĠSAYAR MÜHENDĠSLĠĞĠ BÖLÜMÜ RENKLERĠ AYIRT EDEN ROBOT KOL TASARIMI TASARIM PROJESĠ

Robotik AKTUATÖRLER Motorlar: Çalışma prensibi

YENİLENEBİLİR ENERJİ KAYNAKLARI RÜZGAR ENERJİSİ SİSTEMLERİ Eğitim Merkezi Projesi

BİLGİSAYAR PROGRAMLAMA

STROBE - Doğrusal Akım Ayarlı

DENEY 6: FLİP-FLOP (BELLEK) DEVRESİ UYGULAMALARI

YILDIZ TEKNIK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKULTESİ ELEKLTRONİK VE HABERLEŞME MÜHENDİSLİĞİ BÖLÜMÜ

Akış Kontrol Mekanizmaları

RTX 6A-BX RF Uzaktan Kumanda

MTM 305 MĠKROĠġLEMCĠLER

ROBOTECH-10 ARDUINO UYGULAMA KARTI. SENSÖR ve ROBOT TEKNOLOJİLERİ GELİŞTİRME KARTI

BLUETOOTH KUMANDA KONSOLU ĐLE KONTROL EDĐLEN ROBOT KOLLU PALETLĐ MOBĐL ARAŞTIRMA ROBOTU

ESNEK ALGILAYICI KONTROLLÜ ANĐMATRONĐK EL UYGULAMASI FLEXIBLE SENSORS CONTROLLED ANIMATRONIC HAND APPLICATION

BAŞKENT ÜNİVERSİTESİ MAKİNE MÜHENDİSLİĞİ BÖLÜMÜ MAK 402 MAKİNE MÜHENDİSLİĞİ LABORATUVARI DENEY 11 ELEKTRİK MOTOR TORKUNUN BELİRLENMESİ

Online Elektronik Devre Simülasyonu 123D Circuits

KONTROL VE OTOMASYON KULÜBÜ

TÜBİTAK 2209-A ÜNİVERSİTE ÖĞRENCİLERİ YURT İÇİ ARAŞTIRMA PROJELERİ DESTEK PROGRAMI ENDÜSTRİYEL ROBOT KOL KARABÜK ÜNİVERSİTESİ MEKATRONİK MÜHENDİSLİĞİ

Q-scout ne işe yarar?

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ TASARIM PROJESİ

5.24. TAVUK KÜMESLERİ İÇİN SULAMA OTOMASYONU

RF Mikroelektroniği (EE 433) Ders Detayları

Servo Motor ile 2-Eksenli Robot Kolunun Kontrolü

web-sitesi : satış : teknik destek : tel : IM-SMO20 Ultrasonik Mesafe Sensörü Özellikler

ARDUİNO PROGRAMLAMA 1.ARDUİNO YU TANIMAK

Bu yazımızda arduinodaki mpu6050(6 eksenli jiroskop-ivme sensörü), hc-05(bluetooth sensörü) aracılığıyla c# taki serialport1 i haberleştireceğiz.

Adım Motoru: açıya adım. Şekil 8.2 tekyönlü. Lab 8. Siyah (A) Mavi ( B ) Kırmızı (B)

Robot Bilimi. Robot Aktüatörler (Çıkış Elemanları, Uygulayıcılar) Öğr. Gör. M. Ozan AKI. r1.0

BÖLÜM Mikrodenetleyicisine Giriş

Q-P 50 B KULLANIM KILAVUZU

BAŞKENT ÜNİVERSİTESİ SAĞLIK BİLİMLERİ FAKÜLTESİ BESLENME VE DİYETETİK BÖLÜMÜ. BESLENME ve DİYETETİK UYGULAMALARI YÖNERGESİ

FBs-serisi. Programlanabilir Kontrol Cihazı. Kullanım Kitabı - II [ İleri Düzey Uygulamalar. Önsöz, İçerik. FBs-PLC Interrupt Fonksiyonu 9

T.C. KARABÜK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ RENK AYIRT EDEBİLEN ROBOT KOLU BİTİRME TEZİ

idea Kontrol Kartı (idea Board jv2.1) Kullanım Kılavuzu

5-14 KURULUM AYARLARI CALIŞMA FONKSİYONLARI MEKANÝK KURULUM ARIZA DURUMLARI GÜVENLÝK UYARILARI TEKNÝK ÖZELLÝKLER

T.C. SAKARYA ÜNİVERSİTESİ ADAPAZARI MESLEK YÜKSEKOKULU WEB TABANLI VERİ TABANI UYGULAMASI YÖNLENDİRİLMİŞ ÇALIŞMA. Enes Al 1027.

Transkript:

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ UZAKTAN KONTROLLÜ YÜRÜYEN ROBOT KOL TASARIM PROJESİ Fatma Betül GEDİK Gamzegül SAVAŞ 2015-2016 GÜZ DÖNEMİ

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ UZAKTAN KONTROLLÜ YÜRÜYEN ROBOT KOL TASARIM PROJESİ Fatma Betül GEDİK Gamzegül SAVAŞ Bu projenin teslim edilmesi ve sunulması tarafımca uygundur. Danışman : Yrd. Doç. Dr. Bekir DİZDAROĞLU... 2015-2016 GÜZ DÖNEMİ

IEEE Etik Kuralları IEEE Code of Ethics Mesleğime karģı Ģahsi sorumluluğumu kabul ederek, hizmet ettiğim toplumlara ve üyelerine en yüksek etik ve mesleki davranıģta bulunmaya söz verdiğimi ve aģağıdaki etik kurallarını kabul ettiğimi ifade ederim: 1. Kamu güvenliği, sağlığı ve refahı ile uyumlu kararlar vermenin sorumluluğunu kabul etmek ve kamu veya çevreyi tehdit edebilecek faktörleri derhal açıklamak; 2. Mümkün olabilecek çıkar çatıģması, ister gerçekten var olması isterse sadece algı olması, durumlarından kaçınmak. Çıkar çatıģması olması durumunda, etkilenen taraflara durumu bildirmek; 3. Mevcut verilere dayalı tahminlerde ve fikir beyan etmelerde gerçekçi ve dürüst olmak; 4. Her türlü rüģveti reddetmek; 5. Mütenasip uygulamalarını ve muhtemel sonuçlarını gözeterek teknoloji anlayıģını geliģtirmek; 6. Teknik yeterliliklerimizi sürdürmek ve geliģtirmek, yeterli eğitim veya tecrübe olması veya iģin zorluk sınırları ifade edilmesi durumunda ancak baģkaları için teknolojik sorumlulukları üstlenmek; 7. Teknik bir çalıģma hakkında yansız bir eleģtiri için uğraģmak, eleģtiriyi kabul etmek ve eleģtiriyi yapmak; hatları kabul etmek ve düzeltmek; diğer katkı sunanların emeklerini ifade etmek; 8. Bütün kiģilere adilane davranmak; ırk, din, cinsiyet, yaģ, milliyet, cinsi tercih, cinsiyet kimliği, veya cinsiyet ifadesi üzerinden ayırımcılık yapma durumuna giriģmemek; 9. YanlıĢ veya kötü amaçlı eylemler sonucu kimsenin yaralanması, mülklerinin zarar görmesi, itibarlarının veya istihdamlarının zedelenmesi durumlarının oluģmasından kaçınmak; 10. MeslektaĢlara ve yardımcı personele mesleki geliģimlerinde yardımcı olmak ve onları desteklemek. IEEE Yönetim Kurulu tarafından Ağustos 1990 da onaylanmıģtır. II

ÖNSÖZ Bu projenin amacı Arduino ile çalıģan ve bilgisayar programı ile kontrol edilen robot kolun yapım aģamalarını ve özelliklerini tanıtmaktır. Öğrenim hayatımız boyunca desteklerini esirgemeyen ailelerimize ve danıģmanımız Sayın Yar. Doç. Dr. Bekir DĠZDAROĞLU na teģekkür ederiz. Fatma Betül GEDĠK Gamzegül SAVAġ Trabzon 2015 III

İÇİNDEKİLER Sayfa No IEEE ETĠK KURALLARI II ÖNSÖZ III ĠÇĠNDEKĠLER IV ÖZET V 1. GENEL BĠLGĠLER 1 1.1. GiriĢ 1 1.2. Arduino 1 1.2.1. Arduino Kart Özellikleri 1 1.2.2. Arduino Kart ÇeĢitleri 1 1.2.3. Arduino Mega 2560 2 1.2.4. Arduino Uno 3 1.3. Elektrik Motorları 5 1.3.1. Motor ÇeĢitleri 5 1.3.2. Servo Motorlar 5 1.3.3. DC Motorlar 6 1.4. RF HaberleĢme 7 2. YAPILAN ÇALIġMALAR 7 2.1. Robot Kol Tasarımı 7 2.2. Robot Kol Kullanıcı Arayüzü 9 2.3. Arduino Programlanması 10 3. DENEY SONUÇLARI 13 4. ÖNERĠLER 14 5. KAYNAKÇA 15 STANDARTLAR ve KISITLAR FORMU 16 IV

ÖZET Robot kol, insanın kol fonksiyonlarından esinlenmiģ mekanik bir yapıdır. Biz buna bir cismi tutma ve baģka bir yere bırakma eylemlerinin yanı sıra, yürüme eylemi de ekleyerek bilgisayar yardımıyla kontrol edilebilmesini hedefledik. Projemizde robot kol tasarımının yapılması ve onu yürütebilecek bir mekanizma yaptık. Proje için gerek duyulacak ekipmanlar ve bu ekipmanların genel bilgilerini tanıttık. Proje için gerekli olan mekanik parçaların kodlarını Arduino IDE ortamında programladık. Kullanıcı arayüzü programımızı ise Visual Studio ortamında C# dilini kullanarak programladık. Kullanıcı arayüzünde, tasarladığımız robotumuzun resmi bulunmaktadır. Bu resimde, hareketi sağlayan eklem kısımlarının üzerine butonlar yerleģtirdik. Bu butonlar yardımıyla, kullanıcı robot tekerlerini sürebilecek ve robot kolunu hareket ettirebilecek bir ortam sağlamıģ olduk. Bilgisayar ile mekanik robot kolun haberleģebilmesi için RF haberleģme tekniğini kullandık. Alıcı olarak Arduino Mega 2560 ve verici olarak Arduino Uno seçilmiģtir. V

1 1. GENEL BİLGİLER 1.1. Giriş Projede gerekli olan yapılar aģağıdaki baģlıklar Ģeklinde açıklanabilir. Arduino Mega 2560 Arduino Uno RF HaberleĢme Modülü Servo Motor DC Motor DC Motor Sürücü 4 Adet Teker Kol Ġçin Gerekli Aliminyum Parçalar Akü ve Adaptör Jumper Kablolar Kullanıcı Arayüzü 1.2. Arduino Arduino, açık kaynak kodlu bir uygulama geliģtirme platformu diyebiliriz. Hazır gelen kartı ve editörü (Arduino IDE) sayesinde yazılım ve donanımın birleģtirilebildiği uygulamalar gerçekleģtirilebilir. 1.2.1. Arduino Kart Özellikleri Arduino kartlarında bir Atmel AVR mikrodenetleyici bulunur. Programlama ve diğer devrelere bağlantı için gerekli yan elemanlardan kartın üzerinde mevcuttur. Her kartta en azından bir 5 voltluk regüle entegresi ve bir 16MHz kristal osilator mevcuttur. 1.2.2. Arduino Kart Çeşitleri Arduino Duemilanove Arduino Diecimila Arduino BT (Bluetooth) Arduino Esplora Arduino Due Arduino Leonardo Arduino LilyPad Arduino Mega 2560

2 Arduino Mega ADK Arduino Mini Arduino Nano Arduino Pro Mini Arduino Uno Arduino Yún Görüldüğü üzere pek çok kart çeģidi mevcuttur. Her birinin kendine göre avantajları, dezavantajları ve kısıtlamaları vardır. Biz projemiz için Arduino Mega 2560 kullanacağız. 1.2.3. Arduino Mega 2560 54 adet GiriĢ/ÇıkıĢ (I/O) pini mevcuttur. Bu pinlerden 14 tanesi PWM olarak kullanılabilmektedir. 16 analog çıkıģ, 4 UART (donanımsal seri port), 16 MHz kristal osilatör, USB bağlantısı, voltaj giriģ bağlantısı, ICSP bağlantısı ve reset tuģu mevcuttur. Arduino Mega 2560 seçmemizdeki temel sebeplerden bir tanesi PWM pinlerinin çokluğudur. Kullanılacak motorların çokluğu ve maliyette göz önünde bulundurulduğunda en iyi performansı sağlamak adına bu kartı tercih ettik. PWM (Pulse Width Modulation- Sinyal GeniĢlik Modülasyonu) sinyal iģleme, sinyal aktarma gibi iģlemler için kullanılan bir tekniktir. Arduino, PWM sayesinde dijital iģaretlerden analog iģaretler elde edebilir. Ayrıca kare dalga üretimi de gerçekleģtirilebilir. ġekil 1.2.3.1. arduino mega 2560 kartı

3 ġekil 1.2.3.2. arduino mega 2560 pin bağlantıları 1.2.4. Arduino Uno Arduino Uno ATmega328 mikrodenetleyici içerir. 14 tane dijital giriģ/çıkıģ pini mevcuttur. Bu pinlerden 6 tanesi PWM olarak kullanılabilmektedir. 6 tane analog giriģi, bir tane 16 MHz kristal osilatörü, USB bağlantısı, ICSP baģlığı ve reset butonu bulunmaktadır. Bu kartı yalnızca verici yerine kullanmak dıģında, bir donanımsal ve yazılımsal uygulamanın birleģtiği projelerde de kullanılabilir.

4 ġekil 1.2.4.1. Arduino Uno kartı ġekil 1.2.4.2. arduino uno kartı pin bağlantıları

5 1.3. Elektrik Motorları Elektrik enerjisini mekanik enerjiye dönüģtüren cihazlardır. En genel haliyle; elektrik motorları biri sabit (Stator) ve diğeri kendi çevresinde dönen (Rotor ya da Endüvi) iki ana parçadan oluģmuģtur. 1.3.1. Motor Çeşitleri AC Motorlar DC Motorlar Step (adım) Motorlar Servo Motorlar Motorların en genel haliyle sınıflandırılması bu Ģekilde yapılabilir. Biz projemizde 2 adet DC motor ve 6 adet servo motor kullandık. 1.3.2. Servo Motorlar DüĢük devirlerde bile kararlı çalıģabilen, hız ve moment kontrolü yapan motorlardır. Servo motorlar da step motorlar gibi sürücüye ihtiyaç duyar ve bu sürücüler servo motorlarda tümleģik olarak bulunur. Robot teknolojisinde en çok tercih edilen motor çeģididir. Servo motor içerisinde AC, DC veya Step motorlardan herhangi biri bulunmaktadır. Yükü, konumunda tutabilmek için yeteri kadar tork sağlayabilir. KodlanmıĢ sinyaller sayesinde açısal olarak döndürülebilmektedirler. Servo motorlar kendi içerisinde 2 çeģittir. AC Servo Motor DC Servo Motor Biz projemiz için 3 adet MG996 ve 3 adet MG995 servo motor kullandık. Motor seçiminde maliyet/performans açısından değerlendirme yaptık.

6 ġekil 1.3.2.1. MG995 servo motor 1.3.2.2. MG 996 servo motor 1.3.3. DC Motorlar Elektirik enerjisini, mekanik enerjiye çeviren elektirik makinasına doğru akım motoru denir. Doğru akım motorlarına DA motor veya DC motor denilmektedir. DC motorların yol alma momentleri yüksektir. Devir sayıları ayarlanabilirdir. Dönme yönü değiģtirilecekse rotora uygulanan gerilirim polaritesi değiģtirilerek ( + ve uçlar) bu sağlanabilir. DC motorlar kendi içerisinde 2 çeģittir.

7 Fırçalı DC motor Fırçasız DC motor ġekil 1.3.3.1 DC motor 1.4. RF Haberleşme RF(Radio Frequency) iki elektronik cihazın haberleģmesi için kullanılan bir yöntemdir. RF haberleģmede alıcı ve verici devre söz konusudur. Bunları bir veya iki adet mikroiģlemci kontrol eder. Kullandığımız RF modülleri hem alıcı hem verici olabilmektedirler. Projemiz için 2 adet arduino kartı kullanacağız. Verici Arduino Uno kartı, alıcı ise Arduino Mega 2560 tır. 2. YAPILAN ÇALIŞMALAR 2.1. Yürüyen Robot Kol Tasarımı Mekanik yapıda alüminyum aparatlar kullandık. Servo motorların kabloları gerekli açılara uygun biçimde ince kablolar ile alüminyum aparatlara bağladık. Bağlantı için zil telleri kullandık. Robot kolun yönlü hareket sağlayabilmesi için, taban kısmında 2 adet DC motor kullandık. Ön kısımdaki motor yön vermeyi arka kısımdaki motor ise ileri ve geriye doğru yönlenmeyi sağlamaktadır. Robot kolun ucunda bulunan kıskaca hareket veren servo motor 360⁰ dönebilen bir motordur. Bu motoru 360⁰ seçmemizin sebebi, kıskacın farklı açılardaki cisimleri kavrayabilmesini sağlamaktır. Tüm motorlar harici bir akü ile beslenmektedir. Bunun sebebi MG996 ve MG995 servo motorları aģırı yük altında 2,5 ampere kadar akım çekebilmektedir. Arduino Mega veya herhangi bir Arduino serisinde hiç bir pin bu kadar çok akımı verememektedir.

8 DC motorların yönlü kullanımı için bir adet sürücü kullandık. Sürücünün özelliğine değinecek olursak, L293D serisi bir entegre kullanılarak oluģturulmuģ bir karttır. L293D entegresi bağımsız halde 2 ayrı DC motoru ileri ve geri kontrol edebilmeyi sağlamaktadır. Bizim seçtiğimiz motorlar düģük akım çektikleri için bu entegreyi tercih ettik. 1.2 amperlik motorlar için L293B serisi uygundur. Ayrıca, MG996 serisi servo motorlar 6 v ile 13 kg yük kaldırabilmektedirler. Bunun için robot kolun en önemli 3 ekleminde bu motorları kullandık. Ayrıca MG996 serisi MG995 serisi motorların dijital versiyonudurlar. Ġki motor tipide metal diģlilerden oluģmaktadır. ġekil 2.1.1 alüminyum kol ile motorların birleģtirilmesi

9 ġekil 2.1.2 alüminyum kol ile motorların birleģtirilmesi 2.2 Robot Kol Kullanıcı Arayüzü Ara yüzü tasarlarken, kullanıcı dostu, sade bir tasarım gerçekleģtirdik. Tasarımda, Visual Studio editörünü kullanarak, C# diliyle yazılım gerçekleģtirdik. C# kısmında SerialPort u tanıttık. C# ta SerialPort a verilen veriyi, Arduino kendi bünyesinde eģleģtirme yaparak uygun fonksiyonları çalıģtırır. SerialPort a ilgili veriyi verebilmek için butonlar kullanılır. Kısacası bu butonlar robot kolumuzun hareket mekanizmasını yönetir.

10 ġekil 2.2.1. robot kol kullanıcı arayüzü 2.3 Arduino Programlanması Arduino nun programlanması, Arduino IDE ortamında gerçekleģtirilmektedir. Programlama dili ise temelinde Processing diline dayanmaktadır. Bu dil C programlama diline benzemektedir. Arduino Programlama dilinin genel özellikleri: Program yazımı belirli kalıpta, bloklar halinde olur. Bloklar, { } parantezleri ile oluģturulur. Komutlar aynı veya alt alta satırlara yazılabilirler. Tüm komutlar, noktalı virgül (;) ile biter. Yalnız blok baģlatan ifadelerden sonra noktalı virgül kullanılmaz. Programda kullanılan tüm değiģkenler ve bilgi tipleri bildirilir. Programın baģında kütüphaneler aktifleģtirilir/çağrılır. Açıklamalar // ve /* */ (Birden fazla satır için) ile yazılır. #define ile eģdeğer ifade atanır. #include ile kütüphane çağrılır.

11 2 temel kısımdan oluģur. Bunlar: Setup() Loop() kısımlarıdır. setup() kısmında Arduino ya enerji verildiğinde veya yeniden baģlatıldığında setup() fonksiyonu bir defa çalıģır. Bu fonksiyon değiģkenler, pin modları, seri iletiģim, kütüphaneler vb. için kullanılır. loop() kısmında Loop kelimesinin türkçesi döngüdür. Adından anlaģılacağı gibi setup() fonksiyonundan sonra döngü Ģeklinde sürekli çalıģır. Ana program kodları bu fonksiyon içine yazılır. Genel diğer foknksiyonlar: pinmode() Pinleri giriģ veya çıkıģ olarak yapılandırma iģlemi yapar. digitalwrite() ÇıkıĢ olarak ayarlanan pinlerin değerlerini, HIGH veya LOW olarak ayarlar. digitalread() Belirtilen digital pin değerini okur. DC motoru kodlarken 5 fonksiyon kullandık. Bunlar: Ġleri Geri Sağa Sola Dur Fonksiyonlarıdır. Bu fonksiyonları Arduino IDE de doğrudan tanımladık. Çağırımlarını ise loop() içerisinde veri giriģlerine göre yaptık. Daha önce de bahsettiğimiz gibi arduino kodlaması, alıcı ve verici olmak üzere 2 tane olacaktır. RF haberleģme için kendi özel kütüphanesi olan VirtualWire, Arduino IDE de bulunmamaktadır. Bu kütüphane için gerekli dosyaları temin ettikten sonra, Arduino IDE ye ekledik.programlayacağımız alıcı/verici olan 2 arduinomuza;

12 #include<virtualwire.h> kütüphanemizi dahil ediyoruz. Servo motorlarlar için, Arduino IDE de hazır olan kütüphanemizi direk kodumuza dahil ediyoruz. #include<servo.h> Servo motorlarımızı kodlarken 2 dönüģ yönünü hesaba katarak loop() içerisinde veri giriģlerine göre programladık. Servo motor için örnek kod: #include<servo.h> Servo motor1; //motor1 in tanımlanması int pos1; //motor1 in pozisyonunu tutan değer void setup() {... Motor1.attach(çıkıĢpini); //motor1 in çıkıģ olarak verildiği pin numarası... } void loop() {... if((seriporttanokunanmesaj== 19 )&&(pos1<180)) //motor1 in ileri yön mesajı(19) { pos1=pos1+derece; //derece, motor pozisyonunun artırmasını istediğimiz değeri motor1.write(pos1); //iģlemden sonra, kayıt ettiği pozisyon değeri delay(15); //iģlem için bekleme süresi }else if((seriporttanokunanmesaj== 18 )&&(pos1>0))// motor1 in geri yön mesajı(18) { pos1=pos1-derece; //derece, motor pozisyonunun azalmasını istediğimiz değeri motor1.write(pos1); //iģlemden sonra, kayıt ettiği pozisyon değeri delay(15); //iģlem için bekleme süresi }... }

13 3. DENEY SONUÇLARI YapmıĢ olduğumuz yürüyen robot kolu, bilgisayar üzerindeki arayüzümüz ile çalıģtırıp, hareket mekanizmalarını kontrol ettik. Denemelerimiz sonucunda bazı açısal kavramları değiģtirerek, projemizi tamamlamıģ olduk. ġekil 3.1. makara tutan robot kol

14 4. ÖNERİLER Bu tip bir proje yapılacaksa, öncelikle Arduino ile basit uygulamalar yapılması ilk önerimiz olacaktır. Örneğin Arduino kullanarak led yakmak yazım dilini kavramak açısından güzel bir baģlangıç olur. Robotik parçaların pek çok türü mevcuttur. Bu türler hakkında genel bilgilere sahip olmak, böyle bir projeye baģlamadan önce, daha anlaģılır olması açısından faydalı olacaktır. Ayrıca bu projeyi daha da geliģtirmek mümkündür. Örnek olarak, Android/IOS uygulamalar geliģtirilebilir. Uzaktan bağlantı için bluetooth modülü kullanılabilir. Böylelikle robot kol telefon veya tabletler üzerinden de kontrol edilebilir.

15 5. KAYNAKÇA 1. Çağatay Çatal - Yeni Bir Ders Tasarımı: Standartlarla Yazılım GeliĢtirme 2. http://arduinoturkiye.com/arduino-mega-2560-nedir/ 3. http://arduinoturkiye.com/kategori/arduino-cesitleri/ 4. http://cnrgzgz.com/arduino-programlamaya-bakis/ 5. http://elektroteknoloji.com/elektrik_elektronik/teknik_yazilar/_elektrik_m OTORLARiNiN_CESiTLERi_TANiMi_VE_YAPiSi_HAKKiNDA_RESiMLi_BiLGi.ht ml 6. http://kirmiziprob.com/rf-nedir-rf-alici-verici-nedir/ 7. http://www.elektrikport.com/teknik-kutuphane/pwm-(sinyal-genislikmodulasyonu)-teknigi-nedir/11717#ad-image-0 8. http://www.elektrikrehberiniz.com/elektrik-motorlari/dc-motor-nedir-454/ 9. http://www.inverter-plc.net/motor/dc_motorlar.html 10. http://www.robotiksistem.com/arduino_uno_ozellikleri.html 11. http://www.robotiksistem.com/servo_motor_ozellikleri.html 12. https://tr.wikipedia.org/wiki/arduino 13. https://tr.wikipedia.org/wiki/servo_motor

16 STANDARTLAR ve KISITLAR FORMU Projenin hazırlanmasında uyulan standart ve kısıtlarla ilgili olarak, aģağıdaki soruları cevaplayınız. 1. Projenizin tasarım boyutu nedir? (Yeni bir proje midir? Var olan bir projenin tekrarı mıdır? Bir projenin parçası mıdır? Sizin tasarımınız proje toplamının yüzde olarak ne kadarını oluģturmaktadır?) Var olan bir projenin eklemeler yapılmıģ halidir. En az %70 bize aittir. Robot kol tasarımları genellikle mekanik olarak yönetilirler. Ancak biz projemizde hem yürüme fonksiyonu hem de uzaktan kontrol edilebilirlik ekledik. 2. Projenizde bir mühendislik problemini kendiniz formüle edip, çözdünüz mü? Açıklayınız. Hayır. Ancak robot eklemlerinin kaçar derece döneceğini kolların sınırlamasını göz önünde bulundurarak hesapladık. 3. Önceki derslerde edindiğiniz hangi bilgi ve becerileri kullandınız? Robotik dersinden edindiğimiz mekanik bilgileri kullandık. Programlamaya GiriĢ dersinden almıģ olduğumuz C dili sayesinde Arduino programlamayı gerçekleģtirdik. Ayrıca Nesne Yönelimli Programlama dersinin bize katmıģ olduğu temel bilgiler yardımıyla C# programlama gerçekleģtirdik. 4. Kullandığınız veya dikkate aldığınız mühendislik standartları nelerdir? (Proje konunuzla ilgili olarak kullandığınız ve kullanılması gereken standartları burada kod ve isimleri ile sıralayınız). IEEE / EIA 12207 Yazılım GeliĢtirme YaĢam Döngüleri 5. Kullandığınız veya dikkate aldığınız gerçekçi kısıtlar nelerdir? Lütfen boģlukları uygun yanıtlarla doldurunuz. a) Ekonomi Maliyeti göz önünde bulundurarak en iyi performansı veren mekanizmalar kullanmaya özen gösterdik.

17 b) Çevre sorunları: Projemizde çevre için sorun oluģturacak herhangi bir öge bulunmamaktadır. c) Sürdürülebilirlik: Sürdürülebilirlik mekanik parçaların ömrü kadardır. Ancak yerine yenileri ile değiģtirildiği sürece çalıģacaktır. d) Üretilebilirlik: Parçalara eriģim kolaylıkla sağlandığından üretilebilirlik yüksektir. e) Etik: Ürettiğimiz proje herhangi bir etik kurala aykırı değildir. f) Sağlık: Projemiz yüksek seviye radyasyon gibi ıģınımlar içermemektedir. Herhangi kesici veya yaralayıcı parçalar da bulunmadığından, sağlık açısından bir problem oluģturmaz. g) Güvenlik: Projemizi oluģtururken kiģisel alanlara müdahale söz konusu değildir. Bu sebeple program ele geçirilse dahi herhangi bir sorun oluģturmayacaktır. h) Sosyal ve politik sorunlar: Projemiz bu tip sorunlara yol açmamaktadır.