Bu Aralar Nasıl Gidiyor?

Güzel bir başlık oldu çünkü uzun zamandır yazamıyorum, bu yazıda biraz hayatın nasıl gittiğinden bahsedip gideceğim, yakın zamanda tekrar geri döneceğim. Aklımdaki 1-2 projeyi tanıtmakla ve gezilerle başlayacağım tekrar yazmaya.

Yaz tatili bitti ve okul başladı. Yaz boyunca Eskişehir’de çeşitli çalışmalar yapmıştık, şimdi sıra onların meyvelerini yemeye geldi. Okulda, insanları biraz daha şevklendirebilmek için IoT (Internet of Things) grubu adı altına bir küçük ekip oluşturduk ve bu ekip içerisine hızlı bir Arduino eğitimi vermeye başlayarak işimize başladık. Asıl amacımız, gelen insanların Arduino üzerinden neler yapabileceğini görüp, bunları pratik olarak – hobi şeklinde – kendi başlarına gerçekleştirmelerini sağlamak. İlk vizelere kadar, bir set üzerinden devam ettiğimiz Arduino eğitimimizi bitirip vizeden sonra kablosuz haberleşme modülleri üzerine yoğunlaşmayı planlıyoruz.

Kavramları bilenler, işin bu kadar basit olmadığını düşüneceklerdir ama benim ve arkadaşlarımın işi, sıfırdan bir şey geliştirmek değil şu an için. Daha ziyade, bize katılan insanların biraz daha bir şeylerle ilgilenmesi, fikir sahibi olması, proje geliştirmesi. Çünkü üniversitemizde bunun açığını ben ve arkadaşlarım ciddi şekilde hissediyoruz. Her ne kadar mesleki – teorik – bilgiyi bize çok güzel aktarsalar da pratik bilgide sınıfta kalarak biraz eksik bir durumda kalıyorlar. Biz kendi çapımızda, bir nebze de olsun birilerine bir şey katmak için böyle bir çalışma içine girdik. Belki bizim başlattığımız bir kıvılcımın üzerine, bize katılan kişiler bir şeyler katarak ilerde çok daha büyük bir proje ile hayatlarına devam ederler, ve bu da bizi çok mutlu eder.

Onun dışında, 2. sınıf dersleri zormuş. Diyorlardı da inanmıyorduk ama daha hafif hafif başlamasına rağmen güzel güzel zorladı beni. Daha çok çalışmak gerekecek.

Yukarda bahsettiğim gibi yakın zaman da hayata geçirmek istediğim 2 projem var. Birisinin altyapısı bitti ancak maddi kaynak arayışı içindeyiz, diğer için ise biraz daha vakit var gibi. Çünkü sıfırdan öğrenmem gereken şeyler içeriyor ve ben çok vakit ayıramıyorum ona.

Hakan (Ev arkadaşlarımdan biri), eve abisinin eski televizyonunu getirdi ve ev çok farklı bir hal aldı o televizyon sayesinde. Bi de üstüne bugün Lig TV bağlattık, artık tadından yenmez o televizyon, salon farklı bir boyut aldı. Maçlar 5 TL, yiyeceğinizi, çerezinizi kendiniz getiriyorsunuz, çaylar müesseseden.

Son olarak haftaya 15 Ekim’den YFYİ için Ankara’ya, 22-23 Ekim’de ise İzmir’e Roboleague’e gitme planım var. İnşallah oralardan da edindiğim tecrübeler hakkında birer yazı yazacağım.

Ha bu arada yengenizle de aramız çok çok iyi, Allah bozmasın. Şimdi ona “Selamın var mı?” diye sordum, “Var ama kime?” dedi, söylemedim diye trip yiyorum ama olsun, size çok selamı var yani 🙂

Avatar

Yine izlemediğime pişman olduğum bir filmle karşınızdayım. Ve yine tamamen önyargımdan dolayı izlemediğim bir film. Önceki yazılarımda da yazdığım gibi böyle canavarlı falan şeyleri pek sevmiyorum ama son derece güzel bir filmi kaçırmışım diyebilirim.

Avatar‘ı anlatmaya gerek yok, her şeyiyle dünyada marka olmuş, kaliteli bir yapım. Bizim dünyamızla, gerçekte var olmayan bir dünya arasındaki savaş anlatılıyor. Bir program sayesinde geliştirilen Avatar bedenlerine giren insanlar, yerli halkın arasına karışarak bilgi sızdırmaya çalışıyor ama bir yerden sonra işler değişiyor ve savaş tamamen baş gösteriyor.

Film hakkındaki ilginç yorumları okudum. Kimisi Doğu – Batı arasındaki kavgayı anlattığından, kimisi dinsel değerlendirmeleri, tasavvufla bağlantısını açısından, kimisi de filme harcanan paranın gereksizliğinden yakınmış. Ama bence kesinlikle böyle şeyler yok. Filmi ayrıntılı olarak, durdura durdura, sahneleri inceleyerek izlemediğiniz sürece yapılan bu yorumlar bana saçma geliyor. Aynı yorumlar Matrix için de yapılmıştı. Bilinçaltımıza bunların aşılandığı söyleniyor ama ben bu filmi izleyip de “Fil sûresi”nden yola çıkarak dinle olan bağlantısı hakkında bir şey düşünmüyorum, düşünmem de. Bu tarz yorumları bırakın film eleştirmenleri, bu işten para kazanan insanlar yapsın. Biz izlediğimizden zevk almaya bakalım.

Son olarak, kendinizi filme bırakın, film akıp gidiyor zaten. Filmden yıllar sonra bunu demek biraz garip olacak ama izlemeyenler için söylüyorum, izlenesi bir film.

ESP8266 ile Server üzerinde RGB Led Kontrolü

ESP8266 RGB Led Server

Bir önceki NodeMCU ile DHT11 Kullanımı yazımda da belirttiğim gibi ESP8266 kullanarak bir şeyler öğrenmeye devam ediyorum. Bu yazımda ise Arduino‘muza bağlı olan ESP8266 modülü ile server üzerinden, bizim vermiş olduğumuz değerler ile yanacak bir RGB led kontrolü yapacağız.

İnternetteki bir çok kaynaktan bulabileceğiniz server kurma kodlarını yazarak vakit kaybetmek istemiyorum. Ben öncelikle RGB ledim için küçük bir renk fonksiyonu yazarak başlamak istiyorum.

https://gist.github.com/erenkeskin/5ad3207a1ee6db9bb609123233d29951

Bu kodları gerekli yerlere yerleştirdikten sonra geriye sadece RGB led’imiz için değer göndermek kalıyor. Unutmayın! RGB bacaklarınızı PWM sinyali veren pinlere takmalısınız.

Serverdan değerleri almamız için ben GET methodunu kullandım. Sanırım POST methodu ile de yapılabiliyor ama henüz o konuda net bir bilgiye ulaşamadığım için GET methodunu kullandım. Bunun için öncelikle bir HTML formu içerisinde değerler ile göndermemiz gerekli. Gönderme işleminin ardından sayfa adresi “/kirmizi=90&yesil=130&mavi=240” gibi bir hal alıyor. Bizim yapmamız gereken ise bu satırdan sayısal verileri alarak integer’a çevirmek ve ardından bu integer değerleri renkAyarla() fonksiyonuna göndererek ledi yakmak.

C’de URL parçalamak için çok kolay bir yol bulamadım. O yüzden kısmen uzun bir yol izleyerek tek tek parçaladım ve stabil sonuç elde edebildim. Eğer siz daha kısa ve kolay bir yol biliyorsanız benimle paylaşırsanız sevinirim.

Aşağıdaki kodlar ile HTML sayfanızı oluşturup RGB ledinizi kontrol edebilirsiniz.

Loop fonksiyonu içerisinde HTML olarak server yapısı oluşturduğum kod:

https://gist.github.com/e9ded39eaaf7e80900876f5c8650f59b

URL’yi parçalamak (split) ve Led’i yakmak için ise aşağıdaki kodu kullanıyorum.

https://gist.github.com/e3409dd51e52052324916a5d201086b4

Herhangi bir soru ve sorununuz olursa elimden geldiği kadar yardımcı olmaya çalışırım, yorum olarak belirtmeniz yeterli.

NodeMCU ile DHT11 Kullanımı

NodeMCU DHT11

Arduino üzerine 1-2 çalışma yapmıştım ve artık kablosuz haberleşme üzerine farklı şeyler yapmaya çalışıyorum. Bunun içinde en büyük yardımcım ESP8266 modülü oluyor.

Ama Arduino kullanırken şöyle bir sıkıntı çekiyorum. Uno’nun ve Nano’nun hafızaları bazı şeyler için küçük geliyor ve Mega’nın da boyutu yaptığım işler için büyük geliyor. Bunun için hem boyut hem hafızadan kazanç, hem de ESP8266 bağlantısındaki kablo kalabalığından kurtulmak için NodeMCU‘ya geçiş yaptım ve projelerimde onu da kullanmaya çalışıyorum.

Bu yazımda DHT11 Sıcaklık ve Nem sensörünün kullanımı hakkında bilgi vereceğim.

Sensörün özelliği, havanın sıcaklığını ve nemini ölçerek bize ulaştırıyor. Bu verileri belirli aralıklarla yaparak daha net bilgiye ulaşmamıza yardımcı oluyor.

Github sayfama eklediğim repo’da sensörün kullanımına ait detayları anlatmaya çalıştım. Gerekli olan kütüphane dosyası için ve kodu indirmek için aşağıdaki adrese gitmeniz yeterli.

https://github.com/erenkeskin/nodemcu-dht11-nem-sicaklik-sensoru-kullanimi

https://gist.github.com/d5d00dc0d31867e7a63ef8f9c6ed5aa5

Bir sonraki yazımda, DHT11 ile alınmış olan, odamdaki verileri nasıl internet üzerine taşıyarak değerlerini kontrol edebildiğimi anlatacağım.

Matrix Serisi

Tamam, vurmayın.. Ben Matrix serisini de izlememiştim. Evet, bu seri de benim izlemediğime pişman olduğum seriler içerisinde yerini almış oldu. Bunu izlememe sebebim ise tamamen gerçek dışılıklarla alakası olduğunu düşündüğüm içindi ama sonradan zaten filmin içerisinde gerçeği barından bir şey olmadığı hakkında aydınlatıldım. Yazılım üzerine zaten merakım vardı, o merakla da birleşerek, biraz da filmi boş boş değil de anlayarak izledim diyebilirim.

Film, şu anki düşünce yapımı biraz değiştirmiş olabilir aslında. Acaba biz şu an Matrix’demiyiz? Ya her şey tamamen yazılım ile oluyorsa, ya ben bu yazıyı yazarken ben değil de yazılım yapıyorsa, ya ben bu yazıyı yazmayı seçmeseydim… Bazı konular kafamı kurcalıyor diyebilirim, özellik bu seçim konuları. Yaptığım her seçimde ya diğerini seçseydim ne olurdu diye düşünerek kendi içimde mini bir paralel evren yaparak düşünmeye çalışıyorum aslında. Bu da büyük ihtimalle beni bir yerden sonra paranoyaklığa sürükleyecek ama hadi hayırlısı 🙂

Piyasadaki aktörleri gözümün önüne getiriyorum ve Neo’nun yerinde başka birinin oynabileceğini, aynı tadı vereceğini sanmıyorum. Kesinlikle çok güzel bir oyunculuk çıkartmış.

Serinin filmlerinden ise 1. film olağanüstü, 2. film güzel, 3. film ise bence olmasa da olur bir filmdi. Sizde izlediyseniz böyle düşünüyor olabilirsiniz.

X-Men Serisi

Filmler konusunda sanırım biraz önyargıya sahibim. Özellikle zombi filmlerini izlemekten kaçabildiğim kadar kaçarım. Sırf zombileri sevebilmek için The Walking Dead‘e başlayıp sadece 1 sezon dayanabildim ama yine de sevmedim. Aşırı yapmacık ve olamayacak şeyleri anlattıklarını düşünüyorum. Ha diyebilirsiniz ki bilim-kurgu ve fantastik filmleri sevmiyor musun? Hayır, aksine çok seviyorum. Çünkü onların çoğunda bilim-kurgu veya fantastik olduğu belli, hikaye onun üzerine, zaten gerçek olamayacak şeyler, ama zombilerde hep insanlar bi deney sonucu hata yapıyor ve zombi geni çıkıyor, bence tamamen saçmalık.

Her neyse, Aslında ben X-Men serisini sadece Wolverine’den ibaret sanarak izlemiyordum. Ama sonra boş bir vaktimde birden izleme isteğim geldi ve araştırmaya başladım. Filmin kronolojik (yapım yıllarına göre değil, olay akışına göre kronolojik) sıralamasını bularak izlemeye başladım. İzlediğim sıra şu şekildeydi.

  1. X-Men Origins : Wolverine [2009]
  2. X-Men: First Class [2011]
  3. X-Men [2000]
  4. X-Men 2 [2003]
  5. X-Men: The Last Stand [2006]
  6. The Wolverine [2013]
  7. X Men: The Days Of Future Past [2014]
  8. X-Men: Apocalypse

Bu sırayla izlerseniz tüm karakterler, olaylar, gidişat kafanızda oturarak ilerliyor. Bundan sonra çıkacak filmleri de kesinlikle iple çekiyorum ve sinemada izleyeceğim.

Arduino ve Android Telefon ile Bluetooth Kontrollü Araba Yapımı


Bir önceki yazımda yazmış olduğum MIT: App Inventor ile geliştirdiğim bir Android uygulaması ile Arduino kullanarak hazırlamış olduğum arabamı kontrol etmeyi başardım. Yazının içerisinde arabanın çalışma mantığından ve yazılım kısmından elimden geldiğince ayrıntılı olarak bahsetmeye çalışacağım. Arabamız, ileri, geri, sağ, sol, durma, sağ sinyal, sol sinyal, dörtlü yakma ve korna özelliklerine sahip. Bu özelliklerin hepsini bluetooth ile telefonumuz üzerinden kontrol edebiliyoruz.

Daha önceki yazımda sadece entegre olarak elinizde bulunan L288N sürücüsünü nasıl kullanacağınızı anlatmıştım.

2 tekeri Eskişehir’de unuttuğum için şuan fotoğraf ve video ekleyemiyorum. Ama en kısa sürede ekleyeceğim.

Kullandığım komponentler:

  • Arduino Uno
  • HC-06 Bluetooth modülü
  • L298N Motor Sürücüsü
  • 4 adet DC Motor
  • Harici Güç Kaynağı (Pil)
  • Led’ler
  • Jumper kablolar

İlk olarak aracımızın devre şeması ile başlayalım. Benim oluşturduğum aracın devre şeması tamamen aşağıdaki gibidir. Eğer daha çok özellik ekleyerek geliştirmek isterseniz Arduino Mega 2560‘da kullanabilirsiniz. Devre şeması biraz karışık gelebilir, ilk defa Fritzing üzerinden devre çizdim. Bunun hakkındaki sorularınızı yorum olarak belirtebilirsiniz.

Arduino-Android-Telefon-ile-Bluetooth-Kontrollü-Araba-Devre-Çizimi

Arduino Kodumuzu İnceleyelim

Devremizi sıkıntısız şekilde kurduysak aşağıdaki arduino içerisine atarak küçük bir deneme yapalım. Eğer benim gibi motor sürücü kartı değil de motor sürücü modülü kullanırsanız devreniz biraz karışık görünebilir. O yüzden çalışma sırasında küçük sorunlar ortaya çıkabilir, bu deneme kodunu o yüzden çalıştırıp denemeniz sorunlar çözmek için en kolay yoldur. Kodları burada paylaşınca yazılımsal bir sıkıntı ile karşılaştığım için Github Linkleri üzerinden erişim sağlayabilirsiniz.

Github: Araba Motor Sürücü Deneme Kodu

Denedik ve çalışıyor ise artık arabamızı araba yapan kodları içerisine atabiliriz. Benim arabam için kullandığım Pin yapısı devre şemasındakinin aynısıdır, o yüzden kodlar benim devre şemama göre yazılmıştır. Eğer siz pinlerde değişiklik yaparsanız kodların en üst kısmında yer alan kısımdan düzeltebilirsiniz.

Github: Araba Kontrol Dosyası

Son olarak MIT: App Inventor ile oluşturduğum Android uygulamasını telefona kurmanız gerekmektedir. Bu yazıda uygulamanın nasıl yazıldığı hakkında ayrıntılı bilgi vermeyeceğim. Dosyalar içerisinde uygulamanın App Inventor dosyasını da paylaşacağım, incelemek isteyenler o dosyayı import ederek inceleyebilirler. Uygulama hakkındaki her türlü soru ve geliştirme önerilerinizi bana iletebilirsiniz.

Arduino-Android-Telefon-ile-Bluetooth-Kontrollü-Araba-Telefon-Uygulaması

Uygulamanın tüm dosyalarına ulaşmak için aşağıdaki linki kullanabilirsiniz.

Uygulamaya gelen geri dönüşler ile birlikte güncellemeler gelecektir. Lütfen hatalı veya daha iyi olmasını istediniz kısımları yorum olarak belirtiniz.

Github: Arduino ve Android telefon ile bluetooth kontrollü araba yapımı

Gelecek Güncellemeler:

  • Uygulama ile Motorların Hız Kontrolü Yapılacak.
  • Kullandığımız kod daha tutarlı hale getirilecek. Kod içerisinde yapılandırmalar olacak.

MIT: App Inventor

Artık elektroniğe biraz daha yönelmemden dolayı bazı şeylere ihtiyacım oldu. Bunlar arasında – özellikle kablosuz haberleşme için – mobil uygulamalar da yer alıyordu. Şuan sıfırdan bir Android uygulama yazma için bilgim olmadığı için hazır olarak uygulama oluşturmama yardımcı olacak araçlar arayışına girdim. MIT: App Inventor ile karşılaştım.

Önce, App Inventor hakkında internetteki yorumları okuyunca biraz şaşırdım ve çok basit olduğunu düşündüm. Çünkü o yorumlar arasında, “Çocuklar bile yapabilir. Sürükle-bırak ile istediğiniz uygulamayı yazabiliyorsunuz. Hiç kod bilginiz olmasına gerek yok.” gibi yorumlar görmüştüm. Bu aslında bende hem merak uyandırdı hem de uygulamadan uzaklaştırdı ama merakım daha ağır bastı ve araştırıp öğrenmeye karar verdim.

Yorumlarda bahsedildiği gibi sürükle bırak yöntemiyle uygulamanızı tasarlayıp programlıyorsunuz. Ama öyle hiç programlama bilmeden de yapılabilecek bir şey değil. En basitinden kod bloklarının ne işe yaradığını bilmeniz gerekiyor. Ama eğer programalama mantığına hakimseniz gerçekten de tek bir kod yazmadan sadece sürükle bırak ile uygulamanızı oluşturuyorsunuz.

Ben şuan için başlangıç seviyesinde sayılırım, kendimi geliştiriyorum. Çok yakın zamanda oluşturacağım uygulama ile telefonum ile yaptığımız arabayı kontrol etmeyi planlıyorum. Uygulamayı yaptıktan sonra buradan paylaşacağım.

Şuan Bluetooth ile ilk kontrolümü gerçekleştirdim. Uygulamaya aşağıdaki linkten ulaşabilirsiniz. Uygulamayı HC-06 modülü ile birlikte kullanıyorum. Uygulama içerisinden modüle bağlanıp led yakıp söndürüyorsunuz. Oldukça basit, başlangıç seviyesi bir uygulama ama oldukça kullanışlı olduğunu söyleyebilirim. Bunu yakın zaman içerisinde geliştireceğim.

App Inventor – Bluetooth ile Led Yakma

Soft Grid CSS Framework

Front-end projelerinde belirli standartlar kullanılarak projeyi geliştirdiğimiz zaman hem yapısal olarak oturmuş bir şekil ortaya çıkıyor hem de tekrardan düzenlememiz gerektiğinde kolay bir şekilde gerekeni yapabiliyoruz.

Tasarımın yapısını oluştururken belirli bir ızgaraya uygun şekilde yaparsak, hem sabit ölçülere göre işlem yapmış oluruz hem de gözü yormadan ve görünümü göze hoş gelecek şekilde kodlamalar yapmış oluruz.

Ben bu konuda, bu güne kadar çeşitli sistemleri denedim. Yakın zaman önce ise severek takip ettiğim Baran Somaklı tarafından hazırlanmış olan oldukça sade bir Grid Sistem Framework‘ü ile karşılaştım. Birkaç projemde kullandıktan sonra bana çok pratik geldiğini farkettim ve sizinle paylaşmak istedim. Düşük boyuta sahip olduğu için temayı şişirmiyor, 2 küçük düzenleme ile hemen kullanmaya başlayabiliyorsunuz.

Artık, yazın da gelmesiyle birlikte kullandığım, gördüğüm framework‘leri, eklentileri sizlere sunmaya çalışacağım. Grid sistemini, aşağıdaki linke tıklayarak Github üzerinden inceleyebilirsiniz.

Baran Somaklı – Soft Grid CSS Framework

Academic Writing – 3 Boyutlu Yazıcı Nedir?

Bu dönem aldığım derslerden birisi olan Academic Writing için konu seçme aşamasında iken, ben pek fazla zorlanmamak adına ve biraz da bildiğim ve ilgimi çeken bir konu olması açısından 3 boyutlu yazıcıları tercih ettim.

Yazıyı yazarken, derslerde anlatılan adımları kullanmaya dikkat ettim. İnternet üzerinde daha önce yazılmış olan onlarca makaleyi okuyarak kendime küçük taslaklar hazırlayarak ilerledim. Yazım aşamasında çok zorlandım, çünkü konu olarak çok kapsamlı bir konuydu ve nereye çekseniz oraya gidebilecek bir konu yoğunluğuna sahipti. Sayfa sınırlaması olduğu için yazdığım çoğu şeyi tekrar silmek zorunda kaldım ve kısalta kısalta 6 sayfa haline getirebildim. Kısaltmam gerektiği için içerik olarak çok eksik kaldı. Yazmam gerekenler arasından en önemli olarak gördüğüm şeyleri yazmaya çalıştım. Oldukça amatör bir yazı olduğunu da söylemek istiyorum.

3 boyutlu yazıcılar hakkında akademik yazı araştırması içinde olanlar belki faydalanır diyerekten bloguma koyma kararı aldım. İsteyen arkadaşlar bu linke tıklayarak Google Drive üzerinden indirebilir.