Makale Yazımı Notlarım

Makale Yazımına dair notlarım ve kaynaklarımı bu yazıda bulabilirsiniz.

Yerli araştırma siteleri:

Yabancı araştırma siteleri:

Araçlar :

Videolar

İyi bir literetür Taramsı:

 

Sınavlara nasıl bakmalı? Nasıl Çalışmalı?

Birazcık sınavlar hakkımdaki düşüncemden bahsedeceğim bu yazımda. Hayatımız boyunca Allah azze ve celle tarafından sürekli imtihan edildiğimizi ve her daim ümit var olmamız gerektiğini hatırlatayım. Kısa bir süreliğine imtihan ayetlerinden biriyle baş başa bırakayım siz değerli okurumu:

Andolsun ki sizi biraz korku ve açlık; mallardan, canlardan ve ürünlerden biraz azaltma (fakirlik) ile deneriz. (Ey Peygamber!) Sabredenleri müjdele! (Bakara – 155)

Kısa bir tefekkür ve müjde sonrası gelelim şu okul sınavlarına. Sınavsız bir sistem söz konusu değil hayatta sınav demek öğrenilmiş ilmin tescillenmesi demek. Beşikten mezara kadar öğreniyorsak sınav olacağız ve olmalıyız. Sınava girmiyorsanız ya öğrenmiyorsunuzdur yada tescilletmiyorsunuzdur.

Peki ya giriyorsak: bir şeyler biliyor olmamız gerekiyor. Ya canım sıkıldı birde şu sınava gireyim değil şunu biliyorum ve seviyemi tescillemek istiyorum.

Sınav varsa sorular var demektir yazılı, sözlü, duygusal veya faliyetsel ve cevapları da yazılı, sözlü, duygusal veya faliyetsel olacaktır. Odaklanılması gereken sınavın kim tarafından,  nerede, ne zaman ve hangi türde (yazılı, sözlü) yapıldığı değilde sınavın kapsamıdır.  Kapsama bakarsınız, kendinize bakarsınız zaten sonuç üç aşağı beş yukarı bellidir.

Burada asıl değerli olan konu beşikten mezara olan öğrenmedir. Siz bir konuyu sadece belli şartlar altında öğrendiyseniz o şartların dışında o bilginiz neredeyse* bir hiçtir. Sınavı yapanlar ilminizi ölçmek istediği için durum özel şartları olabildiğince az olan (veya çıkmış sorulardan farlı özel durumları olan) sorular soracaktır.

Çıkmış soruları öğrenerek geçmiş bir hayat, dersin sadece sınavda çıkacak konusuna çalışmış bir öğrenci, ah ne yazık… boşa geçmiş seneler.

Zararın neresinden dönersek kardır. Durun ve hayat resminden uzaklaşın ve büyük resmi anlamaya çalışın. Bu güne kadar resmin nerelerini tamamlamışsınız ve eksikler nerede görmeye çalışın.

Hiç mi özel koşullu öğrenmeyeceğiz derseniz?: evet hiç. Öğrenme genel olmalıdır zaten soruların ve problemlerin çoğu özel şartlar altında oluşur. Sorun çözerken durum özel (spesifik) bilgiler öğrenmiş olacaksınız hayatta ama hedef hep genele hakimiyet sağlamak olmalı.

Sınava nasıl çalışmalı (?)

Bunun cevabı basit: ilmi, hafife almadan sistematik bir şekilde tahsil etmeli insan. Rotasını çizmeli rehberini aramalı (iyi bir insan veya iyi bir kaynak), bulmalı ve öğrenmeye başlamalı.

Peki nelere çalışayım ? (yine kötü bir soru) :

Konuyu biraz çalışın, etrafında dolanın, ondan sonra nelerin önemli oluğunu ve problemlerin irdelenmesi için gereken noktaların neler olduğunu kendiniz çıkarta bileceksiniz /bilmelisiniz.

Bir örnek vereyim: 3,5 veya10 yıl boyunca XXX(KPSS,YGS,ALES, DGS) gibi bir sınava çalışmış bir öğrenci neden sonuc elde edemez? Çünkü planları hep kısa vadelidir ve büyük resmi görememiştir.

Birde sihirli değnek hala icat edilmedi. Hala arıyorum bulursam sizede yazarım 🙂

*: becerebilen benzetimi kullanır yürüye biliyorsa yürür.

Qt 4.8 i yükleme

Bu yazımda qt 4.8 versiyonu için platform kurulumunu anlatacağım. Öncelikle Qt bir frameworktur, Qt Creator ise bir Geliştirme Ortamıdır (IDE). Framework ile Qt creator verisyonunu karışrımamanız için örnek vereyim: Framework 5.10 versiyonunda iken birlikte kurulan Creator ise 4.5 versiyonunda. (5.9 frameworkte Creator 4.3 geliyor).

İndirme sayfasına gidip open soruce versiyonunu seçebilirsiniz. Online installeri (15 mb) kullanıp kurum esnasında birkaç versiyon kurabileceğiniz gibi bir versiyonu barındıran offline installerleride(2.5 gb) (tavsiye ederim) indirebilirsiniz.

5.9 Yükleme

5.9 u indirin ve yükleyin. (5.10 da tercih edilebilir).

Yüklerken görseldeki gibi seçimleri yapın. (Derleyici olarak MinGW kullanıyor olacaksınız)

Yüklenecekler

Yüklenecekler

Error: Yükleme esnasında bir hata oluştu ise Windowsunuzun tüm güncellemelerini yapıp tekrar deneyiniz. (Online yükleyicide her denemenizde tekrar baştan indireceği için ben oflineı tavsiye ederim)

4.8.6 Yükleme

Qt nin downloads arşivine gidip qt/4.8/4.8.6 klasörüne gidip qt-opensource-windows-x86-mingw482-4.8.6-1.exe (336 mb) yi inirebilirsiniz(bu verisyon mingw lidir ben onu tercih ediyorum).

4.8.6 yükleme yolu ve MinGW linki

4.8.6 yükleme yolu ve MinGW linki

C:\Qt\5.9 in yanına C:\Qt\4.8.6 klasörüne kurulumu gerçekleştiriyoruz.

  • Mingw nin yerini soruyor, üsttede indirme linkini veriyor linke tıklayıp inirimeyi yapıp 7zip programı ile zip doyasını C:\mingw32 klasörüne çıkartın.
  • sonra qt kurulumuna tekrar dönüp next diyerek devam edin.

Yükleme tamamlandı ise şudurumda güncel Bir qt frameworkü güncel bir creator ve qt 4.8.6 fremavorküne sahipsiniz demektir.

Ypılması gereken Qt Creatore eski versiyon bir qt frameworkü (4.8.6) eklemektir.

Qt dökümnında Checking Build and Run Settings başlığı altında anlatıldığı gibi

  • Qt Version
    • Tools > Options > Build & Run > Qt Versions > Add a tıkla
    • Browse deyip C:\Qt\4.8.6\bin\qmake.exe yi seç.
    • Version Ayarları

      Version Ayarları

  • Compailer tanımlamalarını yapacağız.
    • Tools > Options > Build & Run > Compilers > Add etıkla MinGw yi seç ve C++ yi seçip
    • Name alanına “MinGW 4.8 C++” ve path alanına C:\mingw32\bin\g++.exe ekle ve apply de.
    • Tools > Options > Build & Run > Compilers > Add etıkla MinGw yi seç ve C yi seçip
    • Name alanına “MinGW 4.8 C” ve path alanına C:\mingw32\bin\gcc.exe ekle ve apply de.
    • Compiler Ayarları

      Compiler Ayarları

  • Kit
    • Tools > Options > Build & Run > Kits > Add e tıkla.
    • Name alanına “4.8.6 Kit” yaz
    • Compiler alrında C ve C++ için eklediğiniz compilerları seçin
    • Qt Versiyonu için ayarladığınız verisyonu seçin
    • Kit Ayarları

      Kit Ayarları

İşlem bitti şimdi yeni bir proje oluşturalım.

Hımm direk proje oluşturmak için daha bir yöntem bulmadım ama Welcome > Example sekmesindeyken verisyonu 4.8.6 yaparsanız 4.8.6 örnekleri gözükecektir.

4.8.6 için örnek projeler

4.8.6 için örnek projeler

Siz onları 4.8.6 ile configüre ederek o fremawork ile derleyebileceksiniz.

4.8.6 örnek proje Konfigürasyonları

4.8.6 örnek proje Konfigürasyonları

Yazının eksikleri:

  • Debugger ayarlarına bakmak gerekebilir: Kit’te farkettiyseniz debugger için farklı mingw seçiliydi.
  • 5.10 sürümünde hatalar çıkabilir.
  • 4.8.6 da yeni proje oluşturmak için template bulunmalı. (Examplenin biri alıp modifiye edilebilir.)

Hayattan Notlarım

Bu yazıda dikkatimi çekken notlar bulunmaktadır. Zamanla güncellenecektir.

  • Susuzluk su içtiğin için değil Allah c.c. istediği için geçer. Su sadece vesiledir.
  • Evladını okullarda (ana okulları,kreşler, …) yetiştirenlerin sonu huzur evleri olacaktır.

Heroku.com ‘a nodejs web uygulaması yükleme

Bu yazıda heroku sitesine nodejs ile yazmış oluğumuz web sayfasını yükleyeceğiz.

Heroku  a girip üye olunuz (mail ve şifrenizi kullancaksınız unutmayın). Heroku Command Line Interface (CLI) Programını indirelim ve kuralım.

Bir web sayfası yazmış olmalıyız deploy etmek için. Örnek hazır bir uygulama yıda indirp kullanilirsiniz.

  • package.json dosyası bulunmalı. (npm node js için gerekli)
  • Procfile olmalı: web uygulamsı olduğunu ve ana js dosyasının adını yazıyorsunuz.

Komut istemi (cmd) açıp projemizin olduğu dosya gidelim.

  1. npm install diyetek node modüllerimizi yükleyelim.
  2. heroku login diyerek heroku.com mail ve şifremizle giriş yapalım.
  3. “heroku create projeismi” diyelim. ve heroku nun dashbordundanda göreceğimiz projemizi projeismi yerine yazdığımız isimle göreceğiz. (max 5 proje)
  4. https://projeismi.herokuapp.com/ | https://git.heroku.com/projeismi.git
  5. şeklinde iki link çıkıyor karşınıza biri git linki diğer web sayfanınızın domain linki.
  6. “git init” deyip giti klasörde başlatalım.
  7. heroku git:remote -a projeismi deyip git ile heroku projemize bağlanalım.
  8. sonraki yüklemelerinizde yüklemelinizde (git pull heroku master) yapmnız gerekebilir
  9. “git add .” diyerek tüm yeni dosyaları ekleyelim.
  10. git commit -m “first”  deyip commitleyelim.
  11. ve son hamle : “git push heroku master”

Olası Hatalar:

  1. Web sayfanızda hata varsa yine konsola “heroku logs” yazarak logları görebilirsiniz.
  2. Port numarasını direlk yazmak yerine aşağıdaki gibi yazın. Deploy edince 80 portu üzerinden hizmet versin.
    • http.listen(process.env.PORT || 8080, function(){
      console.log(‘listening  port 8080’);
      });

Güncelleme için komutlar :

  • heroku login
  • heroku git:remote -a projeismi
  • git add .
  • git commit -m “first”
  • git push heroku master

Faydalanılan Linkler:

  • https://www.youtube.com/watch?v=AZNFox2CvBk
  • https://devcenter.heroku.com/articles/git
  • https://devcenter.heroku.com/articles/getting-started-with-nodejs#deploy-the-app

 

 

Esp8266 Programlama (Arduinoyla)

Bu yazımda yakın zamanda kullanma ve programlama tecrübesi edindiğim  esp8266 isimli Wifi modülünün programlamlanmasından bahsedeceğim.

http://benlo.com/esp8266/ESP8266-ESP01.jpg

Çipler ya tek sefer programlanabilr özelliktedir yada tekrara tekrara programlanabilirler. Esp8266 çok gez programlanabilri çiplerden yani bir flash belleğe sahip. Tıpkı bir Arduino- Waspmote kartı özünde mikrodenetleyiciler hepsi gibi programlamak mümkün.

Örenk iki senaryo üzerinden anlatayım :

  1. Bir arduinoya yazdığınız program Seri haberleşme sonucu aldığı komutu icrada edebilir. Mesela “{Yak,Led1}”, “{Sondur,Led1}” , {Ölç, SIcaklık} şeklinde örneklendirlecilecek bir programda tasarlanabilir.
  2.  Sadce led yakacaksanız Bu kadar komut içeren bir sistemi kullanmak yerine daha basit, özelleştirilmiş ve kullanışlı bir sistem geliştirmek mükündür. Bu senaryodada ona bir örnek verelim. Ledleri digital çıkışlara bağladığınızı düşünürrsek “{PinNo, Durum}” şeklinde basit bir komut sistemi oluşturabiliriz. Bunu ebnf ile ifade edersek uno için {  (1|2|3|4|5|6|7|8|9|10|11|12|13 , (0|1)  } şeklinde olabilir. Örn: {1,1} Digital 1 pinindeki ledi yakacaktır.

Senryo 1 de örnekleri verilmiş olan komutlar arttırlılarak tüm sistemin yönetilmesi mümkündür. Fakat ihtiyacınız özelse bu komplexlikten kurtamak anlamlı labilir sistemi. Bunuda senaryo 2 ile örneklemeye çalıştım.

Gelelim esp8266ya. Esp8266 satın alındığında genelde her donanımın yönetilmesinde ve yapılandırılmasında kullanılan AT komutlarıyla kontrol edilebilecek bir şekilde programlanmış olarak geliyor. Ve standart RX-TX bağlantısını yaparak At komutları üzerinden çalıştırabiliyorsunuz. Bu genel ve komplex kullanımdan kurtulmak isteyenler ise modülle At komutları üzerinden konuşmaktansa direk programlamayı tercih ediyorlar

Esp8266 modülü ve en popiler kütüphanenin kullanımı gitbook.com da krzychb takma adlı kullanıcı tarafından hazırlanmış kılavuz   yeni kılavuz da anlatılmış. Bizde bu yazıda aynı projenin (Github da barınıdırılan esp8266/Arduino projesin) derlenmesinden ve kullanılmasından bahsedeceğiz.

  1. Derleme ve yazılım geliştirme ortamının hazırlanması,
  2. Programlama için donanımsal hazırlıkların yapılması,
  3. Geliştirilen yazılımın yüklenmesi

şeklinde 3 ana başlıkta açıklanacaktır.

Derleme ve yazılım geliştirme ortamının hazırlanması

Programlama için Arduino IDEsinin kullanımı tercih edilmiş ve uygun geliştirmeler yapılmış o yzüden bizde arduino idesi üzerinden ilerleyeceğiz. IDE’nin Son sürümünü buradan indirebilirsiniz. Son sürümle denemeniz tavsiye olunur. Sürüm değiştikçe geliştirmeler yapıldığı için eski sürüm kullandığınızda uyum problemi yaşayabilirisiniz.

IDE’ ye esp8266 yı programlamak için gerekli kart ve kütüphane tanımlamalrının yapılması gerekiyor. Fakat bu iş gerçekten kolaylaştırılmış.

IDE’yi açıp Dosya-> Tercihlere tıklayıp Ek devre kartları Yöneticisi URL’leri yazan kısıma projenin README.md sinde yazan Boards Menager linkini: http://arduino.esp8266.com/stable/package_esp8266com_index.json kopyalayıp yapıştırıyoruz. Tamam diyerek seçeneklerden çıkıyoruz.

Yine Araçlar-> Kart -> Kart Yöneticisi ne tıklayarak açılan listeden esp8266 by ESP8266 Comunity yazan kart setini bulup Kur butonuna basarak yüklüyoruz.

Programlama için donanımsal hazırlıkların yapılması

Genel olarak modüller farklı modlarla başlatılmak istendiğinde (buna farklı yetkiler veya programlama modu örnek verilebilir) donanımsal olarak bazı pinlere farklı gerilim bağlantıları yaparak başlatılması gerekir.

Esp8266 da ise programlama moduna geçebilmek için donanımsal ololarak yapılması gerekenler:

  1. 3.3 V u arduinoda 3.3 volta bağlayın
  2. RX ‘i RX e
  3. TX i TX e
  4. Gnd yi Gnd ye
  5. Ch_PD yi 5 Volta
  6. GPIO_0’ı GND ye
  7. Arduinonun üzerindeki (esp8266’nın reseti değil) reset bacağı gnd ye bağlanmalı (bu sayede arduino devre dışı kalır. Wifi programlanır).

Bağlamanız gerekli. Tüm bağlantıları yaptıktan sonra 3.3 volt gücü çekip tekrar takarsanız modül programlama modunda çalışacaktır. Ve arduinodan program yükleyebileceksiniz. Program yüklendikten sonra direk çalışmaya başlayacaktır. Programlama yapmadan çalıştırmak isterseniz GPIO_0’i gnd bacağından çıkartmalısınız.

alıntı : http://www.electroschematics.com/11276/esp8266-datasheet/

Esp8266 pin Diyagramı

Geliştirilen yazılımın yüklenmesi

Yükleme için donanımsal atarlamlaır yaptığınızı var sayarak devam ediyorum.

  • Araçlar-> Kart -> Sekmesinden Generic ESP8266 Modüle kart olarak seçilmelidir.
  • Port kımında ise arduino ile programlayacağımız kullancağımız arduinonun ilişkili olduğu com port seçilmelidir.

Klavuzdaki örnek program yeni_program veya Blink.ino örneği yüklenebilir. Yükleme aynen arduinoya yüklermiş gibi derle ve yükle butonuna basılarak yapılmaktadır.

 

Güncelleme:

1.0.1:  kılavuz ve program linki güncellendi. uyarısı için okuyuma teşekkürler.

SauRo Akıllı Araba (Android – Arduino RC Araç)

SauRo Akıllı Araba bir Eğitim ve Gömülü Sistem Tanıtım Projesidir.

Özet
Bu proje bir SauRo eğitim projesi olarak gerçekleştirilmiş ve ürünün üniversite öğrencilerine gömülü sistemin tanıtımı için kullanılacağı ön görülmüştür. Bu kapsamda Android işletim sistemi yüklü akıllı telefonlar için uygulama geliştirilmiştir. Telefon hareketi algılanarak RC-Jip ‘e (oyuncak jip) bluetooth aracılığıyla komutlar gönderilerek aracın hareketi sağlanmıştır. Çarpma korumalı, kademeli yön ve hız kontrollü, bir araç geliştirilmiştir. Stant görevlisi yetki vermeden yani RFID (Öğrenci kimlik) kartını aracın üzerinde bulunan RFID kart okuyucusuna okutmadan araç ziyaretçi (öğrenci) tarafından kullanıma geçmeyecek şekilde tasarlanmıştır.

Aracın ve Uygulamanın Görüntüsü

Aracın ve Uygulamanın Görüntüsü

Üretilme Sebebi
Araç, Sakarya Üniversitesi Elektrik elektronik topluluğu olarak eğitim faaliyetlerimize farklı bir bakış açısı getirmek amacıyla başlatılan eğitim projesi kapsamında üretilmiştir. Üniversite öğrencilerine gömülü sistemin tanıtımı amacıyla stantlarda kullanılmak üzere tasarlanmıştır.

Kapsam

Uygulama projesi kapsamı belirl enirken üretilecek ürünün gömülü sistemin tanıtımı için kullanılacağı göz önünde bulundurulmuştur. Bu amaçla günümüz üniversite gençliğine hitap edeceğini düşündüğümüz, stantlarımızda kişilerin kendi akıllı telefonlarıyla kullanabilecekleribir RC araç üretilmiştir.

Üst Soldan itibaren: RFID, Bluetooth, Lipo Pil Orta Soldan itibaren: Ultrasonik Sensor, Servo Motor, Arduino Mega 2560, LCD, DC Motor, Ultrasonik Sensor Alt Soldan itibaren: Motor Sürücü

Üst Soldan itibaren: RFID, Bluetooth, Lipo Pil
Orta Soldan itibaren: Ultrasonik Sensor, Servo Motor, Arduino Mega 2560, LCD, DC Motor, Ultrasonik Sensor
Alt Soldan itibaren: Motor Sürücü

Gömülü sistem eğitimi Arduino ü zerinden verildiği için Merkezi Yönetim Birimi olarak Arduino Mega 2560 Kartı yani ATmega 2560 ter cih edilmiştir. Bunun yanı sıra:

Donanımsal olarak ,

  • Neredeyse her akıllı telefonda bulunan bluetooth modülü sayesinde kontrol edilebilen bir RC araç geliştirilmiştir. Bluetooth iletişimi için HC06 modülü kullanılmış ve B u modülle AT komutları kullanılarak ay arlar yapılmış ve Kullanıcı bilgileri elde edilmiştir.Donanımsalserial ile haberleştirilmiş akıllı tel efondan gelen hareket komutları modül aracılığı yla alınıpArduino megadaişlenmiştir.
  • Stantlarda tanıtım esnasında görevlinin kontrolünü kolaylaştırmak amacıyla RFID (RFID- RC522) modülü kullanılm ıştır. Üniversite kimlikleri sayesinde stant görevlileri yetkilendirilmiştir.
  • Ekip üyelerinden birine a it olan RC-Jipin arka motor haricindeki tüm aksam sökülmüş ve Şekil 2’de ki modüller monte edilmiştir.
  • Aracın üzerinde bulunan DC yön motoru Servo motor ile değiştirilmiştir. Bu sayede kademeli bir dönüş sağlanmıştır.
  • L298N Motor sürücü entegresi içeren sürücü kartı kullanılarak aracın kendi DC motoruna kademeli ileri-geri hareket özelliği kazandırılmıştır.
  • 2 Adet HC-SR04Ultrasonik mesafe sensoru aracın ön ve arkasına 1 adet olmak üzere yerleştirilmiştir. Testler sonucunda aracın çarpmadan kullanılabilmesi için uygun mesafeler tespit edildi. Mesafe ölçümleri doğrultusunda kumandadan bağımsız çarpmayı önleyici kontroller gerçekleştirilmiştir.
  • LCD panel kullanılarak aracın durumu hakkında bilgi verilmiştir.
  • Akıllı telefonların pozisyon bilgisini elde edebilmek için telefonlarda bulunan sensorler kullanılmıştır.

Yazılımsal olarak,

  • Akıllı telefon (Android işletim sistemli) tarafında sensorler yardımıyla telefonun Y ve Z düzlemindeki derecesi algılanarak aracın hareketi için komutlar gönderecek yazılım geliştirilmiştir. Bu yazılım sayesinde RC aracımıza on kademe sağa, on kademe sola
    Mobil cihazın X,Y,Z ordinat sistemindeki görüntüsü

    Mobil cihazın X,Y,Z ordinat sistemindeki görüntüsü

    olmak üzere yön verilmiştir. Yine onar kademe olmak üzere ileri ve geri hız ayarı yapılabilmektedir.

  • Ekip çalışmalarını kolaylaştıran Uzak Git Deposu kullanılarak proje geliştirildi. Tam testlerin soncunda proje Özgür yazılım olarak Git sistemi üzerinden erişime açılacaktır.
  • Araç üzerindeki tüm kodlamalar Arduino IDE’si ile geliştirilmiştir. Nesneye Dayalı Programlama metodolojisi kullanılmıştır.

ihtiyaçları karşılanmıştır.

Otonomluk

  • Araç güç verildikten sonra bluetooth aracılığıyla uzaktan bağlanılıldığında kullanıla bilmektedir. Proje kapsamında kullanılan RFID üzerinden yetki sistemi sürücü açısından otonomluğa zarar veriyor gibi gözükse de aslında çok sayıdaki stant görevlisinin yetkilendirilebilmesi açısından bakıldığında otonumluğa katkısı görülecektir.
  • Aracın Ultrasonik sensorler ve bu sensorlerin yazılımsal olarak ileri-geri motor kontrolüne yani hız kademesine müdahalesi sayesinde ön ve arkadan olası çarpmalara karşı önce yavaşlatılması ve gerektiğinde durdurulması sureti ile korunması sağlanmıştır.
  • Lcd panel aracılığıyla aracın durumu hakkında kullanıcıya anlık bilgi verilmektedir. Bu sayede cihaz bluetooth bağlantı durumu, stant görevlisi yetki durumu, aracın hızı ve yönü ile alakalı bilgiler kullanıcıya sunulmuştur.

Yenilikçilik

  • Kumanda olarak akıllı telefonların kullanılması ve yine buton kontrolü yerine sensörler aracılığıyla kontrolün gerçekleştirilmesi.
  • Uygulayarak öğrenme projesi olması.

Dayanıklılık

  • Kullanılan modüllerin tamamı endüstriyel standartlarda fabrika üretimi modüller (kartlar) olup sadece kablolar aracılığıyla birbiriyle haberleştirilmiştir.
  • Kablolamada tanıtım amaçlı olduğu için sabit kablolar yerine modüller arası bağlantı için özel tasarlanmış Jumperler kullanılmıştır.
  • Dayanıklılığı sürdürülebilir kılmak için çarpmaya karşı sensörler ve yazılımsal iyileştirmeler aracığıyla önlemler alınmıştır.
  • RC araç kullanmış olduğumuz projede çarpmalara karşı gerekli önlem alınmış olsa da araç tercih edilirken mümkün oluğunca dış ortam koşullarından: tümsek, engebeli zemin, gibi; etkilenmeyecek yüksek ve süspansiyonlu bir jip tercih edilmiştir.

Maliyet tablosu

Adı Kulanılan adet Birim maliyet (TL) Toplam maliyet (TL)
ATmega 2560 1 150 150
HC-SR04 Ultrasonik mesafe sensoru 2 10 20
L298N Motor sürücülü kart 1 16 16
Servo motor 1 9 9
RC-Jip 1 100 100
RFID-RC522 1 20 20
HC06 bluetooth modülü 1 20 20
Kablolama 7
1450 mA Lipo Pil 1 80 80
Toplam 422

Basitlik

  • Yön kontrolü için değiştirilen servo motorun uyumlaştırması dışında donanımsal olarak kartların kablolama ile birleştirilmesinin dışında bir zorluğu yoktur.
  • Geliştirirmiş olan yazılımın sadece Araç üzerindeki Arduino Mega geliştirme kartına yüklenmesi gerekmektedir.
  • Ziyaretçiler Google Play üzerinden yayınlayacağımız uygulamayı aratarak indirebilecekleri gibi broşürümüzde bulunan kare kod vasıtasıyla da indirebilecekleridir.

Uygulanabilirlik

  • Donanımsal olarak piyasadan alınabilecek her türlü RC araca uygulanabilecek bir mimariye sahiptir. Kısa süreli bir çalışma sonucunda donanımsal olarak araç hazır hale getirilebilecektir.
  • Nesneye dayalı programlama ile geliştirilmiş olan yazılım modüler olarak geliştirilmiştir. Birkaç parametre değiştirilerek farklı hız ve ebatlardaki araçlarda kullanılabilecek hale getirilebilmektedir.

Eğitim Katılımcıları ve Proje Ekibi:

Proje kapsamında Sakarya Üniversitesi Bilgisayar Mühendisliği bölümünden 7, Elektrik-Elektronik Mühendisliği Bölümünden 1, Mekatronik Mühendisliği Bölümünden 3 ve Makine Mühendisliği Bölümünden 1 kişi olmak üzere 12 kişilik bir ekip çalışmıştır.

Rabia KARA
Elif Esra GÖRGÜLÜ
Sümeyye SARIÇAM
Halil İbrahim  ŞEKER
Mehmet KARAKAYA
Hayyam İSLAMZADE
Abdullah Salih BAYRAKTAR
Fatih ARSLAN
Yasemin KARACA
Bilal MAT
Fadime USLU
Yunus Emre KAHVECİOĞLU

Kütüphane Kodlamak Eğitim Serisi (Video Anlatım ve Notlar)

Bismillahirrahmanirrahim. Bir başlangıçsa bu Besmeleyle olsun: Aziz olsun, kolay olsun, hayırlı olsun. Muhataba Selam olsun.

Öncelikle şunu belirtmek isterim ki bu yazıda ve eğitim içeriğinde vaat edilen her şey doğal olarak şuana kadar edinmiş olduğum tecrübelerim ve bilgim dahilinde olacaktır. Sürç-i lisan ederisek affola.

Bu eğitim serisi kapsamında Drawing Dendrogram isimli bir kütüphane kodlayacak, örnek kullanım kodlarıyla birlikte son kullanıcı dokümanı oluşturarak hizmete sunacağız.

Dendrogram Örneği

Kütüphanemiz veri madenciliği ( data maining ) alanında gösterim şekli olarak kullanılan dendrogram’ın c# ortamında çizilmesine yardımcı olacaktır.

 

KazanımSeri sonunda elde edeceğimiz kazanımlardan bahsedersek:

Fikrin ürüne yolculuğu

Fikrin ürüne yolculuğu

  1. Bir Projenin Fikir aşamasından son kullanıcıya sunulması arasında geçen tüm sürecin aktarılması.
  2. Açık kaynak (open source) dünyasına bir adım.
  3. Git sürüm kontrol sistemlerinin öğrenilmesi (Github – SourceTree).
  4. Nesneye dayalı programlamanın standartlarına uygun kodlama.
  5. Projelerin Analiz, Tasarım, Mimari ve Gerçekleştirim kısımlarının anlaşılması.
  6. Artırımsal (çevik) kodlamanın öğrenilmesi. ( Giriş seviyesinde görmüş olduğum en büyük problem ).
  7. Programlama temellerinin öğrenilmesi, kütüphaneleri kullanma becerisini geliştirme, algoritma geliştirme.
  8. Analiz.
  9. Tasarım (Kağıt kalem çalışmak).
  10. Seri boyunca kullanılacak olan teknoloji ve araçları tanıma olanağı.

Daha fazla söz etmeden sizi Seri ile başa bırakmak isterim: Görüş, öneri ve uyarılarınızı gerek e-mail gerekse yorum aracılığıyla iletmeniz işleyişi iyileştirecektir.

İyi seyirler.

Git projelerini commit bazlı nasıl takip edebileceğinizi bu_videodan (5:28 dk’lık) öğrenebilrisiniz.

Not: Ayrıntılar Zamanla Eklenecektir. Kodlara ve Hazır olan eğitim videolarına asağıdaki linklerden ulaşabilirisiniz.

Linkler:

Github kod deposu : https://github.com/AbdullahBay/DrawingDendrogram

Youtube Seri Linki: Oynatma Listesi: Kütüphane Kodlamak ( Dendrogram c# )

BitBucket ve SourceTree ile Ekip olarak kodlamak

Bitbucked nedir?

Genelde kod paylaşımı ve ekip çalışmalarında ortak bir havuz oluşturmak için kullanılan depolama sistemlerinden biridir. Tabi paylaşmak istediğiniz yazı, tanıtıcı dokuman, ders dokumanı gibi şeyleride paylaşmak mümkün.

Ekip çalışmalarında projeyi yönetmek için kullanacağınız araçlar sayesinde tek bir proje ekip olarak çalışmayıda mümkün kılar.

Neden Bitbucket derseniz :

  • 5 kullanıcıya kadar ücretsiz ekip kurabilme,
  • Projelerinizi gizli olarak geliştirebilme,
  • En az 5 farklı ekip kurabilme (tecrübe)- Her ekibe 5 kişi :),

özellikleri benim tercih sebebim oldu.

Bitbucket’e aşağıdaki linkten üye olunuz:

https://bitbucket.org/

Ve Alttaki linkten yönetim aracını indiriniz.

http://www.sourcetreeapp.com/

Kurulum ve kullanım için videoya göz atınız:

Kullanım ayrıntıları

Daha fazla bilgi için :

Bitbucket Dokumanları:

SourceTree Dokumanları:

Genel Git Dökümanları: