Practice-It! Java dilini öğrenirken en büyük yardımcım.

İnsanlar için dil öğrenmek zordur. Çalışmayı, azmi ve belki de en önemlisi size destek olacak unsurları gerektirir. Aynı şekilde bilgisayar dünyası içerisinde de bu dil öğrenme zorlukları geçerli oluyor. Özellikle ilk programlama dili öğrenme çabanız oldukça zor bir sürece dönüşebiliyor. Daha sonraki farklı bilgisayar programlama dillerinde bu süreç muhakkak ki kısalıp kolaylaşıyor.Lakin farklı bir dünyaya düşüp bu dünyada konuşmayı öğrenmeye çalıştığımız ilk sefer gerçekten zor olabiliyor. Zira insan yaratılışı da aynı şekilde işlettirilmiş. Konuşmayı ilk öğrenme işlemi senelere yayılırken devamında ekstra lisanları daha kolay bir şekilde hafızamıza alabiliyoruz.

Ancak burada bir fark var. Bulunduğumuz dünyadaki insanî lisanları öğrenirken çevremizden sürekli dürtü alır ve destekleniriz. Yanlışlarımız düzeltilir, yeni bilgiler aktarılır çevremiz tarafından bizlere. Yalnız bilgisayar dilinde bu durum söz konusu değil. Tamamen yalnızsınız ve konuşmaya çalıştığınız kişi çok potansiyelli dahi olsa duygusuz ve akılsız bir makine. İşte bu bloğu yazma sebebim de tam olarak bu.


Practice-It Washington Üniversitesi hocaları tarafından kurulmuş bir site. Bu site Java diline yeni başlayan öğrencilerin kodlarını yazıp aynı zamanda kodlarının doğruluğunu test etmenize imkan tanıyor. Terimsel tabiri ile bir Online Compiler.  Kod yazmak kolay. Herhangibir İde(eclipse, jGrasp v.b.) hatta not defteri dahi buna imkan sağlıyor. Ancak kodunuzu test etmek veyahutta kod yazmanızı sağlayacak bir problem bulmak buradaki en büyük problem. İşte Practice-It sitesi içerisinde barındırdığı 1800 den fazla problemle sizi adım adım bu dilde geliştiriyor. Bu sorular Üniverste hocaları veyautta alanda yetkin kişiler tarafından hazırlanmış.

Öncelikle sitede kodunuzu yazabilmek için bir hesap oluşturmanız gerekiyor. Kullanıcı adınızı ve kurumunuzu seçerek(Üniversite, Lise v.b.) hesabınızı oluşturuyorsunuz. Daha sonra size kolaydan zora doğru verilen birçok problemi çözmek kalıyor. Ancak güzel olan bunu yaparken kodun tamamını yazmaya ihtiyacınızın olmaması. Problem sizden yalnızca sorduğu kısmı yapmanızı talep ediyor. (Bir algoritma ya da bir function...) Bu şekilde yazdığınız kodu compile edebilmek için gerekli diğer kısımları kendi hallediyor tabiri caiz ise. Ben çok faydalandım sizlerin de faydalanmasını çok isterim.

 

(NOT: 2016 senesinde yazdığım bir yazıymış. Yayınlamamışım her nedense. O dönemde dilim biraz ağır geldi bugün okuyunca açıkçası 🙂 Faydası olması ümidiyle. HAYIRLI GÜNLER)

 

#JAVA #Yazılım #Eğitim #BilgisayarMühendisliği

BeğenFavori PaylaşYorum yap

KENDİ KENDİNE PARK EDEN ARAÇ

Arkadaşlar merhaba. Bu yazıda vakit buldukça uğraştığım proje olan, kendi kendine park eden araç nasıl yapılır genel hatlarıyla anlatmaya çalışacağım.

Araştıranlar bilir paralel park için çeşitli metodlar mevcut. Benim kullandığım her ne kadar tam olarak yansıtmasa da Şekil 1 de görünen metoda yakın bir metod.

 

Şekil 1 : Paralel Park Algoritması

Proje kaynak kodlarını vermeyeceğim. Algoritmasını yani nasıl bir yol izlemeniz gerektiğini anlatacağım. Projeye başlayan arkadaşlar takıldıkları yerde ulaşabilirler.

      Proje Gereksinimleri

  • Arduino Uno R3 Mikrodenetleyici
  • DC motor
  • HC-SR04 Ultrasonik Mesafe Sensörü
  • L9110S Motor Sürücü
  • LM393 Kızılötesi Hız Sensörü
  • SC90 9g Mikro Servo Motor
  • Model Araç
  • Arduino IDE

Saydığım malzemelerden aşina olmayacağınız bir LM393 IR sensör olabilir. Onu da kısaca açıklayayım:

Bir ışık kaynağı ve bir fotodiyottan oluşmaktadır. Işık kaynağından diyota ışık gelince çıkış ucu bir olmaktadır. Projede bir enkoder çark ile beraber aracın tekerleğinin ne kadar döndüğünün hesaplanması için kullanılmıştır. Çıkış ucu her 1 olduğunda sisteme kesme göndermektedir. Böylece çark dönerken mikrodenetleyici başka işler de yapabilmektedir. Hız sensörü ve enkoder çark Şekil 2 ve Şekil 3 te gösterilmiştir.

Şekil 2 : Enkoder Çark                                   Şekil 3 : LM393 IR Hız Sensörü

 

Sensör Yerleşimi

Şekil 4 : Sensör Yerleşimi

Durum Diyagramı

Şekil 5 : Durum Diyagramı

Durum 0  

  • Başlangıç durumudur. Aracın ortasında yer alan ölçüm biriminden alınan uzaklık verisi belli bir mesafenin altında olduğu sürece bu durumda kalınacaktır. İstenen uzaklık bulunduğu anda sistem “Durum 1” durumuna geçiş yapar.
  • Orta mesafe sensöründen sürekli ölçüm yapılacaktır. Eşzamanlı olarak düz-ileri hareket edilecektir. Sensör verisi 15 cm’den küçük olduğu sürece “Durum 0” durumunda kalacaktır.

Şekil 6 : Durum 0

Durum 1 

  • Şekil 7 de kırmızı çizgiyle gösterilen uzaklık 15 cm den büyük olduğu sürece mesafe ölçme işlemi yapılacaktır.
  • Yeterli mesafe bulunursa Durum 2 ye geçiş yapılacaktır.
  • Eğer mesafe yeterli değilse park edemeyeceği için final durumu olan Durum 7 ye geçecektir.
  • Eğer istenirse son duruma gidilmeyip, başlangıç durumuna geçilerek park yeri aranmaya devam edilebilir.

Şekil 7 : Durum 1

Durum 2

  • Durum 2 ye geçilmişse park yeri bulunmuş demektir.
  • Bu durumda araç bir süre sol-ileri gidip Durum 3 e geçiş yapmaktadır. (Eğer aracın dönüş açısında problem varsa bu yolu izleyiniz. Aksi durumda Şekil 1 de gösterildiği gibi düz devam ediniz.)

Şekil 8 : Durum 2

Durum 3

  • Durum 3, aracın parka ilk adımı olup, park alanına girmeyi sağlar. Bu durumda araç tam  sağ yapıp geri gelir.
  • Arka uzaklık sensöründen alından veri 25 cm den küçük olduğu sürece sağ geri gelme işlemi devam eder. 25 sayısı zorunlu değildir. Aracın içeriye girdiğini teyit amaçlı verilmiştir.
  • Şart sağlandıktan sonra Durum 4 e geçiş yapılır.

Şekil 9 : Durum 3

Durum 4

  • Bu durum parkın ikinci aşamasıdır.
  • Sol arka mesafe sensöründen okunan değer 7 cm’den büyük olduğu sürece bu işlem devam eder.
  • İşlem boyunca sol-geri hareket edilir. Şart sağlanınca Durum 5 e geçilir.

Şekil 10 : Durum 4

Durum 5

  • Durum 5 te araç artık park alanına girmiştir.
  • Park alanına paralel hale gelmesi için ön mesafe sensöründen okunan uzaklık değeri 6 cm’den küçük olduğu sürece sağ-ileri hareket edilir.
  • Bu durum tamamlandıktan sonra Durum 6 ya geçilir.

Şekil 11 : Durum 5

Durum 6

  • Bu durum park için son adımdır.
  • Aracın yola tam paralel olması için sol geri geldiği durumdur.
  • Bu durumda çeşitli yollar izlenebilir.
  • Bunlardan biri ön mesafe belli bir değerden büyük olduğu sürece sol-geri gelinmesi.
  • Bir diğeri ise arka ve ön mesafe eşit olana kadar sol-geri gelinmesi olabilir.
  • Projede iki de denemiştir. İkinci durum daha iyi sonuç vermiştir.

Şekil 12 : Durum 6

Durum 7

  • Durum 7 parkın bittiği durumdur.

 

Park yerinin uygun olduğu durum:

Park yerinin uygun olmadığı durum:

Okuduğunuz için teşekkürler. Umarım aklınıza takılan tek nokta durumların neden birden değilde sıfırdan başladığıdır.

#Arduino #DIY #SelfParkingCar

BeğenFavori PaylaşYorum yap
Önceki yorumları gör 17 / 18

Öğrenciler için teknoloji alanında ucuz veya ücretsiz olan servisler

https://www.eggradients.com/discount-for-students

İçlerinden ücretsiz olan biri de Zeplin( https://www.zeplin.io ) isimli bir servis. Tasarım kolaylaştırıcı bir araç. İstanbul'da kurulup San Francisco'da devam eden 4 kişilik takım.

Student Discounts in Tech

Look at the biggest tech companies today. While the companies were founded, the founders were still in university. Give them a discount. They can handle the rest. Discount for students is important.
BeğenFavori PaylaşYorum yap

İyi Akşamlar Elektronikten anlayan hocalarım varsa bir sorum olacak youtube'da geziyordum adamın biri basit 4 bit bilgisayar yapmış. peki biz bunu yapabilir miyiz, nasıl geliştirebiliriz? #akış #HaberinizOlsun https://www.youtube.com/watch?v=xISG4nGTQYE

Making your own 4 bit computer from transistors

http://www.waitingforfriday.com/index.php/4-Bit_Computer This video explains the theory behind how computers count and shows, in simple steps, how you can bu...
BeğenFavori PaylaşYorum yap

Bursa Barosu’nun düzenlediği erişim yasakları, içeriğin çıkartılması, unutulma hakkı, siber saldırılar, güncel yargı kararları konulu “Bilişim Hukukunun Bilinmeyenleri” paneli Bursa Adalet Sarayı Konferans Salonunda gerçekleşti.

Bilişim hukuku konusunda 1 saatinizi ayırmak isterseniz buyrun izleyin 🙂

Neler konuşuldu? --> https://www.daghan.com/bilisim-hukuku.dgn

https://www.youtube.com/watch?v=KMb_jsrKLl0 #bilişim #SiberGüvenlik #sibersaldırı #bilişimhukuku #akış

Bilişim Hukukunun Bilinmeyenleri

Dağhan Uzgur, Cankat Taşkın katılımı ile Bursa Barosu’nun düzenlediği Erişim yasakları, içeriğin çıkartılması, unutulma hakkı, siber saldırılar, güncel yargı...
BeğenFavori PaylaşYorum yap

Kupa işinin ciddiye bindiğini görünce ben de bir el atayım dedim. Daha önce mobil uygulama için hazırladığım bazı görselleri kupayı düşünerek denedim. Fikirlerinizi belirtin. @gamsizm #teknobardak #teknoseyirkupa #akış

Edit: @serdaracikyol sağolsun kupa üzerine giydirmeyi öğretti 🙂
İstekler üzerine kırmızı tasarımı güncelledim ve içerideki logoyu kaldırdım. Aklına fikir gelen, logo köşeli olsun oval olsun diyen vs. fikir versin alternatifleri çoğaltalım.

Bonus: Fantastik LP ve MG tişörtleri 🙂 HK tişörtü de yolda 😀

BeğenFavori PaylaşYorum yap
Önceki yorumları gör 15 / 101

Arkadaşlar Xiaomi Piston 2 almayı düşünüyorum. Sizce performansı memnun ediyor mu? Bir de bu ürünün de çok fazla sahtesi var mı, orjinalini nereden kolayca bulabilirim? Daha önce Xiaomi powerbank almıştım ve sahte çıkmıştı. Ondan şüpheliyim. #akış #TeknoYardım

BeğenFavori PaylaşYorum yap
Önceki yorumları gör 13 / 32

Yurtdışından alışveriş yapan dostlar sizin için takibi kolaylaştıracak siteler; Buyrun
» https://www.aftership.com (Telefon Uygulaması da var)
» http://www.17track.net/tr (Telefon uygulaması da var)
» http://global.cainiao.com/ (Aliexpress ve Çin'den gelen kargolar için)
» http://www.pts.net/ptstrack.php (Amazon vs.. gelen kargolar için Yurtiçi)
» https://www.i-parcel.com/ (Amazon vs... kargolar için Yurtdışı)
» https://tools.usps.com/go/TrackConfirmAction_input (Bu firma ile gelen kargolar için Yurtdışı)
» http://www.trackitonline.ru/?service=track (Bunu tavsiye ederim 🙂 )
» http://www.xfl-express.com/ (Çinden bazen bu firma ile göderim yapabiliyorlar )
» http://www.postnl.post/tracktrace (Hollanda postası kargo takibi için)
» http://directlinktrackedplus.com/multipletrack-client2.php (İsveç postası kargo takibi için)
» https://www.packagetrackr.com/ (Bunu da tavsiye ederim 🙂 )
» http://gonderitakip.ptt.gov.tr/ (Çinden gelen kargolar memlekete girince buradan takip ediyoruz)
» http://www.trackntrace.com.sg/ (Sinagapur Post 🙁 bu firmayı görünce kanım çekiliyor )
» https://www.aramex.com/express/track.aspx (Amerika'dan gelen kargolar için)
» http://intmail.183.com.cn/zdxt/yjcx/ (ChinaPost ile gelen gönderiler için)
» http://www.trackingcourier.com/china-post-tracking (ChinaPost ile gelen gönderiler için)

Android Uygulamalar;
» https://play.google.com/store/apps/details?id=com.aftership.AfterShip
» https://play.google.com/store/apps/details?id=de.orrs.deliveries
» https://play.google.com/store/apps/details?id=com.metalsoft.trackchecker_mobile
» https://play.google.com/store/apps/details?id=yqtrack.app
» https://play.google.com/store/apps/details?id=com.uberblic.parceltrack
» https://play.google.com/store/apps/details?id=com.deniz.android.kargotakibi
» https://play.google.com/store/apps/details?id=com.yurticikargo.android
» https://play.google.com/store/apps/details?id=com.kardelenyazilim.pttpostasorgulama
» https://play.google.com/store/apps/details?id=com.bildirbana.bikargomvardi

Bu post güncel kalacak 🙂 #akış #postatakip #alışveriş #tracking

BeğenFavori PaylaşYorum yap