tag:blogger.com,1999:blog-45353720966759723682024-03-13T12:57:58.540-07:00Gürkan YararAnonymoushttp://www.blogger.com/profile/08530695124449152589noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-4535372096675972368.post-78700684195750945552014-01-08T16:32:00.001-08:002014-01-08T16:42:01.642-08:00Temel Processing Fonksiyonları<div style="margin-bottom: 0cm; text-align: left;">
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> Herkese merhaba. Sınavlarımın
başladığı bugünlerde sınavlarımın kötü gitmesinin ardından
(bakınız:büte kalan dersler) bir nebze kafa dağıtmaya karar
verdim. Bunu da bloguma yazı yazarak yapmak istedim. Yazımın
konusunu da önceki yazıma devam şeklinde Processing'ten seçtim.
Önceki Processing yazımdan gelen olumlu tepkiler için teşekkür
ederim.</span></div>
</div>
<div style="margin-bottom: 0cm; text-align: left;">
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> Şimdi Processing'te temel
fonksiyonları ve çıktılarına bakalım.</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiD3JSuq3nDs-LmforgKXQaH4-ga2vGDJY3HIN_pRdig-r1eN1NDZxOfW6ZzznYl8B_GL9p7UfZWaJfuCqqeZlZPG6QfoV77IEsig6rAqci2b-He1hiSvHYlvaST44Uq4FbjohFdqrK9Lr0/s1600/071201_greenberg_processing_book.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Georgia, Times New Roman, serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiD3JSuq3nDs-LmforgKXQaH4-ga2vGDJY3HIN_pRdig-r1eN1NDZxOfW6ZzznYl8B_GL9p7UfZWaJfuCqqeZlZPG6QfoV77IEsig6rAqci2b-He1hiSvHYlvaST44Uq4FbjohFdqrK9Lr0/s1600/071201_greenberg_processing_book.jpg" height="400" width="322" /></span></a></div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"></span></div>
<a name='more'></a><span style="font-family: Georgia, Times New Roman, serif;"><br /></span>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> Öncelikle piksel(pixels) kavramına
değinelim. Piksel , tüm digital görüntülerin en küçük parçası
olan üçlü nokta grubuna denir. Renkli görüntü sistemlerinde
,bir rengin elde edilmesi için 3 renk kullanılmaktadır(r,g,b). Bu
renkler kırmızı(red),green(yeşil),blue(mavi). Öncelikle
piksellerden bahsetmemin sebebi Processing'te işlemlerinizi
pikseller üzerinden gerçekleştiriliyor.</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> Şimdi sistemi basit kodlar üzerinden
inceleyelim:</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> Processing'in olmazsa olmaz 2
fonksiyonu bulunmakta.</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> void setup ( ) : İsminden de
anlaşılacağı üzerine program ilk başlatıldığında içinde
yazan kısımı çalıştırır ve program tekrar başlatılana kadar
tekrar çalıştırılmaz. Ben bu bölümde daha çok ekran boyutunu
tanımlıyorum.</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> void draw( ) : Çizim işlemlerinin
yapıldığı bölümdür. Fonksiyonun içindeki komutlara göre
işlem yapılır ve son işlemden sonra tekrar başa döner. Sonsuz
döngü de diyebiliriz. Arduino'da ki void loop ile aynı görevdedir.
Arduino'nun Processing'i örnek aldığını unutmayın.</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> Gelelim çizim fonksiyonlarına</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> size(x,y): Çizim işlemi yapılacak
ekranın boyutunu belirlemektedir. Bu boyut piksel cinsinden olup x
genişlik y yüksekliktir.</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> background(r,g,b): Ekranın arka plan
rengini belirler. background(w) şeklinde de kullanılabilir. W
değişkeni burada web renkleri cinsinden yazılabilir. Örneğin
background(#03FFF0) gibi. Burada ki web renklerini tools menüsünden
Color Selector ile seçebilirsiniz.</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> stroke(r,g,b); Çizimi yapılacak ya
da ekrana çizilecek nesnelerin rengini belirler. Background
fonksiyonu ile aynı mantıkta çalışmaktadır.</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">line(x,y,z,t): Line fonksiyonu çizgi
çizme işlemlerinde kullanılır.Fonksiyonun değişkenleri x ve y
çizginin başlangıç noktasının koordinatları, z ve t ise bitiş
noktasının koordinatları.</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUegp7p-wThtmOslZz98P9ZPyuwzN9fcOy4ppJjCLpm9V_mXHg5BY0fouXHOT3gyc_A6xbdxRXpaGH9EUBR8_FfD9q_C8ofgOlbusgmXLVAMBTtDKF_ImDt3A9ccJpgziWIY5q7doRGoAa/s1600/Ekran+Al%25C4%25B1nt%25C4%25B1s%25C4%25B1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Georgia, Times New Roman, serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUegp7p-wThtmOslZz98P9ZPyuwzN9fcOy4ppJjCLpm9V_mXHg5BY0fouXHOT3gyc_A6xbdxRXpaGH9EUBR8_FfD9q_C8ofgOlbusgmXLVAMBTtDKF_ImDt3A9ccJpgziWIY5q7doRGoAa/s1600/Ekran+Al%25C4%25B1nt%25C4%25B1s%25C4%25B1.PNG" height="179" width="320" /></span></a></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> Şimdi öğrendiğimiz kısımlar ile
ilgili örnek bir program yazalım ve çıktısını görelim.</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> void setup ( ) {</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> size(400,400); // 400,400
piksellik ekran belirledik.</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> }</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> void draw( ) {</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> background(#133E3B); //
arkaplanı yeşilimsi renge çevirdik</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> stroke(255,255,255); //
çizimleri beyaz yapmasını istedik</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> line(0,0,200,200); //
0,0 dan 200,200 e çizgi çizdirdik</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> }</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizj-KHKlVxnqQBs3tKuj8OneFIGw3V1zRdDm7uvyPpU3BKb4wDkihQPtw7U-IbrIv7HVe_wtvHBtsIjSAkk8RcoV8vFo6Fx-vDblGfAWzy5h0NjrCIxsyOBxgdCcUkaj9ELibjLo_wvlyw/s1600/Ekran+Al%25C4%25B1nt%25C4%25B1s%25C4%25B13.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Georgia, Times New Roman, serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizj-KHKlVxnqQBs3tKuj8OneFIGw3V1zRdDm7uvyPpU3BKb4wDkihQPtw7U-IbrIv7HVe_wtvHBtsIjSAkk8RcoV8vFo6Fx-vDblGfAWzy5h0NjrCIxsyOBxgdCcUkaj9ELibjLo_wvlyw/s1600/Ekran+Al%25C4%25B1nt%25C4%25B1s%25C4%25B13.PNG" height="320" width="301" /></span></a></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> Aynı işlemde koordinat belirtmek
yerine line(0,0,width/2,height/2) şeklinde de kullanabilridik.
</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> Benim en beğendiğim fonksiyonlardan
biri de mouseX, mouseY fonksiyonları. Bu fonksiyonlar sayesinde
mouse koordinatlarına ulaşıp ona göre işlem yaptırabilirsiniz.
Bu işlemi sadece mouseX ve mouseY gibi basit bir komut ile yapmak
gerçekten büyük bir kolaylık.</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> Çizgi çizmekten başka rect(x,y,z,t)
ile kare, ellipse(x,y,z,t) ile de elips çizebilirsiniz. Bununla
ilgili basit örnekten yapmaktan ziyade biraz da eğlenceli
bulduğumdan LearnProcessing kitabındaki örneği
göstereceğim.EllipseMode(CENTER),RectMode(CENTER) komutları da
çizim işlemini ekranın ortasında yapar ve o noktayı merkez alır.</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br />
</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br />
</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br />
</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br />
</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br />
</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> Önce görmediğimiz bir kaç
fonksiyonu daha gösterelim:</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> smooth() : Geometrik cisimlerin daha
net tabiri caiz ise pürüzsüz göstermek için kullanılır.</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> fill(r,g,b): Çizdirilecek olan
geometrik şeklin iç kısmını renklendirmek için kullanılır.</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> Şimdi küçük uzaylımızı
oluşturursak;</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br />
</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br />
</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> void setup() {</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> size(200,200); // boyutu ayarladık</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> background(255); // arkaplanı beyaz
atadık</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> smooth();</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> }</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> void draw() {</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> // kare ve elips merkezi orta nokta
aldı</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> ellipseMode(CENTER);</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> rectMode(CENTER);</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> // gövde kısmını çizelim</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> stroke(0);</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> fill(150);</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> rect(100,100,20,100);</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> // kafa kısmını çizelim</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> fill(255);</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> ellipse(100,70,60,60);</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> // gözleri çizelim</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> fill(0);</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> ellipse(81,70,16,32);</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> ellipse(119,70,16,32);</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> // bacaklarını çizelim</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> stroke(0);</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> line(90,150,80,160);</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> line(110,150,120,160);</span></div>
<div class="separator" style="clear: both; text-align: justify;">
</div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> }</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP5yUVBuro6znpMkUv1kaiZ6Zrhb9mAW_gLwlDICh9A3cvgGK3lnrZDYqTxJXeTRzAJtMf4dbrl98WdsMEbzkTl9npaAAG_K6FEVZIjG7uM8-4hp2yVT8zOjLTGzyBbBWAKRBZzXiRG5YF/s1600/Ekran+Al%25C4%25B1nt%25C4%25B1s%25C4%25B14.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Georgia, Times New Roman, serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP5yUVBuro6znpMkUv1kaiZ6Zrhb9mAW_gLwlDICh9A3cvgGK3lnrZDYqTxJXeTRzAJtMf4dbrl98WdsMEbzkTl9npaAAG_K6FEVZIjG7uM8-4hp2yVT8zOjLTGzyBbBWAKRBZzXiRG5YF/s1600/Ekran+Al%25C4%25B1nt%25C4%25B1s%25C4%25B14.PNG" /></span></a></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"><br />
</span></div>
<div style="margin-bottom: 0cm;">
</div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;"> Umarım bu paylaşımlar birilerine
yardımcı oluyordur. Bir kişinin bile bir şeyler kazanması çok
büyük bir mutluluktur. Son olarak herkese iş veya okul yaşamında
kolaylıklar diler bol bol Open-Source günler dilerim.</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">Kaynak:</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">1)LearnProcessing</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">2)www.processing.com</span></div>
<div style="margin-bottom: 0cm; text-align: justify;">
<span style="font-family: Georgia, Times New Roman, serif;">3)ElektrikPort</span></div>
</div>
Anonymoushttp://www.blogger.com/profile/08530695124449152589noreply@blogger.com4tag:blogger.com,1999:blog-4535372096675972368.post-53787802341639464832013-12-29T17:55:00.001-08:002014-01-13T15:50:57.083-08:00Processing Nedir<h2 style="text-align: left;">
<span style="font-family: inherit;"><br /></span></h2>
<div style="margin-bottom: 0cm; text-align: left;">
<span style="color: black;"><span style="font-family: inherit; font-size: medium;"><b> GERİ
KALDIĞIMIZ BİR DİĞER KONU PROCESSİNG</b></span></span></div>
<div style="margin-bottom: 0cm; text-align: left;">
<span style="font-family: inherit;"><br />
</span></div>
<div class="separator" style="clear: both;">
</div>
<div style="margin-bottom: 0cm; text-align: left;">
</div>
<div style="text-align: left;">
<span style="font-family: inherit;"> Herkese
merhabalar. Bloguma uzun zamandır yazmamam içimde bir yaradan başka
bir şey değil. Bunun için sayfalarca bahanem olsa da kendime
kızmaktan vazgeçemiyorum. Sınav dönemine girmeden bloguma bir
yazı yazı gönlümü rahatlatmak istedim. Uzun süre yazı girmeme
rağmen bloguma 600 küsür kere bakılması çok hoşuma gitti. Blog
yazmanın önemiyle ilgili <a href="http://arduinoturkiye.com/blog-blog-blog-iste-butun-mesele/" target="_blank">şu</a> yazıyı okumanızı tavsiye ederim.
Umarım yazdığım ve yazacağım yazılar yararlı olur.</span></div>
<span style="color: black; font-family: inherit;"></span><br />
<div style="text-align: left;">
<span style="color: black; font-family: inherit;"> Bu
yazımda uzun zamandır değinmek istediğim konu olan Processing'ten
bahsedeceğim.</span></div>
<span style="color: black; font-family: inherit;">
</span>
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt4r0YWKftARpV0t3uOJm5YZzEd-omwJNtDh8CUyBPLTuOWvDq5lemZI9E71RDNWHTrIg5FTwfSLAy6VZlCRrHLYM4HiWXVmAmOsg7wlF-vjn9LQ8TD5agdgqig3ZchgVZb_zj3MSJUyT7/s1600/processing2-logo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt4r0YWKftARpV0t3uOJm5YZzEd-omwJNtDh8CUyBPLTuOWvDq5lemZI9E71RDNWHTrIg5FTwfSLAy6VZlCRrHLYM4HiWXVmAmOsg7wlF-vjn9LQ8TD5agdgqig3ZchgVZb_zj3MSJUyT7/s1600/processing2-logo.jpg" height="400" width="400" /></span></a></div>
<br />
<div style="margin-bottom: 0cm; text-align: left;">
</div>
<div style="text-align: left;">
</div>
<span style="color: black; font-family: inherit;"></span><br />
<a name='more'></a><div style="text-align: left;">
<span style="color: black; font-family: inherit;"> Processing
özellikle programlamaya yeni başlamış insanların kullanabileceği
bir tümleşik geliştirme ortamıdır(IDE). Bu IDE kolay bir şekilde
programlamayı öğretirken aynı kolaylıkla zengin görsellikler
yaratmaya yardımcı oluyor.Processing JAVA tabanlı olup 2001
yılında başlatılan bir projedir. Peki Processing'i nasıl
edinebiliriz ve öğrenebiliriz?</span></div>
<span style="color: black; font-family: inherit;">
</span>
<br />
<div style="margin-bottom: 0cm; text-align: left;">
<span style="color: black; font-family: inherit;"> Öncelikle
Processing open-source(açık kaynaklı) bir yazılım. Ücretsiz
olarak <a href="http://www.processing.org/download/?processing" target="_blank">buradan</a> indirebilirsiniz.Gene aynı sitenin tutorial
kısmıda sizin Processing adına kafanızda bir şeyler oluşturmak
yeterli olacaktır. Bununla yeterli kalmamınızı ve File>>Examples
menüsünde tek tek her örneğe bakmanızı tavsiye ederim. Eminim
ki ilgi alanınıza uygun birçok şey bulacaksınız.</span></div>
<br />
<div style="margin-bottom: 0cm; text-align: left;">
<span style="color: black; font-family: inherit;"> Ayrıca
ufak bir paragrafta bahsetmek istediğim konu ; Processing Java
tabanlı olduğu için Android sistemleri desteklemektedir. Yani
Processing'i Android modu kullanarak Android uygulamalar
geliştirebilirsiniz. Aklımda bununla ilgili yaz dönemine ayırdığım
bir tetris oyunu var. "Android markete bir şey sunacağına git
bir piyango bileti al" diyenler olsa da bunu sadece istediğim
ve eğleneceğim düşündüğümden yapacağım.</span></div>
<div style="margin-bottom: 0cm; text-align: left;">
<span style="color: black; font-family: inherit;"></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="color: black; font-family: inherit;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFiyN7_zwa6tBpHXD6gNrnZF94yIO04LnplAkjEOwMmEHSA1MYbah45EkmJt3y-ITAalF7FXlpJ2n_cIhd3gN6dJRnKC8a1ORzsoUJZG4DIV1ri1DOoihnftydMsV2ENmY1oWQ-iO3ISHq/s1600/indir.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFiyN7_zwa6tBpHXD6gNrnZF94yIO04LnplAkjEOwMmEHSA1MYbah45EkmJt3y-ITAalF7FXlpJ2n_cIhd3gN6dJRnKC8a1ORzsoUJZG4DIV1ri1DOoihnftydMsV2ENmY1oWQ-iO3ISHq/s1600/indir.jpg" height="320" width="640" /></a> </span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="color: black; font-family: inherit;"> Processing
konusunda Türkçe kaynak sıkıntısı çekilmektedir. Bunun
nedenini araştırıp geliştirmemize veya öğrendiğimiz yaymamıza
bağlıyorum. Arduino kitabının yazarı Çoşkun Taşdemir'in (geri
kaldığımız Arduino'yu Türkiye'ye yayan eli öpülesi insan)
yazısını <a href="http://coskuntasdemir.net/muhendislik/processing-hakkinda.html#more-2683" target="_blank">buradan</a> okuyabilirsiniz.</span></div>
<br />
<div style="margin-bottom: 0cm; text-align: left;">
<span style="color: black; font-family: inherit;"> </span></div>
<div style="margin-bottom: 0cm; text-align: left;">
</div>
<div style="margin-bottom: 0cm; text-align: left;">
<span style="color: black; font-family: inherit;"> Dediğim
gibi Türkçe kaynak sıkıntısı olduğundan bende kendimce bir
şeyler yazmak istedim. Processing'i ilk açtığınızda Arduino
kullanan,gören,bilen insanların fark edeceği şey arayüzler arası
benzerlik olacaktır. Bunun sebebi Arduino'nun Processing temel
alarak oluşturulmasıdır. Ben Processing'i Arduino sayesinde
keşfettim. Bunu bir projede görmedim. Arduino IDE açılırken
"based on Processing..." yazısını okuyunca doktor bu ne
dedim. O andan sonra kendimi tutamadım Processing araştırmaktan ve
etrafıma yaymaya çalıştım. Özellikle Arduino kullanan
arkadaşlarımdan olumlu tepkiler aldım. Aşağıdaki resimde iki
arayüz arası benzerlikleri rahatça görebilirsiniz.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiErX7dRavirzn7DCuddLeY696-wtgMvVJKD0_DJIE0fdTSomFxZKvU-tLKw7ozlHFtxHk071F2EjypcO6L5gwoavUNg8kzJmYkRTSiJLZzgvj9INPUeHr5NX7fqM1QjAIISLi2AjysB-Nx/s1600/firmata_2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiErX7dRavirzn7DCuddLeY696-wtgMvVJKD0_DJIE0fdTSomFxZKvU-tLKw7ozlHFtxHk071F2EjypcO6L5gwoavUNg8kzJmYkRTSiJLZzgvj9INPUeHr5NX7fqM1QjAIISLi2AjysB-Nx/s1600/firmata_2.png" height="395" width="640" /></a><span style="color: black; font-family: inherit;"></span></div>
<div align="LEFT" style="margin-bottom: 0cm;">
<span style="font-family: inherit;"><br />
</span></div>
<div align="LEFT" style="margin-bottom: 0cm;">
<span style="color: black; font-family: inherit;"> Beni
tanıyan insanlar robotiğe ve otonom sistemlere olan ilgimi
bilirler. Processing ne alaka diye gelmiş olabilir akıllarına.
Bunu şöyle cevaplamak isterim. Örneğin bir robot yaptınız.
Otonom olarak projeyeuygun bir şekilde hareket ediyor. Bunu bu
şekilde sergileyince bana hep bir şeyler eksik kalıyor gibi
gelmekte. Ancak robot mikrodenetleyicisindeki veriyi bilgisayar
ekranına aktarsa bir modül ile daha hoş olur düşüncesindeyim.
Lakin bunu kuru kuru ekranda veriler geçerek değil de daha süslü
olması gerekli tabi. Bunun için C# gibi bir ağır dili öğrenmek
benim gözümü korkutuyordu. İşte tam bu soruna Processing çare
oldu. Bu sene ODTÜ Robot Günlerinde ve katılacağımız diğer
robot yarışmalarında Processing ile görsel olarak da insanlara
bir şeyler sergileyen robotla katılacağım.</span></div>
<div align="LEFT" style="margin-bottom: 0cm;">
<span style="color: black; font-family: inherit;"> Bundan
sonraki yazılarımda Processing'e devam edebilirim. Umarım faydalı
olur. Her türlü eleştirilerinizi iletir iseniz sevinirim. Bol bol
Open-Source'lü günler dilerim.</span></div>
<div align="LEFT" style="margin-bottom: 0cm;">
<span style="color: black; font-family: inherit;"> Gürkan
YARAR</span></div>
Anonymoushttp://www.blogger.com/profile/08530695124449152589noreply@blogger.com3tag:blogger.com,1999:blog-4535372096675972368.post-38168514228224850252013-07-24T14:40:00.000-07:002013-12-29T15:49:59.010-08:00Neler Yapıyorum Blogumu aktif kullanacağımı söylememe rağmen pek bir yayın yapmamam ironik bi durum :D Lakin bu aralar stajdan,ramazandan ya da senenin yoğun geçmesinden biraz yoğun, biraz yorgunum.<br />
Stajımı <span style="background-color: white; color: #787878; font-family: Arial; font-size: 13.333333015441895px; text-align: justify;">ProMIS Proses Kontrol ve Yönetim Bilişim Sistemleri Ltd. Şti'nde </span><span style="background-color: white; font-family: Arial; font-size: 13.333333015441895px; text-align: justify;">yapıyorum.(</span><a href="http://www.promis.com.tr/hakkimizda.html">http://www.promis.com.tr/hakkimizda.html</a>) OSTİM de bir atölyede çalışıyorum. Genel anlamda pano üretimi yapıyoruz. (RTU-AG panoları gibi) Elektronik istediğim için elektriği görmeden karar vermek istemedim. Aklımda hala elektronik olsa da elektrikte gerçekten büyük bir alan. Elektrik seçecek arkadaşlara tavsiye; elektriğin hangi alanında çalışırsanız çalışın ürün seçimi çok önemli. Geniş bir ürün yelpazesini bilmek çok avantaj sağlamakta. Stajın yatarak ya da sürekli staj yerinde fotoğraf çektirmek istemiyordum( bi de tornavidayla çek aaa bu yıldız tornavida onunla da çek gibi). Ama pano işi yüzde 60 işçilik gerektiren bi durum. Bu da haliyle beni yoruyor.<br />
<a name='more'></a><br />
Stajdan arta kalan zamanımda ise,bu da hafta içi 19.00 dan sonra ve hafta sonları oluyor, JAVA üzerinde çalışıyorum. Belli bi aşamaya geldiğimi düşündüğüm için bu aralar Android'de çalışıyorum. Aklımdaki projeleri yaz sonuna kadar yapabilirsem gelecek seneki robot yarışmalarına Android kontrol edilebilen bir robotla gözüm kapalı girebilirim. An itibariyle bluetooth ile Arduino ve telefonum arasında haberleşme sağlayıp bir şeyler yapabiliyorum. Amacım kendi Android programımı yazıp kafamdakileri tam uygulamak.<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/p9FpVXjAojY?feature=player_embedded' frameborder='0'></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="text-align: start;"> Bu aralar beni çok sevindir bir haberi ise BeagleBone Black sahibi olmam. Çok merak ettiğim bir üründü. Kullanmak çok eğlenceli olacak diye düşünüyorum. Karmaşık sistemleri bu ufak bilgisayar sayesinde daha kolay programlarım diye düşünüyorum.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/eUFf-EAVWZ4?feature=player_embedded' frameborder='0'></iframe></div>
İlgilenenlerin aklına neden Raspberry Pi yada PCduino değilde BeagleBone Black aldın diye soracaklarını düşünüyorum. Robotik alanda BeagleBone Black'in daha avantajlı olduğunu düşünüyorum donanımsal özelliklerinden dolayı.<br />
<div class="separator" style="clear: both; text-align: center;">
<object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="https://ytimg.googleusercontent.com/vi/Tbk_Z_8macI/0.jpg" height="266" width="320"><param name="movie" value="https://youtube.googleapis.com/v/Tbk_Z_8macI&source=uds" /><param name="bgcolor" value="#FFFFFF" /><param name="allowFullScreen" value="true" /><embed width="320" height="266" src="https://youtube.googleapis.com/v/Tbk_Z_8macI&source=uds" type="application/x-shockwave-flash" allowfullscreen="true"></embed></object></div>
Umarım ki çalışmalarım tahmin ettiğim gibi ilerler. Blogumu aktif olarak kullanmak istesem de yukarıda bahsettiğim sebeplerden zor zaman buluyorum. Hepinize hayırlı ramazanlar.Anonymoushttp://www.blogger.com/profile/08530695124449152589noreply@blogger.com0tag:blogger.com,1999:blog-4535372096675972368.post-16887888414743059252013-07-12T16:14:00.001-07:002013-12-29T15:49:32.329-08:00HC-SR04+Buzzer+ Arduino<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAhLLJBaVf412yTv3zEQM4jIOe6LnFJjmhs4NrBxYfZ54b4UFfdlvvwKvnjYwoiEz2PasqFhcqDcRNe_FcGfMXKXoeyKnLcT7u7JNcpguBkayQxqfxWeM6-zIoYMuqOUlILNWWpO7VCzBy/s1600/1012007-2.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAhLLJBaVf412yTv3zEQM4jIOe6LnFJjmhs4NrBxYfZ54b4UFfdlvvwKvnjYwoiEz2PasqFhcqDcRNe_FcGfMXKXoeyKnLcT7u7JNcpguBkayQxqfxWeM6-zIoYMuqOUlILNWWpO7VCzBy/s1600/1012007-2.jpg" height="108" width="200" /></a></div>
<br />
<span style="font-family: Times, Times New Roman, serif;">Bloguma paylaşcağım ilk projenin ne olması gerektiği için baya bir düşündüm. Blog açmadan önce yaptığım bir çalışmayı mı yazsam ya da yeni bir çalışmamı gerçekleştirsem diye. En son bu sene labirent robotu projesinde kullanığımız ultrasonic mesafe sensörü ile başlamaya ama buna buzzer ekleyerek ufak bir park sensörü yapmaya karar verdim.<br />Hc-sr04 sensörümüz 40 Khz frekansında ultrasonik sinyaller(sesler) üretmektedir.Bu sinyalleri insan kulağı algılayamaz.</span><br />
<span style="font-family: Times, Times New Roman, serif;"></span><br />
<a name='more'></a><span style="font-family: Times, Times New Roman, serif;"><br />Sensörün üzerinde 4 adet pin var.Bunlar; VCC(besleme),Trig,Echo,GND(toprak). Sensörün çalışma prensibi kısaca trig bacağına küçük frekansta(10 mikro saniye gibi) kare dalgalar gönderiyoruz. Sensör kendi içinde sinyal üretiyor. Bu sinyal farklı ortamlarda farklı hızlarda yol alıyor. Sinyal bir cisme çarpıp tekrar sensöre doğru yol alıyor.<span style="line-height: 10.666666984558105px;"> Sensöre veri geldiğinde echo bacağı lojik-1 oluyor. Eğer ultrasonik sensör ile mesafe ölçmek istiyorsak yapmamız gereken echo bacağının kaç defa lojik-</span></span><br />
<span style="font-family: Times, Times New Roman, serif;"><span style="line-height: 10.666666984558105px;"><br /></span></span>
<span style="font-family: Times, Times New Roman, serif;"><span style="line-height: 10.666666984558105px;">1 </span></span><span style="font-family: Times, 'Times New Roman', serif; line-height: 10.666666984558105px;">olduğunu bulmak.</span><br />
<span style="font-family: Times, 'Times New Roman', serif; line-height: 10.666666984558105px;">Sensör hakkında bilgi verdikten sonra bağlantı şeklimizi gösterelim.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicwzpwpqtiO4ZDHZX0_22BtrfBZGHVcFUOk81Y6X2-HwuSjOGKdNdxr3-53-oqaV4ngHFXL7C2c99K7hptiolS58mVks-wpa5hjUgwJYAwf66Lt-NNIrpnX5cPDA-lTsxRnRyox8eCS6bF/s1600/Untitled+Sketch_bb.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicwzpwpqtiO4ZDHZX0_22BtrfBZGHVcFUOk81Y6X2-HwuSjOGKdNdxr3-53-oqaV4ngHFXL7C2c99K7hptiolS58mVks-wpa5hjUgwJYAwf66Lt-NNIrpnX5cPDA-lTsxRnRyox8eCS6bF/s1600/Untitled+Sketch_bb.jpg" height="162" width="320" /></a></div>
<blockquote class="tr_bq">
Fritzing(<a href="http://fritzing.org/">http://fritzing.org/</a>) çizdiğim şekilde bağlantılarımız bu şekilde.</blockquote>
Projenin kodu ise şöyle;<br />
<br />
<li>/*</li>
<br />
<ol>
<li></li>
<li> Gürkan YARAR</li>
<li>Bağlantılar:</li>
<li>trig=2</li>
<li>echo=4</li>
<li>buzzer=6</li>
<li>*/</li>
<li><br /></li>
<li><br /></li>
<li> </li>
<li>const int trigPin = 2;</li>
<li>const int echoPin = 4;</li>
<li>const int buzzerPin=6;</li>
<li> </li>
<li>void setup() {</li>
<li> Serial.begin(9600);</li>
<li> // seri haberleşmeyi baslatiyoruz</li>
<li> </li>
<li> pinMode(trigPin, OUTPUT);</li>
<li> pinMode(buzzerPin, OUTPUT);</li>
<li> pinMode(echoPin, INPUT);</li>
<li>}</li>
<li> </li>
<li>void loop()</li>
<li>{</li>
<li> long duration, inches, cm;</li>
<li> digitalWrite(trigPin, LOW);</li>
<li> delayMicroseconds(2);</li>
<li> digitalWrite(trigPin, HIGH);</li>
<li> delayMicroseconds(10);</li>
<li> digitalWrite(trigPin, LOW);</li>
<li> </li>
<li> // triq bacağına kare dalgaları yolluyoruz</li>
<li> </li>
<li> duration = pulseIn(echoPin, HIGH);</li>
<li> // pulsIn komutuyla veri alıyoruz</li>
<li> // cm ve inc cinsinden dönüşümleri yapıyoruz</li>
<li> inches = microsecondsToInches(duration);</li>
<li> cm = microsecondsToCentimeters(duration);</li>
<li> </li>
<li> Serial.print(inches);</li>
<li> Serial.print("in, ");</li>
<li> Serial.print(cm);</li>
<li> Serial.print("cm");</li>
<li> Serial.println();</li>
<li> if( cm <=5) { // eğer cm değeri 5 cm'in altındaysa uyarı alıyoruz</li>
<li> tone(buzzerPin,2000);</li>
<li> }</li>
<li> else {</li>
<li> noTone(buzzerPin);</li>
<li> }</li>
<li> </li>
<li> delay(100);</li>
<li>}</li>
<li> </li>
<li>long microsecondsToInches(long microseconds)</li>
<li>{</li>
<li><br /></li>
<li> return microseconds / 74 / 2;</li>
<li>}</li>
<li> </li>
<li>long microsecondsToCentimeters(long microseconds)</li>
<li>{</li>
<li> </li>
<li> return microseconds / 29 / 2;</li>
</ol>
}<br />
<br />
<br />
<br />
<br />
<div>
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/8CxHCv4Fy6c?feature=player_embedded' frameborder='0'></iframe><br />
<div>
<br />
<br />
<blockquote class="tr_bq">
</blockquote>
<blockquote class="tr_bq">
</blockquote>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<blockquote class="tr_bq">
Bu çalışmada ufak bir park sensörü yapmış olduk. Bu yazı ile ilgili kodu ve bağlantı şemasını buradan edinebilirsiniz.(<a href="https://www.dropbox.com/sh/u3fhnfaxi2fhbu4/vP8koICm9F">https://www.dropbox.com/sh/u3fhnfaxi2fhbu4/vP8koICm9F</a>) </blockquote>
Özellikle robotik ile uğraşan arkadaşlar bu sensörü kullanmalarını tavsiye ederim. Hassasiyeti Sharp sensörüne göre daha iyidir.<br />
Bundan sonra ki çalışmam LCD kullanmı ile olur diye tahmin ediyorum.<br />
Her türlü olumlu olumsuz eleştirinizi aktarırsanız sevinirim.<br />
grknyrr@gmail.com<br />
<a href="https://www.facebook.com/gurkan.yarar.35">https://www.facebook.com/gurkan.yarar.35</a><br />
<blockquote class="tr_bq">
</blockquote>
<span style="font-family: Times, 'Times New Roman', serif; line-height: 10.666666984558105px;"><br /></span></div>
</div>
Anonymoushttp://www.blogger.com/profile/08530695124449152589noreply@blogger.com3tag:blogger.com,1999:blog-4535372096675972368.post-67177121814814680632013-07-07T13:36:00.001-07:002013-12-29T15:50:16.600-08:00Hello WorldHello World le başladım çünkü alışkanlık oldu sanırım.Tanıtmak lazım tabi önce.Adım Gürkan. Karadeniz Teknik Üniversitesi(KTÜ) Elektrik-Elektronik Mühendisliği öğrencisiyim.<br />
İstediğim üniversite olmasa da istediğim bölümdeyim.Okul derslerinin teoriye aşırı kaçması her öğrenci gibi beni de sıkmaktadır. Lakin okul derslerinin çalışma hayatımda bana büyük ölçüde destek vermeyeceğini anladım. Bu yüzden 1.sınıfın sonundan itibaren kendimi bölümüm üzerine geliştirmeye başladım.<br />
<a name='more'></a><br />
Öncelikle yazılım dilleri üzerinde yoğunlaştım. Okulda aldığım C/C++ derslerini yeterli görmediğimden ilk önce C++ dan başladım. Yaptığım hesap makinesi arayüzünden gururlanmıştım. Daha sonra diğer programlama dillerine baktım ve birbirlerinden farklarını,artılarını ve eksilerini, kendimce anlamaya çalıştım. Pyhton dili hala favorim ama değişebilir diye düşünüyorum. An itibariyle JAVA çalışıyorum. Amacım JAVA ile iyice haşır neşir olduktan sonra Android'e geçmek.Aklımda başlangıç için bir iki proje var.<br />
Yazılım konusunda kendimi hiç yeterli görmesem de artık bu yazılım bilgimi elektronik ortama nasıl aktaracağımı araştırdım ve PIC üzerinde çalışmaya başladım. Bu çalışmam bir haftayı aşmadı çünkü Arduino ile tanıştım.<br />
Arduino bir devre kartı olup bence gömülü sistemler üzerinde çalışmak isteyenler için bir oyuncak niteliğindedir. Önceleri basit LED yakma, karaşimşek tarzı projeleri yaptım. Daha sonra en basit kablosuz haberleşmeyi nasıl sağlarım dedim ve kızılötesi alıcı ile LED yakma projesi yaptım. Arduino ile neler yapılabilir sorusunun cevabı hiç kuşkusuz hayal gücü ile sınırlı. Örnek olsun diye bir video yüklüyorum.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://img.youtube.com/vi/Dk_ni3oX-KE/0.jpg" height="266" width="320"><param name="movie" value="http://youtube.googleapis.com/v/Dk_ni3oX-KE&source=uds" /><param name="bgcolor" value="#FFFFFF" /><param name="allowFullScreen" value="true" /><embed width="320" height="266" src="http://youtube.googleapis.com/v/Dk_ni3oX-KE&source=uds" type="application/x-shockwave-flash" allowfullscreen="true"></embed></object></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/xkrGyFWPb5o?feature=player_embedded' frameborder='0'></iframe></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Bundan sonra blogumu aktif olarak yazmaya çalışacağım. blog açmamın sebebini tam olarak anlatan yazı : <a href="http://arduinoturkiye.com/blog-blog-blog-iste-butun-mesele/">http://arduinoturkiye.com/blog-blog-blog-iste-butun-mesele/</a>. Bende yaptığım çalışmaları buraya aktarmaya çalışıcam. birilerine yardımcı olabilirsem ne mutlu...Anonymoushttp://www.blogger.com/profile/08530695124449152589noreply@blogger.com1