tag:blogger.com,1999:blog-24482748405679100422024-03-28T16:05:36.496+03:00Bilişim dünyası hakkında bilmek istedikleriniz, ipuçları ve yararlı bilgiler...Bilişim,bilgisayar,teknoloji dünyası hakkında bilmek istedikleriniz, ipuçları ve yararlı bilgilerin bulunduğu bir blog.Unknownnoreply@blogger.comBlogger193125tag:blogger.com,1999:blog-2448274840567910042.post-4675213966193515832024-03-28T16:04:00.005+03:002024-03-28T16:04:40.477+03:00Arduino ile araba yapmak<p style="text-align: justify;"><span style="font-family: verdana;">Bu yazıda arduino ile basit bir araba nasıl yapılırı işleyeceğiz. Araba aşama aşama kurulacak ve aşamalı bir şekilde ilerleteceğiz. </span></p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZIH7Ceyg_UW-TiGtkPp3yGsulSOcDLbdUQO1niXxqle5XXuULxgJbJAag0wgxLhLOnKEQoREg8Bk27iSMkoASfeEPmlB9j5WW1vWkCJYrQtuSlKpjUsIlOlrQnWSj26L10R_ZmgjQ1fcJj9HWpsmqp3Uely8Ifcy7mgTaxgMX3FhnyyI25oAC7akeBTja/s1600/arduino-araba-motor.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="293" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZIH7Ceyg_UW-TiGtkPp3yGsulSOcDLbdUQO1niXxqle5XXuULxgJbJAag0wgxLhLOnKEQoREg8Bk27iSMkoASfeEPmlB9j5WW1vWkCJYrQtuSlKpjUsIlOlrQnWSj26L10R_ZmgjQ1fcJj9HWpsmqp3Uely8Ifcy7mgTaxgMX3FhnyyI25oAC7akeBTja/w391-h293/arduino-araba-motor.jpeg" width="391" /></a></div><span style="font-family: verdana;"><span><a name='more'></a></span></span></div><span style="font-family: verdana;"><div style="text-align: justify;">Bu araba için hazır olan bir platform kullanacağız. Yukarıdaki fotoğrafta da görüldüğü gibi şeffaf plastiklerden oluşan bir gövde. Sarı-gri renkli olan 2 DC motor ve bunlara bağlı 2 tane tekerlek. Ön tarafta sarhoş tekerlek olarak bilinen sabit bir tekerlek mevcut.</div></span><div class="separator" style="clear: both; text-align: justify;"><span style="font-family: verdana;">Öncelikle çok basit mantık üzerinden bu arabayı anlayalım. Arabadaki 2 motora aynı anda güç verilince 2 motor da hareket eder ve araba ilerler. Motorların bağlantıları ve yönlerinin başlangıçta düzgün bir şekilde takıldığından emin olduğumuzu bilmek gerekir. Bunun için gerekirse deneme yanılma yapılır. </span></div><div class="separator" style="clear: both; text-align: justify;"><span style="font-family: verdana;">2 motordan biri durup diğeri çalışıyorsa araba duran motor yönüne hareket eder. Bu mantık su üstündeki bir sandalda da geçerlidir. Hangi taraftaki küreği çekmeye bağlarsanız çekilmeyen kürek yönüne hareket eder.</span></div><div class="separator" style="clear: both; text-align: justify;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp9WxpOwKR9N1ygvSGKP6oGghOqxPOBkWi39y4N2WWCpdwst2NbxAMauJvbsZyazBn6ghKzE9gKxMmAZb3C4mYhAxnMi740txGO3m-o1SrvYpWxIIr3A1t6DqPg_tTjREjhqzvVUxfcrAsYcu1VIAuFaI0qP_ZmaPr0ysNfUiNNccubGgJwwJj-DjLjlpb/s1044/motor.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="723" data-original-width="1044" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp9WxpOwKR9N1ygvSGKP6oGghOqxPOBkWi39y4N2WWCpdwst2NbxAMauJvbsZyazBn6ghKzE9gKxMmAZb3C4mYhAxnMi740txGO3m-o1SrvYpWxIIr3A1t6DqPg_tTjREjhqzvVUxfcrAsYcu1VIAuFaI0qP_ZmaPr0ysNfUiNNccubGgJwwJj-DjLjlpb/s320/motor.jpg" width="320" /></a></div><br /></div><div class="separator" style="clear: both; text-align: justify;"><span style="font-family: verdana;">Gelelim motorları çalıştırmaya; yukarıdaki motor DC Motor olarak bilinen 2 ucuna + ve - olarak 3-6 volt civarı güç verilerek çalışan bir motordur. Yukarıdaki resimden de anlaşılacağı üzere + ve - yönler motorun ucundaki pim'in dönme yönünü etkiliyor. Kırmızı renkle belirtilen şekilde bir uca + ve - verdiğimizde motor piminin kırmızı yönde döndüğünü, girişleri mavi renkle belirtildiği şekilde güçle beslediğimizde ise pimin kırmızıya ters olarak döndüğünü görüyoruz. Bu durum bu basit motorların çalışma prensibini anlatmaktadır. Bu şekilde ters yönde çalıştırmak motorlar vasıtasıyla tekerleklerin ileri ya da geri dönmesini sağlayacaktır.</span></div><div class="separator" style="clear: both; text-align: justify;"><span style="font-family: verdana;"><br /></span></div><div class="separator" style="clear: both; text-align: justify;"><span style="font-family: verdana;">Bu motorun bir ucunu Arduino'da 3 numara bir ucunu da 4 numaraya bağladığımızı düşünelim. + için HIGH, - için de LOW kullanmalıyız.</span></div><div class="separator" style="clear: both; text-align: justify;"><span style="color: #01ffff; font-family: verdana;"><i>digitalWrite(3,HIGH);</i></span></div><div class="separator" style="clear: both; text-align: justify;"><span style="color: #01ffff; font-family: verdana;"><i>digitalWrite(4,LOW);</i></span></div><div class="separator" style="clear: both; text-align: justify;"><span style="font-family: verdana;">komutlarıyla motora güç verdiğimizi düşünürsek motor belirli bir yönde döner. Bunun tam tersi yani;</span></div><div class="separator" style="clear: both; text-align: justify;"><div class="separator" style="clear: both;"><span style="color: #01ffff; font-family: verdana;"><i>digitalWrite(3,LOW);</i></span></div><div class="separator" style="clear: both;"><span style="color: #01ffff; font-family: verdana;"><i>digitalWrite(4,HIGH); </i></span></div><div class="separator" style="clear: both;"><span style="font-family: verdana;">komutlarını verirsek motor bir öncekinin ters yönünde hareket eder. Eğer motoru durdurmak istersek 2 uçta da LOW komutunu aşağıdaki gibi kullanmalıyız.</span></div><div class="separator" style="clear: both;"><div class="separator" style="clear: both;"><span style="color: #01ffff; font-family: verdana;"><i>digitalWrite(3,LOW);</i></span></div><div class="separator" style="clear: both;"><span style="color: #01ffff; font-family: verdana;"><i>digitalWrite(4,HIGH); </i></span></div><div class="separator" style="clear: both;"><span style="color: #01ffff; font-family: verdana;"><i><br /></i></span></div><div class="separator" style="clear: both;"><span style="font-family: verdana;">Fakat burada işler bu kadar da kolay olmuyor. Çünkü Arduino pinlerinden doğrudan motoru bağlayarak çalıştırmak istersek motorlar hareket etmez. Çünkü Arduino'nun verdiği elektrik gücü motorları çevirmeye yetmemektedir. Yani mantık doğru bile olsa uygulamada bu sorun yaratacaktır. Bu yüzden Arduino pinlerini önce güçlendirmek için bir elektronik karta bağlarız. Bu kartlara <span style="color: red;">motor sürücü kartlar</span> denir. Yukarıdaki fotoğrafta kırmızı renkli olan karttır. Bu kart 2 tane motoru kontrol edebilecek şekilde dizayn edilmiştir. Bu kartın adı L298N motor sürücü kartıdır.</span></div></div></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-3D6jcjJ0jdqhQC7MYl0uJDdeSngQmYhtP1yl_YRai9c9Z8Dp8pc8W5wtqc2BOeLKQL-QPC_B-nRmYnzstwAv1dAAjvaj1xF6YlDzkjaCPYR8d0ryqGbkin2lpsyMJhl9fB8W2nCsHshlx4G57KOpmIPh6H2s6T5HdEyO6zba9gI39RnsVK010CFXdfYH/s1203/motor-arduino-l298n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="727" data-original-width="1203" height="282" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-3D6jcjJ0jdqhQC7MYl0uJDdeSngQmYhtP1yl_YRai9c9Z8Dp8pc8W5wtqc2BOeLKQL-QPC_B-nRmYnzstwAv1dAAjvaj1xF6YlDzkjaCPYR8d0ryqGbkin2lpsyMJhl9fB8W2nCsHshlx4G57KOpmIPh6H2s6T5HdEyO6zba9gI39RnsVK010CFXdfYH/w467-h282/motor-arduino-l298n.jpg" width="467" /></a></div><div class="separator" style="clear: both; text-align: justify;"><span style="font-family: verdana;">Yukarıdaki şekilde motor sürücü kartı olan L298N kartının Arduino ile olan bağlantısı gösterilmiştir. Arduino'dan çıkan 4 uç 2 motoru simgeler. Bu 4 uç L298N kartındaki IN1,IN2,IN3,IN4 girişlerine bağlanır. Bu örnekte Arduinodaki 7 ve 6. çıkışlar bir motoru, 5 ve 4 nolu çıkışlar ise bir motoru simgeler. L298N kartının 1,2 girişleri şekildeki yukarıdaki motora bağlanan OUT1 ve OUT2 ile 3 ve 4 girişleri ise şekildeki aşağıda bulunan motora OUT3 ve OUT4 ile bağlantılıdır. Ayrıca karta dışarıdan 9 voltluk pil ile bir besleme yapılır ve bu besleme uçlarından şekilde yeşil ve kahverengi kablolar ile Arduino'ya aktarma yapılır. Yani Arduionun GND ucu ile L298N kartının - ucu birleşir. L298N üzerindeki 5 volt bağlantısı Arduino'nun Vin girişine bağlanarak Arduino'ya da çalışması için güç verilmiş olur. </span></div><p><span style="font-family: verdana;">Yukarıdaki bağlantıyı yaptıktan sonra daha önce bahsettiğimiz gibi digitalWrite komutları ile motorlara enerji verilerek tekerleklerin dönmesi sağlanır ve arabayı ilk kez hareket ettirmiş oluruz. </span></p><div style="background-color: white; color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #00979d;">void</span> <span style="color: #d35400;">setup</span><span style="color: #434f54;">()</span> <span style="color: #434f54;">{</span></div><div><span style="color: #d35400;">pinMode</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">4</span>,OUTPUT<span style="color: #434f54;">)</span>;<span style="color: #95a5a6;">//1.motorun bir ucu</span></div><div><span style="color: #d35400;">pinMode</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">5</span>,OUTPUT<span style="color: #434f54;">)</span>;<span style="color: #95a5a6;">//1.motorun bir ucu</span></div><div><span style="color: #d35400;">pinMode</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">6</span>,OUTPUT<span style="color: #434f54;">)</span>;<span style="color: #95a5a6;">//2.motorun bir ucu</span></div><div><span style="color: #d35400;">pinMode</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">7</span>,OUTPUT<span style="color: #434f54;">)</span>;<span style="color: #95a5a6;">//2.motorun bir ucu</span></div><div><span style="color: #434f54;">}</span></div><br /><div><span style="color: #00979d;">void</span> <span style="color: #d35400;">loop</span><span style="color: #434f54;">()</span> <span style="color: #434f54;">{</span></div><div><span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">1000</span><span style="color: #434f54;">)</span>; //ilk başladığında 1 saniye bekler</div><div>// 2motor da çalışır </div><div><span style="color: #d35400;">digitalWrite</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">4</span>,HIGH<span style="color: #434f54;">)</span>;</div><div><span style="color: #d35400;">digitalWrite</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">5</span>,LOW<span style="color: #434f54;">)</span>;</div><div><span style="color: #d35400;">digitalWrite</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">6</span>,HIGH<span style="color: #434f54;">)</span>;</div><div><span style="color: #d35400;">digitalWrite</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">7</span>,LOW<span style="color: #434f54;">)</span>;</div><div><span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">1000</span><span style="color: #434f54;">)</span>;</div><div>//ilk motor çalışmaz 2. motor çalışır</div><div><span style="color: #d35400;">digitalWrite</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">4</span>,LOW<span style="color: #434f54;">)</span>;</div><div><span style="color: #d35400;">digitalWrite</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">5</span>,LOW<span style="color: #434f54;">)</span>;</div><div><span style="color: #d35400;">digitalWrite</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">6</span>,HIGH<span style="color: #434f54;">)</span>;</div><div><span style="color: #d35400;">digitalWrite</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">7</span>,LOW<span style="color: #434f54;">)</span>;</div><div><span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">1000</span><span style="color: #434f54;">)</span>;</div><div>//ikinci motor çalışmaz 1. motor çalışır</div><div><span style="color: #d35400;">digitalWrite</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">4</span>,HIGH<span style="color: #434f54;">)</span>;</div><div><span style="color: #d35400;">digitalWrite</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">5</span>,LOW<span style="color: #434f54;">)</span>;</div><div><span style="color: #d35400;">digitalWrite</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">6</span>,LOW<span style="color: #434f54;">)</span>;</div><div><span style="color: #d35400;">digitalWrite</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">7</span>,LOW<span style="color: #434f54;">)</span>;</div><div><span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">1000</span><span style="color: #434f54;">)</span>;</div><div><span style="color: #434f54;">}</span></div></div><p><span style="font-family: verdana;">Yukarıdaki kodlar ile bu hareket basit bir hareket olacak ve aşağıdaki videoda bu hareket gerçek görüntülerini izleyebilirsiniz. Önce 1 saniye ileri gider, sonra bir motor 1 saniye durur ve bir yöne hareket daha sonra diğer motor durur ve ilk olarak duran motor yeniden çalışır ve bu sefer ters yönde hareket eder.</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='396' height='329' src='https://www.blogger.com/video.g?token=AD6v5dz_lDrg9Z-x7ztqEn4IPrUAGcCK2rQyTRGHUOzt3WOnMol0fxxj7eTtLkSbFeNK3M-R61BrKmoltkjskdVsPw' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div><br /><span style="font-family: verdana;"><br /></span><p></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-21154814817689353102024-03-28T14:47:00.001+03:002024-03-28T14:47:25.906+03:00Arduino ile buzzer kullanımı ve değişken ses çıkarma<p style="text-align: justify;"><span style="font-family: verdana;"> Frekans ile ses çıkaran bir elektronik bileşen olan buzzer sadece notasal sesler çıkarır. Genellikle uyarı sistemlerinde kullanılan buzzer'dan normal bir hoparlör gibi performans beklenemez. Bu örnekte arduino'da buzzer kullanımını işleyeceğiz.</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpvezruARCt4Nkr50bz1YG-apBbjtf_IeavO2NaJyZetOkgm6ifNjc_867itMhuF24u8b7XWuWxOVn6qf1aER7sgAuydsQ1cP3lme91rzdvIbZ95WMjhwn54roZPEF71Yjz6-BKhmmpMUHyeEoDC6p-zxCm6X8kCgsGEJ1VLQMr-0DSpdrcHhM_xhl8PJq/s746/arduino-buzzer-kullanimi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="746" data-original-width="712" height="152" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpvezruARCt4Nkr50bz1YG-apBbjtf_IeavO2NaJyZetOkgm6ifNjc_867itMhuF24u8b7XWuWxOVn6qf1aER7sgAuydsQ1cP3lme91rzdvIbZ95WMjhwn54roZPEF71Yjz6-BKhmmpMUHyeEoDC6p-zxCm6X8kCgsGEJ1VLQMr-0DSpdrcHhM_xhl8PJq/w145-h152/arduino-buzzer-kullanimi.jpg" width="145" /></span></a></div><div class="separator" style="clear: both; text-align: center;"><span style="font-family: verdana;"><br /><span><a name='more'></a></span><span><br /></span></span></div><div class="separator" style="clear: both; text-align: justify;"><span style="font-family: verdana;">Bir nohut tanesinden biraz daha büyük olan buzzer üzerine gelen elektrik sinyalini titreşime dönüştürerek ses çıkarır. Genelde basit seslerin çıkarıldığı sistemlerde uyarı ve bilgilendirme amacı ile kullanılır. Buzzer'ın çalışması için aşağıdaki şekilde görüldüğü gibi GND yazan ucu küçük değerli bir direnç ile devrenin GND hattına bağlamak + olan ucu da Arduino'dan gelecek sinyal pinine bağlamak gerekir.</span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8MRO1p3S_lefiCWJkbCsVLJf0WNGzSMVxQjykZ3hFb_xla5pdJ-NFmUaUGFpDteb5en6vJLg1tj3Wh1thkR5p3Kv8kIzHyuX66gaC-Cyst9d-9lurrqrj2jCTCxy3Mx1PKGAn84AV2Wy7Bja1OhsnCI43OKKwaoK8cVKW8Hb6vpHpG4BaNsnPIN2GM9eV/s876/buzzer-arduino.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="489" data-original-width="876" height="218" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8MRO1p3S_lefiCWJkbCsVLJf0WNGzSMVxQjykZ3hFb_xla5pdJ-NFmUaUGFpDteb5en6vJLg1tj3Wh1thkR5p3Kv8kIzHyuX66gaC-Cyst9d-9lurrqrj2jCTCxy3Mx1PKGAn84AV2Wy7Bja1OhsnCI43OKKwaoK8cVKW8Hb6vpHpG4BaNsnPIN2GM9eV/w390-h218/buzzer-arduino.JPG" width="390" /></span></a></div><div class="separator" style="clear: both; text-align: center;"><span style="font-family: verdana;"><br /></span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">Buzzerdan ses çıkması için <span style="color: #01ffff;">tone</span> komutu kullanılır. Ses çıkarmamak için de <span style="color: #01ffff;">noTone</span> komutu kullanılır.</span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;"><br /></span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">tone(pin numarası,gönderilecek sinyal değeri, bekleme milisaniye süresi);</span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;"><i>tone(2,261,200);</i></span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">Yukarıdaki örnekte 2 numaralı pine 261 değeri 200 milisaniye süresince gönderiliyor. Biz bekleme sürelerini delay komutu ile de aşağıdaki gibi yapabiliriz.</span></div><div class="separator" style="clear: both; text-align: left;"><span style="color: #01ffff; font-family: verdana;"><i>tone(2,261);</i></span></div><div class="separator" style="clear: both; text-align: left;"><span style="color: #01ffff; font-family: verdana;"><i>delay(200);</i></span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;"><br /></span></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dwmoEEcaC8MyLiiXIdjopk8HqzWID4ZgaRpa1WlA6wv10kSzD7hvF2mDw0VIFQv-F7ow8YUpmfkIm3YUv0tPg' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: justify;"><span style="font-family: verdana;">Yukarıdaki videoda görüldüğü ve duyulduğu üzere buzzerdan sabit bir ses yerine değişken bir ses çıkmaktadır. Bunun nedeni ayarlı direnç diye bildiğimiz potansiyometreden aldığımız değerleri buzzera anlık göndererek sesin değişken bir şekilde çıkmasını sağlıyor.</span></div><div class="separator" style="clear: both; text-align: justify;"><span style="font-family: verdana;"><br /></span></div><div class="separator" style="clear: both; text-align: justify;"><span style="font-family: verdana;">tone komutunda buzzerdan ses çıkması için bir frekans değeri giriyorduk. Bu frekans değerini bu sefer ayarlı dirençten okuduğumuz değer olarak yansıtıyoruz. Değer okumak için hatırlarsınız <i>analogRead</i> komutu kullanılıyordu. Örneğin tone(2,261) değeri ile tek bir ses çıkartılırken 261 yerine <i>analogRead</i> ile okutulan değer verilirse ve kısa bir bekletme yapılırsa değişken bir ses ortaya çıkar.</span></div><br /><div style="background-color: white; color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #00979d;">void</span> <span style="color: #d35400;">setup</span><span style="color: #434f54;">()</span> <span style="color: #434f54;">{</span></div><div><span style="color: #d35400;">pinMode</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">8</span>,OUTPUT<span style="color: #434f54;">)</span>; //buzzer'ın bağlı olduğu pin</div><div><span style="color: #d35400;">pinMode</span><span style="color: #434f54;">(</span>A0,INPUT<span style="color: #434f54;">)</span>; //potansiyometrenin girişi A0 pinine</div><div><span style="color: #434f54;">}</span></div><br /><div><span style="color: #00979d;">void</span> <span style="color: #d35400;">loop</span><span style="color: #434f54;">()</span> <span style="color: #434f54;">{</span></div><div> <span style="color: #00979d;">int</span> oku=<span style="color: #d35400;">analogRead</span><span style="color: #434f54;">(</span>A0<span style="color: #434f54;">)</span>; //potansiyometreden değer okumak</div><div> <span style="color: #d35400;">tone</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">8</span>,oku<span style="color: #434f54;">)</span>;</div><div> <span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">50</span><span style="color: #434f54;">)</span>;</div><div> <span style="color: #d35400;">noTone</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">8</span><span style="color: #434f54;">)</span>;</div><div><span style="color: #d35400;"> delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">10</span><span style="color: #434f54;">)</span>;</div><div><span style="color: #434f54;">}</span></div></div></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;"><br /></span></div><span style="font-family: verdana; text-align: justify;"><div style="text-align: justify;">Yukarıdaki kodlarda görüldüğü üzere potansiyometreden okunan 0-1023 arası değerler oku değişkenine atanıyor ve bu değer tone komutu içinde 8 numaralı pine bağlanan buzzera gönderiliyor. 50 milisaniye ve 10 milisaniyelik çok kısa bekleme süreleri ile neredeyse anlık değişimler buzzer üzerindeki ses ile hissediliyor. Bu devrenin şeması da aşağıdaki şekildedir.</div><div style="text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVZ3UTasTRrcJdv6x3HodAW99szHodXRVSFaKNaWsjMlx9048d5PLUzbbwESrpEq9SXc3CLos1y9_QMYYLV55dGGoQOmVvQ7xkZ6t454nLNgdnEh-o-Lv_Ml-ov-nITDPcD-fKAxcSwtnOePyPFNbqOxrlbsxgsSLQggHB2tAoxHkIan90cH3X6fKgHtj8/s1090/arduino-buzzer-potansiyometre.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="475" data-original-width="1090" height="253" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVZ3UTasTRrcJdv6x3HodAW99szHodXRVSFaKNaWsjMlx9048d5PLUzbbwESrpEq9SXc3CLos1y9_QMYYLV55dGGoQOmVvQ7xkZ6t454nLNgdnEh-o-Lv_Ml-ov-nITDPcD-fKAxcSwtnOePyPFNbqOxrlbsxgsSLQggHB2tAoxHkIan90cH3X6fKgHtj8/w584-h253/arduino-buzzer-potansiyometre.JPG" width="584" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: justify;">Potansiyometrenin çalışması için 3 ucundan dış uçlarından birine +5v diğerine GND bağlamak gerekir. Ortadaki uç ise potansiyometre üzerindeki değeri verir.</div><br /><div style="text-align: justify;"><br /></div></span><div class="separator" style="clear: both; text-align: left;"><br /></div><p></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-20298631142649591962024-03-26T15:41:00.011+03:002024-03-26T20:31:44.906+03:00Buzzer ile bir melodi çalmak<p><span style="font-family: verdana;"> Buzzer ses çıkaran bir çeşit elektronik bileşendir. Bu örnekte buzzer çıkardığı sesleri notasal bir düzene dizip tanıdık bir melodi nasıl çalınırı işleyeceğiz.</span></p><div class="separator" style="clear: both; text-align: center;"><span style="font-family: verdana;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJggGLS9N28UseT6oHP4WGf30h0zFfN7IU4vHZAZj6KtYtXzPe5DLH6jCuKAyVdvF_wCvO4SzmH0J_7tfeGIUe42_eDIc7bqVJZkEHMdAMP4u_-hWTqI_rfOPd1psLYm2KezLYTac6W4CDpd4pClhfSZFhm7_N00jhBiXXGPQ_sLLxMNyJD8hYk8gh6XGv/s876/buzzer-arduino.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="489" data-original-width="876" height="252" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJggGLS9N28UseT6oHP4WGf30h0zFfN7IU4vHZAZj6KtYtXzPe5DLH6jCuKAyVdvF_wCvO4SzmH0J_7tfeGIUe42_eDIc7bqVJZkEHMdAMP4u_-hWTqI_rfOPd1psLYm2KezLYTac6W4CDpd4pClhfSZFhm7_N00jhBiXXGPQ_sLLxMNyJD8hYk8gh6XGv/w451-h252/buzzer-arduino.JPG" width="451" /></a><br /><br /></span><span><a name='more'></a></span></div><span><span style="font-family: verdana;">Piezo buzzer olarak da bilinen bu ses çıkaran bileşen üzerinde + ve - olmak üzere 2 uç bulunmaktadır. Arduino ile kuracağımız sistemde - uç düşük değerli bir direnç ile GND'ye, + uç ise dijital pinlerden birine bağlanır. </span></span><p></p><div><span style="font-family: verdana;">Buzzerdan ses çıkarmak için Arduino'da <span style="color: #04ff00;"><b>tone</b></span> ve ses çıkarmamak için de <span style="color: #04ff00;"><b>noTone</b></span> komutlarını kullanacağız. </span></div><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: verdana;"><span style="color: #04ff00;">tone(2,250);</span> kodu 2 numaralı pine bağlanan buzzer'a 250 değerini gönderdik. Gönderdiğimiz 250 değeri bir frekans değeridir. Bu frekansa göre notasal bir ses çıkarır. yani her notanın bir frekans değeri vardır. Örneğin do notası 261 hertz değerindedir.</span></div><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: verdana;"><span style="color: #04ff00;">noTone(2);</span> kodu ise 2 numaralı pine bağlanan buzzer'a ses göndermez susturur.</span></div><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: verdana;">Bir melodi birden fazla sayıda notaların belirli aralıklarla peş peşe çalınmasıyla oluşmaktadır. tone komutu ile Arduino'dan buzzer'a notaları gönderirsek ve aralarında bir miktar gecikme yaparsak bir melodi elde edebiliriz. Bunun için notaların değerlerini bilmemiz gerekmektedir. </span></div><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: verdana;">Bir tam sayıyı tanıtmak için <span style="color: #04ff00;">int sayı = 261;</span> kodunu kullanıyorduk. Aynı şekilde notaları da bu şekilde tanıtabiliriz fakat bu sefer farklı bir değişken tanıtma komutundan bahsedelim. </span><span style="color: #728e00; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;">#define do_ 261 </span><span style="font-family: verdana;">komutu ile do_ adında bir değişkene 261 değerini eşitlemiş olduk. define kelime anlamı olarak tanımlamadır. do_ yapmamızın nedeni ise değişken kurallarına göre bazı isimlerin komut olmasından yani do adında bir komut olmasından dolayı do notasına do_ adını vermiş olduk.</span></div><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: verdana;">Bu tanımlamadan sonra <span style="color: #04ff00;">tone(2,do_)</span> komutu kullanırsam do_ yerine 261 geleceği için 2 numaralı pindeki buzzer'a 261 değeri gönderir ve buzzer do notası sesi çıkarır. Notaların değerleri ve tanımlamaları aşağıdaki gibidir.</span></div><div><span style="font-family: verdana;"><br /></span></div><div><div style="background-color: white; line-height: 19px;"><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #728e00;">#define</span> <span style="color: #d35400;">do_</span> <span style="color: #005c5f;">261</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #728e00;">#define</span> <span style="color: #d35400;">re</span> <span style="color: #005c5f;">294</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #728e00;">#define</span> <span style="color: #d35400;">mi</span> <span style="color: #005c5f;">329</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #728e00;">#define</span> <span style="color: #d35400;">fa</span> <span style="color: #005c5f;">349</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #728e00;">#define</span> <span style="color: #d35400;">sol</span> <span style="color: #005c5f;">392</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #728e00;">#define</span> <span style="color: #d35400;">la</span> <span style="color: #005c5f;">440</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #728e00;">#define</span> <span style="color: #d35400;">si</span> <span style="color: #005c5f;">493</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #005c5f;"><br /></span></div><p style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; text-align: left; white-space: pre;"><span style="color: black; font-family: verdana; font-size: medium; white-space: normal;">Bu değerler Arduino formlarında verilmiş değerlerdir. Şimdi gelelim bu notalardan bir melodi oluşturmaya. Melodi oluşması için bu notaların art arda olması gerekir. Mesela do_, re, re, fa, sol, mi gibi 6 notayı art arda ve aralarında kısa bekletmeler ile çalıştırırsak bir melodi ortaya çıkar. </span></p><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; text-align: left; white-space: pre;"><span style="color: black; font-family: verdana; font-size: medium; white-space: normal;"><br />Beethoven'un 9 numaralı senfonisinden meşhur olan hemen hemen herkesin kulağının aşina olduğu bir melodinin nota sıralaması aşağıdaki gibidir. </span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: black; font-family: verdana; font-size: medium; white-space: normal;"><br /></span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><div style="line-height: 19px;">mi,mi,fa,sol,sol,fa,mi,re,do_,do_,re,mi,mi,re,re,mi,mi,fa,sol,sol,fa,
mi, re, do_, do_, re, mi, re, do_, do_, re, re, mi, do_, re, mi, fa, mi,
do_, re, mi, fa, mi, re, do_ , re, sol, mi, mi, mi, fa, sol, sol, fa, mi,
re, do_, do_, re, mi, re, do_, do_</div></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><span style="color: black; font-family: verdana; font-size: medium; white-space: normal;"><br /></span></div><div style="font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><span style="color: black; font-family: verdana; font-size: medium; white-space: normal;">Şimdi bu notaları bir küme mantığında Arduino'ya kaydetmemiz gerekir. Önceki derslerde bir değişken içine bir içerik girebiliyorduk. Mesela sayı=45 dersek sayı değişkeni 45 değeri almaktadır. Ama çiftsayılar diye bir küme yapmak istersem o zaman </span><span style="font-family: verdana; font-size: medium; white-space: normal;"><span style="color: #04ff00;">ciftsayilar[]={2,4,6,8};</span></span><span style="color: black; font-family: verdana; font-size: medium; white-space: normal;"> komutunu kullanmam gerekir. Bu sayede ciftsayilar adında bir değişken oluşturmuş oldum ve türü de küme yani yazılım dilinde dizi değişkeni oluşturmuş oldum. Bu dizinin içinde 4 tane eleman yani sayı vardır. Örneğin </span><span style="font-family: verdana; font-size: medium; white-space: normal;"><span style="color: #04ff00;">ciftsayılar[2]</span></span><span style="color: black; font-family: verdana; font-size: medium; white-space: normal;"> kodunun içeriği 6'dır. Eleman sayıları 0'dan başlar. 0. eleman 2, 1. eleman 4 diye ilerler. Şimdi bunu öğrendikten sonra yukarıdaki notaları melodi adında bir diziye eklersek melodiler tek bir değişken içinde bulunur. Bunları da melodi[0], melodi[1].... gibi sırasıyla tone komutuna eklersek istediğimiz melodiyi buzzer ile çıkarmış oluruz.</span><span style="color: black; font-family: verdana; font-size: medium; white-space: normal;"> Aşağıdaki kodlar ile bu melodiyi Arduino ile çalmak mümkün oluyor.</span></div><div style="font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><span style="color: black; font-family: verdana; font-size: medium; white-space: normal;"><br /></span></div><div style="line-height: 19px;"><div style="line-height: 19px;"><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #728e00;">#define</span> <span style="color: #d35400;">do_</span> <span style="color: #005c5f;">261</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #728e00;">#define</span> <span style="color: #d35400;">re</span> <span style="color: #005c5f;">294</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #728e00;">#define</span> <span style="color: #d35400;">mi</span> <span style="color: #005c5f;">329</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #728e00;">#define</span> <span style="color: #d35400;">fa</span> <span style="color: #005c5f;">349</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #728e00;">#define</span> <span style="color: #d35400;">sol</span> <span style="color: #005c5f;">392</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #728e00;">#define</span> <span style="color: #d35400;">la</span> <span style="color: #005c5f;">440</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #728e00;">#define</span> <span style="color: #d35400;">si</span> <span style="color: #005c5f;">493</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><br /></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #00979d;">int</span> melodi[]=<span style="color: #434f54;">{</span>mi,mi,fa,sol,sol,fa,mi,re,do_,do_,re,mi,mi,re,re,mi,mi,fa,sol,sol,fa, mi, re, do_, do_, re, mi, re, do_, do_, re, re, mi, do_, re, mi, fa, mi, do_, re, mi, fa, mi, re, do_ , re, sol, mi, mi, mi, fa, sol, sol, fa, mi, re, do_, do_, re, mi, re, do_, do_<span style="color: #434f54;">}</span>;</div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #00979d;">int</span> notasayisi=sizeof<span style="color: #434f54;">(</span>melodi<span style="color: #434f54;">)</span>/sizeof<span style="color: #434f54;">(</span><span style="color: #00979d;">int</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;">//melodi içinde kaç tane eleman yani nota var tam sayı şeklinde verir</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #00979d;"><br /></span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #00979d;">void</span> <span style="color: #d35400;">setup</span><span style="color: #434f54;">()</span> </div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #434f54;">{</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #d35400;">pinMode</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">2</span>,OUTPUT<span style="color: #434f54;">)</span>;</div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #434f54;">}</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><br /></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #00979d;">void</span> <span style="color: #d35400;">loop</span><span style="color: #434f54;">()</span> <span style="color: #434f54;">{</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"> </div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"> <span style="color: #728e00;">for</span><span style="color: #434f54;">(</span><span style="color: #00979d;">int</span> a=<span style="color: #005c5f;">0</span>;a<notasayisi;a++<span style="color: #434f54;">)</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"> <span style="color: #434f54;">{</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"> <span style="color: #d35400;">tone</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">2</span>,<span style="color: #d35400;">melodi</span>[a]<span style="color: #434f54;">)</span>;</div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"> <span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">250</span><span style="color: #434f54;">)</span>; </div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"> <span style="color: #434f54;">}</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"> <span style="color: #d35400;">noTone</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">2</span><span style="color: #434f54;">)</span>;</div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"> <span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">1000</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;"> // melodide tüm notalar çaldıktan sonra herhangi bir ses çıkarmadan 1 saniye beklemesi için </span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #434f54;">}</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #434f54;"><br /></span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: black; font-family: verdana; font-size: medium; white-space: normal;">Notalar ilk bölümde #define ile tanıtılıyor. Ardından melodi[] adındaki dizi oluşturuluyor ve içine notalar ekleniyor. nota sayısı çok olduğu için saymakla uğraşmıyoruz ve sizeof komutu ile bu melodi içindeki notaların sayısını buluyoruz ki bu bize notaları çağırırken kullanacağımız for döngüsünde lazım olacak.</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: black; font-family: verdana; font-size: medium; white-space: normal;"><br /></span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: black; font-family: verdana; font-size: medium; white-space: normal;">Gelelim for döngüsüne, bu döngü melodi içindeki notaların peş peşe çalınması için bize gereklidir. For döngüsüne verilen a değişken değerinin 0 dan başlaması ile melodi[a] ile melodinin ilk elemanı yani 0. elemanından başlayıp nota sayısına kadar olan elemanına kadar 250 milisaniye bekleyerek notaları buzzer üzerinde ses haline dönüştürür.</span></div><div style="color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: black; font-family: verdana; font-size: medium; white-space: normal;"><br /></span></div><div><span style="color: #444444; font-family: verdana;">Bu çalışmayı Tinkercad sitesinde incelemek için aşağıdaki adrese tıklayın. Ücretsiz üyelik seçenekleri ile giriş yapabilirsiniz.</span></div><div><span style="font-family: verdana;"><br /></span></div><div><a href="https://www.tinkercad.com/things/bD2lPkcpaIg-melodi">Melodi (tinkercad.com)</a></div></div></div></div></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-70081014473498683172023-12-30T02:25:00.004+03:002023-12-30T02:25:42.782+03:00Arduino ile DHT11 Sıcaklık ve Nem Sensörü<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcblrmbA0fq79bHq8JBRVZkE1g-CCGPpzB0qUH-HUpbi4ItfU0WzBFQiwT6kOdiufQu7v8UpEs3YJzRc_8H6knJrCJuREPR_rOWS4bYCSVm1TiqNbymArfs7CZon2BgPqJ_yTrRqZ7bwGcSxJIpNhHTIO1_5zpJrZ09Ap5QPad5BS4vIZavHTC7hyphenhyphenoEkkO/s607/dht-11.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="607" data-original-width="594" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcblrmbA0fq79bHq8JBRVZkE1g-CCGPpzB0qUH-HUpbi4ItfU0WzBFQiwT6kOdiufQu7v8UpEs3YJzRc_8H6knJrCJuREPR_rOWS4bYCSVm1TiqNbymArfs7CZon2BgPqJ_yTrRqZ7bwGcSxJIpNhHTIO1_5zpJrZ09Ap5QPad5BS4vIZavHTC7hyphenhyphenoEkkO/s320/dht-11.jpg" width="313" /></a></div><div class="separator" style="clear: both; text-align: center;"><div style="text-align: justify;"><span style="font-family: verdana;"><b>DHT11</b> sıcaklık ve nem sensörü gelişmiş bir sıcaklık ve nem algılayıcıdır. </span></div><span><span style="font-family: verdana;"><a name='more'></a></span></span></div><div class="separator" style="clear: both; text-align: justify;"><span style="font-family: verdana;">Daha önce gördüğümüz LM35 adındaki sıcaklık sensöründen daha gelişmiştir ve daha kesin sonuçlar verir. Ayrıca sıcaklık yanında nem değeri verir ve bu değerleri kütüphanesinden tek bir komut ile görebilirsiniz. Diğer LM35 sensöründe bize doğrudan sıcaklığı vermiyordu. Data ucundan verdiği değeri sıcaklığa çevirmek için bazı formüller uyguluyorduk</span>.</div><div class="separator" style="clear: both; text-align: justify;"><br /></div><div class="separator" style="clear: both; text-align: justify;"><span style="font-family: verdana;">Yukarıda görüldüğü gibi 4 uçlu olan bu DHT11 sensörünün 3 ucunu kullanıyoruz. Bunlar 5V ve GND ile güç besleme ve bir de değerleri okuduğumuz data uçları. Aşağıdaki resimde de sensörün <b>Arduino</b>'ya bağlantısı görülmektedir. Data ucu Arduino'da herhangi bir dijital pine bağlanır. 5V ve GND ise Arduino'daki 5V ve GND pinlerine bağlanmaktadır. Hassas ölçümler için data ucuna bir direnç paralel bağlanabilir.</span></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaDGsXoJZymtuKXIdue6X8Vvochyphenhyphen9ekODBmexwQvUzPsSkqJmH4wuEIh9t8aUjB7HkvwqVtYA_O5Ip_IzMdR7KaeJYl430nWrj473tS17zjPG99nkOixQh7lAVJZJ7qBU8VoXRPMIQatlWQBp4J_ZndT2gjfZylS9dMUorU5G-W0_3dnY5v0BNWHqDftdI/s1358/dht-11-arduino.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="750" data-original-width="1358" height="354" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaDGsXoJZymtuKXIdue6X8Vvochyphenhyphen9ekODBmexwQvUzPsSkqJmH4wuEIh9t8aUjB7HkvwqVtYA_O5Ip_IzMdR7KaeJYl430nWrj473tS17zjPG99nkOixQh7lAVJZJ7qBU8VoXRPMIQatlWQBp4J_ZndT2gjfZylS9dMUorU5G-W0_3dnY5v0BNWHqDftdI/w640-h354/dht-11-arduino.jpg" width="640" /></a></div><span style="font-family: verdana;">Gelelim Arduino kodlarına; öncelikle DHT11 sensörünün kütüphanesini Arduino programına eklemek gerekmektedir. DHT11 kütüphanesini <a href="https://drive.google.com/file/d/17HY2gPPZN5OqS3swUsSTih3kFv_-RdBd/view?usp=sharing" rel="nofollow" target="_blank"><b>buraya tıklayarak</b></a> indirebilirsiniz. İndirdiğiniz zip dosyasını Arduino programındaki menüden Library Ekle ya da Kütüphane Ekle seçeneği içinde zip kütüphanesi ekle seçeneğinden ekleyerek DHT11'i Arduino'da aktif etmiş oluruz.</span><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSi2_gnpaeacoLzvJzSAiGa3yVymBZyuID0LljDF3sQ-hWQaPHqs5d5DkxG94cGhr6SJggu04gVtEm0rzm7eYvLpT0PxX0bdZGEYr4ObmHGaHiyKn4HEnWjJsnKkD89CwXO1YZIMm-1iElYGPETDDX4_jqLrc_zzduxNDi-4upC7jkvcvkST6bWZiLlR7J/s587/ktuphaneekle.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="587" height="328" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSi2_gnpaeacoLzvJzSAiGa3yVymBZyuID0LljDF3sQ-hWQaPHqs5d5DkxG94cGhr6SJggu04gVtEm0rzm7eYvLpT0PxX0bdZGEYr4ObmHGaHiyKn4HEnWjJsnKkD89CwXO1YZIMm-1iElYGPETDDX4_jqLrc_zzduxNDi-4upC7jkvcvkST6bWZiLlR7J/w640-h328/ktuphaneekle.jpg" width="640" /></a></div><br /><p><span style="font-family: verdana;">Bu işlemden sonra aşağıdaki kodları Arduino'da çalıştırarak seri port ekranında sensörden alınan bilgileri görebiliriz.</span></p><div style="background-color: white; color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #728e00;">#include</span> <span style="color: #005c5f;"><dht11.h></span></div><div>dht11 sensorum;</div><div><span style="color: #00979d;">int</span> spin=<span style="color: #005c5f;">13</span>;</div><br /><div><span style="color: #00979d;">void</span> <span style="color: #d35400;">setup</span><span style="color: #434f54;">()</span> <span style="color: #434f54;">{</span></div><div><span style="color: #d35400;">Serial</span>.<span style="color: #d35400;">begin</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">9600</span><span style="color: #434f54;">)</span>;</div><div><span style="color: #434f54;">}</span></div><br /><div><span style="color: #00979d;">void</span> <span style="color: #d35400;">loop</span><span style="color: #434f54;">()</span> <span style="color: #434f54;">{</span></div><div> <span style="color: #d35400;">sensorum</span>.<span style="color: #d35400;">read</span><span style="color: #434f54;">(</span>spin<span style="color: #434f54;">)</span>;</div><div> <span style="color: #d35400;">Serial</span>.<span style="color: #d35400;">print</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">"Sıcaklık="</span><span style="color: #434f54;">)</span>;</div><div> <span style="color: #d35400;">Serial</span>.<span style="color: #d35400;">println</span><span style="color: #434f54;">((</span><span style="color: #00979d;">float</span><span style="color: #434f54;">)</span><span style="color: #d35400;">sensorum</span>.<span style="color: #d35400;">temperature</span>, <span style="color: #005c5f;">1</span><span style="color: #434f54;">)</span>;</div><div> <span style="color: #d35400;">Serial</span>.<span style="color: #d35400;">print</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">"Nem"</span><span style="color: #434f54;">)</span></div><div> <span style="color: #d35400;">Serial</span>.<span style="color: #d35400;">println</span><span style="color: #434f54;">((</span><span style="color: #00979d;">float</span><span style="color: #434f54;">)</span><span style="color: #d35400;">sensorum</span>.<span style="color: #d35400;">humidity</span>, <span style="color: #005c5f;">1</span><span style="color: #434f54;">)</span>;</div><div> <span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">300</span><span style="color: #434f54;">)</span>;</div><div><span style="color: #434f54;">}</span></div><div><span style="color: #434f54;"><br /></span></div></div><span style="font-family: verdana;">Kodlar çalıştıktan sonra seri port ekranında aşağıdaki gibi sonuç ya da sonuçlar görünür. Seri port ekranını Arduino karta yükleme yaptıktan sonra Araçlar sekmesinden açabiliriz.</span><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaC9PuFdPGsNnx1Wws9fXdyFfA8-kdhl4s4x0gOwBSszj_J10PCa5e3Dne7tfPxYBBJBbSkT0hHqmMaeCrDfDQPFlstlYIggk6O6ByZVRiRORQbrJ6o_TM-ASFZv_vcUew_RR382bX8P3uwO8VQ8n1Sy8sXzWTGK_RNKvbRFgh9Em0pnGQ3W7i2oIFmI0p/s527/seri-port.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="196" data-original-width="527" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaC9PuFdPGsNnx1Wws9fXdyFfA8-kdhl4s4x0gOwBSszj_J10PCa5e3Dne7tfPxYBBJBbSkT0hHqmMaeCrDfDQPFlstlYIggk6O6ByZVRiRORQbrJ6o_TM-ASFZv_vcUew_RR382bX8P3uwO8VQ8n1Sy8sXzWTGK_RNKvbRFgh9Em0pnGQ3W7i2oIFmI0p/w640-h238/seri-port.jpg" width="640" /></a></div></div><div class="separator" style="clear: both; text-align: center;"><span style="color: red; font-family: verdana;">Kodların açıklamalı halleri aşağıdaki gibidir.</span></div><div class="separator" style="clear: both; text-align: left;"><div style="background-color: white; color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #728e00;">#include</span> <span style="color: #005c5f;"><dht11.h> //dht11 kütüphanesini ekledik</span></div><div>dht11 sensorum; //sensöre sensorum diye isim verdik</div><div><span style="color: #00979d;">int</span> spin=<span style="color: #005c5f;">13</span>; //sensörü 13 numaralı pine bağladık </div><div>//bu yüzden bir spin adında değişken tanımladık int ise tam sayı olduğunu belirtir </div><br /><div><span style="color: #00979d;">void</span> <span style="color: #d35400;">setup</span><span style="color: #434f54;">()</span> <span style="color: #434f54;">{</span></div><div><span style="color: #d35400;">Serial</span>.<span style="color: #d35400;">begin</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">9600</span><span style="color: #434f54;">)</span>; //bilgisayar ile arduinonun seri haberleşmesi için komut</div><div><span style="color: #434f54;">}</span></div><br /><div><span style="color: #00979d;">void</span> <span style="color: #d35400;">loop</span><span style="color: #434f54;">()</span> <span style="color: #434f54;">{</span></div><div> <span style="color: #d35400;">sensorum</span>.<span style="color: #d35400;">read</span><span style="color: #434f54;">(</span>spin<span style="color: #434f54;">)</span>; //spin yani 13. pine bağlı olan sensörü okuttuk</div><div> <span style="color: #d35400;">Serial</span>.<span style="color: #d35400;">print</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">"Sıcaklık="</span><span style="color: #434f54;">)</span>; //ekrana sıcaklık yazdı ama alt satıra geçmedi</div><div>//print komutu bir alt satıra geçmeden bekler </div><div> <span style="color: #d35400;">Serial</span>.<span style="color: #d35400;">println</span><span style="color: #434f54;">((</span><span style="color: #00979d;">float</span><span style="color: #434f54;">)</span><span style="color: #d35400;">sensorum</span>.<span style="color: #d35400;">temperature</span>, <span style="color: #005c5f;">1</span><span style="color: #434f54;">)</span>;</div><div>//ekrana sensörden okuduğu sıcaklığı 1 ondalıklı sayı olarak yazdı.</div><div>//bir alt satıra geçti println komutu sayesinde</div><div>//temperature komutu santigrat cinsinden sıcaklığı verir</div><div>//fahrenheit ve kelvin olarak da sıcaklık değerleri okunabilir gerekli komutlarla</div><div> <span style="color: #d35400;">Serial</span>.<span style="color: #d35400;">print</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">"Nem="</span><span style="color: #434f54;">)</span></div><div> <span style="color: #d35400;">Serial</span>.<span style="color: #d35400;">println</span><span style="color: #434f54;">((</span><span style="color: #00979d;">float</span><span style="color: #434f54;">)</span><span style="color: #d35400;">sensorum</span>.<span style="color: #d35400;">humidity</span>, <span style="color: #005c5f;">1</span><span style="color: #434f54;">)</span>;</div><div>//ekrana nem oranını yazdı humidity komutu sayesinde yazdı. </div><div> <span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">300</span><span style="color: #434f54;">)</span>;</div><div><span style="color: #434f54;">}</span></div></div></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-4674022941892917062023-12-29T14:32:00.007+03:002023-12-29T14:37:34.258+03:00Arduino ile step motoru kullanımı<p></p><div class="separator" style="clear: both; text-align: center;"><span style="font-family: verdana;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dx1NLTDiVTx-Vwni5z7ls9Dd0USayPOXOBw6z0W3u0y_xRscs51F7PeOuTLoRpHdNggs86OCpgg_jRWKSi3uQ' class='b-hbp-video b-uploaded' frameborder='0'></iframe></span></div><p></p><p><span style="font-family: verdana;">Bir motor çeşidi olan step motoru dönüşünü adım adım yapmaktadır. Her step motorun bir tam turunu tamamlaması için belirli adım sayısı vardır. Bu adım sayısı özelliği motorun marka modeline göre değişmektedir. Bizim bu derste kullanacağımız step motoru <b>28 BYJ-48</b> kodlu step motorudur.<span></span></span></p><a name='more'></a><div class="separator" style="clear: both; text-align: center;"><span style="font-family: verdana;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9b9YrV3hMjhSITyZkQAkx5Je5YNuMdNhOQW_F0t3EpB1FDy8368gWKJppkLbJ7Q2Km6qAvaQX4Z_PDZDMluj-LklxnP1TVw5-QySOzbgQnWdqsomyXLlQriN9k3aJ0LaeXVCMGicxS5r_pJfusmMXe6HThSj53dXrhRq3YX_rWPhwFxWbX-UE0h-U9a9C/s386/28-byj-48-step-motoru-ve-surucu-karti.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="367" data-original-width="386" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9b9YrV3hMjhSITyZkQAkx5Je5YNuMdNhOQW_F0t3EpB1FDy8368gWKJppkLbJ7Q2Km6qAvaQX4Z_PDZDMluj-LklxnP1TVw5-QySOzbgQnWdqsomyXLlQriN9k3aJ0LaeXVCMGicxS5r_pJfusmMXe6HThSj53dXrhRq3YX_rWPhwFxWbX-UE0h-U9a9C/w221-h210/28-byj-48-step-motoru-ve-surucu-karti.jpg" width="221" /></a></span></div><p></p><span style="font-family: verdana;">Bu motoru <b>Arduino</b> kartlar ile çalıştırmak için bir de sürücü kartına ihtiyaç vardır. Yukarıdaki yeşil renkli kart step motorunun gücünü ve yönetimini yürüten bir sürücü karttır. Step motoru kablolarını soketi ile birlikte bağladıktan sonra bu sürücü kart üzerinde bulunan IN1, IN2, IN3 ve IN4 pinlerini kablo ile Arduino kartına bağlıyoruz.<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifv4rj5k_UX-soTNkrRJA4Ih4dXfwuWCbHABJnFvPE4klDFmHeR1Lb9IAFN-Ml61mqSXNRBpdS_M-o3FX7YxPft6aiNsxRbEJu4NzkaEd9O5hqLf2x3BK_53UNh439GyMhDbiYyGR2nSKjxafGfk6equMslqPOrOadz4gsL18tWihzy_MK-3rlruwoobGq/s640/step-arduino.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="264" data-original-width="640" height="186" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifv4rj5k_UX-soTNkrRJA4Ih4dXfwuWCbHABJnFvPE4klDFmHeR1Lb9IAFN-Ml61mqSXNRBpdS_M-o3FX7YxPft6aiNsxRbEJu4NzkaEd9O5hqLf2x3BK_53UNh439GyMhDbiYyGR2nSKjxafGfk6equMslqPOrOadz4gsL18tWihzy_MK-3rlruwoobGq/w451-h186/step-arduino.jpg" width="451" /></a></div></span><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: verdana;">Bağlantıları yaptıktan sonra gelelim Arduino ile yapılacak kodlama işlemine. Step motorunu Arduino ile çalıştırmak için bir kütüphane gereklidir. Arduino programında bu kütüphane mevcuttur. Stepper adlı kütüphaneyi ilk olarak Arduino kodlarına ekliyoruz ve aşağıdaki kodları ekleyerek temel anlamda step motorunu Arduino ile çalıştırıyoruz.</span></div><div><span style="font-family: verdana;"><br /></span></div><div><div style="background-color: white; color: #4e5b61; line-height: 19px; white-space: pre;"><div><span style="font-family: verdana;"><span style="color: #728e00;">#include</span> <span style="color: #005c5f;"><Stepper.h></span></span></div><div><span style="color: #95a5a6; font-family: verdana;">//motoru çalıştıracak sürücü kartı üzerindeki pinleri </span></div><div><span style="color: #95a5a6; font-family: verdana;">//arduinoda kaç numaralı pinlere bağladığımızı </span></div><div><span style="color: #95a5a6; font-family: verdana;">//aşağıdaki değişken isimleri ile tanımlıyoruz.</span></div><div><span style="color: #95a5a6; font-family: verdana;">// int tam sayı olduğunu belirtir in1 gibi isimler ise </span></div><div><span style="color: #95a5a6; font-family: verdana;">//bizim verdiğimiz değişken isimleri. sürücü kartın üzerinde öyle yazıyor diye</span></div><div><span style="font-family: verdana;"><span style="color: #00979d;">int</span> in1 = <span style="color: #005c5f;">11</span>;</span></div><div><span style="font-family: verdana;"><span style="color: #00979d;">int</span> in2 = <span style="color: #005c5f;">10</span>;</span></div><div><span style="font-family: verdana;"><span style="color: #00979d;">int</span> in3 = <span style="color: #005c5f;">9</span>;</span></div><div><span style="font-family: verdana;"><span style="color: #00979d;">int</span> in4 = <span style="color: #005c5f;">8</span>;</span></div><span style="font-family: verdana;"><br /></span><div><span style="font-family: verdana;"><span style="color: #00979d;">int</span> tamtur = <span style="color: #005c5f;">2000</span>;<span style="color: #95a5a6;"> //step motorunun tam tur sayısı.</span></span></div><div><span style="font-family: verdana;"><span style="color: #95a5a6;">//yani step motoru 360 dereceyi 2000 adımda tamamlar </span></span></div><div><span style="color: #95a5a6; font-family: verdana;">//istersek bu sayıyı değitirebiliriz. enfazla 5625 değerinde çalışır. </span></div><div><span style="color: #95a5a6; font-family: verdana;">//daha yüksek değerler hep 5625de çalışır </span></div><span style="font-family: verdana;"><br /></span><div><span style="font-family: verdana;">Stepper step_motorum = <span style="color: #d35400;">Stepper</span><span style="color: #434f54;">(</span>tamtur, in2, in4, in1, in3<span style="color: #434f54;">)</span>;<span style="color: #95a5a6;"> </span></span></div><div><span style="font-family: verdana;"><span style="color: #95a5a6;">//step motor kütüphanesi ile step motoru hazırlama kodu</span></span></div><div><span style="color: #95a5a6; font-family: verdana;">//yukarıda step motora step_motorum adını verdik.</span></div><div><span style="color: #95a5a6; font-family: verdana;">// aşağıdaki kodlarda motoru bu isimde kullanacağız</span></div><span style="font-family: verdana;"><br /></span><div><span style="font-family: verdana;"><span style="color: #00979d;">void</span> <span style="color: #d35400;">setup</span><span style="color: #434f54;">()</span> <span style="color: #434f54;">{</span></span></div><div><span style="color: #95a5a6; font-family: verdana;"> // gerekli bir hazırlık yok yukarıda step motor kütüphanesi kodları herşeyi hazırladı</span></div><div><span style="color: #434f54; font-family: verdana;">}</span></div><div><span style="font-family: verdana;"><span style="color: #00979d;">void</span> <span style="color: #d35400;">loop</span><span style="color: #434f54;">()</span> <span style="color: #434f54;">{</span></span></div><div><span style="font-family: verdana;"> <span style="color: #d35400;">step_motorum</span>.<span style="color: #d35400;">setSpeed</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">10</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;"> // Hızı dakikada 10 devir olarak ayarlıyoruz</span></span></div><div><span style="font-family: verdana;"> <span style="color: #d35400;">step_motorum</span>.<span style="color: #d35400;">step</span><span style="color: #434f54;">(</span>tamtur<span style="color: #434f54;">)</span>;<span style="color: #95a5a6;"> //tamtur yani 2000 adım dönsün</span></span></div><div><span style="font-family: verdana;"> <span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">1000</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;">//dönme işleminden sonra diğer dönme işlemine geçmeden önce 1 saniye beklesin</span></span></div><div><span style="font-family: verdana;"> <span style="color: #d35400;">step_motorum</span>.<span style="color: #d35400;">setSpeed</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">5</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;"> // Hızı dakikada 5 devir olarak ayarlıyoruz</span></span></div><div><span style="font-family: verdana;"> <span style="color: #d35400;">step_motorum</span>.<span style="color: #d35400;">step</span><span style="color: #434f54;">(</span>-tamtur/<span style="color: #005c5f;">2</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;"> // tamtur değerinin yarısı yani 1000 adım ters töne dönsün</span></span></div><div><span style="font-family: verdana;"> <span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">1000</span><span style="color: #434f54;">)</span>;</span></div><div><span style="font-family: verdana;"> <span style="color: #d35400;">step_motorum</span>.<span style="color: #d35400;">setSpeed</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">19</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;"> // Bu motor en fazla 19 devir/dakika olarak çalışır</span></span></div><div><span style="font-family: verdana;"> <span style="color: #d35400;">step_motorum</span>.<span style="color: #d35400;">step</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">500</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;"> //500 adım dönsün</span></span></div><div><span style="font-family: verdana;"> <span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">1000</span><span style="color: #434f54;">)</span>;</span></div><div><span style="color: #434f54; font-family: verdana;">}</span></div></div></div><div style="background-color: white; color: #4e5b61; line-height: 19px; white-space: pre;"><span style="font-family: verdana;"><br /></span></div><div><p><span style="font-family: verdana;">Yukarıdaki örnekte kodların yanlarında ve alt satırlarında açıklama satırları ile kodları ve işin mantığını anlatmaya çalıştım. Kodların açıklamasız hali ise aşağıda bulunmaktadır.</span></p><p><span style="font-family: verdana;">Burada dikkat edilecek husus en başta step motora verdiğimiz step_motorum ismi ile step motorunun işlevlerini kullanmak. </span></p><p><span style="font-family: verdana;"><span style="color: red;">setSpeed</span> işlevi ile step motora dakikada dönme hızı ayarlıyoruz.</span></p><p><span style="font-family: verdana;"><span style="color: red;">step</span> işlevi ile de step motorunun adıma atmasını yani dönmesini sağlıyoruz. </span></p><div style="background-color: white; color: #4e5b61; line-height: 19px; white-space: pre;"><div><span style="font-family: verdana;"><span style="color: #728e00;">#include</span> <span style="color: #005c5f;"><Stepper.h></span></span></div><div><span style="font-family: verdana;"><span style="color: #00979d;">int</span> in1 = <span style="color: #005c5f;">11</span>;</span></div><div><span style="font-family: verdana;"><span style="color: #00979d;">int</span> in2 = <span style="color: #005c5f;">10</span>;</span></div><div><span style="font-family: verdana;"><span style="color: #00979d;">int</span> in3 = <span style="color: #005c5f;">9</span>;</span></div><div><span style="font-family: verdana;"><span style="color: #00979d;">int</span> in4 = <span style="color: #005c5f;">8</span>;</span></div><span style="font-family: verdana;"><br /></span><div><span style="font-family: verdana;"><span style="color: #00979d;">int</span> tamtur = <span style="color: #005c5f;">2000</span>;</span></div><div><span style="font-family: verdana;">Stepper step_motorum = <span style="color: #d35400;">Stepper</span><span style="color: #434f54;">(</span>tamtur, in2, in4, in1, in3<span style="color: #434f54;">)</span>;<span style="color: #95a5a6;"> </span></span></div><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: verdana;"><span style="color: #00979d;">void</span> <span style="color: #d35400;">setup</span><span style="color: #434f54;">()</span> <span style="color: #434f54;">{</span></span></div><div><span style="color: #95a5a6; font-family: verdana;"> </span></div><div><span style="color: #434f54; font-family: verdana;">}</span></div><div><span style="font-family: verdana;"><span style="color: #00979d;">void</span> <span style="color: #d35400;">loop</span><span style="color: #434f54;">()</span> <span style="color: #434f54;">{</span></span></div><div><span style="font-family: verdana;"> <span style="color: #d35400;">step_motorum</span>.<span style="color: #d35400;">setSpeed</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">10</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;"> </span></span></div><div><span style="font-family: verdana;"> <span style="color: #d35400;">step_motorum</span>.<span style="color: #d35400;">step</span><span style="color: #434f54;">(</span>tamtur<span style="color: #434f54;">)</span>;<span style="color: #95a5a6;"> </span></span></div><div><span style="font-family: verdana;"> <span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">1000</span><span style="color: #434f54;">)</span>;</span></div><div><span style="font-family: verdana;"> <span style="color: #d35400;">step_motorum</span>.<span style="color: #d35400;">setSpeed</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">5</span><span style="color: #434f54;">)</span>;</span></div><div><span style="font-family: verdana;"> <span style="color: #d35400;">step_motorum</span>.<span style="color: #d35400;">step</span><span style="color: #434f54;">(</span>-tamtur/<span style="color: #005c5f;">2</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;"> </span></span></div><div><span style="font-family: verdana;"> <span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">1000</span><span style="color: #434f54;">)</span>;</span></div><div><span style="font-family: verdana;"> <span style="color: #d35400;">step_motorum</span>.<span style="color: #d35400;">setSpeed</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">19</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;"> </span></span></div><div><span style="font-family: verdana;"> <span style="color: #d35400;">step_motorum</span>.<span style="color: #d35400;">step</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">500</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;"> </span></span></div><div><span style="font-family: verdana;"> <span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">1000</span><span style="color: #434f54;">)</span>;</span></div><div><span style="color: #434f54; font-family: verdana;">}</span></div><br /></div></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-22161742651550085012023-05-28T23:27:00.001+03:002023-05-28T23:27:13.989+03:00Arduino ile servo motor kullanımı<p><span style="font-family: verdana;">Motor denilince aklımıza ilk olarak sürekli dönen ve pervaneleri olan motorlar akla gelir. Araç tekerlerinde, su altı araçlarında gibi bir çok yerde kullanılan motorlardan farklı olarak açısal olarak dönebilen servo motorlar vardır. Servo motor Arduino'dan verilen kodlar ile kendi içindeki elektronik kart ve çarklar ile motorun mekanizması açısal olarak dönmektedir.</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3DmeVf7ld-jfwtlXDk-0C8JPUOGFgZvaBNR9uHhG9X6OqjCP2Rtbqc_o9d_4-2cW81TSVN_E_xquL0y2psgy85-akASzYDcryCBW-6723MsJkcSnlRGD1eBTjONjuQR7qV1VtA0hg0Use1GdIop0NIWKwxMxEkBRHAG8pbLAsAIZ1EC_wn6V3jqiXfA/s400/arduino-servo.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="400" data-original-width="400" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3DmeVf7ld-jfwtlXDk-0C8JPUOGFgZvaBNR9uHhG9X6OqjCP2Rtbqc_o9d_4-2cW81TSVN_E_xquL0y2psgy85-akASzYDcryCBW-6723MsJkcSnlRGD1eBTjONjuQR7qV1VtA0hg0Use1GdIop0NIWKwxMxEkBRHAG8pbLAsAIZ1EC_wn6V3jqiXfA/s320/arduino-servo.gif" width="320" /></a></div><span><a name='more'></a></span><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">Yukarıdaki hareketli görselde gördüğünüz üzere servo motor üzerindeki beyaz kol açısal bir hareket yapmaktadır. Önce bu servo motoru tanıyalım. Aşağıdaki görselde gördüğünüz gibi servo motor bağlantısı 3 pinden oluşmaktadır. Kırmızı renk 5V, kahverengi renk GND, sarı renk ise herhangi bir dijital pine bağlanır.</span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqQN6qd0COa9rh-fYvdwrXU6Fsx2R4ncdtVnmYtTZtA2CWF-fdRP621F5xSuvZ5Y7IwHA0jHuUkg6I7eny-by2_s1Zi5ZOi5ycEh8A3zEAZo6CrEatkTSUifRFFbERaLyinwKOJDnKscwyMGa7GpKxocpyeBaMCQ7IFf64IB49DAC6Z_T6eUKyMem3SQ/s662/servo.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="505" data-original-width="662" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqQN6qd0COa9rh-fYvdwrXU6Fsx2R4ncdtVnmYtTZtA2CWF-fdRP621F5xSuvZ5Y7IwHA0jHuUkg6I7eny-by2_s1Zi5ZOi5ycEh8A3zEAZo6CrEatkTSUifRFFbERaLyinwKOJDnKscwyMGa7GpKxocpyeBaMCQ7IFf64IB49DAC6Z_T6eUKyMem3SQ/s320/servo.JPG" width="320" /></span></a></div><span style="font-family: verdana;"><br /></span><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">Servo motorun çalışması için Arduino'ya servo motor kütüphanesi eklenir. Arduino içinde kütüphaneleri yönetme kısmında servo bulunup kurulduktan sonra servo motor kütüphaneleri yüklenmiş olur fakat bir kütüphaneyi kod olarak eklemek için <i><b>#include <Servo.h></b></i> komut satırı kullanılarak ekleme yapılır. </span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;"><br /></span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">Servo motoru belirli açılarda döndürmek için ise <b><i>servom.write(50);</i></b> gibi kod kullanılır. servom motora verilen isim, 50 ise 50 derece döndürmektir. Diğer kod detayları için aşağıdaki kodları inceleyiniz. </span></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"> <span style="background-color: white; color: #728e00; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;">#include</span><span style="background-color: white; color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"> </span><span style="background-color: white; color: #005c5f; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><Servo.h></span><span style="background-color: white; color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"> </span><span style="background-color: white; color: #95a5a6; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;">//servo motor kütüphanesi eklenir</span></div><div style="background-color: white; color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div>Servo servom;<span style="color: #95a5a6;"> //motora servom adı verilir</span></div><div><span style="color: #00979d;">void</span> <span style="color: #d35400;">setup</span><span style="color: #434f54;">()</span> </div><div><span style="color: #434f54;">{</span></div><div><span style="color: #d35400;">servom</span>.<span style="color: #d35400;">attach</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">3</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;"> //motor 3 numaralı pine bağlanmıştır. pinMode'a benzer bir kod</span></div><div><span style="color: #95a5a6;">//yukarıda motora servom ismi verildi ve servom bir nesne oldu. artık bu motora komutları</span></div><div><span style="color: #95a5a6;">// servom.x gibi x yerine gelecek komutlarla gerçekleştirebiliriz</span></div><div><span style="color: #434f54;">}</span></div><div><span style="color: #00979d;">void</span> <span style="color: #d35400;">loop</span><span style="color: #434f54;">()</span></div><div><span style="color: #434f54;">{</span></div><div><span style="color: #d35400;">servom</span>.<span style="color: #d35400;">write</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">100</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;"> // motor 100 derece dönsün</span></div><div><span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">500</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;"> //500ms bekle</span></div><div><span style="color: #d35400;">servom</span>.<span style="color: #d35400;">write</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">20</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;"> //motor 20 derece dönsün</span></div><div><span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">500</span><span style="color: #434f54;">)</span>;</div><div><span style="color: #95a5a6;">//aşağıda for döngüsünde 90 dereceden başlayıp 0 derececeye kadar 15 ms de bir azalarak dönüş sağlanır </span></div><div><span style="color: #728e00;">for</span> <span style="color: #434f54;">(</span><span style="color: #00979d;">int</span> de = <span style="color: #005c5f;">90</span>; de >= <span style="color: #005c5f;">0</span>; de=de-<span style="color: #005c5f;">1</span><span style="color: #434f54;">)</span></div><div><span style="color: #434f54;">{</span></div><div><span style="color: #d35400;">servom</span>.<span style="color: #d35400;">write</span><span style="color: #434f54;">(</span>de<span style="color: #434f54;">)</span>;</div><div><span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">15</span><span style="color: #434f54;">)</span>;</div><div><span style="color: #434f54;">}</span> </div><div><span style="color: #434f54;">}</span></div><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><br /><p><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-1182171867310280822023-05-28T23:02:00.006+03:002023-05-29T16:06:51.326+03:00Arduino ile LCD ekran kullanımı<p><span style="font-family: verdana;">Görselde gördüğünüz LCD ekran düşündüğümüz yeni nesil ekranların aksine daha basit yapıda likit kristal kimyasal yapıda olan ve ekrandaki hücrelerde sadece harf, sayı ve karakter gösterebilen ekranlardır. Bu LCD ekranların Arduino ile programlanarak ekranda istediğimiz yazı ve karakterleri çıkarmak için gerekli bağlantı ve kodları bu sayfada göreceksiniz.</span></p><p><span style="font-family: verdana;"></span></p><div class="separator" style="clear: both; text-align: center;"><span style="font-family: verdana;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy2uyc988eCgBS-kMPP-Xl8jE_Babz0JoGGjoqDfP_tUYnqTEouETjl3jg9JWNL7wPOgOtarmGKDSm5GEhOB31KtnR9NYtjHMpZo2T1f1SBdMLyZCJwcOMDr8FC9KzgUcjtkcDt62kJTGi0_Z6I3cLUOatGFMdOoyfrC5rxvhTvkJ6y-Nu03d55WhHww/s320/lcd-arduino.gif" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="320" data-original-width="320" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiy2uyc988eCgBS-kMPP-Xl8jE_Babz0JoGGjoqDfP_tUYnqTEouETjl3jg9JWNL7wPOgOtarmGKDSm5GEhOB31KtnR9NYtjHMpZo2T1f1SBdMLyZCJwcOMDr8FC9KzgUcjtkcDt62kJTGi0_Z6I3cLUOatGFMdOoyfrC5rxvhTvkJ6y-Nu03d55WhHww/s1600/lcd-arduino.gif" width="320" /></a></span></div><span style="font-family: verdana;"><span><a name='more'></a></span><div class="separator" style="clear: both; text-align: center;"><br /></div>Kullanacağımız LCD ekran modül eklentili bir ekrandır. Normal LCD ekranlarda modül yoktur ve bağlantı yapmak için aşağıda görüldüğü gibi kalabalık bir kablo grubu ile çalışmak gerekmektedir. Bu kalabalıklığı ortadan kaldıran I2C adlı bir modül ile LCD ekranı Arduino'ya bağlamak daha da kolay oluyor.</span><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicvduUGc_YuQxo0cQRs60xS2KNR0Y1EtXuuNWCt8MYLCQNniLSN5c5jQeP5e77r7rCpZr0c0jE2EtgkTaZeuoQcq3bRJFn_ekFfNL_NMUM5AZ7JioTmU113IXZgugKzZQJuE1DwW-qjH74xasnG-QbGUWeT1nrNSXECsd1ixg4_Ky6HunN8xpBACnZeA/s720/i2c-modul-lcd-ekran.jpg" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="224" data-original-width="720" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicvduUGc_YuQxo0cQRs60xS2KNR0Y1EtXuuNWCt8MYLCQNniLSN5c5jQeP5e77r7rCpZr0c0jE2EtgkTaZeuoQcq3bRJFn_ekFfNL_NMUM5AZ7JioTmU113IXZgugKzZQJuE1DwW-qjH74xasnG-QbGUWeT1nrNSXECsd1ixg4_Ky6HunN8xpBACnZeA/w640-h200/i2c-modul-lcd-ekran.jpg" width="640" /></span></a></div><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguYNN3V7bfAfl8oNBQSWb6NuwGXXd7vuz0otQy9tJb6kffJqF2owdeE12XLAUlZlypcm61WpiygwcjeSM-5AXmGvFZkPYYJ0NzSRAWHv-2ecw9zUY2OzUNcgtWah9C-HWh8Ycegg2AX7dogeVkUHbz-T09jtTyDmLF4QydgLAP3Bdene4ZPZpsKlCtkg/s4032/20230529_160413.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1339" data-original-width="4032" height="133" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguYNN3V7bfAfl8oNBQSWb6NuwGXXd7vuz0otQy9tJb6kffJqF2owdeE12XLAUlZlypcm61WpiygwcjeSM-5AXmGvFZkPYYJ0NzSRAWHv-2ecw9zUY2OzUNcgtWah9C-HWh8Ycegg2AX7dogeVkUHbz-T09jtTyDmLF4QydgLAP3Bdene4ZPZpsKlCtkg/w400-h133/20230529_160413.jpg" width="400" /></a></div>Modülsüz ve I2C modüllü LCD ekran örneği<br /><span style="font-family: verdana;"><br /></span><p></p><p><span style="font-family: verdana;">LCD ekran üzerindeki I2C modülünde bulunan 4 pin ile bağlantı sağlayacağız. Bu pinlerden; </span></p><p></p><ul style="text-align: left;"><li><span style="font-family: verdana;">GND, Arduino'da GND pinine</span></li><li><span style="font-family: verdana;">VCC, Arduino'da 5V pinine</span></li><li><span style="font-family: verdana;">SDA, Arduino'da SDA pinine</span></li><li><span style="font-family: verdana;">SCL, Arduino'da SCL pinine bağlanır. <br />Not: Bazı Arduinolarda SDA ve SCL pinleri yoktur. Bu durumda analog pinlerden A4 ve A5 pinleri kullanılır.</span></li></ul><div><span style="font-family: verdana;">Bu bağlantılar yapıldıktan sonra Arduino kodlamaya geçilir. LCD ekranın I2C ile birlikte çalışan modül kütüphanesi Arduino'ya eklenmelidir. (Bu kütüphaneyi <a href="https://drive.google.com/file/d/12rTli3RbHp6cflwgJPjyJM7DTXs4ocho/view?usp=share_link" rel="nofollow" target="_blank">buraya tıklayarak</a> zip dosyası olarak indirip Arduino IDE programına zip kütüphane olarak ekleyebilirsiniz.)</span></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZjfS3wbI4fTLIZeOGnISbc_ryHqwRIUjAtZeWLtbb-SccDIQP-Qjm46X1u4PKnu46yUzmuov0UgN2__cP2sY8nBB5l3fgi6UwanDr7ZiySapHdqvSPPnzjVEdpmtpI_X8LGvUzNp0KSW8SmYOIlHqvld88EqcLq4mZBzkeAsgYZj9U05nP0oSGPtXeQ/s1219/lcd-ekran-satir-sutun.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="540" data-original-width="1219" height="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZjfS3wbI4fTLIZeOGnISbc_ryHqwRIUjAtZeWLtbb-SccDIQP-Qjm46X1u4PKnu46yUzmuov0UgN2__cP2sY8nBB5l3fgi6UwanDr7ZiySapHdqvSPPnzjVEdpmtpI_X8LGvUzNp0KSW8SmYOIlHqvld88EqcLq4mZBzkeAsgYZj9U05nP0oSGPtXeQ/w400-h178/lcd-ekran-satir-sutun.jpg" width="400" /></a></div><br /><div><span style="font-family: verdana;">Kodlama öncesinde LCD ekranın fiziki yapısını da tanımak gerekir. Kullanacağımız LCD ekran 16 sütundan 2 satırdan oluşmaktadır. Bu boyutlardan farklı boyutlarda da LCD ekranlar bulunmaktadır. Sütunlar ve satırlar 0'dan başlamaktadır. Komutlarla hangi konuma hangi karakteri yazacağımız önemli bu yüzden bu sütun ve satır mantığını bilmek gerekir. Konumlandırma da önce sütun sonra satır belirtilir. setCursor konumu ile konumlandırma yapılır. Örnek;</span></div><div><span style="font-family: verdana;">lcd.setCursor(4,1) => 4. sütun 1. satıra </span></div><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: verdana;">Kütüphane eklendikten sonra kodlarda kütüphane eklemesi, lcd tanıtımı ve kodların çalıştırılması ile LCD ekranda istediğimiz yazıları İngilizce alfabesine uygun bir şekilde görüntüleyebiliriz. Yani kullanacağımız bazı harfler (büyük i,ş,ğ gibi harfler) ve karakterler LCD ekranda görünmeyebilir ya da farklı şekillerde görünebilir. Aşağıdaki kodlar ve yanlarındaki açıklama satırlarında gerekli anlatımlar yapılmıştır.</span></div><div><span style="background-color: white; color: #728e00; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><br /></span></div><div><span style="background-color: white; color: #728e00; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;">#include</span><span style="background-color: white; color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"> </span><span style="background-color: white; color: #005c5f; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><LiquidCrystal_I2C.h></span><span style="background-color: white; color: #95a5a6; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;">//lcd ekranın çalışması için gerekli kodları içeren kütüphane eklendi</span></div><div style="background-color: white; color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div>LiquidCrystal_I2C <span style="color: #d35400;">lcd</span><span style="color: #434f54;">(</span>0x<span style="color: #005c5f;">27</span>,<span style="color: #005c5f;">16</span>,<span style="color: #005c5f;">2</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;">//16 sütun 2 satırlı 0x27 kodla çalışan lcd ekran lcd olarak tanıtıldı</span></div><br /><div><span style="color: #00979d;">void</span> <span style="color: #d35400;">setup</span><span style="color: #434f54;">()</span> <span style="color: #434f54;">{</span></div><div> <span style="color: #d35400;">lcd</span>.<span style="color: #d35400;">begin</span><span style="color: #434f54;">()</span>;<span style="color: #95a5a6;">//lcd ekranın çalışması başlatıldı</span></div><div><span style="color: #434f54;">}</span></div><br /><div><span style="color: #00979d;">void</span> <span style="color: #d35400;">loop</span><span style="color: #434f54;">()</span> <span style="color: #434f54;">{</span></div><div> <span style="color: #d35400;">lcd</span>.<span style="color: #d35400;">setCursor</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">2</span>,<span style="color: #005c5f;">0</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;">//2. sütun 0. satıra konumlan</span></div><div> <span style="color: #d35400;">lcd</span>.<span style="color: #d35400;">print</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">"BILGISAYAR"</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;"> // 2.sütun 0. satıra BILGISAYAR yaz</span></div><div> <span style="color: #d35400;">lcd</span>.<span style="color: #d35400;">setCursor</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">0</span>,<span style="color: #005c5f;">1</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;">//0. sütun 1. satıra konumlan</span></div><div> <span style="color: #d35400;">lcd</span>.<span style="color: #d35400;">print</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">"BILIMI"</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;">// 0.sütun 1. satıra BILIMI yaz</span></div><div> <span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">2000</span><span style="color: #434f54;">)</span>;<span style="color: #95a5a6;">//2 saniye bekle ekrandaki yazılar 2 saniye görünür</span></div><div> <span style="color: #d35400;">lcd</span>.<span style="color: #d35400;">clear</span><span style="color: #434f54;">()</span>;<span style="color: #95a5a6;">//ekrandaki tüm yazılar silinir</span></div><div> <span style="color: #d35400;">lcd</span>.<span style="color: #d35400;">setCursor</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">0</span>,<span style="color: #005c5f;">0</span><span style="color: #434f54;">)</span>;</div><div> <span style="color: #d35400;">lcd</span>.<span style="color: #d35400;">print</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">"FASKERHAT"</span><span style="color: #434f54;">)</span>;</div><div> <span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">2000</span><span style="color: #434f54;">)</span>;</div><div> <span style="color: #d35400;">lcd</span>.<span style="color: #d35400;">clear</span><span style="color: #434f54;">()</span>;</div><div><span style="color: #95a5a6;"> //önce ekranda BILGISAYAR BILIMI yazar ve 2 sn bekler sonra ekrandakiler silinir</span></div><div><span style="color: #95a5a6;"> //sonra ekranda FASKERHAT yazar ve 2 sn bekler sonra ekrandakiler silinir</span></div><div><span style="color: #95a5a6;"> //bu döngü loop sayesinde döner</span></div><div><span style="color: #95a5a6;"> //kayan yazı ya da değişen yazılar ise daha önce öğrendiğimiz döngü yapıları ile yapılabilir</span></div><div><span style="color: #434f54;">}</span></div><br /></div><div style="background-color: white; color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"></div><div style="background-color: white; color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><br /></div><span style="font-family: verdana;">Yukarıdaki kodlarda LCD ekran lcd olarak tanıtıldıktan sonra tüm kodlar lcd olarak başlıyor. yani lcd ismi artık bir nesne oluyor ve lcd ismi üzerinde komutlar çalıştırılıyor. Komutların açıklamaları // işaretlerinden sonra açıklanmıştır.<br /></span><div><div><span style="font-family: verdana;"><br /></span></div></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-84700956804304028182023-04-11T23:37:00.003+03:002023-04-11T23:37:41.317+03:00Arduino ile analogWrite kullanımı<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKIe5U1bY3hew3J0aPnaW5AdytWloMUjfgoVSNlWYB_iJKpcIO71zgPVT0EYhhTNEq1UpbRbTDvaatReTr_MuOLQ441R95MTO8nGdJdeGkfry20gn_AKS_eS3kvrUmBhUgV3aX9YohSSNV0OnCS6kEYql33_KgTsMYElAqfBym1fNuAwaGDiEFO15T3w/s368/analogwrite.gif" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="368" data-original-width="368" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKIe5U1bY3hew3J0aPnaW5AdytWloMUjfgoVSNlWYB_iJKpcIO71zgPVT0EYhhTNEq1UpbRbTDvaatReTr_MuOLQ441R95MTO8nGdJdeGkfry20gn_AKS_eS3kvrUmBhUgV3aX9YohSSNV0OnCS6kEYql33_KgTsMYElAqfBym1fNuAwaGDiEFO15T3w/w200-h200/analogwrite.gif" width="200" /></span></a></div><span style="font-family: verdana;">Daha önceki örneklerde <b>digitalWrite</b> kullanımını görmüştük. Bu sefer <b>analogWrite</b> komutunun kullanımı göreceğiz. Fakat önce bunun için digital ve analog arasındaki farkı bilmemiz gerekir.<span><a name='more'></a></span></span><div><span style="font-family: verdana;">digitalWrite komutunu kullanırken çıkışa bağladığımız led digitalWrite komutu sayesinde ya ışık veriyor ya da vermiyordu. Arduino, <b>LOW</b> ile çıkışa elektrik vermediği için led ışık vermiyor, <b>HIGH</b> ile çıkışa elektrik verdiği için led ışık veriyor. Aslında bu durum dijital kavramını bize açıklıyor. Digital olarak yazılıp dijital olarak okuduğumuz sayısal olarak da bilinen bu kavram aslında elektrik var ve yok kavramıdır. Yani dijital sistemler 1 ve 0 ikilisinin oluşturduğu ikili sistem temeline kurulmuştur. </span></div><div><span style="font-family: verdana;"><b><i>1 elektrik var yani HIGH, 0 elektrik yok yani LOW'dur. Yani bu şekilde led ya ışık verir ya da vermez. </i></b></span><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: verdana;">Yukarıdaki görselde görüldüğü gibi ledin kademeli olarak parlaklığı artsın ya da azalsın istiyorsak dijitaldeki gibi 0 ya da 1 seçeneği değil değişken bir aralığa sahip olan bir sisteme ihtiyacımız vardır. Bu sistem ise <b>analog</b> sistemlerdir. <br /><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyZZ2MQt4mCHOiqE-EwoFSQNGXfmDVmneedo2tVAtC2qR4_aOnfs-nOSQnh2Hg_R9DjfMuxRBnMWQk7anA8NkV5Z7wBAHzaB2nhEu1jYbU6kcOk5Q5Ihk5cjssNE-J7kk3wUfKexHJF3iyagKdX-nTAEoqgRaH_g11bmtxn1Ak4lVBF3Kr-e_L6ZmttA/s306/analog-digital.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="159" data-original-width="306" height="159" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyZZ2MQt4mCHOiqE-EwoFSQNGXfmDVmneedo2tVAtC2qR4_aOnfs-nOSQnh2Hg_R9DjfMuxRBnMWQk7anA8NkV5Z7wBAHzaB2nhEu1jYbU6kcOk5Q5Ihk5cjssNE-J7kk3wUfKexHJF3iyagKdX-nTAEoqgRaH_g11bmtxn1Ak4lVBF3Kr-e_L6ZmttA/s1600/analog-digital.png" width="306" /></span></a></div><div class="separator" style="clear: both; text-align: center;"><span style="font-family: verdana;"><br /></span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">Dijitalde 0 elektrik yok, 1 ise elektrik var yani 5 volt demektir. Analogta ise bu 0 ile 5 volt arası değişen değerler ile verilmiştir. Arduino mimarisinde bu değişen değerler 0 - 255 arası olarak tasarlanmıştır. Yani 0 dijitaldeki 0 ile aynı iken 255 dijitaldeki 1 yani 5 volta karşılık gelmektedir. Mesela analogta 120 değeri yaklaşık yarı değer olduğundan 2,5 volta yakın bir değer olmaktadır. Diğer analog sistemlerde bu aralık değişebilir. Arduino'da bildiğimiz dijital pinlerden analog çıkış almak için belirli pinler kullanmak gerekir. Bu pinler <b>PWM pinler</b> olarak geçmektedir ve aşağıdaki resimde kırmızı ok ile gösterilen önünde analog sinyali temsil eden dalga (~) işareti olan pinlerdir. Yani bu pinlerden analogWrite komutu kullanılarak 0-255 arası değer yazdırılır. </span></div><span style="font-family: verdana;"><br /></span><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_2KBw75GiwLvltNl-qGOrng4q6Bk3-yLgHnFEPbkx4NliuR1w0JWkQZiv53aNdorTtol3laPi_XLyCe1fQ6vFy6e9WmPOqtaDO7KVYO8fuSpLQ6Mu9YqogoHb9lf5fZIfJV27cySPOLuqMT73mqwBnZX3ADiZSgYMtyD8iQp5MNqPqhyYd7cLB5f2-A/s817/arduino-analog-pinler.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="150" data-original-width="817" height="74" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_2KBw75GiwLvltNl-qGOrng4q6Bk3-yLgHnFEPbkx4NliuR1w0JWkQZiv53aNdorTtol3laPi_XLyCe1fQ6vFy6e9WmPOqtaDO7KVYO8fuSpLQ6Mu9YqogoHb9lf5fZIfJV27cySPOLuqMT73mqwBnZX3ADiZSgYMtyD8iQp5MNqPqhyYd7cLB5f2-A/w400-h74/arduino-analog-pinler.jpg" width="400" /></span></a></div><div class="separator" style="clear: both; text-align: center;"><span style="font-family: verdana;"><br /></span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">Bu şekilde analog ve dijital arasındaki farkı anlamış olduk ve dijital sinyal için digitalWrite, analog sinyal için<b> analogWrite</b> komutunun kullanıldığını belirtmiş olduk. Şimdi bunu bir örnek ile pekiştirelim. Aşağıda görmüş olduğunuz örneğin kodlamasını yapalım.</span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB1g8OPvt6hUB0-l8rW4LYq1ihPgHJaPzNNHP6wcSZnT5qopPmglC9ZX6eePzvXYssF7qnXEoMHo6S9HXcOjmmDi51BLOqz01L0QC-7-wopnBS4SzhIt7s59ChBR0s-wM6IobAGS1OqAi_YYnHdZZgONY6b_9ER4QJt04MdyuWDUh-d0jrzRYwjn2vPA/s368/analogwrite.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="368" data-original-width="368" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB1g8OPvt6hUB0-l8rW4LYq1ihPgHJaPzNNHP6wcSZnT5qopPmglC9ZX6eePzvXYssF7qnXEoMHo6S9HXcOjmmDi51BLOqz01L0QC-7-wopnBS4SzhIt7s59ChBR0s-wM6IobAGS1OqAi_YYnHdZZgONY6b_9ER4QJt04MdyuWDUh-d0jrzRYwjn2vPA/s320/analogwrite.gif" width="320" /></span></a></div><span style="font-family: verdana;"><br /></span><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">Yukarıdaki örnekte Arduino'nun 9 numaralı pinine bağlı bir led görülmektedir. Bu pin analog çıkış özellikli önünde ~ işareti olan pindir. Bu pinden çıkan kademeli sıfırdan 255'e sinyali led üzerinde görmekteyiz. Led önce sönük durumdan tam olarak ışık veren duruma yavaş yavaş geçmekte daha sonra bu tam ışık verme durumundan da tamamen sönük duruma yavaş yavaş geçmektedir. Bu örneği çalıştıran kodlar;</span></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><div style="background-color: white; color: #4e5b61; font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div><span style="color: #00979d;">void</span> <span style="color: #d35400;">setup</span><span style="color: #434f54;">()</span></div><div><span style="color: #434f54;">{</span></div><div><span style="color: #d35400;">pinMode</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">9</span>,OUTPUT<span style="color: #434f54;">)</span>;</div><div><span style="color: #434f54;">}</span></div><div><span style="color: #00979d;">int</span> say;</div><div><span style="color: #00979d;">void</span> <span style="color: #d35400;">loop</span><span style="color: #434f54;">()</span></div><div><span style="color: #434f54;">{</span></div><div> <span style="color: #728e00;">for</span> <span style="color: #434f54;">(</span>say=<span style="color: #005c5f;">0</span>;say<=<span style="color: #005c5f;">255</span>;say++<span style="color: #434f54;">)</span></div><div> <span style="color: #434f54;">{</span></div><div> <span style="color: #d35400;">analogWrite</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">9</span>,say<span style="color: #434f54;">)</span>;</div><div> <span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">5</span><span style="color: #434f54;">)</span>;</div><div> <span style="color: #434f54;">}</span></div><div> <span style="color: #728e00;">for</span> <span style="color: #434f54;">(</span>say=<span style="color: #005c5f;">255</span>;say>=<span style="color: #005c5f;">0</span>;say--<span style="color: #434f54;">)</span></div><div> <span style="color: #434f54;">{</span></div><div> <span style="color: #d35400;">analogWrite</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">9</span>,say<span style="color: #434f54;">)</span>;</div><div> <span style="color: #d35400;">delay</span><span style="color: #434f54;">(</span><span style="color: #005c5f;">5</span><span style="color: #434f54;">)</span>;</div><div> <span style="color: #434f54;">}</span></div><div><span style="color: #434f54;">}</span></div><br /></div></div><span style="font-family: verdana;"><b>void loop</b> bölümünde yani ana programda 2 adet for döngüsü kullanılmıştır. İlk for döngüsünde 0'dan 255'e sayan ve birer birer artan döngünün say adındaki değişkeni aldığı 0-255 arası değerleri analogWrite komutu ile 9 numaralı pine göndermektedir. 9 numaralı pinde bağlı olan led ise bu değerler aracılığıyla az ışıktan çok ışığa geçerek parlaklığını artırmaktadır.</span></div><div><span style="font-family: verdana;">İkinci for döngüsü ise 255'ten 0'a azalarak say değişkenini analogWrite komutu ile 9 numaralı pine gönderir ve led üzerinde parlak durumdan sönük duruma geçirerek kod sonlanır. Döngüler içindeki delay(5) komutu ise 5 milisaniye gecikme yaparak led üzerindeki ışık değişimini göstermektedir.</span></div><div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: verdana;"><b>Not: </b>for döngülerinin ve void bölümlerinin parantezlerine dikkat edelim. Her ikisinde de { parantez işareti ile açılır, } işareti ile kapatılır. for döngüleri ve diğer kodlar void parantezleri içinde olur.<br /></span><br /></div></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-48301383624460768932023-03-01T22:08:00.007+03:002023-04-04T23:01:52.167+03:00Bilgisayar Bilimi Robot Programlama sunusu ve kitabı<p><span style="font-family: verdana;">Liselerdeki derslerden biri olan Bilgisayar Bilimi dersinin KUR 2 konularından olan Robot Programlama ünitesinin kitabı ve sunusu sizlerle.</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsKjNxgwMPDXo_87vKforFIsvaxLgnfxhaPX_lDDyplytS9KNKx_NjqKyjAAKdAuJMjzSFoURaDB-dsJtohTy-kQ3BQeGIMyhgVFnsGldznzVLFtY7YsJZoFy6DkaSFZ98RCIh13kVWUlAZSjKyVw1PUI3wlnn9R4DTrL0dKhyCvd8CEw9x-0skCdwdA/s833/robot-programlama.JPG" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="503" data-original-width="833" height="193" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsKjNxgwMPDXo_87vKforFIsvaxLgnfxhaPX_lDDyplytS9KNKx_NjqKyjAAKdAuJMjzSFoURaDB-dsJtohTy-kQ3BQeGIMyhgVFnsGldznzVLFtY7YsJZoFy6DkaSFZ98RCIh13kVWUlAZSjKyVw1PUI3wlnn9R4DTrL0dKhyCvd8CEw9x-0skCdwdA/s320/robot-programlama.JPG" width="320" /></span><span><a name='more'></a></span></a></div><span style="font-family: verdana;"><br /></span><p><span style="font-family: helvetica;"><b>Bilgisayar Bilimi</b> dersi proje liselerinde 2 kurdan oluşmaktadır. İkinci kur kitabında 3 bölüm vardır. Bunlardan biri de <b>Robot Programlama</b> bölümüdür. Diğer bölümler ise Mobil Uygulama Geliştirme ve İnternet Web Servisleri'dir. Bu ünitelerden okulun imkanlarına uygun olarak bir bölüm seçilir ve bir dönem boyunca öğretim programındaki içeriğe göre yıllık plana aktarılır. </span></p><p><span style="font-family: helvetica;">Bu sayfada bu Kur 2 kitabının birinci bölümü olan Robot Programlama bölümünün kitaptaki kısmını aşağıdaki bağlantıdan indirebilirsiniz. Kitap 580 sayfa ve üç bölümden oluştuğu için çok yer kaplamaması ve karışıklığa neden olmaması için diğer bölümlere yer verilmemiştir. </span></p><p><span style="color: red; font-family: helvetica;"><b>Bilgisayar Bilimi Kur 2 Robot Programlama kitabı için <a href="https://drive.google.com/file/d/11TwelC3YJxIFyMwjw8KQyZqTgdWppFQD/view?usp=share_link" rel="nofollow" target="_blank">tıklayınız.</a></b></span></p><p><span style="font-family: helvetica;">Robotik Kodlama olarak da bilinen Robot Programlama bölümünde;</span></p><p></p><ul style="text-align: left;"><li><span style="font-family: helvetica;">Robot ve Robot Mimarisi</span></li><li><span style="font-family: helvetica;">Robot Türleri ve eğitsel amaçlı robotlar</span></li><li><span style="font-family: helvetica;">Robot Bileşenleri</span></li><li><span style="font-family: helvetica;">Blok tabanlı robot programlama yazılımları</span></li><li><span style="font-family: helvetica;">Metin tabanlı robot programlama yazılımları</span></li></ul><div><span style="font-family: helvetica;">gibi konu başlıkları mevcuttur. İlk üç konu başlığında robot sistemleri tanıtılmakta, sonrasında blok tabanlı robot programlama yazılımlarından bahsedilmektedir. Kitapta Mblock yazılımından bahsedilmektedir. Fakat bu yazılımın yanında robot programlama konusunda başarılı bir simülasyon olan Tinkercad sitesinden de bahsedilmesi de faydalı olacaktır. Metin tabanlı robot yazılımlarında ise Arduino'dan bahsedilir ve Arduino ile çeşitli robotik kodlama konuları yani çeşitli projeler yapılmaktadır.</span></div><div><span style="font-family: helvetica;"><br /></span></div><div><span style="font-family: helvetica;"><b><span style="color: red; font-size: large;">Sunular; </span></b><br /><br /></span></div><div><span style="font-family: helvetica;">Robot ve Robot Mimarisi, Robot Türleri ve Bileşenleri konularını içeren sunu için <a href="https://docs.google.com/presentation/d/1yTGou0xKbw1icr3E2MbnMTZzxjFzMD5s/edit?usp=sharing&ouid=102508458140974914328&rtpof=true&sd=true" rel="nofollow" target="_blank">tıklayınız. </a></span></div><div><span style="font-family: helvetica;"><br /></span></div><div><span style="font-family: helvetica;">Blok tabanlı robot programlama yazılımları sunusu için <a href="https://docs.google.com/presentation/d/1KeWK_Fw-oj608EtwCpiPIAU5ng_138OF/edit?usp=sharing&ouid=102508458140974914328&rtpof=true&sd=true" rel="nofollow" target="_blank">tıklayınız.</a></span></div><div><br /></div><div><span style="font-family: helvetica;">Metin tabanlı robot programlama yazılımları içeriği ve sunusu için </span><a href="http://faskerhat.blogspot.com/2020/04/arduino-ile-programlama.html" rel="nofollow" style="font-family: helvetica;" target="_blank">tıklayınız.</a></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><p></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-83079153763885524932022-09-14T10:42:00.007+03:002022-12-06T12:00:30.672+03:00Disk yönetiminde HDD disk görünmüyor sorunu çözümü<p><span style="font-family: trebuchet; font-size: medium;">Yeni nesil bilgisayarlarda eski sistemlerle çakışmalardan kaynaklanan nedenlerle bazı sorunlar görünmeye başladı. Bu konuda da son zamanlar HDD diye bildiğimiz eski tip hard diskler başrol oynamaya başladı. Sanırım HDD diskler artık miadını dolduruyor. Çünkü HDD diskler artık yeni anakart, işlemci kombinasyonlarında görünmeme sorununa yol açıyor.</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO92geEdRdvvx5FNrn_x-duOq4igMT2qK7BS1tY4iTQS5aNFW2Cfhq_VjDq8QBEgJC6Yiw2Bgdbaw28phdrRCkx1aVtIJZ6i14t1SOemahszVwbQykBz5yC5EcLdbgb8aXT-utrX8Eo3yUHmFJBYP0Y4d7GWTXRGtx90vqWH4wmp7U_t-07n9ZD_RktQ/s1148/hdd-disk-yonetimi-sorun.jpg" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: trebuchet; font-size: medium;"><img border="0" data-original-height="708" data-original-width="1148" height="282" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgO92geEdRdvvx5FNrn_x-duOq4igMT2qK7BS1tY4iTQS5aNFW2Cfhq_VjDq8QBEgJC6Yiw2Bgdbaw28phdrRCkx1aVtIJZ6i14t1SOemahszVwbQykBz5yC5EcLdbgb8aXT-utrX8Eo3yUHmFJBYP0Y4d7GWTXRGtx90vqWH4wmp7U_t-07n9ZD_RktQ/w457-h282/hdd-disk-yonetimi-sorun.jpg" width="457" /></span></a></div><span style="font-family: trebuchet; font-size: medium;"><br /><span><a name='more'></a></span></span><p style="text-align: justify;"><span style="font-family: trebuchet; font-size: medium;">Bilgisayarınızda NVME Sata disk yanında bir de HDD olan bilgisayarlarda genelde bu sorun yaşanıyor. BIOS'ta ve aygıt yöneticisinde HDD diskiniz görünüyor ama "Bilgisayarım" kısmında bu disk görünmüyor. İşin içinde olan ve bu tür donanım sorunlarına karşı biraz bilgisi olanlar çeşitli çözüm yolları deniyorlar. Mesela "disk yönetiminden bir sürü işlem yaptım yine olmadı" diyorsanız bu sorunun çözümü için tam yerindesiniz.</span></p><p style="text-align: justify;"><span style="font-family: trebuchet; font-size: medium;">İşte bu noktada eski kalıp tarih olmaya başlayan HDD disk sistemlerini yeni sistemlerde pek önemsememeye başladılar. Üreticiler artık SSD ve NVME disk yapılarına ağırlık vermeye başladı. Bu da beraberinde bazı sorunlara yol açmaya başladı. İntel işlemcilerin 11. nesli ile başladığı söylenen bu sorunda HDD diskler Windows'ta direk olarak kullanılamıyor. Disk windows'ta görünmüyor ve bu sorunun çözümü için bir dizi işlem gerçekleştirmek gerekiyor. Bunun çözümü için Windows 10'da depolama alanlarını yönet kısmındadır.</span></p><p style="text-align: justify;"><span style="color: red; font-family: trebuchet; font-size: medium;"><b>ÇÖZÜM ; </b></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgdq6zxjzPAlU0UqhIsp76qhV3k1EGRRa5dozJWanBV-a0Tw8Id8wGPkJMyaqbYsEsbhcMteoAMcT18YDSFwN_2WObJnb57JA8pLphGnT99NdnVxvHWmBWBIn4mvrQcqqSikEeIixcLgyYC4Igu5eguG1qonlUH3jMbWLi_8UfiiR9bwiGukaBEiOczQ/s956/depolama-alanlarini-yonet.jpg" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: trebuchet; font-size: medium;"><img border="0" data-original-height="745" data-original-width="956" height="331" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgdq6zxjzPAlU0UqhIsp76qhV3k1EGRRa5dozJWanBV-a0Tw8Id8wGPkJMyaqbYsEsbhcMteoAMcT18YDSFwN_2WObJnb57JA8pLphGnT99NdnVxvHWmBWBIn4mvrQcqqSikEeIixcLgyYC4Igu5eguG1qonlUH3jMbWLi_8UfiiR9bwiGukaBEiOczQ/w425-h331/depolama-alanlarini-yonet.jpg" width="425" /></span></a></div><div class="separator" style="clear: both; text-align: center;"><span style="font-family: trebuchet; font-size: medium;"><br /></span></div><span style="font-family: trebuchet; font-size: medium;"><div><span style="font-family: trebuchet; font-size: medium;">Windows arama çubuğuna yukarıda görüldüğü gibi "depolama alanlarını yönet" yazın ve sonuçlarda çıkan <b>Depolama Alanlarını Yönet</b> simgesine tıklayın.</span></div>Bu ayar kısmına girdiğinizde hard diskiniz görünmektedir. Fakat diskiniz pasif durumdadır. Aşağıdaki resimde benim bilgisayarımdaki HDD ayar yapıldıktan sonraki ismi görünüyor bu sizde ilk seferde farklı görünür. Diski pasif durumdan aktif duruma getirmek için <b>"Ayarları Değiştir"</b> butonuna tıklayın ve disk yanında açılan <b>depolama alanı oluştur</b>'a tıklayın. </span><div><span style="font-family: trebuchet; font-size: medium;"><br /></span><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVf9wio3pIQY3sXpsdCTNhLAiCJhUde4KS0M0zDzg_HxEECfWhPqeXHiqPVqNWdHhpLzWww0GtlKcfzpQSfZQdcBlHYeBHjb44fGHp1kpzBMz3gr1_gm_AZLUfaTNe2aFv9BURy7b9URYOMR46LmvS1LPnr_M2EMxlPInTECOCt8o6WicHSo_PreyzdQ/s770/depolama-alanlari-hdd.jpg" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: trebuchet; font-size: medium;"><img border="0" data-original-height="571" data-original-width="770" height="336" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVf9wio3pIQY3sXpsdCTNhLAiCJhUde4KS0M0zDzg_HxEECfWhPqeXHiqPVqNWdHhpLzWww0GtlKcfzpQSfZQdcBlHYeBHjb44fGHp1kpzBMz3gr1_gm_AZLUfaTNe2aFv9BURy7b9URYOMR46LmvS1LPnr_M2EMxlPInTECOCt8o6WicHSo_PreyzdQ/w453-h336/depolama-alanlari-hdd.jpg" width="453" /></span></a></div><div class="separator" style="clear: both; text-align: justify;"><span style="font-family: trebuchet; font-size: medium;">Bu kısımda HDD diski ayarlıyoruz. İlk olarak bir ad verebilirsiniz, ardından<b> dayanıklılık türünü</b> <i>basit</i> olarak işaretlemeniz gerekir. Bu ayarları yaptıktan sonra en alttaki <b>Depolama alanı oluştur</b> butonuna tıklıyoruz ve kısa bir işlemden sonra diskiniz aktif oluyor. Bilgisayarım penceresinden girip kontrol edebilirsiniz. Sorununuz bu şekilde çözülür.</span></div><div class="separator" style="clear: both; text-align: center;"><span style="font-family: trebuchet; font-size: medium;"><br /></span></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlwVjMffBiC4qTZf9CdEAhmZ0eb0xhePfafKO2-9trOKcNsJiM3T2mDa-0xujoWwIRBKSc_GlMw19knsBL4DGYHoQkx9cZ3oTq0U_Itcs2fULj9MfMMjrkOqjF5ijeY8nI4uu_MVSUFG6OSdIfpQRXkCMaSrcfOz50fiDO5a8XMAMv7-OpmzmsNAVY5w/s792/hdd.jpg" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: trebuchet; font-size: medium;"><img border="0" data-original-height="792" data-original-width="770" height="495" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlwVjMffBiC4qTZf9CdEAhmZ0eb0xhePfafKO2-9trOKcNsJiM3T2mDa-0xujoWwIRBKSc_GlMw19knsBL4DGYHoQkx9cZ3oTq0U_Itcs2fULj9MfMMjrkOqjF5ijeY8nI4uu_MVSUFG6OSdIfpQRXkCMaSrcfOz50fiDO5a8XMAMv7-OpmzmsNAVY5w/w481-h495/hdd.jpg" width="481" /></span></a></div><span style="font-family: trebuchet; font-size: medium;"><br />Eğer sizde SSD görünüyor HDD görünmüyor diyorsanız ve bu yukarıdaki işlemler çözüm olmadıysa bizlerle yorumlarda bu durumu paylaşın. Gözükmeyen HDD sorunun başka çözümleri var ise bunu da paylaşalım.<br /></span><div><span style="font-family: trebuchet; font-size: medium;"><br /></span><p><span style="font-family: trebuchet; font-size: medium;"><br /></span></p><p><br /></p></div></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-69272514645671875142021-05-09T19:26:00.011+03:002022-06-06T22:54:32.354+03:00Tinkercad'de Temel Arduino Örnekleri<p><span style="font-family: verdana;">Robotik kodlama konusunda çok yaygın bir elektronik kart olan Arduino'nun simülasyonunun yapılacağı popüler bir site olan Tinkercad'de temel Arduino örnekleri.<span></span></span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_cm4qMF83eYqDAKEvXjJHiyqDhMPkFYaRJwPLgUZ1lsEKjinzBgmtfNbZArCmyJqzPaIZMEuBKDyruZKw2mYmIK3EGZQf9g_rRlRR1Ch_5ht9RE3RJDnafvBKE54gCGOXdx_yLjVeQw9Y/s810/tinkercad-arduino.JPG" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="251" data-original-width="810" height="124" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_cm4qMF83eYqDAKEvXjJHiyqDhMPkFYaRJwPLgUZ1lsEKjinzBgmtfNbZArCmyJqzPaIZMEuBKDyruZKw2mYmIK3EGZQf9g_rRlRR1Ch_5ht9RE3RJDnafvBKE54gCGOXdx_yLjVeQw9Y/w400-h124/tinkercad-arduino.JPG" width="400" /></span></a></div><p></p><a name='more'></a><p></p><p><span style="font-family: verdana;">Tinkercad üzerinde bir çok elektronik ve elektromekanik bileşen bulunmaktadır. Bunlar gerçek robotik kodlama devrelerinde kullanılan bileşenlerdir. Bu bileşenlerin temel olanlarından birçoğunu içeren temel Arduino örneklerine aşağıdaki listedeki adreslerden ulaşabilirsiniz. Örnekleri görüntüleyebilmek için Tinkercad üyeliğinizin olması gerekir. Üyelik ücretsizdir.</span></p><p><span style="font-family: verdana;">Bu örnekler temel Arduino kurslarında gösterilen örnekler ile aynıdır. Bu örnekleri iyi inceleyip anlarsanız gerçek Arduino çalışmalarını daha iyi yapabilirsiniz.</span></p><p><span style="font-family: verdana;">Örneklerde blok tabanlı kod çalışmalarına yer verilmemiştir. C++ tabanlı olan Arduino kodlama dili olan metin tabanlı kodlamalar ile yapılmıştır. Örnekler lise Bilgisayar Bilimi dersi müfredatına da uygundur. Aşağıdaki başlıklara tıklayarak Tinkercad örneklerini açabilirsiniz.</span></p><p></p><ol style="text-align: left;"><li><span style="font-family: verdana;"><a href="https://www.tinkercad.com/things/iiTg5SCbSBO" rel="nofollow" target="_blank">LED Oyunu </a> (İlk örnek ledlere ışık verme ve söndürme)</span></li><li><span style="font-family: verdana;"><a href="https://www.tinkercad.com/things/cq79lu0OO6Y-fantabulous-jaban/editel?sharecode=6VBjVlElJBtVhjaB8Mkzwwb1lXw7t701CZwa3gkM5lI" rel="nofollow" target="_blank">Buton ile giriş </a> (Butona basılarak pinlere giriş yapılması)</span></li><li><span style="font-family: verdana;"><a href="https://www.tinkercad.com/things/0GvYuGbtO1J-haz-c-icice/editel?sharecode=0Qrm1C35Gbzug7MuKE2cdIwnHRNukZ8NOHmD-lxlRg8" rel="nofollow" target="_blank">İç içe for döngüsü led oyunu</a> (2 tane for döngüsünün iç içe kullanımı)</span></li><li><span style="font-family: verdana;"><a href="https://www.tinkercad.com/things/fr8bYJOoNq3-haz-d-pot/editel?sharecode=BAO2hky4eQChZt2HFws_1h6P5ywc5u2gWqGezwq4Hh0" rel="nofollow" target="_blank">Ayarlı direnç (potansiyometre)</a> (Ayarlı direnç ile analog giriş örneği)</span></li><li><span style="font-family: verdana;"><a href="https://www.tinkercad.com/things/9wxP7IUFVaz-ayarli-direnc-ile-kara-simsek/editel?sharecode=yU6eZmxl89W30-9sUjVjUZoGpqAujBN_s1tPDK6g5tw" rel="nofollow" target="_blank">Ayarlı direnç ile kara şimşek</a> (Ayarlı direnç ile led oyunu)</span></li><li><span style="font-family: verdana;"><a href="https://www.tinkercad.com/things/9e7f9tdKlFq-sicakliktmp-sensor/editel?sharecode=AwSSkedjdf2Q2-l1gjSq7wtjIPwDc29Y3XUBQCJBEJQ" rel="nofollow" target="_blank">Sıcaklık (TMP) sensörü</a> (Sıcaklık sensöründen bilgi okuma)</span></li><li><span style="font-family: verdana;"><a href="https://www.tinkercad.com/things/7SVcy3ruijK-ldrisik-sensoru-ve-rgb-led/editel?sharecode=ywJhOYICUc-nd4NN_DBNyAfRoT-1EZXzBTufgvwBTiw" rel="nofollow" target="_blank">Işık sensörü (LDR Direnç) ve RGB led</a> (Ortamdaki ışık miktarına göre led oyunu)</span></li><li><a href="https://www.tinkercad.com/things/eNqfFVUou65-buzzer-ve-diziler/editel?sharecode=Q_HsMrtW3wzUERwe3oTQH33kJYOyIYyR0tD1AveB1XU" rel="nofollow" target="_blank"><span style="font-family: verdana;">Buzzer (Piezo, Küçük hoparlör) ve diziler/listeler</span></a> <span style="font-family: verdana;">(Buzzer ya da hoparlör denilen bileşeni çalıştırmak)</span></li><li><span style="font-family: verdana;"><a href="https://www.tinkercad.com/things/bc8XNB687Ok-hareket-pir-sensoru/editel" rel="nofollow" target="_blank">Hareket (PIR) sensörü</a> (Çevremizde çok kullanılan hareket sensörünü anlamak)</span></li><li><span style="font-family: verdana;"><a href="https://www.tinkercad.com/things/8rfkp15lYjF-mesafe-sensoru/editel?sharecode=Bj7wi2U45E0r0HYLcjbed1LMLwTu4Tbok5GuXUsCZkk" rel="nofollow" target="_blank">Ultrasonik Mesafe Sensörü</a> (Park sensörü olarak da bilinen ultrasonik mesafe sensörü örneği)</span></li><li><span style="font-family: verdana;"><a href="https://www.tinkercad.com/things/a0vD86yDUav-lcd-ekran/editel?sharecode=A36E_dFe_nUHFuOLfPd3dm2Ta1qm6xVya2aTpjgSS68" rel="nofollow" target="_blank">LCD Ekran</a> (16x2 karakterli LCD ekran kullanımı)</span></li><li><span style="font-family: verdana;"><a href="https://www.tinkercad.com/things/ha9NyJNpvRq-servo-motor/editel?sharecode=fHmHAnH6URCNAcCNEo0BQ0iHrAe2jfMFdKo9l8th8wk" rel="nofollow" target="_blank">Servo Motor</a> (Servo motor kullanımı)</span></li></ol><p></p><p><span style="font-family: verdana;">Bu örnekler temel Arduino çalışmalarında sırasıyla öğrenilmesi gerekenleri içerir. Arduino ile ilgili temel bilgileri bilme ön koşulu taşımaktadır. Kodlar ile ilgili açıklamalar Tinkercad içinde kod bölümünde kod satırlarının yanında, altında ya da üstünde bulunmaktadır. Arduino ile ilgili temel bilgiler için daha önce hazırlamış olduğum adres için <a href="https://faskerhat.blogspot.com/2020/04/arduino-ile-programlama.html" rel="" target="_blank">buraya tıklayarak</a> bilgi sahibi olabilirsiniz.</span></p><p><span style="font-family: verdana;">Bunları öğrenerek robotik kodlama konusunda giriş seviyesinde bilgi sahibi olabilirsiniz. Bu devreleri başka mekanikler ile birleştirerek ortaya bir robot çıkarabilirsiniz. Örneğin servo motoru robot kollarını hareket ettirmek için kullanabilirsiniz. Sıcaklık sensörü ve lcd ekran yardımı ile göstergeli, uyarılı bir termometre yapabilirsiniz. Daha bir çok robotik proje çıkarabiliriz. Bu konuda gelişmek tamamen sizin çabanıza ve ilginize kalmıştır. </span></p><p><span style="font-family: verdana;"><br /></span></p><p><span style="font-family: verdana;"><br /></span></p><p><span style="font-family: verdana;"><br /></span></p><p><span style="font-family: verdana;"><br /></span></p><p><span style="font-family: verdana;"><br /></span></p><p><span style="font-family: verdana;"> </span></p>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2448274840567910042.post-4734322359219547742021-03-14T22:44:00.004+03:002021-03-15T13:18:50.739+03:00Tinkercad tanıtım sunusu<p><span style="font-family: verdana;"> </span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8awaPHT2I_YHgZxJ0lNMlOrESUlS_5j_RTWtBEZB5eNdq3cFQo1U_IdwLcwDDByqT1DtGvAyJLjzO64nHvtaUMTugOedAehxoy1vjRPsGihhu5l7mJJe4zaKf5-d6HusCIybtbKte_8bF/s1012/tinkercad.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="521" data-original-width="1012" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8awaPHT2I_YHgZxJ0lNMlOrESUlS_5j_RTWtBEZB5eNdq3cFQo1U_IdwLcwDDByqT1DtGvAyJLjzO64nHvtaUMTugOedAehxoy1vjRPsGihhu5l7mJJe4zaKf5-d6HusCIybtbKte_8bF/s320/tinkercad.PNG" width="320" /></span></a></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">Robotik kodlama sayesinde popülerliğini artıran bir site olan Tinkercad ile ilgili tanıtım sunusuna bu yazımdan ulaşabilirsiniz.</span></div><span><span style="font-family: verdana;"><a name='more'></a></span></span><p></p><div class="separator" style="clear: both;"><span style="font-family: verdana;">TINKERCAD 3 boyutlu yazıcılar için 3 boyutlu baskı almak için modelleme yapmak için oluşturulmuş bir internet sitesi üzerinde çalışan uygulamadır. CAD’nin açılımı bilgisayar destekli çizimdir sitenin ana kuruluş amacı budur.</span></div><div class="separator" style="clear: both;"><div class="separator" style="clear: both;"><span style="font-family: verdana;">Fakat son yıllarda robotik kodlama ile bütünleşen 3 boyutlu yazıcılara verdiği önemi ARDUINO tabanlı elektronik devreler oluşturulmasına da vermiş.</span></div><div><span style="font-family: verdana;"><br /></span></div></div><blockquote style="border: none; margin: 0 0 0 40px; padding: 0px;"><div class="separator" style="clear: both;"><div><div class="separator" style="clear: both; text-align: center;"><span style="font-family: verdana;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBwFkUer7Vtwd4Hww0f4w0w8rSqy5nqCIx3G5UlDDwMC0WQgXWjm0s7D65XsUTf0AgJvJe4RBKsQ7_Yp1VOkWlCJ_ZGj1m89mFepA_QySxrjIW2xbBkeVuemvbkCXU6fZc7awZKam27di3/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="367" data-original-width="607" height="193" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBwFkUer7Vtwd4Hww0f4w0w8rSqy5nqCIx3G5UlDDwMC0WQgXWjm0s7D65XsUTf0AgJvJe4RBKsQ7_Yp1VOkWlCJ_ZGj1m89mFepA_QySxrjIW2xbBkeVuemvbkCXU6fZc7awZKam27di3/" width="320" /></a> </span></div></div></div></blockquote><p></p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: left;"><ul style="text-align: left;"><li><span style="font-family: verdana;">Siteye Google hesabı ya da başka bir e-posta ile üye olunarak girilir.</span></li><li><span style="font-family: verdana;">Giriş yapıldıktan sonra yandaki gibi <b>3D Tasarımlar</b> bölümünden yeni tasarım oluşturulur ve bu tasarımlar listelenebilir. </span></li><li><span style="font-family: verdana;">Tasarımlara otomatik isim verilmektedir. Bu isimleri isterseniz değiştirebilirsiniz.</span></li><li><span style="font-family: verdana;">Bu tasarımları 3 boyutlu yazıcı programları ile açarak 3 boyutlu yazıcıdan çıktı alınabilir.</span></li><li><span style="font-family: verdana;">Dışarı aktar seçeneği ile tasarımı uygun türde dosya çıktısına dönüştürebilirsiniz.</span></li></ul><div><span style="font-family: verdana;">Tasarım çalışma alanında temel şekiller gibi bir çok hazır şekil bulabilirsiniz. Bunlar üzerinde değişiklik de yapabilirsiniz. Tinkercad’in 3 boyutlu tasarım bölümü çok gelişmiş profesyonel çalışmalar için yeterli olmayabilir. Bu durumda 3 boyutlu yazıcılar için alternatif programların arayışına girmeniz gerekmektedir. </span></div></div><div style="text-align: left;"><b><span style="font-family: verdana;"><br /></span></b></div><div style="text-align: left;"><span style="font-family: verdana;"><b>Circuits Bölümü :</b> Arduino tabanlı elektronik devreler oluşturulur.</span></div><div style="text-align: left;"><div><span style="font-family: verdana;">Bu bölüm iki ana kısımda incelenir. </span></div><div><span style="font-family: verdana;">1. bölüm elektronik malzemelerin simülasyonunun bulunduğu kısım,</span></div><div><span style="font-family: verdana;">2. bölüm blok ya da metin tabanlı kodlama kısmıdır.</span></div><div><span style="font-family: verdana;">Yeni Devre oluştur kısmından boş devre kısmı karşımıza çıkar.</span></div><div><span style="font-family: verdana;">Bileşenler kısmından gerekli elektronik ya da elektromekanik bileşenler seçilir ve doğru bağlantılar ile elektronik devre tamamlanır.</span></div><div><span style="font-family: verdana;">Eğer kodlanacak bir Arduino var ise kod bölümünden blok ya metin tabanlı kodlama yapılır.</span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivJZ4d-scydSAN71478GEUASpy3OOSj9QiLJYFMI1GWga-AVg5pADR7VhccJohZyvOri31E2WSJVKm9yalMXKMkty-33IXup4Pe1ctLz27Gah4I3Ebu1z_YhuVUJtkueJ87VzS-7z7O6_P/" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img alt="" data-original-height="436" data-original-width="606" height="230" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivJZ4d-scydSAN71478GEUASpy3OOSj9QiLJYFMI1GWga-AVg5pADR7VhccJohZyvOri31E2WSJVKm9yalMXKMkty-33IXup4Pe1ctLz27Gah4I3Ebu1z_YhuVUJtkueJ87VzS-7z7O6_P/" width="320" /></span></a></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both;"><span style="font-family: verdana;">Sayfada daha önce yapılan elektronik devreler de listelenir. Bunlar tekrar incelenebilir ve düzenlenebilir.</span></div><div><span style="font-family: verdana;"><br /></span></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP-m2Ml882wMj_noDyojEIRCPiFd5ZkUegkZUen0kpK0FaI0tu2wFCGpOngOEODu3EynirGf9NrQdVIAr05eobvSuum45fOZnk_6H1H0nRet5qUAQ6QS_d8ZGRbCUn42b9jFtlFWxd0Ldd/" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img alt="" data-original-height="320" data-original-width="775" height="165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP-m2Ml882wMj_noDyojEIRCPiFd5ZkUegkZUen0kpK0FaI0tu2wFCGpOngOEODu3EynirGf9NrQdVIAr05eobvSuum45fOZnk_6H1H0nRet5qUAQ6QS_d8ZGRbCUn42b9jFtlFWxd0Ldd/w400-h165/image.png" width="400" /></span></a></div><div class="separator" style="clear: both; text-align: center;"><span style="font-family: verdana;"><br /></span></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">Elektronik devre oluşturulduktan sonra kodlama kısmından blok seçilerek uygun kategorideki blok kodlar, kodlama kısmında birleştirilerek kodlama yapılır.</span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">Kodlama yapıldıktan sonra Simülasyonu başlat kısmından yapılan sistem çalıştırılarak denenir.</span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">Sitenin blok tabanlı kodlama bölümü çok gelişmiş değildir.</span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;"><br /></span></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5oW4CwFJeHTHR4hAm1ikn38I6ecwXohoncY-N9-_pDiko6LeN7N0JTaEZSyCCFLpLdVaCh40W7fH9ijpm8c6ywQ7L5NYjANBkmf-_6HwMbvFaDxztKqy1kBpnhB8odxWUSclogDtJdBIu/" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img alt="" data-original-height="305" data-original-width="597" height="204" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5oW4CwFJeHTHR4hAm1ikn38I6ecwXohoncY-N9-_pDiko6LeN7N0JTaEZSyCCFLpLdVaCh40W7fH9ijpm8c6ywQ7L5NYjANBkmf-_6HwMbvFaDxztKqy1kBpnhB8odxWUSclogDtJdBIu/w400-h204/image.png" width="400" /></span></a></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><span style="font-family: verdana;"><br /></span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">Elektronik devre oluşturulduktan sonra kodlama kısmından metin seçilerek Arduino kodları ile kodlama yapılır.</span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">Kodlama yapıldıktan sonra Simülasyonu başlat kısmından yapılan sistem çalıştırılarak denenir.</span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">Arduino kodlamayı Arduino konusunda ayrıntılı olarak göreceğiz. Arduino konusu : <a href="http://faskerhat.blogspot.com/2020/04/arduino-ile-programlama.html">http://faskerhat.blogspot.com/2020/04/arduino-ile-programlama.html</a></span><div class="separator" style="clear: both; text-align: center;"><span style="font-family: verdana;"><br /></span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmKT0KB5bSrziRYna6F_cULrCb_FEfCJ_CqKXmzO_dvJI9JLT5CN5p9O_5dg2MTn5msj3XQEbXVh11BuwnDp0aKT8uXtBNU6dXUzpiqUquKJt7vXNvi7tl2Yv8GHgMt5KCKX4UB8Nr6_g2/s977/tinkercad-arduino.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="614" data-original-width="977" height="402" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmKT0KB5bSrziRYna6F_cULrCb_FEfCJ_CqKXmzO_dvJI9JLT5CN5p9O_5dg2MTn5msj3XQEbXVh11BuwnDp0aKT8uXtBNU6dXUzpiqUquKJt7vXNvi7tl2Yv8GHgMt5KCKX4UB8Nr6_g2/w640-h402/tinkercad-arduino.png" width="640" /></span></a></div><span style="font-family: verdana;"><br /></span><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;"><b>Kod Blokları</b> kısmında blok kodlama tarzında 3 boyutlu tasarımlar yapılmaktadır.</span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;"><b>Dersler</b> bölümünde ise bir sınıfa katıldığınızda ya da yapılan bir projeyi sınıf olarak açtığınızda bu dersler bölümünde görülmektedir.</span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">Tinkercad 3 boyutlu yazıcılar için tasarım öğretme ve Arduino konusunda gayet başarılı bir internet sitesidir. Site içindeki uzmanlık seviyeniz bölümlerde çalışarak tecrübe yaparak artacaktır. </span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;"><br /></span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">Bu anlatımı sunu olarak indirmek için <a href="https://drive.google.com/file/d/1KeWK_Fw-oj608EtwCpiPIAU5ng_138OF/view?usp=sharing" rel="nofollow" target="_blank">tıklayınız</a>. </span></div><span style="font-family: verdana;"><br /></span></div><div><span style="font-family: verdana;"><br /></span></div></div><span style="font-family: verdana;"><br /><br /></span></div><span style="font-family: verdana;"><br /><br /></span></div><div><span style="font-family: verdana;"><br /></span></div></div><span style="font-family: verdana;"><br /><br /></span></div><span style="font-family: verdana;"><br /><br /></span></div></div><span style="font-family: verdana;"><br /><br /></span></div><div><span style="font-family: verdana;"><br /></span></div></div></div><span style="font-family: verdana;"><br /> </span><p></p><div class="separator" style="clear: both;"><span style="font-family: verdana;"><br /><br /></span></div><p><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-12759555280532189922021-03-06T23:31:00.001+03:002021-03-06T23:32:19.706+03:00Google Chrome bağlantınız gizli değil hatası çözümü<p><span style="font-family: verdana;">Siz de Google'a girdiğinizde ya da bir arama yaptığınızda alttaki resimdeki gibi bir hata ile karşılaşıyorsanız ve internette gördüğünüz her şeyi denediniz ve sorun düzelmediyse hatanın çözümü konusunda bu yazı size faydalı olacaktır.</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil13HGLQanyFLYv8O4ft8Mdjb-vSXRE-AAGVZG8GisKazJV28ihSPILLhhJBnVKvW3e7iUI02GlZ_F2XI6b_nZT43KDoiy1wwd5fitktwECfnEboZVv7pGPRAzQvb0u4NncjmgAviUFtv2/s644/google-baglantiniz-gizli-degil.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="340" data-original-width="644" height="211" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil13HGLQanyFLYv8O4ft8Mdjb-vSXRE-AAGVZG8GisKazJV28ihSPILLhhJBnVKvW3e7iUI02GlZ_F2XI6b_nZT43KDoiy1wwd5fitktwECfnEboZVv7pGPRAzQvb0u4NncjmgAviUFtv2/w400-h211/google-baglantiniz-gizli-degil.png" width="400" /></a></div><br /><span><a name='more'></a></span><p><span style="font-family: verdana;">Bağlantınız gizli değil hatasının bir çok türü var bu türler ekrana çıkaran uyarı yazısında yukarıdaki resimde dikdörtgen içine aldığım <b>NET::ERR_CERT_COMMON_NAME_INVALID </b>mesajı ile veriliyor. Mesela bu kısımda DATE geçiyorsa o zaman bilgisayarınızın tarihi yanlış oluyor. Onu düzeltince sorun da düzeliyor. </span></p><p><span style="font-family: verdana;">Bu yazıda bağlantınız gizli değil hatasında yukarıda da yazdığım <b>NET::ERR_CERT_COMMON_NAME_INVALID </b>mesajı üzerinden gideceğim. Ben bu sorunu arkadaşımın bilgisayarında yaşamıştım ve nette bahsedilen tüm çözümleri denememe rağmen çözememiştim ve Windowsu yeniden kurarak sorunu düzeltmiştim. Yine bir arkadaşımın bilgisayarında denk geldim ve bu sefer azim ederek sorunun kaynağını buldum. Hata kodunda Google güvenlik sertifikasında alan adı için url ismi hatası veriyor yani isim sertifikası güvenli değil uyarısı veriyor. Hatanın gelişmiş kısmında da devam et seçeneği de çıkmıyor. </span></p><p><span style="font-family: verdana;">Google sistemde bir güvenlik açığı gördüğünden dolayı bunu siteyi açmayı arama yapmayı engelliyor. Hatta sadece Chrome'da değil diğer tarayıcılarda da yapıyor. Chrome'u açınca tarayıcının sağ üstünde çıkan Gmail kısayolu ile 9 noktalı Google menüsü de çıkmıyor. </span></p><p><b><span style="color: red; font-family: verdana;">GELELİM BAĞLANTINIZ GİZLİ DEĞİL HATASI ÇÖZÜMÜNE</span></b></p><p><span style="font-family: verdana;">Bu sorunu etkinleştirme için yüklenen KMSpico programı yapıyor. Antivirüs programları bu programın tüm parçalarını virüs olarak işaretliyor. Eğer antivirüs programınızda istisna etme seçeneği var ise KMSpico dizinini istisnaya ekleyerek deneyebilirsiniz. Yoksa programı kaldırmak da yetmiyor.</span></p><p><span style="font-family: verdana;">KMSPico programını kaldırınca devam ediyor çünkü KMSpico kalıntısı KMS Updater ELDI adında bir uygulama kalıyor. Bu uygulama hizmetlerde açılıyor ve her açılışta arka planda çalışmaya devam ediyor. Aşağıdaki resimdeki gibi görev yöneticisini açtığınızda <i>İşlemler</i> listesinde KMS Updater ELDI'yi devre dışı bırakıp, silerseniz bu bağlantınız gizli değil hatasının çözümüne ulaşmış olursunuz. Silmek için devre dışı bırakmadan önce üzerine sağ tıklayıp <i>dosya konumunu aç</i> seçeneğine tıklarsanız dosyanın bulunduğu klasör açılır.<br /><br /></span></p><div class="separator" style="clear: both; text-align: center;"><span style="font-family: verdana;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1FA9wAYREVIlPYZi9DxfUMIq0Ieqyl6LtA4VZ8816vkaeTAKoUi7WxD29ESbFdPDyb1IBoY2nO3GRdo0eL2ucsMeCtYrJq8qA8NAF2pM6agkJu_5NTimDwtwkjUq3795SsotghDt-531b/s797/baglantiniz-gizli-degil-kms.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="324" data-original-width="797" height="260" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1FA9wAYREVIlPYZi9DxfUMIq0Ieqyl6LtA4VZ8816vkaeTAKoUi7WxD29ESbFdPDyb1IBoY2nO3GRdo0eL2ucsMeCtYrJq8qA8NAF2pM6agkJu_5NTimDwtwkjUq3795SsotghDt-531b/w640-h260/baglantiniz-gizli-degil-kms.png" width="640" /></a></span></div><p></p><p><span style="font-family: verdana;">KMS Updater ELDI başlangıçta görünmüyor. Bu sorunun belki başka çözüm yolları da mevcuttur. Bu KMS Updater'i hizmetler bölümünden kaldırmak gibi seçenekler olabilir. Antivirüs programı ile alakalı bir durum da olabilir. Antivirüs programını kaldırdım fakat düzelmedi. Benim çözümüm bu oldu ve işe yaradı.</span></p><p><span style="font-family: verdana;">Bu durum Windows güncellemesi sonrası da yaşanmış olabilir. Doğal olarak Windows KMSpico'yu engellemeye çalışıyor ve o isimde açılan uygulamalar ile bu tür sorunlara neden oluyor olabilir. İmkanınız var ise lisanslı windows kullanınız ve sorunu kökten çözünüz.</span></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-72325636341944949922021-01-10T17:23:00.002+03:002021-01-10T17:23:14.759+03:00Boydan fotoğraf çekme teknikleri<p><span style="font-family: verdana;">Fotoğraf çekme işi bir sanattır. Eğitim gerektiren bu işte bazen şans yanınızda olur ve güzel fotoğraflar çekebilirsiniz fakat şans bazen yanınızda olur. Bu yüzden fotoğraf çekme tekniklerini öğrenmek, fotoğraf çekeceğiniz cihazı da tanımak gerek. Bu yazımda genel fotoğraf çekme tekniği değil de kişi boydan fotoğraf çekerken dikkat edilmesi gereken tekniklerden bahsedeceğim. Bu teknikler ile kişinin fotoğraf kadrajında boydan net ve düzgün görünmesi sağlanır. Ama bu teknikler bir anayasa değildir. Bu teknikler dışına çıkarak da kendi ürettiğiniz konuda harika fotoğraflar da çıkarabilirsiniz.</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHeqJgbRx2C3n7ZWMbY0PL7vreacq570CiFOLV6RHA2ClN7O_bydNWLSzBYanrUFRURKcVkJSUoZlB5ew3KHlVdMrQ9UUTRWXwAnNE3CvgTMD_exLy0BxcxA35Sc-ySvJ8HhLege3wjkLk/s823/boydan-foto.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="392" data-original-width="823" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHeqJgbRx2C3n7ZWMbY0PL7vreacq570CiFOLV6RHA2ClN7O_bydNWLSzBYanrUFRURKcVkJSUoZlB5ew3KHlVdMrQ9UUTRWXwAnNE3CvgTMD_exLy0BxcxA35Sc-ySvJ8HhLege3wjkLk/s320/boydan-foto.jpg" width="320" /></a><span><a name='more'></a></span></div><p></p><p><span style="font-family: verdana;"><span style="color: red;"><b>1. Kural :</b></span> Ayaktaki kişi ile fotoğrafı çeken arasında biraz mesafe olmalı. Fotoğraf makinesi kişinin ortasına dik hizalanmalı ve fotoğraf makinesi de fotoğrafı çekilen kişiyle paralel olmalı. Çok yakın olması, fotoğraf makinesinin paralel olmaması, objektifin dik değil açılı olması, tepeden ya da alttan çekimlerde kişi boydan orantılı görünmez istediğimiz boydan sonucu elde edemeyiz.</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><span style="font-family: verdana;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpccNwhgiDVfbDx1-E4V9mhm-LfKCWOUTPAvmOiY3B10N6c3k0LUt3Hjeu58LdkpQUULRCAj6M8Qm6zhSJ-5VPE62Rr9si7kldqzYX2QYORhuGAnbb4I6cfBGYBLpjBjmaCFiKSr35CbND/s349/boydan-fotograf-cekmek.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="254" data-original-width="349" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpccNwhgiDVfbDx1-E4V9mhm-LfKCWOUTPAvmOiY3B10N6c3k0LUt3Hjeu58LdkpQUULRCAj6M8Qm6zhSJ-5VPE62Rr9si7kldqzYX2QYORhuGAnbb4I6cfBGYBLpjBjmaCFiKSr35CbND/s320/boydan-fotograf-cekmek.jpg" width="320" /></a><br /><br /></span><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQX5Ogw8hiUiH7k6eu2s0YSYbQeAPfFIjhHqAb-N8L90228EjRQU-eaPj1TYxxkbtoRDx3QiXA4JSQwhA3UAxeZXev0AbDp9WxvEH0WjmjkU_If0j-0KYRnWBGJ3nT54Aigszsqyr_Axuu/s349/boydan-foto-cekme-teknikleri.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="254" data-original-width="349" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQX5Ogw8hiUiH7k6eu2s0YSYbQeAPfFIjhHqAb-N8L90228EjRQU-eaPj1TYxxkbtoRDx3QiXA4JSQwhA3UAxeZXev0AbDp9WxvEH0WjmjkU_If0j-0KYRnWBGJ3nT54Aigszsqyr_Axuu/s320/boydan-foto-cekme-teknikleri.jpg" width="320" /></span></a></div><div style="text-align: left;"><span style="font-family: verdana;"><br /></span></div><div style="text-align: left;"><span style="font-family: verdana;"><span style="color: red;"><b>2. Kural :</b></span> Kişinin üzerine düşen ışık yüksek oranda olursa fotoğrafta daha net çıkar. Tabii ki çok fazla ışık da kişinin çok fazla parlak görünmesini sağlar. Kişi üzerine düşen ışığı kısarak yapabilirsiniz. Kişinin arkasından ışık gelmesi de kişiyi karanlık gösterebilir. Bu yüzden aşağıdaki resimdeki gibi ışık kaynakları fotoğrafı çekilecek kişinin arkasından değil fotoğrafı çeken kişinin arkasından gelmesi daha iyi sonuçlar ortaya çıkarır. Akşam saatlerinde güneş olmayacağı için pencere önünde de fotoğraf çekilebilir tabii ki :) </span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFWzCP4CQTbRwx3l2-NtDnURggj1CV6sDx8vp_LkL154fTqIgH9Z8FurxYi9K2vvBNeh9TmcRRH1d5lxnFTGEl0pIK6RN_m7_C53rQQISKiLcwVcK5MhYFBEQ5HMxjubMLApp80nG9xrvj/s349/boydan-fotograf-cekmek-cekmemek.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="254" data-original-width="349" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFWzCP4CQTbRwx3l2-NtDnURggj1CV6sDx8vp_LkL154fTqIgH9Z8FurxYi9K2vvBNeh9TmcRRH1d5lxnFTGEl0pIK6RN_m7_C53rQQISKiLcwVcK5MhYFBEQ5HMxjubMLApp80nG9xrvj/s320/boydan-fotograf-cekmek-cekmemek.jpg" width="320" /></span></a></div></div><div class="separator" style="clear: both; text-align: center;"><span style="font-family: verdana;"><br /></span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;"><span style="color: red;"><b>3. Kural :</b></span> Kişinin arka planında çok karmaşık, düzensiz, göze hoş görünmeyecek nesnelerin olması fotoğrafta göz yorar ve karmaşaya neden olur. Kişinin üzerindeki kıyafetin renkleri de arka plandaki renklerle aynı olmamasına özen gösterilmelidir.</span></div><span style="font-family: verdana;"><br /><span style="color: red;"><b>4. Kural :</b></span> Fotoğrafa bilgisayarda arka plan eklenecekse o zaman kişi sade renkli boş bir duvar önünde ya da kumaş-perde gibi bir örtü ile örtülmüş bir yerin önünde de fotoğrafı çekebilirsiniz. Bu tür durumlarda arka fonun mavi ve yeşil tonlarda olması önerilir. Tabii bu konuda 3. kuralı da unutmayalım.</span><p></p><p><span style="font-family: verdana;"><span style="color: red;"><b>5. Kural :</b></span> Fotoğraf çekeceğiniz cihazın çekim kalitesini yüksek değerde ayarlamanız ve renkleri çok değiştirilmiş efektleri kapatarak çekmek daha doğru sonuçlar doğuracaktır. Fakat bazı efektler ile parlaklık, doygunluk gibi özellikler ile de daha güzel sonuçlar elde edilebilir.</span></p><p><span style="font-family: verdana;">Bu konu için gösterilmiş güzel bir örnek aşağıdaki fotoğrafta görülmektedir. Kişinin boydan en net, en orantılı ve en doğru görüntüsünü elde etmek için yukarıdaki kurallara uyarak çekerseniz ikinci fotoğraftakini elde edersiniz. Eğer fotoğrafı çeken kişi fotoğrafı çekilen kişiye yaklaşıp biraz yukarıdan çekerse birinci fotoğraftaki gibi bir sonuç elde eder.</span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQ_vRXyRzlIOVQ9-RnswklJNHJTf8NQCWPnlzxERyO3LQTS45-e11pGnU885T2IYOA9lPr9mmK68MCdG7vcbSOG6FGaFH3JePlwyf06qPqyFEMfB5To8awUGc1d95KBhtVR7ro799tXcV7/s1100/boydan-foto-hata.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="825" data-original-width="1100" height="345" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQ_vRXyRzlIOVQ9-RnswklJNHJTf8NQCWPnlzxERyO3LQTS45-e11pGnU885T2IYOA9lPr9mmK68MCdG7vcbSOG6FGaFH3JePlwyf06qPqyFEMfB5To8awUGc1d95KBhtVR7ro799tXcV7/w460-h345/boydan-foto-hata.jpg" width="460" /></a></div><br /><p><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-43542606059256272762020-12-30T00:44:00.021+03:002022-01-05T09:52:47.717+03:00Python İle Programlamanın Temelleri Sunusu ve örnekler<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiA9S5J_9gV-k0Pq08W8ioSZ7LLphKGzc4GOh8xWtbj_LkBG43K6GCIcC4h_eVKY67bmpa1DpbY7TVeAHzrfzjPb-eD2jaCqrlei9MFLCy0uwj4U9_AkrmCPb776XJBdKq1hOqbJ7bbwK76/s669/python-ile-programlama-sunu.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="315" data-original-width="669" height="152" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiA9S5J_9gV-k0Pq08W8ioSZ7LLphKGzc4GOh8xWtbj_LkBG43K6GCIcC4h_eVKY67bmpa1DpbY7TVeAHzrfzjPb-eD2jaCqrlei9MFLCy0uwj4U9_AkrmCPb776XJBdKq1hOqbJ7bbwK76/w320-h152/python-ile-programlama-sunu.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: justify;"><span style="font-family: verdana;">Son yılların popüler programlama dili <b>Python</b> lise müfredatında da yerini aldı ve öğrencilerimiz Python ile tanışma ve temel anlamda Python öğrenme fırsatı bulmaya başladılar.<span><a name='more'></a></span></span></div><div class="separator" style="clear: both; text-align: justify;"><span style="font-family: verdana;">Google ve daha bir çok popüler markanın yazılımının alt yapısı olan Python özellikle diğer programlama dillerine göre daha basit bir yapıda olduğundan tercih edilmeye başlandı. </span></div><div class="separator" style="clear: both; text-align: justify;"><span style="font-family: verdana;">Kitabımızda temel seviyede anlatılan Python ile ilgili toplam 35 slayttan oluşan bir sunuyu sizler için ekledim. Sunu kitabın özeti olmakla birlikte bazı ek bilgiler de içermektedir. Kitap M.E.B tarafından <b>Bilgisayar Bilimi Kur 1</b> kitabında <b>2. bölüm</b> olarak sunulmuştur. Kitap için <a href="https://ogmmateryal.eba.gov.tr/panel/upload/etkilesimli/kitap/bilgisayarbilimikur1/sec/unite1/bolum2/index.html" rel="nofollow" target="_blank">tıklayınız</a>. Sunu ve kitaptaki Python konuları;</span></div><div class="separator" style="clear: both; text-align: center;"><span style="font-family: verdana;"> </span></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">1. PYTHON İLE PROGRAMLAMANIN TEMELLERİ</span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">2. DEĞERLER VE DEĞİŞKENLER<br />3. İFADELER VE ARİTMETİK İŞLEMLER</span></div></div><span style="font-family: verdana;">4. KOŞULLU DURUMLAR</span><div><span style="font-family: verdana;">5. DÖNGÜLER</span></div><div><span style="font-family: verdana;">6. FONKSİYONLAR</span></div><div><span style="font-family: verdana;">7. NESNELER</span></div><div><span style="font-family: verdana;">8. LİSTELER</span></div><div><span style="font-family: verdana;"><br /></span></div><div><span style="color: red; font-family: verdana; font-size: large;">Sunuyu indirmek için <a href="https://docs.google.com/presentation/d/16CrevvDJmUccgjKoJFIqcPfj2vFsw5Ct/edit?usp=sharing&ouid=102508458140974914328&rtpof=true&sd=true" rel="nofollow" target="_blank">tıklayın.</a></span></div><div><span style="font-family: verdana;"><span style="color: red; font-size: large;">Sunuda geçen konuları kapsayan Python örnekleri için <a href="https://drive.google.com/drive/folders/1TpqPj86MWH7x9jk90sqlmCEjt0vSgVTo?usp=sharing" rel="nofollow" target="_blank">tıklayın. </a></span><br /><br /></span></div><div><span style="font-family: verdana; font-size: x-small;"><b><span style="color: red;">Not:</span> </b>Örnekler py uzantılı Python dosyalarıdır. Tümünü de, tek tek dosya olarak da indirebilirsiniz. Dosyaları Python'da çalıştırmak için bilgisayarınızda Python yüklü olması gerekir. Python yüklü ise ya Python IDLE'ı açıp menüden File\Open kısmından indirdiğiniz dosyayı seçip açacaksınız ya da indirdiğiniz dosyaya sağ tık yapın ve Edit with IDLE kısmından açın. Bu şekilde kodları görebilir ve çalıştırabilirsiniz. Android ya da iOS işletim sistemli tablet veya telefonlarda çalıştırmak için; </span></div><div><span style="font-family: verdana; font-size: x-small;">Play Store'da Pydroid 3 adındaki programla açıp deneyebilirsiniz.</span></div><div><span style="font-family: verdana; font-size: x-small;"><a href="https://play.google.com/store/apps/details?id=ru.iiec.pydroid3&hl=tr&gl=US" rel="nofollow" target="_blank">https://play.google.com/store/apps/details?id=ru.iiec.pydroid3&hl=tr&gl=US</a> </span></div><div><span style="font-family: verdana; font-size: x-small;"><br /></span></div><div><span style="font-family: verdana; font-size: x-small;">AppStore'da Python3IDE adındaki programlarda açıp deneyebilirsiniz. </span></div><div><span style="font-family: verdana; font-size: x-small;"><a href="https://apps.apple.com/us/app/python3ide/id1357215444#?platform=iphone" rel="nofollow" target="_blank">https://apps.apple.com/us/app/python3ide/id1357215444#?platform=iphone</a></span></div>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-2448274840567910042.post-35805132584699621042020-10-28T11:56:00.005+03:002021-11-05T15:05:12.642+03:00Problem Çözme ve Algoritmalar Sunusu - Programlamaya Giriş<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijo__KJQz6z1kqjlE4KtGFBOr46c4y4tBxmLm0HD7mb5COpqu97cTdW67YWho-F9dFulpIAYhdSsVdLjXGcj81rW4iFvv6QIemfMwosRYYnA_YpXG10aVX_LzTJbiTfWt_IlPDL2Cfxm_L/s1018/programlama-algoritma.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="604" data-original-width="1018" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijo__KJQz6z1kqjlE4KtGFBOr46c4y4tBxmLm0HD7mb5COpqu97cTdW67YWho-F9dFulpIAYhdSsVdLjXGcj81rW4iFvv6QIemfMwosRYYnA_YpXG10aVX_LzTJbiTfWt_IlPDL2Cfxm_L/s320/programlama-algoritma.JPG" width="320" /></a></div><span style="font-family: trebuchet;"><span style="font-size: medium;">Bilgisayar Bilimi dersi Python İle Programlama öncesinde programlamaya giriş olarak düşünebileceğimiz üniteleri içeren konu başlıkları;<span><a name='more'></a></span></span></span><p></p><p><span style="font-family: trebuchet; font-size: medium;">Ünite2- Problem Çözme ve Algoritmalar</span></p><p><span style="font-family: trebuchet; font-size: medium;">Ünite3- Problem Çözme Süreci</span></p><p><span style="font-family: trebuchet; font-size: medium;">Ünite4- Problem Çözme Yaklaşımları</span></p><p><span style="font-family: trebuchet; font-size: medium;">Ünite5- Programlama Yapısı</span></p><p><span style="font-family: trebuchet; font-size: medium;">Ünite6- Doğrusal Mantık Yapısı ile Problem Çözme</span></p><p><span style="font-family: trebuchet; font-size: medium;">Ünite7- Karar Mantık Yapısı ile Problem Çözme</span></p><p><span style="font-family: trebuchet; font-size: medium;">Ünite8- Döngü Yapısı ile Problem Çözme</span></p><p><span style="font-family: trebuchet; font-size: medium;">Bu başlıkların içeriğini barındıran <span style="color: red;"><b>sunuyu indirmek için <a href="https://drive.google.com/file/d/1z5yFQrROtCcFEP-Qt9rVA23Xjj9j0UI6/view?usp=sharing" rel="nofollow" target="_blank">tıklayın.</a></b></span></span></p><p><span style="font-family: trebuchet; font-size: medium;"><span style="color: red;">Unutmayın! </span>Sunu konuların özetini içermektedir. Konulara daha ayrıntılı göz atmak isterseniz ders kitabını incelemeniz gerekir. Ders kitabı için <a href="https://ogmmateryal.eba.gov.tr/panel/upload/etkilesimli/kitap/bilgisayarbilimikur1/sec/unite1/bolum1/index.html" rel="nofollow" target="_blank">tıklayın.</a></span></p><p><span style="font-family: trebuchet; font-size: medium;">Sunu içeriği öğretim programı ve kitaba göre oluşturulmuştur. Konular özet şeklinde ve kısa notlar ile desteklenmiştir. Bu konular ile programlamaya hazırlık yapılıp bu sunu sonrasında "Python İle Programlamanın Temelleri" konusuna geçilecektir. Bu sunum dosyası toplam 27 slayttan oluşmaktadır.</span></p><div><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-29160740573442743422020-10-21T15:06:00.002+03:002021-03-15T13:19:33.785+03:00Bilgisayar Bilimi Dersi Etik Güvenlik ve Toplum ünite sunusu<p><span style="font-family: trebuchet;"></span></p><div class="separator" style="clear: both; text-align: center;"><span style="font-family: trebuchet;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9nOpvezj7HqlhDlNxEz8_NGHQI2CLarm_b7tqNU1Q6cSzbxt_diLJ9Wr2YEtBV4dcJSa-ZoRCtVk-q_f3tkoBaW2rUxlIEjbMp4FckTup74kdd3Ndjc7ZCPiM7m0VFclELxt5dR8acJiq/s1216/etik-guvenlik-toplum.PNG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="622" data-original-width="1216" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9nOpvezj7HqlhDlNxEz8_NGHQI2CLarm_b7tqNU1Q6cSzbxt_diLJ9Wr2YEtBV4dcJSa-ZoRCtVk-q_f3tkoBaW2rUxlIEjbMp4FckTup74kdd3Ndjc7ZCPiM7m0VFclELxt5dR8acJiq/s320/etik-guvenlik-toplum.PNG" width="320" /></a></span></div><span style="font-family: trebuchet;"><br /><span style="font-size: medium;">Liseler için Bilgisayar Bilimi Dersi Kur 1 kitabında var olan Etik, Güvenlik ve Toplum ünitesinin içeriğini kendi tarzımda özetleyerek gerekli eklemeler ve çıkarmalar yaparak sunu haline getirdim. <span><a name='more'></a></span></span></span><p></p><p><span style="font-family: trebuchet;"><span style="font-size: medium;">Gerek öğretmen arkadaşlar gerekse öğrenciler için faydalı olabileceğini düşünüyorum. Özellikle öğrenciler unutmayınız ki bu bir sunudur ve özet bilgiler içermektedir. Eğer derste öğretmeninizi dinlediyseniz bu özete bakarak kolayca hatırlayabileceğiniz konuları barındırmaktadır. Daha fazla bilgi almak için o zaman kitaba da bakmanız gerekmektedir. Kitap için <a href="https://ogmmateryal.eba.gov.tr/panel/upload/etkilesimli/kitap/bilgisayarbilimikur1/sec/unite1/bolum1/index.html" rel="nofollow" target="_blank">tıklayınız.</a> </span></span></p><p><span style="font-family: trebuchet; font-size: medium;">Etik, Güvenlik ve Toplum ünitesindeki konu başlıkları;</span></p><p><b><span style="font-family: trebuchet; font-size: medium;">Etik Değerler</span></b></p><p><b><span style="font-family: trebuchet; font-size: medium;">Bilişim Teknolojileri ve İnternet Kullanımında Dikkat Edilmesi Gereken Etik İlkeler</span></b></p><p></p><ul style="text-align: left;"><li><span style="font-family: trebuchet; font-size: medium;">Fikrî Mülkiyet </span></li><li><span style="font-family: trebuchet; font-size: medium;">Erişim</span></li><li><span style="font-family: trebuchet; font-size: medium;">Gizlilik</span></li><li><span style="font-family: trebuchet; font-size: medium;">Doğruluk </span></li><li><span style="font-family: trebuchet; font-size: medium;">İnternet Etiği </span></li></ul><p></p><p><b><span style="font-family: trebuchet; font-size: medium;">Bilgi Güvenliği</span></b></p><p></p><ul style="text-align: left;"><li><span style="font-family: trebuchet; font-size: medium;">Bilgi Güvenliğine Yönelik Tehditler</span></li><li><span style="font-family: trebuchet; font-size: medium;">Sayısal Dünyada Kimlik ve Parola Yönetimi</span></li><li><span style="font-family: trebuchet; font-size: medium;">Kişisel Bilgisayarlarda ve Ağ Ortamında Bilgi Güvenliği</span></li></ul><p></p><p><b><span style="color: red; font-size: large;">Sunuyu indirmek için <a href="https://drive.google.com/file/d/1Kh0h15z08-pAdXJg69L7kFpKMo1Nwd8o/view?usp=sharing" rel="nofollow" target="_blank">tıklayınız.</a></span></b></p><p><br /></p><p><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-31892708642556866912020-10-01T23:38:00.002+03:002020-10-01T23:39:44.643+03:00Uzaktan Eğitim / Canlı Ders Problemleri ve Çözümleri<p style="clear: both; text-align: center;"></p><div style="text-align: left;"><span style="font-family: trebuchet;"><span style="font-size: medium;">Salgın döneminde popüler bir konu olan uzaktan eğitim ve canlı dersler yaygınlaşmaya başlayınca sorunlar da peşinden gelmeye başladı.</span></span></div><div style="margin-left: 1em; margin-right: 1em; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiliSypjL1Mfp7bjzbzRF6_uqVw1hrtNYW73-qOS_IT4Vp-GH5GV3iDNdh3KYQiSKR56C4hWEmR_3tlgPRrkCtVvglB1ByTk_IpfbW-IqWIb0soddqNsTHAZ9DBp3MyYLyCDpyi7b0Ja76m/s1832/uzaktan-egitim-sorun-problem.jpg" style="margin-left: 1em; margin-right: 1em;"><span style="font-size: medium;"><img border="0" data-original-height="1080" data-original-width="1832" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiliSypjL1Mfp7bjzbzRF6_uqVw1hrtNYW73-qOS_IT4Vp-GH5GV3iDNdh3KYQiSKR56C4hWEmR_3tlgPRrkCtVvglB1ByTk_IpfbW-IqWIb0soddqNsTHAZ9DBp3MyYLyCDpyi7b0Ja76m/s320/uzaktan-egitim-sorun-problem.jpg" width="320" /></span></a></div><span style="font-size: medium;"><span><a name='more'></a></span><span style="font-family: trebuchet;"><div style="text-align: left;"><br /></div><div style="text-align: left;">Öğrenciler tarafından;</div></span><span style="font-family: trebuchet;"><div style="text-align: left;">Eba Canlı Ders'i sorunsuz bir şekilde nasıl izlerim?</div></span><span style="font-family: trebuchet;"><div style="text-align: left;">Uzaktan eğitimi problemsiz bir şekilde nasıl izlerim?</div></span><span style="font-family: trebuchet;"><div style="text-align: left;">Öğretmenler tarafından;</div></span><span style="font-family: trebuchet;"><div style="text-align: left;">Canlı dersi nasıl sorunsuz bir şekilde işlerim? Gibi sorular sorulmaya ve bu sorulara çözüm aranmaya başlandı.</div><div style="text-align: center;"><img border="0" data-original-height="1111" data-original-width="1886" height="189" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_tegjCfwfkNnyunSPap1zWoLWPOnX5B2_shamWls8oGFjvTUflHFR0HBVKr1HgYEFv2J-I-fqAJM27NP7oawBb0yl_-J5ZAswBMJHmeXIvuVk_rxRBKhx5ZDVAH39-JSr11wpdHAf4m9n/w320-h189/canli-ders-sorun.jpg" width="320" /></div></span></span><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"></blockquote><span style="font-size: medium;"><span style="font-family: trebuchet;"><div style="text-align: left;">Canlı ders izlemek için özellikleri uçuk kaçık bir bilgisayara sahip olmaya gerek yok. Fakat 2 GB ram bellekli, Celeron işlemcili bir bilgisayar ile de yerlerde sürünmeye gerek yok. Fakat canlı dersi sağlıklı işlemek için;</div></span></span><span style="font-size: medium;"><span style="font-family: trebuchet;"><div style="text-align: left;"><span style="color: red;"><b>1. çözüm : </b></span>Bilgisayarın sağlıklı bir şekilde çalışıyor olması. İşletim sisteminin yeni nesil bir işletim sistemi olması. Antivirüs programının kurulu ve çalışıyor olması. Sık sık virüs taraması yapılmış ve virüslerden arındırılmış olması. </div><div style="text-align: left;"><br /></div><div style="text-align: left;">Bilgisayar iyi olduktan ve verimli çalıştıktan sonra canlı ders / uzaktan eğitim için en önemli etken internet bağlantısıdır. İnternet bağlantınız zayıf ise çok sıkıntı yaşayabilirsiniz. Günümüzde internet bağlantılarının en kötü 10mbps üstünde olması gerekir ama maalesef bazı yerlerde duyduğum kadarıyla 3-4mbps ile bağlanılıyormuş. Bunun nedeni ise bölgedeki alt yapı imiş. 10 mbps ve üstü hızı internet servis sağlayıcı evinize kadar sorunsuz getiriyorsa evin içinde bağlantıların da düzgün olması gerekir. Eve giren telefon hattı odalara dağılıyor, kablolar eski, kablolama işçiliği kötüyse bağlantıda sorun yaşanır. Uydu internet ya da GSM internetleri için de bulunduğunuz yerdeki çekim gücü önemli oluyor. Çekim gücü düşük ise evin en iyi çekim yapan yerinde ders yapılmalı. Ev interneti için canlı ders dışında da sık sık bağlantı sorunu yaşıyorsanız o zaman saydığım bu faktörler ya da benzer faktörlerin giderilmesi için servis sağlayıcı şirket ile görüşülüp gerektiğinde ev içi telefon kablolama tesisatının da anlayan bir elektrikçi tarafından gözden geçirilmesi gerekir.</div><div style="text-align: left;"><b><span style="color: red;">2. çözüm : </span></b>İnternet hızınızın da yukarıda etkenler dahilinde sağlıklı bir şekilde evinize gelmesi </div><div style="text-align: left;"><br /></div><div style="text-align: left;">İnternet sorunsuz çalışıyor ise ders esnasında bu interneti verimli kullanmak gerekir. Bunun için 3. çözüm olacak maddelere dikkat edelim.</div><div style="text-align: left;"><span style="color: red;"><b>3. çözüm :</b></span> Ders esnasında internet hızını düşürecek diğer işlemlerden kaçınılması. </div></span></span><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><span><span style="font-family: trebuchet;"><div style="text-align: left;"><i>Bu işlemler Youtube gibi bir video izleme sitesinin açık olması, torrent ya da indirme programlarının açık olup dosya indirmesi, bilgisayarın ya da telefonların güncelleme indirmesi, evdeki internete ders esnasında derse girilen bilgisayar ya da telefon dışında başka cihazların (evdeki aile fertlerinin telefonları, televizyon, diğer tablet ya da bilgisayarlar) bağlanması.</i></div></span></span></blockquote><p><span style="font-size: medium;">Yukarıdaki durumlar söz konusu ise ders esnasında bu cihazların derse girilen cihaz ile aynı internete bağlanması engellenmeli, bahsettiğim programlar açık ise durdurulmalıdır. </span></p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><p style="text-align: left;"><i>Örnek: Siz bilgisayarınızda evin internetine bağlanıp canlı ders izlerken kardeşiniz annenizin telefonundan evdeki Youtube'da video izliyor, babanız televizyonda Netflix izliyor ise internetiniz de öyle 50mbps gibi yüksek hızlarda değil 10 mbps falan ise o zaman annenizin telefonunu ve televizyonu ev internet bağlantısından çıkarın. :)</i></p></blockquote><p><span style="font-size: medium;"><b><span style="color: red;">4. çözüm :</span></b> Bilgisayarın ya da telefonun günlerce açık kalmaması, ara sıra yeniden başlatılması ya da kapatılıp açılması.</span></p><p><span style="font-size: medium;"><b><span style="color: red;">5. çözüm : </span></b>Eğer ev internetine bağlı yani evdeki modemden "Wi-Fi" ye bağlanarak ders işleniyorsa. Modemin de günlerce açık kalmaması sık sık kapatılıp açılması. Hatta önerim geceleri modemin kapatılıp sabahları açılması.</span></p><p><span style="font-size: medium;">Yukarıda saydığım sorunlar ve çözümleri daha çok internet bağlantısı ve kullanılan cihazın kalite ve verimli çalışmasına dayalı idi. Peki bu şartlar sağlanıyor ama yine de bazı sıkıntılar yaşanıyor. Mesele ses gitmemesi ya da ses gelmemesi gibi sorunlar.</span></p><p style="text-align: center;"><span style="color: #fcff01; font-size: medium;"><b>CANLI DERS / UZAKTAN EĞİTİM SIRASINDA MİKROFON VE HOPARLÖR SIKINTISI </b></span></p><p><span style="font-size: medium;"><span style="font-family: trebuchet;">Özellikle bilgisayarlarda yaşanan sıkıntı genelde ders esnasında ya da canlı ders programı/sayfası açıkken kulaklık-mikrofon takılıp sökülmesi. Bilgisayara kulaklık-mikrofon takınca ya otomatik olarak ses giriş çıkışlarını takılan cihaza ayarlıyor ya da bir seçenek penceresinde ne yapmak istediğinizi soruyor. Canlı ders/uzaktan eğitim programı ya da sayfanın açıkken bunun yapılması o program ya da sayfanın bu ses giriş çıkışı değişikliğini algılayamamasına neden oluyor.<br /></span><span style="font-family: trebuchet;"><b><span style="color: red;">6. çözüm :</span></b> Takılacak kulaklık-mikrofonun canlı ders/uzaktan eğitim sayfası ya da programı açılmadan önce takılması</span></span></p><p><span style="font-family: trebuchet; font-size: medium;"><span style="color: red;"><b>7. çözüm : </b></span><span>Sistemin mikrofonu ayarlar bölümünden denenerek çalışıp çalışmadığı kontrol edilmesi. Ses çıkışının bir müzik açarak denenmesi. Sorun varsa ayarlar/denetim masası bölümünde ses ayarlarında giriş/çıkış aygıtlarının kontrol edilmesi.</span><br /><i>Bazı cihazların mikrofonu bozuk olabiliyor. Bu durumda harici bir mikrofon ya da kulaklı mikrofon kullanılabilir.</i></span></p><p><span style="font-family: trebuchet; font-size: medium;">Ses sıkıntıları dışında diğer bir sıkıntı da antivirüs programları olabiliyor. Antivirüs programı bilgisayar güvenliği için önemli fakat bazı durumlarda onları dinlendirmek gerekebilir. :)</span></p><p><span style="font-family: trebuchet; font-size: medium;"><b><span style="color: red;">8. çözüm :</span></b> Uzaktan eğitim/canlı ders programının antivirüs tarafından engellenmesi durumunda antivirüs programı geçici olarak devre dışı bırakılabilir ya da antivirüs programının özelliklerinden kullanılan canlı ders programı istisna listesine alınabilir. <br />Bu sorun özellikle EBA canlı ders programında yaşanabiliyor. </span></p><p><span style="font-family: trebuchet; font-size: medium;">Uzaktan eğitim ya da canlı ders programları EBA Canlı Ders, Zoom, Microsoft Teams gibi programların yanı sıra, Google Meetings, Eysis gibi internet tarayıcı tabanlı internet siteleri de olabilmektedir.</span></p><p><span style="font-family: trebuchet; font-size: medium;">Daha fazla problem ile karşılaştığımda çözümleri buraya ekleyeceğim.</span></p><span style="font-size: medium;"><span style="font-family: trebuchet;"><div style="text-align: left;"><br /></div><div style="text-align: left;"><br /></div></span></span><p style="text-align: left;"></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-85216129152484283442020-05-18T17:27:00.003+03:002022-12-16T09:42:03.847+03:00Telefonu bilgisayara kablosuz bağlamak<font face="trebuchet" size="4"><br /></font><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZZQpWDRnF4D3BfejQGwgn4r7d-nABgUG9V9YO9KgiPt8x5Q4APZ6Jez8zISwerHCSPbaBQN192X5q6EX-BFK_zK9TejjZsOmnMOpxoWkOxzeB0mytgOvU-usRa6d3dAwyQjIq_gd8ymUs/" style="margin-left: 1em; margin-right: 1em;"><font face="trebuchet" size="4"><img border="0" data-original-height="750" data-original-width="1500" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZZQpWDRnF4D3BfejQGwgn4r7d-nABgUG9V9YO9KgiPt8x5Q4APZ6Jez8zISwerHCSPbaBQN192X5q6EX-BFK_zK9TejjZsOmnMOpxoWkOxzeB0mytgOvU-usRa6d3dAwyQjIq_gd8ymUs/w400-h200/telefonu-bilgisayara-kablosuz-baglamak.png" width="400" /></font></a></div><div class="separator" style="clear: both; text-align: center;"><font face="trebuchet" size="4"><br /></font></div><div class="separator" style="clear: both; text-align: center;"><font face="trebuchet" size="4"><b>İster Android olsun ister iOS, herhangi bir telefondan bilgisayara sık sık dosya alışverişi mi yapıyorsunuz? Kablo takmaktan, soket sorunları yaşamaktan sıkıldınız mı? O zaman bu yazı tam size göre.</b><span><a name='more'></a></span></font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4"><br /></font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4">Yukarıda da belirttiğim gibi Anroid ve iOS işletim sistemli telefonlarda resim, video ya da herhangi bir dosyayı bilgisayarınıza ya da bilgisayarınızdan telefona gönderme işini sıkça yapıyor ve bunu da bilgisayarın USB portuna telefondan kablo bağlayarak yapıyorsanız bu sürecin biraz sıkıntılı olduğuınu söyleyebilirim.</font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4"><br /></font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4">Bu sıkıntılar kablonun ucunun bozulması, daha da kötüsü telefonun şarj soketi dediğimiz veri alışverişinin de sağlandığı soketin bozulması olarak karşımıza çıkıyor. Tabii bu arızalar kullanıma göre, kullanım sayısına göre değişir.</font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4"><br /></font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4">Telefonu bilgisayar kablo ile bağlamak yerine kablosuz bağlantı aracılığıyla bağlamak daha sağlıklı olacaktır. Ben de sık sık telefondan bilgisayara ya da bilgisayardan telefon veri aktarmaktayım. Bu yüzden arayışlarım sonucunda uzun süredir kullandığım <font color="#7baaf7"><b>Airmore</b></font> uygulamasından bahsedeceğim.</font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4"><br /></font></div><div class="separator" style="clear: both; text-align: justify;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeX5gaiYp_FPGgOkHflimP98Uf-Y025Av9eBWGiVVgusTWVELJayVqFw4Zj3JcT60cYTXPaGnOvdZP3xyeuLVnioAyDg5MVZd0HcxOJ7XiWgoROgffsQBW_o9Af-C5qoIX3kap6RxGxKHN/" style="margin-left: 1em; margin-right: 1em;"><font face="trebuchet" size="4"><img border="0" data-original-height="164" data-original-width="344" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeX5gaiYp_FPGgOkHflimP98Uf-Y025Av9eBWGiVVgusTWVELJayVqFw4Zj3JcT60cYTXPaGnOvdZP3xyeuLVnioAyDg5MVZd0HcxOJ7XiWgoROgffsQBW_o9Af-C5qoIX3kap6RxGxKHN/s320/android-ios-telefon-kablosuz-dosya-aktar.jpg" width="320" /></font></a></div><div class="separator" style="clear: both; text-align: center;"><font face="trebuchet" size="4"><br /></font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4">Telefonunuza Play Store ya da App Store'dan indirip yükleyeceğiniz Airmore uygulaması sayesinde <font color="#d52c1f"><b>telefon ile aynı kablosuz ağa (wi-fi) bağlı bir bilgisayar ile</b></font> dosya aktarımı çok kolay olacak. </font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4"><br /></font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4"><font color="#d52c1f"><b>1. adım:</b></font> Uygulamayı telefona yükledikten sonra bilgisayarınızda herhangi bir internet tarayıcıdan web.airmore.com adresini açın. Bu adreste karşınıza aşağıdaki resimde görüldüğü gibi bir kare kod ekranı çıkacak.</font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4"><font color="#d52c1f"><b>2. adım:</b></font> Telefondan uygulamayı açıp "bağlanmak için tarayın" yazısına tıklayın.</font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4"><font color="#d52c1f"><b>3. adım:</b></font> Telefonda çıkan kamera görüntüsü ile web.airmore.com adresinde açtığını kare kodu taratıp bağlantıyı gerçekleştirin. (Uygulama burada bazı izinler isteyecektir onlara izin vermeniz gerekir)</font></div></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4"><br /></font></div><div class="separator" style="clear: both; text-align: justify;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtXq8rvTevdDCphOHsscfVs-OIBtExSUsDhs6VLFwje9z4jBHy-bFDZBMrC1rZbbRYutZKQ_gdboQYdF9u0S9rFPDkHxgAlLq_ktset24GuiqeOVvIUi93xIr5U2H04VKG5j6f9NIxIkhD/" style="margin-left: 1em; margin-right: 1em;"><font face="trebuchet" size="4"><img border="0" data-original-height="832" data-original-width="1142" height="291" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtXq8rvTevdDCphOHsscfVs-OIBtExSUsDhs6VLFwje9z4jBHy-bFDZBMrC1rZbbRYutZKQ_gdboQYdF9u0S9rFPDkHxgAlLq_ktset24GuiqeOVvIUi93xIr5U2H04VKG5j6f9NIxIkhD/w400-h291/airmore-telefondan-bilgisayara-bilgisayardan-telefona-kablosuz.JPG" width="400" /></font></a></div><div class="separator" style="clear: both; text-align: center;"><font face="trebuchet" size="4"><br /></font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4">Bağlantıyı gerçekleştirdikten sonra internet sayfasında yukarıdaki gibi bir ekran çıkacak. Bu ekran bağlantı ana sayfasıdır. Burada telefonunuz ile ilgili bilgiler, dosyaların kapladığı yerler hem de kategorilendirilmiş şekilde verilir.</font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4">Sol taraftaki simgelerden ne yapmak istediğinizi seçip o dosyalar (resim, müzik, video, belgeler) üzerinde işlem yapabilir. Dosyaları bilgisayarınıza indirebilir, bilgisayarınızdan dosyayı telefona yükleyebilirsiniz. </font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4"><br /></font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4">Eğer karekod ile bağlanmada sıkıntı yaşanırsa ikinci bağlanma yöntemi de ip alma yöntemidir.<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmddJuC3gpqNJSROBNgfwmjvEn2ZnYrE21uJc7vThiHGskP2MT8JadWWbse41gYGlYCus8JXmQLszfx5wgE2bMUUQaFkLoTChui4s89Omwl0AbuZQfLxJ3kHykYert53OKnZkk2KJBhqr7g1EvW3BOTIooVSSpnm-j-yutYm9KgrpJtWY9lt65mKRBSA/s2960/AirMore-ip-alma.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2960" data-original-width="1440" height="441" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmddJuC3gpqNJSROBNgfwmjvEn2ZnYrE21uJc7vThiHGskP2MT8JadWWbse41gYGlYCus8JXmQLszfx5wgE2bMUUQaFkLoTChui4s89Omwl0AbuZQfLxJ3kHykYert53OKnZkk2KJBhqr7g1EvW3BOTIooVSSpnm-j-yutYm9KgrpJtWY9lt65mKRBSA/w214-h441/AirMore-ip-alma.jpg" width="214" /></a></div>Yukarıdaki resimde görüldüğü gibi üç nokta işaretine tıklayıp "ip alın" seçeneğine tıklayın. Burada yazan ip adresini internet tarayıcısına girdikten sonra telefondaki Airmore uygulamasında ekrana çıkan bildirimde kabul et seçeneğini tıklayın ve tarayıcıdan telefon içeriğine ulaşın. Ama burada unutmayın ki <b>hem telefon hem bilgisayar aynı ağa bağlı olmalı.</b></font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4"><br /></font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4">Ayrıca telefonunuzdaki kişilere de ulaşıp onlar üzerinde işlem yapabilir, yedekleyebilirsiniz. Aynı şekilde telefonunuzdaki mesajları da yedekleyebilirsiniz.</font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4"><br /></font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4">Pano ise telefonunuzun geçici hafızasında (ram belleğinde) kalan kopyala seçeneği ile seçtiğiniz verileri tutar ve burada gösterir.</font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4"><br /></font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4">Yansıtıcı ise telefonunuzdaki anlık görüntüyü bilgisayara yansıtmaya yarar. Bu özelliği Windows 10 işletim sisteminin "bağlan" uygulaması ile de yapabilirsiniz ama Airmore bunu da düşünmüş. Bu yansıtma işleminin görseli aşağıdaki gibidir.</font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4"><br /></font></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivtxarEg9cj3fEt2zBlVi4J_ZXy7UfrBWjrnPPqSS_QtcANppMIu1QxPJZTzUKamgGo5kFGuCwAfHRwRakQJEsa6r7dtpcCmmueuY3pzo7KpTpqO9LMXPIl1B-uJ5FrZ2wqWpiU97SjZI_/" style="margin-left: 1em; margin-right: 1em;"><font face="trebuchet" size="4"><img border="0" data-original-height="733" data-original-width="1173" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivtxarEg9cj3fEt2zBlVi4J_ZXy7UfrBWjrnPPqSS_QtcANppMIu1QxPJZTzUKamgGo5kFGuCwAfHRwRakQJEsa6r7dtpcCmmueuY3pzo7KpTpqO9LMXPIl1B-uJ5FrZ2wqWpiU97SjZI_/w400-h250/telefon-ekranini-bilgisayara-yansitma.JPG" width="400" /></font></a></div><div class="separator" style="clear: both; text-align: center;"><font face="trebuchet" size="4"><br /></font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4">Bu programı bugüne kadar defalarca kullandım ve hiçbir sorunla karşılaşmadım. Tarayıcı olarak Google Chrome kullandım, diğer tarayıcılarda denemedim. İşiniz bittikten sonra bağlantıyı sonlandırmak için telefondaki airmore uygulamasında aşağıdaki gibi bağlantıyı kesin yazısına tıklayınca bağlantı sonlanır. İnternet sayfasını kapatınca da sonlanır. Bu arada tavsiyem işiniz bitince uygulamayı da kapatmanız. Hatta bu genel bir tavsiyedir. Kullanmadığınız uygulamalar arka planda açık kalarak telefonun kaynaklarını tüketebilir. Bu yüzden kullanmadığınız tüm uygulamaları kapatmanızı tavsiye ederim.</font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4"><br /></font></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibDH1PAljRNsYKzBs2xZwc7RUyMxbvEZxbIV28Sn_JVnnycpyQjCddpE4BcOCyoIEjuxj2rhQyS8QlsyX9e8bA-IzrdYoQJumXHE66HSXtZQd-m9eshknjBXrnh8k2_D6yrgZz7alsVeWJ/" style="margin-left: 1em; margin-right: 1em;"><font face="trebuchet" size="4"><img border="0" data-original-height="1920" data-original-width="1080" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibDH1PAljRNsYKzBs2xZwc7RUyMxbvEZxbIV28Sn_JVnnycpyQjCddpE4BcOCyoIEjuxj2rhQyS8QlsyX9e8bA-IzrdYoQJumXHE66HSXtZQd-m9eshknjBXrnh8k2_D6yrgZz7alsVeWJ/s320/airmore-kablosuz-baglanti.png" /></font></a></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4"><br /></font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4"><br /></font></div><div class="separator" style="clear: both; text-align: justify;"><font face="trebuchet" size="4"><br /></font></div><span style="font-family: trebuchet;"><br /></span></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-85385020215654067722020-05-07T17:48:00.003+03:002023-05-28T23:32:58.416+03:00Arduino ile park sensörü<span style="font-family: "trebuchet";"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "trebuchet";"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dz_-R2jPP7mMXYOSHbCVnnFoGld5W0diHsJmRRTf_Xj-CDOs8pcynD9cbvXI5wIqCcDv4QeJYZnUszi56bObQ' class='b-hbp-video b-uploaded' frameborder='0'></iframe></span></div>
<a name='more'></a><div class="separator" style="clear: both; text-align: left;">
<span style="text-align: justify;"><span style="font-family: verdana; font-size: medium;">Arabalarda bulunan park sensörleri basit bir mantık ile çalışır. Bu sistem içindeki en önemli bileşen ultrasonik mesafe sensörüdür. Bu sensör ses dalgaları ile çalışır. Ses dalgası gönderir ve çarpıp gelen ses dalgasını geri algılar. Geçen süre ile hız-zaman-yol formülü üzerinden cismin uzaklığını bir formül ile bize verir. Kendisi direk cm olarak mesafe vermez. Şimdi gelelim bu sistemi Arduino Uno devre kartı ve Arduino programlama ile yapmaya.</span></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="text-align: justify;"><span style="font-family: "trebuchet";"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: "trebuchet";"><br /></span></div>
<div class="separator" style="clear: both; text-align: justify;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvi_c323_oU_fslVe8_aF2STUiwJ2dYcxztRqIPoULdfUh9IF6H9hsym2eCaGTWNdq9k4f28ke4wVPCmPyUhJKoLNvnV-fWsk4yfqOeIsWE0SFo7ld2WZjgKRPZ3lfAMYERJAwZ2MSnwYz/" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "trebuchet";"><img border="0" data-original-height="1576" data-original-width="2768" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvi_c323_oU_fslVe8_aF2STUiwJ2dYcxztRqIPoULdfUh9IF6H9hsym2eCaGTWNdq9k4f28ke4wVPCmPyUhJKoLNvnV-fWsk4yfqOeIsWE0SFo7ld2WZjgKRPZ3lfAMYERJAwZ2MSnwYz/w400-h228/arduino-park-sensoru.jpg" width="400" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "trebuchet";"><br /></span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: verdana;">Yukarıdaki basit devreyi kurarak programlama işine girişmeden kullanacağımız devre elemanlarını tanıyalım. Bu devrede bir ultrasonik mesafe sensörü ve bir de küçük hoparlör diyebileceğimiz buzzer adında ses çıkaran bir bileşen kullanacağız. Fotoğrafta buzzer'a bağlı direnç yok ama buzzer'ı GND'ye 330ohm değerinde bir direnç ile bağlamak da fayda var. Benim elimde küçük değerli direnç olmadığı için direk kablo ile GND'ye bağladım. Bu durumda uzun süreli çalışmada buzzer bozulabilir.</span></div>
<div style="text-align: center;">
<span style="font-family: verdana;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: verdana;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil09J7mL2gS8SScKRqymYdvaLBhXbbAf_LSHklQvKkzA_T6cwO9cZ6or6kPsmJfmpb9ElrMc1HmqiVnLu41TcX6JoeS7PhyphenhyphenzH0AWRxTSmqu9pwb6fi1zKxBd7yoVE4BZk-Hup9ZdvowuyE/" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="724" data-original-width="1000" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil09J7mL2gS8SScKRqymYdvaLBhXbbAf_LSHklQvKkzA_T6cwO9cZ6or6kPsmJfmpb9ElrMc1HmqiVnLu41TcX6JoeS7PhyphenhyphenzH0AWRxTSmqu9pwb6fi1zKxBd7yoVE4BZk-Hup9ZdvowuyE/s320/ultra-sonik-mesafe-sens%25C3%25B6r%25C3%25BC.jpg" width="320" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizIE5mnI2NHLIVjkW-k0baYHM91nyBBdnb8oQTKpobbku6hWlCX9BldXCyjezvh9aUQcIWRuwcQeVxNHgxh0SMcr_AtrD3Y7AvW9pEIPSeXJKXwDv2gNJRmFIxmNmJ7my0zdZZq0ltcryS/" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="640" data-original-width="532" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizIE5mnI2NHLIVjkW-k0baYHM91nyBBdnb8oQTKpobbku6hWlCX9BldXCyjezvh9aUQcIWRuwcQeVxNHgxh0SMcr_AtrD3Y7AvW9pEIPSeXJKXwDv2gNJRmFIxmNmJ7my0zdZZq0ltcryS/w166-h200/buzzer-hoparl%25C3%25B6r.png" width="166" /></a></span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: verdana;"><span style="text-align: left;">Yukarıda gördüğünüz ultrasonik mesafe sensörü 4 pinden oluşmaktadır. Vcc ve GND pinlerine 5V ve Şase verildiğinde bu bileşen çalışmaktadır. Triq ucundan sinyal gönderip Echo ucundan bu si</span><span style="text-align: left;">nyali geri alır. Bu gönderme ve alma uçları sayesinde basit bir hesaplama ile mesafeyi ölçeceğiz. Yanında gördüğünüz siyah renkli bileşen ise buzzer adındaki küçük hoparlör. Onda dikkat edilmesi gereken nokta + ve - uçların olduğudur. Artı uç resimde görüldüğü üzere bileşen üzerinde belirtilmiştir.</span></span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: verdana;"><br /></span></div>
<div class="separator" style="clear: both; text-align: justify;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsXzHAHDAxlVdTRPt-VNeOElcO7rjEDGt3mcHFp2YP93vn94Az4QW-PG_aRwbM41KxwT0L2dvPRspJwsArjcEiZ9bf5c8tSX7VGIRTuAsyEaL3lAdBeaiVasIszsm6BFtEUxoQLoFWn2W_/" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="1728" data-original-width="1776" height="389" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsXzHAHDAxlVdTRPt-VNeOElcO7rjEDGt3mcHFp2YP93vn94Az4QW-PG_aRwbM41KxwT0L2dvPRspJwsArjcEiZ9bf5c8tSX7VGIRTuAsyEaL3lAdBeaiVasIszsm6BFtEUxoQLoFWn2W_/w400-h389/arduino-park-sensoru-ultrasonik.jpg" width="400" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: verdana;"><br /></span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: verdana;">Bu devrede kırmızı ve gri kablo ile Arduino Uno kartımızında çalışma tahtasına (breadboard) güç bağlaması yaptık. Mor kablo ile sensörün GND ucuna topraklama, beyaz kablo ile sensörün Vcc ucuna 5V bağladık. Sarı kablo ile sensörün Echo ucundan Arduino'da 2 numaralı dijital pine, Yeşil kablo ile sensörün Triq ucundan Arduino'da 4 numaralı dijital pine bağlantı sağladık. Buzzer'ın artı ucunu 13 numaralı dijital pine eksi ucunu ise direk siyah kablo ile GND yani mavi hatta bağladık. Burada siyah kablo yerine 200-300 ohm değerli direnç takarsanız daha iyi olur. Bu şekilde bağlantıyı yapmış olduk. Gelelim kodlama kısmına. </span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "trebuchet";"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<b><span style="color: #e67c73; font-family: "trebuchet";"> PARK SENSÖRÜ ARDUİNO PROGRAMLAMA KODLARI</span></b></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<ul style="text-align: left;">
<li><span style="font-family: "courier";">int zaman;</span></li>
<li><span style="font-family: "courier";">int mesafe;</span></li>
<li><span style="font-family: "courier";">void setup() {</span></li>
<li><span style="font-family: "courier";">pinMode(2,INPUT); <span style="color: #c6dafc;">//echo yani gelen sinyal</span></span></li>
<li><span style="font-family: "courier";">pinMode(4,OUTPUT); <span style="color: #c6dafc;">// triq yani giden sinyal</span></span></li>
<li><span style="font-family: "courier";">pinMode(13,OUTPUT); <span style="color: #c6dafc;">//buzzer için</span></span></li>
<li><span style="font-family: "courier";">Serial.begin(9600); <span style="color: #c6dafc;">//seri haberleşmeyi başlatmak için</span></span></li>
<li><span style="font-family: "courier";">}</span></li>
<li><span style="font-family: "courier";"><br /></span></li>
<li><span style="font-family: "courier";">void loop() {</span></li><li><span style="color: #9fc5e8; font-family: "courier";">//aşağıdaki 5 satır kod mesafe sensöründen sinyal gönderip</span></li><li><span style="color: #9fc5e8; font-family: "courier";">//gönderilen sinyali alma ve buradan gelen zaman ve</span></li><li><span style="color: #9fc5e8; font-family: "courier";">//sensörün bilinen hızı ile mesafe hesaplama işlemi yapılır</span></li>
<li><span style="font-family: "courier";">digitalWrite(4 , HIGH); <span style="color: #c6dafc;">//sinyal gönderiliyor</span></span></li>
<li><span style="font-family: "courier";">delayMicroseconds(10); <span style="color: #c6dafc;">//kısa bir bekleme</span></span></li>
<li><span style="font-family: "courier";">digitalWrite(4 , LOW); <span style="color: #c6dafc;">//gönderilen sinyal kesiliyor</span></span></li>
<li><span style="font-family: "courier";">zaman = pulseIn(2 , HIGH); <span style="color: #c6dafc;">//gelen sinyal zamanı hesaplanıyor</span></span></li>
<li><span style="font-family: "courier";">mesafe = (zaman/2) / 29.1;<span style="color: #c6dafc;"> //hız-zaman-yol formülünden mesafe ölçülüyor. 29.1 sensörün hızı</span></span></li>
<li><span style="font-family: "courier";"><br /></span></li>
<li><span style="font-family: "courier";">if (mesafe <= 10) <span style="color: #c6dafc;">//mesafe 10 cm'den küçük ise 50 ms aralıklarla buzzer öter diğer if blokları da mesafelere göre buzzer süreleri değişiyor.</span></span></li>
<li><span style="font-family: "courier";">{</span></li>
<li><span style="font-family: "courier";">digitalWrite(13 , HIGH);</span></li>
<li><span style="font-family: "courier";">delay(50);</span></li>
<li><span style="font-family: "courier";">digitalWrite(13 , LOW);</span></li>
<li><span style="font-family: "courier";">delay(50);</span></li>
<li><span style="font-family: "courier";">}</span></li>
<li><span style="font-family: "courier";">else if (mesafe <= 25)</span></li>
<li><span style="font-family: "courier";">{</span></li>
<li><span style="font-family: "courier";">digitalWrite(13 , HIGH);</span></li>
<li><span style="font-family: "courier";">delay(150);</span></li>
<li><span style="font-family: "courier";">digitalWrite(13 , LOW);</span></li>
<li><span style="font-family: "courier";">delay(150);</span></li>
<li><span style="font-family: "courier";">}</span></li>
<li><span style="font-family: "courier";">else if (mesafe <= 40)</span></li>
<li><span style="font-family: "courier";">{</span></li>
<li><span style="font-family: "courier";">digitalWrite(13 , HIGH);</span></li>
<li><span style="font-family: "courier";">delay(400);</span></li>
<li><span style="font-family: "courier";">digitalWrite(13 , LOW);</span></li>
<li><span style="font-family: "courier";">delay(400);</span></li>
<li><span style="font-family: "courier";">}</span></li>
<li><span style="font-family: "courier";">else</span></li>
<li><span style="font-family: "courier";">{</span></li>
<li><span style="font-family: "courier";">digitalWrite(13 , HIGH);</span></li>
<li><span style="font-family: "courier";">delay(800);</span></li>
<li><span style="font-family: "courier";">digitalWrite(13 , LOW);</span></li>
<li><span style="font-family: "courier";">delay(800);</span></li>
<li><span style="font-family: "courier";">}</span></li>
<li><span style="font-family: "courier";">}</span></li>
</ul>
<div>
<span style="font-family: verdana;">Yukarıda kod satırlarının yanında gerekli açıklamalar yapılmıştır. Buna göre setup bölümünde gerekli hazırlıklar yapıldıktan sonra loop bölümünde ilk 5 satır kod mesafeyi ölçmek için basit matematiksel işlemleri içermektedir. Sonrasında ise if blokları ile bir kıyaslama yaparak mesefeye göre buzzer'ın ses çıkarma süreleri belirtiliyor. Bu sürelere göre sensör ile cisim arasındaki uzaklık azaldıkça buzzer daha sık ses çıkararak bir nevi uyarıyı şiddetlendiriyor tıpkı arabalarda olan sensör sistemi gibi. Bu devreye istenirse ledler de eklenerek, led sayısına göre mesafeye göre led yakıp söndürme de yapılabilir. Mesela 50 cm'den uzak ise 1 led yanar, 50-30 arası 2 led yanar, 30-10 arası 3 led yanar, 10 cm'den aşağıda 4 led yanar gibi... </span></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-68266253329540769982020-05-02T18:40:00.003+03:002022-04-28T15:05:36.616+03:00Arduino ile foto direnç ve analogRead komutu kullanımı<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQEFgOnj3i_YqZcbT50ITlCKE2aK6GxED-aP8J9CYXbu3k6TwXvDR0wgjcFl00Nn-dNmWs2n81B_zgumtz-FhunublZZOVkcy0mwanGAgoQ0VT1r618kBxu_cFhaRJbBKSdUPCwFI982-J/s1600/arduino-foto-direnc-analogread.gif" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="270" data-original-width="300" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQEFgOnj3i_YqZcbT50ITlCKE2aK6GxED-aP8J9CYXbu3k6TwXvDR0wgjcFl00Nn-dNmWs2n81B_zgumtz-FhunublZZOVkcy0mwanGAgoQ0VT1r618kBxu_cFhaRJbBKSdUPCwFI982-J/s200/arduino-foto-direnc-analogread.gif" width="200" /></a><span style="font-family: "trebuchet ms" , sans-serif; text-align: justify;"></span><br />
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif; text-align: justify;">Bu Arduino programlama dersinde asıl amaç analogRead komutu ile birlikte analog girişlerin çalışmasını inceleyeceğiz. Bunun için elektronik devre elemanlarından LDR adında foto direnç olarak bilinen hatta ışık sensörü de denilen bir direnç kullanacağız.</span><br />
<a name='more'></a><br />
<br />
<br />
<br />
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3kvS4Xo0kNhWXRTz5Eir6nVM25-Ckafzof9_ACKGhD1lm-kaYdYXd519iQiCPD8krK5ZZIlT3wZhfXYTuZ-6wnf3IC-zxy1QLgHmTRelG7llq-I2gHF5q6p4qvdPUhgG9nyEH9iq6155X/s1600/arduino-ldr-direnc.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="592" data-original-width="528" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3kvS4Xo0kNhWXRTz5Eir6nVM25-Ckafzof9_ACKGhD1lm-kaYdYXd519iQiCPD8krK5ZZIlT3wZhfXYTuZ-6wnf3IC-zxy1QLgHmTRelG7llq-I2gHF5q6p4qvdPUhgG9nyEH9iq6155X/s200/arduino-ldr-direnc.png" width="178" /></a></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Yandaki resimde gördüğünüz bileşen bir LDR yani foto dirençtir. Çalışma mantığı çok basit ve uçlarında artı-eksi yön yoktur. Üzerine düşen ışığa göre bir direnç değeri verir. Işık çok ise direnç çok, ışık az ise direnç az mantığında çalışır.</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Yukarıda hareketli resimde görüldüğü gibi çok ışık verince led az aralıklı yanıp sönüyor ya da led hiç yanmıyor. Foto direnç üzerinde ışık azaldıkça led sık aralıklarla yanıyor. Parmak ile foto direnç üzerine dokununca foto direnç çok az ışık alıyor ve led de hızlı yanıp sönüyor. Şimdi bunu Arduino ile nasıl yaparız ve nasıl kodlarız ona bakalım.</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">Önce devreyi kurmamız gerekir. Çalışma tahtasına Arduino Uno kartımızında elektriği kırmızı ve mavi hatlara çekiyoruz. Kırmızı hatta kırmızı kablo ile 5V, mavi hatta gri kablo ile GND bağlıyoruz. Çalışma tahtası üzerine bir led ve direnç, bu ledi aşağıda resimde görüldüğü gibi 8 numaralı dijital pine bağlıyoruz. Foto direncin bir ucuna elektrik vermek için kırmızı hattan elektrik alıyoruz yani + değer veriyoruz. Foto direncin diğer ucunuda 1Kohm diğerinde direnç ile - hatta bağlıyoruz. Bunun nedeni foto direnç sağlıklı bir şekilde çalışsın. Ayrıca bu uçtan mor kablo ile analog pinlerden öylesine seçtiğimiz A1 pinine bağlantı sağlıyoruz. Foto dirençteki değeri okutmak için analog pine bağlamış olduk.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBN01BHYPP2pouESEOqO-BRIIYzy7l8wTVNxdbxx_4IwPksBcGCGIuDeoj_xzt2Ooi27MTXm_z8p3uEEUURzE5EuFGIs_v85Q6Ktk2-_JC3K9cdFG7vQhIKXKnuxtSMVj7TrtevkYrPMGU/s1600/arduino-ldr-foto-isik.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1008" data-original-width="1600" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBN01BHYPP2pouESEOqO-BRIIYzy7l8wTVNxdbxx_4IwPksBcGCGIuDeoj_xzt2Ooi27MTXm_z8p3uEEUURzE5EuFGIs_v85Q6Ktk2-_JC3K9cdFG7vQhIKXKnuxtSMVj7TrtevkYrPMGU/s400/arduino-ldr-foto-isik.jpg" width="400" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbFY5laCM_PWx1qZglcbHf72SPeIKIBLbTEN7jPWLJFVX1scbLBN703yN6bsFBCP0wmdOcl9SMrp4778JbT40OgwpR0tr6yIBnKoJ8uBcfDCECGFqivKlVfCEKAb2bgqQNJ60uZH4n5x1J/s1600/arduino-analog-read-ve-foto-direnc.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1074" data-original-width="1600" height="267" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbFY5laCM_PWx1qZglcbHf72SPeIKIBLbTEN7jPWLJFVX1scbLBN703yN6bsFBCP0wmdOcl9SMrp4778JbT40OgwpR0tr6yIBnKoJ8uBcfDCECGFqivKlVfCEKAb2bgqQNJ60uZH4n5x1J/s400/arduino-analog-read-ve-foto-direnc.jpg" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<span style="font-family: "trebuchet ms" , sans-serif;">Hatırlarsanız daha önceki çalışmamızda digitalRead komutu ile dijital okutma yapmıştık. Bu komut ile pine ya 0 (LOW) ya da 1 (HIGH) gelir. Bu 2 duruma göre programı yazabiliriz. Ama direnç değerleri sonsuzdur. Bu foto direnç üzerindeki ışığa göre sonsuz değer verir. Ancak Arduino Uno bu sonsuz değeri 0 ile 1023 arasında sınırlandırmıştır. Yani direnç üzerinde hiç ışık yok ise 0 çok ışık var ise 1023 olacak şekilde düşünebiliriz. İşte bu çoklu değerden dolayı analog pinleri kullanmak zorundayız. </span>
<br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">Analog pinlere gelen sinyali <span style="color: red;">analogRead(pinadı)</span> komutu ile kontrol edebiliriz. Foto dirençteki anlık değer A1 analog pininde olacak. Bu değer ışığın gücüne göre 0-1023 arasında değişecek. Peki biz bu değeri nereden bileceğiz. Mesela parmağımızla foto direncin üzerini kapatınca değer ne olacak? Foto direnç üzerine ışık tutunca direnç değeri ne olacak? Bu değerleri izlemek için Arduino'da bir komut ve program üzerinde bir pencere var. Bu komut <span style="color: red;">Serial.println(); </span>komutudur. Parantez içine analogRead ile okutacağımız pin değeri yazılır. Bu komutu kodlarımıza eklediğimiz takdirde Arduino programında Araçlar / Seri Port Ekranı kısmından açınca aşağıda göründüğü gibi bir pencerede değerler görünür. Bu değerlere göre foto direnç üzerindeki ışığa göre direnç aralığını görmüş oluruz.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCyQOeDKfpSqv_g2_QcR34BdNUxMBYEPtw90ycMNORKR5RPd7Jo7C2gutgtEJYZv69YIkBzTs1Weub-6EsRSe9ZuSvTpDpRywvGLBOjTR-_deVw1FyY01ohOp203bajWQ_Ns_UZVHmYjEX/s1600/serial-println-komutu.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="409" data-original-width="747" height="350" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCyQOeDKfpSqv_g2_QcR34BdNUxMBYEPtw90ycMNORKR5RPd7Jo7C2gutgtEJYZv69YIkBzTs1Weub-6EsRSe9ZuSvTpDpRywvGLBOjTR-_deVw1FyY01ohOp203bajWQ_Ns_UZVHmYjEX/s640/serial-println-komutu.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;">Bu komutu kullanmak için programda setup bölümünde Serial.begin(9600); komutunu yazmalıyız. Bu yazdığımız komut sayesinde Arduino programımız kendini seri haberleşme yapmak için hazırlıyor. Geleim program için kodlara;</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;">void setup()</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;">{ pinMode(8, OUTPUT);</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"> Serial.begin(9600);}</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;">void loop()</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;">{int fotodirenc = analogRead(A1);</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;">Serial.println(fotodirenc);</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;">delay(100); </span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"> if(fotodirenc<=150)</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"> {digitalWrite(8, HIGH);</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"> delay(100);</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"> digitalWrite(8, LOW);</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"> delay(100);}</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"> else if (fotodirenc<=350)</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"> {digitalWrite(8, HIGH);</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"> delay(300);</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"> digitalWrite(8, LOW);</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"> delay(300);}</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"> else if (fotodirenc<=700)</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"> {digitalWrite(8, HIGH);</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"> delay(500);</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"> digitalWrite(8, LOW);</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"> delay(500);}</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"> else{digitalWrite(8, LOW);}</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;"></span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="font-family: Trebuchet MS, sans-serif;">}</span></div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgna_nVj22PQuI-L3zEFLNTkI6P3wOzb6wMRS2juoFme8Cg5w1A3OKZRh0SMkmH5IujsBqyaplY-hHWZN6UlOrmFffKGmuj_uvUaF0LJtQJx2KNbVRD6tEWu6aEf6uMo3s3WppD3vgyDVo/s1600/arduino-analog-read-serial-println-kodlar.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="598" data-original-width="984" height="388" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgna_nVj22PQuI-L3zEFLNTkI6P3wOzb6wMRS2juoFme8Cg5w1A3OKZRh0SMkmH5IujsBqyaplY-hHWZN6UlOrmFffKGmuj_uvUaF0LJtQJx2KNbVRD6tEWu6aEf6uMo3s3WppD3vgyDVo/s640/arduino-analog-read-serial-println-kodlar.JPG" width="640" /></a></div>
<span style="font-family: "trebuchet ms" , sans-serif;">Yukarıdaki kodları kısaca özetleyelim. Loop bölümünde fotodirenc adı ile int türünde tanıtılan değişken hemen analogRead ile A1 pininden gelen bilgiye eşitleniyor. Bir alttaki satırda bu bilgiyi seri port ekranında göstermek için Serial.println komutu devreye giriyor ve ekranda kısa aralıklarla (delay(100); komutu bu kısa aralıkları simgeler. Eğer delay ile bekletme yapmazsak seri port ekranında bilgiler çok hızlı bir şekilde görünür) bu değer görünüyor.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;">Sonra bu değere göre led yakıp söndürme işlemini yapacağız. Bunun için fotodirenc değişkenini kendi istediğimiz aralıklar ile kıyaslayıp lede istediğimiz aralıklarla HIGH-LOW göndereceğiz. Ben burada 700'den küçük olacak şekilde 350 ve 150 ara değerlerini kullandım. İsterseniz bu else-if komutlarını artırarak bu değer aralıklarını çoğaltarak daha hassas bir program yapabilirsiniz. En sondaki else ise direnç değeri 700'den büyük ise yani çok ışık var ise led yanmasın anlamına geliyor.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-27206548374285055632020-04-19T21:07:00.001+03:002020-04-19T21:07:10.587+03:00Evde, işte, her yerde fiziksel egzersiz uygulaması<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjn48qbSJ1OBMpWpqJIhtM2nPVkFZrPzvA8qOJn4y25M8Q-9Ip6p-iAz4Ucwc6NWMf2tKDkBGViYj2XrH3vIsm2_X9XGuuu3ndb9RXdE-Fy1x-1sdJ8hBX_Db8V_sYyMVS6cD3L_kBbUI6R/s1600/hissapp-fiziksel-egzersiz.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="640" data-original-width="352" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjn48qbSJ1OBMpWpqJIhtM2nPVkFZrPzvA8qOJn4y25M8Q-9Ip6p-iAz4Ucwc6NWMf2tKDkBGViYj2XrH3vIsm2_X9XGuuu3ndb9RXdE-Fy1x-1sdJ8hBX_Db8V_sYyMVS6cD3L_kBbUI6R/s320/hissapp-fiziksel-egzersiz.gif" width="176" /></a></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Boyun ağrısı, sırt ağrısı, omuz ağrısı, baldır ağrısı gibi fiziksel sıkıntıların nedenlerinden biri de spor yapmamaktır. Spor yapmak derken illa bir branşta uzmanlaşmak anlamında değil rutin fiziksel egzersizler de yeterlidir spor yapmak için. Evde, işte veya herhangi bir yerde yapabileceğimiz basit fiziksel egzersizler ile bir çok ağrı ya da sıkıntınızdan kurtulabilirsiniz. Daha ciddi sıkıntılarınız ya da bu hareketleri yapmanıza engel rahatsızlığınız varsa ise bir doktora danışmakta fayda var. </span></div>
<br />
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms", sans-serif;"><br /></span></div>
<span style="font-family: "trebuchet ms" , sans-serif;"><div style="text-align: justify;">
Korona virüsten dolayı eve hapsolduğumuz bugünlerde daha da gündeme gelen hareketsizliği ve bu hareketsizlik akabinde de oluşan kilo alma ve fiziksel sıkıntıları aşmak için basit egzersizler yapmak gerekir. Bu egzersizler ile ilgili internette çokça kaynak var. Bu hareketleri de dikkatli yapmak gerektiğinden her kaynağa da güven olmayabilir. Ayrıca kafanıza göre egzersiz hareketler de farklı sıkıntılar doğurabilir. Bu yüzden güvendiğim ve kullandığım bir mobil uygulama olan <b><span style="color: red;">Hisapp</span></b> uygulamasından bahsedeceğim.</div>
</span><br />
<a name='more'></a><span style="font-family: "trebuchet ms" , sans-serif;">Herkes İçin Spor Federasyonunun hazırlamış olduğu uygulama "Herkes İçin Spor" sloganının baş harflerinden Hisapp adıyla çıkmış.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDuaRVYDTKxaDVcD7LROQ75eAn79x-R72lv6_bnUyWvV1B0kDaHOUmKNcWlI-X9rRuE3QW2hcDd_SBCQe6Z2BlUWqONYtS01OFxOgFnKjwkvVuKZ7dfyoZD7l75xRstqhxxxI5Zk7qQTHs/s1600/hissapp-fiziksel-egzersizler1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="540" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDuaRVYDTKxaDVcD7LROQ75eAn79x-R72lv6_bnUyWvV1B0kDaHOUmKNcWlI-X9rRuE3QW2hcDd_SBCQe6Z2BlUWqONYtS01OFxOgFnKjwkvVuKZ7dfyoZD7l75xRstqhxxxI5Zk7qQTHs/s320/hissapp-fiziksel-egzersizler1.png" width="180" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbvHRkaLlV5H-yHqsIwM5jjH0HyGVHjkQuLRZ9mJG9b2AX6OmZK5xfy-kJv-WYua2zJUXlyEiwDEjQZqHkflLJ9Q1-39Lt2n1PnBFu8_53b8I1sF3oIQGu6aLxsIBpLrR6U8J7DAZMXmpv/s1600/hissapp-fiziksel-egzersizler2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="540" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbvHRkaLlV5H-yHqsIwM5jjH0HyGVHjkQuLRZ9mJG9b2AX6OmZK5xfy-kJv-WYua2zJUXlyEiwDEjQZqHkflLJ9Q1-39Lt2n1PnBFu8_53b8I1sF3oIQGu6aLxsIBpLrR6U8J7DAZMXmpv/s320/hissapp-fiziksel-egzersizler2.png" width="180" /></a></div>
<br />
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Uygulama evde, işte, her yerde spor için hareket videoları görme, bedensel ve işitme engelliler için videolar ayrıca yoga ve moda haline gelmiş trend egzersizler barındırıyor.</span></div>
<br />
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms", sans-serif;"><br /></span></div>
<span style="font-family: "trebuchet ms" , sans-serif;"><div style="text-align: justify;">
Uygulamayı kişiselleştirebiliyorsunuz. Videolar kaliteli görüntülü ve uzman kişiler tarafından hazırlanmış. Harcanan kalori, yapılan egzersiz zamanı, adım sayısı, hareket puanı gibi verileri tutuyor.</div>
</span><br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgql6fwx9dVuk6LQ6MNb6nCTQlDFgd-3EsAtWokRvpeFYiVY4_mnSILi_70xAbRl-QIyuxQvnwoJYTWkiN2a4M91ICwh7AuA-Rt6wTKPxRN4BBBFt-M1kGvXQqImkPAuPL86nEKeWd4Dy2Y/s1600/hissapp-fiziksel-egzersizler5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="540" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgql6fwx9dVuk6LQ6MNb6nCTQlDFgd-3EsAtWokRvpeFYiVY4_mnSILi_70xAbRl-QIyuxQvnwoJYTWkiN2a4M91ICwh7AuA-Rt6wTKPxRN4BBBFt-M1kGvXQqImkPAuPL86nEKeWd4Dy2Y/s320/hissapp-fiziksel-egzersizler5.png" width="180" /></a></div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Uygulamayı kurduktan sonra egzersizleri bir defa indirdikten sonra uygulamayı çevrimdışı olarak da kullanabiliyorsunuz. Egzersizler aşama aşama ve her bir egzersiz belirli bir süre (genelde 30 saniye) ekranda görünüyor. Telefon önünüzde görüntülere bakarak egzersizleri yapabiliyorsunuz.</span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLpdzJOEExzWC-0PvwzrC2Yq5JBB6By-UQRf14fo-DqUAcYtZorh9DDhTzVh_7Q390oyz6eKIiyc-thmdGDbiYWEUfkbRLw3Se97ZLdI7NQsBhhoCLYDSJV1qYoqUTtNjsE6x9BnfEsI2d/s1600/hissapp-fiziksel-egzersizler4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="540" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLpdzJOEExzWC-0PvwzrC2Yq5JBB6By-UQRf14fo-DqUAcYtZorh9DDhTzVh_7Q390oyz6eKIiyc-thmdGDbiYWEUfkbRLw3Se97ZLdI7NQsBhhoCLYDSJV1qYoqUTtNjsE6x9BnfEsI2d/s320/hissapp-fiziksel-egzersizler4.png" width="180" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirjSX7jKoAW7_EtnJZNESlAVuSn7egFoLPc4TsWH1DF_PeLDhFf_EgqzexEmJEelt2BLKPc9qxjMlRz8rxwt2Zv2dpnV2SsQfSzx_8t5Q1GgLNIfsZmPeVoa84vfzjll76mhlDSBagb8my/s1600/hissapp-fiziksel-egzersizler3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="960" data-original-width="540" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirjSX7jKoAW7_EtnJZNESlAVuSn7egFoLPc4TsWH1DF_PeLDhFf_EgqzexEmJEelt2BLKPc9qxjMlRz8rxwt2Zv2dpnV2SsQfSzx_8t5Q1GgLNIfsZmPeVoa84vfzjll76mhlDSBagb8my/s320/hissapp-fiziksel-egzersizler3.png" width="180" /></a></div>
<br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;">Evde kaldığımız bu sürede, ya da her zaman, sabah kalktığımızda, işte ya da her yerde 5-10 dakika gibi kısa sürelerinizi ayırarak bu egzersizleri yaparsanız emin olun kendiniz daha dinç hissedersiniz. Kalın sağlıcakla...</span></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-64269783333172314452020-04-16T22:45:00.005+03:002023-04-11T14:19:50.849+03:00Arduino Buton ile İf Else Kullanımı <div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3NSgJBkFlkekc02yl26bJeiB1Tsql2T-FMl1uVZsancLRTkcJcHIpvgzLCh5_XhGMiHWbnsn8pO2TVfYiiPua6xvfNfRFuRy59AxdnlPNS7JOpOL1YIO0Wjc7OG6w-kmSmPpIJFOmKqsq/s1600/arduino-if-buton.gif" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="241" data-original-width="300" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3NSgJBkFlkekc02yl26bJeiB1Tsql2T-FMl1uVZsancLRTkcJcHIpvgzLCh5_XhGMiHWbnsn8pO2TVfYiiPua6xvfNfRFuRy59AxdnlPNS7JOpOL1YIO0Wjc7OG6w-kmSmPpIJFOmKqsq/s200/arduino-if-buton.gif" width="200" /></a></div>
<span face="Trebuchet MS, sans-serif">Bu dersimizde yan tarafta gördüğünüz gif hareketli resmindeki gibi butona basılınca led yanıp sönecek butona basılmadığında ise led yanmayacak şekilde kodlamayı göreceğiz. Bunun için iki yeni kavram öğreneceğiz birincisi butondan gelen sinyali okutma, ikincisi ise kıyaslama yapmak için if-else komut yapısı.</span><br />
<span face="Trebuchet MS, sans-serif"></span><br />
<a name='more'></a><span face="Trebuchet MS, sans-serif"><br /></span><br />
<span face="Trebuchet MS, sans-serif"><br /></span>
<span face="Trebuchet MS, sans-serif">Kullandığımız buton "push buton" olarak bilinen sadece üzerine basıldığında elektrik akımını geçiren bir yapısı olan elektromekanik bir bileşendir. Anahtardan farkı üzerine basılı tutulduğu sürece akım geçirir. Anahtar ise bir kere basınca tekrar basana kadar elektriği geçirir. Aşağıdaki resimde görüldüğü üzere bu buton 4 uçludur ve 2 taraflıdır. bir taraftan giren akım butona basılınca simetri olan tarafından çıkar. Biz bu butonun sadece tek tarafını kullanacağız.</span><br />
<span face="Trebuchet MS, sans-serif"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidaYxIutHOXj7_R1rGkCDsbVGr0NlWAdZgvgP8UeRjahZoiaSkrc_FfHrRhFbqGXVMAe3bYKkKEoUCXAEBu9uK2jztl35iywtLyLGBhO1xfinUsjadU9jdQFYBy3R9IJe1fdx9il-cmFIb/s1600/4-pinli-buton-yapisi.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1032" data-original-width="1438" height="286" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidaYxIutHOXj7_R1rGkCDsbVGr0NlWAdZgvgP8UeRjahZoiaSkrc_FfHrRhFbqGXVMAe3bYKkKEoUCXAEBu9uK2jztl35iywtLyLGBhO1xfinUsjadU9jdQFYBy3R9IJe1fdx9il-cmFIb/s400/4-pinli-buton-yapisi.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<span face="Trebuchet MS, sans-serif">Aşağıdaki resimde buton ve led ile oluşturulmuş devreyi görüyorsunuz. Çalışma tahtasına Arduino'dan GND ve 5V aktarmış olduk. Kırmızı hat 5V mavi hat ise GND'dir. Butona 5V'dan elektrik akımı verilir, butonun diğer ucu ise öylesine seçtiğimiz 12 numaralı dijital pine gider. Burada dikkat edilmesi gereken bir nokta var. Butondan dijital pine giden uçta bir de direnç var. O direnç elektrik dijital pini giriş olarak kullanacağımız için sinyalin sağlıklı çalışmasını sağlayan bir dirençtir. Bu bir elektronik bilgisidir. Bu devrede butona bastığımızda kırmızı hattan gelen elektrik buton üzerinden 12. pine gidecek. 12. pinde kod ile okutulacak bu sinyale göre butona basıldığı sürece 7. pine bağlanan led belirli aralıkla yanıp sönecek. Butona basılmadığında ise led hiç ışık vermeyecek.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF5EVQvYUL1gj-0CsPlzmuf5ooO5Zo-lxUYQ0SqP5aELTAE7Yi_WCIT8kE1gkHISbhhZcQKYps91pFHV_7bpLOn9kt_kSTvSjrT8om9YkHcDbI2TD4xwxvAvJAV8pPLJMV5aCmt2dOOEc9/s1600/arduino-if-buton-kullanimi.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="900" data-original-width="1600" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF5EVQvYUL1gj-0CsPlzmuf5ooO5Zo-lxUYQ0SqP5aELTAE7Yi_WCIT8kE1gkHISbhhZcQKYps91pFHV_7bpLOn9kt_kSTvSjrT8om9YkHcDbI2TD4xwxvAvJAV8pPLJMV5aCmt2dOOEc9/s640/arduino-if-buton-kullanimi.jpg" width="640" /></a></div>
<span face="Trebuchet MS, sans-serif">Şimdi kodlamaya geçelim!</span><br />
<span face="Trebuchet MS, sans-serif">Butondan gelen sinyal dijital olduğu için 1 ya da 0 değeri alır yani ya elektrik var(5V) ya da elektrik yok (0V=GND) olacak. Butondan gelen sinyal 12. pine giriş yapacağı için 12. pin giriş olarak ayarlanmalı. 12. pine gelen sinyali okumak için <span style="color: red;">digitalRead</span> komutu kullanılır.</span><br />
<span face="Trebuchet MS, sans-serif">Daha önce digitalWrite komutu ile led üzerine HIGH ya da LOW ile sinayl gönderdik yani yazdık yani "write" işlemi yaptık. Şimdi ise okuma işlemi yapacağımız için kod digitalRead oldu.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRMxbiKxlF_-txr4XdR8b55NOUMJ3HJtgWNQSwak-dGC_eVLZqU7haB-bQSbJXLW0lUWPVnn68bMeMlTVZjK1HMKkWmFxoG93oLnyFEYDKrjhD57qWDoYv1ZfYblhAmfpSvxLN-rNfwloI/s1600/arduino-if-komutu.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="334" data-original-width="573" height="372" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRMxbiKxlF_-txr4XdR8b55NOUMJ3HJtgWNQSwak-dGC_eVLZqU7haB-bQSbJXLW0lUWPVnn68bMeMlTVZjK1HMKkWmFxoG93oLnyFEYDKrjhD57qWDoYv1ZfYblhAmfpSvxLN-rNfwloI/s640/arduino-if-komutu.JPG" width="640" /></a></div>
<span face="Trebuchet MS, sans-serif"><br /></span>
<span face="Trebuchet MS, sans-serif">Kodlarda setup kısmında 12. pini INPUT ile giriş olarak ayarladık. 7. pine led bağlanacağı için o daha önce öğrencdiğimiz gibi OUTPUT modunda ayarlandı.</span><br />
<span face="Trebuchet MS, sans-serif"><br /></span>
<span face="Trebuchet MS, sans-serif">Programın ana kısmında durum adında bir değişken var. Bu değişken butondan gelen sinyali alacak. Butondan gelen sinyal 1 ya da 0 sayıları olacağı için durum değişkeni başlangıçta int ile tanıttık. </span><br />
<span face="Trebuchet MS, sans-serif"><br /></span>
<span face="Trebuchet MS, sans-serif">digitalRead(12) komutu ile 12. pine butondan gelen sinyali okuttuk.</span><br />
<span face="Trebuchet MS, sans-serif">if komut satırında durum==1 ise diye kıyaslama yaptık. Yani butona basılınca elektrik 12. pine geldiyse, süslü parantez içinde 7. pindeki ledi 150ms aralıklarla yakıp söndürme kodlarını kullandık.</span><br />
<span face="Trebuchet MS, sans-serif"><br /></span>
<span face="Trebuchet MS, sans-serif">else satırında ise if şartının tersi olan durumu yani durum==0 olduğunda lede hiç sinyal gitmesin istedik.</span><br />
<span face="Trebuchet MS, sans-serif"><br /></span>
<span face="Trebuchet MS, sans-serif">Bu kodlar ile devremiz ve programımız sağlıklı bir şekilde çalıştı bunu yukarıda hareketli resimde görebiliyoruz.</span><br />
<span face="Trebuchet MS, sans-serif"><br /></span>
<div style="text-align: center;">
<span face="Trebuchet MS, sans-serif">---------------Kod satırları----------------</span></div>
<span face="Trebuchet MS, sans-serif"><br /></span>
<div style="text-align: left;">
<span face="Trebuchet MS, sans-serif" style="font-family: arial;"><i><b>int durum;</b></i></span></div>
<div style="text-align: left;">
<span face="Trebuchet MS, sans-serif" style="font-family: arial;"><i><b>void setup() {</b></i></span></div>
<div style="text-align: left;">
<span face="Trebuchet MS, sans-serif" style="font-family: arial;"><i><b>pinMode(7,OUTPUT);</b></i></span></div>
<div style="text-align: left;">
<span face="Trebuchet MS, sans-serif" style="font-family: arial;"><i><b>pinMode(12,INPUT);</b></i></span></div>
<div style="text-align: left;">
<span face="Trebuchet MS, sans-serif" style="font-family: arial;"><i><b>}</b></i></span></div>
<div style="text-align: left;">
<span face="Trebuchet MS, sans-serif" style="font-family: arial;"><i><b><br /></b></i></span></div>
<div style="text-align: left;">
<span face="Trebuchet MS, sans-serif" style="font-family: arial;"><i><b>void loop() {</b></i></span></div>
<div style="text-align: left;">
<span face="Trebuchet MS, sans-serif" style="font-family: arial;"><i><b>durum=digitalRead(12);</b></i></span></div>
<div style="text-align: left;">
<span face="Trebuchet MS, sans-serif" style="font-family: arial;"><i><b>if (durum==1) </b></i></span></div>
<div style="text-align: left;">
<span face="Trebuchet MS, sans-serif" style="font-family: arial;"><i><b>{</b></i></span></div><div style="text-align: left;"><span face="Trebuchet MS, sans-serif" style="font-family: arial;"><i><b>digitalWrite(7,HIGH);</b></i></span></div>
<div style="text-align: left;">
<span face="Trebuchet MS, sans-serif" style="font-family: arial;"><i><b>delay(150); </b></i></span></div>
<div style="text-align: left;">
<span face="Trebuchet MS, sans-serif" style="font-family: arial;"><i><b>digitalWrite(7,LOW);</b></i></span></div>
<div style="text-align: left;">
<span face="Trebuchet MS, sans-serif" style="font-family: arial;"><i><b>delay(150); </b></i></span></div><div style="text-align: left;"><span face="Trebuchet MS, sans-serif" style="font-family: arial;"><i><b>} </b>//if parantez sonu</i></span></div>
<div style="text-align: left;">
<span face="Trebuchet MS, sans-serif" style="font-family: arial;"><i><b>else</b></i></span></div><div style="text-align: left;"><span face="Trebuchet MS, sans-serif" style="font-family: arial;"><i><b>{</b></i></span></div>
<div style="text-align: left;">
<span face="Trebuchet MS, sans-serif" style="font-family: arial;"><i><b>digitalWrite(7,LOW);</b></i></span></div>
<span style="font-family: arial;"><i><b>} </b>//else parantez sonu<br />
</i></span><div style="text-align: left;">
<span face="Trebuchet MS, sans-serif" style="font-family: arial;"><i><b>} </b>//void loop parantez sonu</i></span></div>
<span face="Trebuchet MS, sans-serif"><br /></span>
<span face="Trebuchet MS, sans-serif" style="color: red; font-size: large;"><b>if-else komutunun kullanımı; </b></span><br />
<span face="Trebuchet MS, sans-serif" style="color: red;"><b><br /></b></span>
<span face="Trebuchet MS, sans-serif" style="color: cyan;"><b>if (şart)</b></span><br />
<span face="Trebuchet MS, sans-serif" style="color: cyan;"><b>{ </b></span><br />
<span face="Trebuchet MS, sans-serif" style="color: #cccccc;"><b>istenilen kodlar yazılır. Tek satır kod olacaksa süslü parantezlere gerek yok</b></span><br />
<span face="Trebuchet MS, sans-serif" style="color: cyan;"><b>}</b></span><br />
<span face="Trebuchet MS, sans-serif" style="color: cyan;"><b>else</b></span><br />
<span face="Trebuchet MS, sans-serif" style="color: cyan;"><b>{</b></span><br />
<span face="Trebuchet MS, sans-serif" style="color: #cccccc;"><b>if şartındaki ters durumda istenilen kodlar yazılır. tek satır kodda süslü paranteze gerek yok</b></span><br />
<span face="Trebuchet MS, sans-serif" style="color: cyan;"><b>}</b></span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-59111775076639552952020-04-16T20:05:00.002+03:002021-03-15T13:20:04.245+03:00Arduino ile Kara Şimşek ve For Döngüsü<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4hksD8ahWcv5xfKDHww_vv7nzWMQ94oWsJIdy7tcCkKoXxZVaykNajbbHbDR81uHAT0QYHzi8rd6YM2k_yKu9GW1pqdLwXAM_PdBgkv1c5ZpXDmsCwy4-T6nyriMo48pEm7CKueLh7mrm/s1600/arduino-for-dongusu-kara-simsek.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="360" data-original-width="400" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4hksD8ahWcv5xfKDHww_vv7nzWMQ94oWsJIdy7tcCkKoXxZVaykNajbbHbDR81uHAT0QYHzi8rd6YM2k_yKu9GW1pqdLwXAM_PdBgkv1c5ZpXDmsCwy4-T6nyriMo48pEm7CKueLh7mrm/s200/arduino-for-dongusu-kara-simsek.gif" width="200" /></a><span style="font-family: "trebuchet ms" , sans-serif;">Bir önceki dersimizde Arduino ile Programlama dersine giriş yaptık ve bir ledi yakıp-söndürme işlemini kodlayarak yapmıştık. Tabii sadece bunlar değil bazı basit elektronik bilgileri de verdik. Bir önceki derse <a href="http://faskerhat.blogspot.com/2020/04/arduino-ile-programlama.html" rel="nofollow" target="_blank">buradan</a> ulaşabilirsiniz.<br />Bu dersimizde ise yanda gördüğünüz ışık oyunu diğer adıyla kara şimşek olarak bilinen ışık devresini yapacağız.</span></div>
<a name='more'></a><br />
<br />
<div class="" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjckp7A9ZdRO0DlzPmew2bI3CulnPtx0yOfdUfzaMNOJ4FzVuKmb9jSF739kdCFKP1ZNrZwXWXJ2Q1qUbGRdB0cU8W1I7Js0X8urxAmaNC-Y5fFIO6jMVrpUfKvE8OGvxt9mQTORw-7vvR/s1600/arduino-for-dongusu-karasimsek.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="803" data-original-width="1253" height="204" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjckp7A9ZdRO0DlzPmew2bI3CulnPtx0yOfdUfzaMNOJ4FzVuKmb9jSF739kdCFKP1ZNrZwXWXJ2Q1qUbGRdB0cU8W1I7Js0X8urxAmaNC-Y5fFIO6jMVrpUfKvE8OGvxt9mQTORw-7vvR/s320/arduino-for-dongusu-karasimsek.png" width="320" /></a><span style="font-family: "trebuchet ms" , sans-serif;"><br />Bu devreyi 5 tane led üzerinden yapacağız. Ledler çalışma tahtasına yandaki gibi yerleştirilip dirençlerin de topraklamaya (GND) bağlanması gerekir.<br /><br /><br /></span></div>
<div class="" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWXK2JqFbuGKYslxJf6_hrJ6pff7FAAponjhICguaePusSltg0suRCSFGNc-9uL3S8euh0-h_liRxx6yC9ecUqRH8FA6bQCpe0Ca-NIbr8u_MC6yZcxYZE1-CbXktUIL9SSy7qpuh0oUPv/s1600/arduino-for.jpg" imageanchor="1" style="clear: left; display: inline !important; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="883" data-original-width="1600" height="176" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWXK2JqFbuGKYslxJf6_hrJ6pff7FAAponjhICguaePusSltg0suRCSFGNc-9uL3S8euh0-h_liRxx6yC9ecUqRH8FA6bQCpe0Ca-NIbr8u_MC6yZcxYZE1-CbXktUIL9SSy7qpuh0oUPv/s320/arduino-for.jpg" width="320" /></a><span style="font-family: "trebuchet ms" , sans-serif;">Yukarıda ledlerin eksi uçlarına dirençleri bağladık. Ledlerin artı uçlarını ise Arduino'da dijital uçlardan sırasıyla 1,2,3,4 ve 5. uçlara bağlayacağız. Resimde görüldüğü üzere renkli kablolar dijital pinlerden çıkıp ledlerin artı uçlarına bağlanmıştır. Bu şekilde elektronik bağlantıyı yapmış bulunmaktayız. Artık kodlamaya geçebiliriz.</span></div>
<div class="" style="clear: both; text-align: left;">
<span style="font-family: "trebuchet ms" , sans-serif;">Bir ledi yakıp söndürmek için ;</span></div>
<div class="" style="clear: both; text-align: left;">
</div>
<ul>
<li><span style="font-family: "trebuchet ms" , sans-serif;">digitalWrite(1,HIGH);</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">delay(200);</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">digitalWrite(1,LOW);</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">delay(200);</span></li>
</ul>
<br />
<div class="" style="clear: both; text-align: left;">
<span style="font-family: "trebuchet ms" , sans-serif;">kod bloğunu kullanırız. 5 ledi yakıp söndürmek için;</span></div>
<div class="" style="clear: both; text-align: left;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<ul><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsSVUjWYX18dAsjvL_PLWYW7HQZzSgxVYVZq_-91s21H_gqo2ZPYmMr4D9OnDl98FsOYKW2JVUnzpyhqXb40g0GxlNE3kME7zf-hJvmeaetPYG2KC7H3VnBrb0iwpfU4fIZe4yoaTBpVdq/s1600/arduino-karasimsek.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="586" data-original-width="197" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsSVUjWYX18dAsjvL_PLWYW7HQZzSgxVYVZq_-91s21H_gqo2ZPYmMr4D9OnDl98FsOYKW2JVUnzpyhqXb40g0GxlNE3kME7zf-hJvmeaetPYG2KC7H3VnBrb0iwpfU4fIZe4yoaTBpVdq/s640/arduino-karasimsek.JPG" width="212" /></a>
</ul>
<i style="font-family: "trebuchet ms", sans-serif;">void setup() {</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">pinMode(1,OUTPUT);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">pinMode(2,OUTPUT);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">pinMode(3,OUTPUT);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">pinMode(4,OUTPUT);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">pinMode(5,OUTPUT);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">}</i><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><i><br /></i></span><i style="font-family: "trebuchet ms", sans-serif;">void loop() {</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">digitalWrite(1,HIGH);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">delay(200);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">digitalWrite(2,HIGH);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">delay(200);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">digitalWrite(3,HIGH);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">delay(200);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">digitalWrite(4,HIGH);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">delay(200);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">digitalWrite(5,HIGH);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">delay(200);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">digitalWrite(5,LOW);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">delay(200);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">digitalWrite(4,LOW);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">delay(200);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">digitalWrite(3,LOW);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">delay(200);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">digitalWrite(2,LOW);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">delay(200);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">digitalWrite(1,LOW);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">delay(200);</i><br />
<i style="font-family: "trebuchet ms", sans-serif;">}</i><br />
<ul>
</ul>
<div>
<br /></div>
<div>
<span style="font-family: "trebuchet ms", sans-serif; text-align: justify;">Önce pinMode ile kullanacağımız dijital pinler OUTPUT yani çıkış moduna ayarlanıyor. Ardından programın ana bölümünde her bir led sırasıyla 200ms arayla HIGH yapılıyor yani ledlere elektrik veriliyor ve ardından her bir led 200ms arayla LOW yapılıyor yani ledlere elektrik verilmiyor. Bu şekilde kara şimşek diye tabir edilen ışık oyunu elde ediliyor. Fakat bu yöntemde led sayısı ile orantılı olarak kod satır sayısı da artacaktır. Programlamada mümkün olduğunda az satırla en verimli kodları yazmak gerekir. Bu yüzden bu yöntemimizi değiştirmemiz lazım. Fark ettiyseniz ledler 1,2,3,4,5 ve 5,4,3,2,1 şeklinde ardışık olarak sıralandı. Bu durumda bir döngü kullanırsak kodları azaltarak daha verimli bir kodlama yapmış olur. Bu döngü </span><span style="color: red; font-family: "trebuchet ms", sans-serif; text-align: justify;"><b>FOR DÖNGÜSÜ</b></span><span style="font-family: "trebuchet ms", sans-serif; text-align: justify;">dür.</span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "trebuchet ms" , sans-serif;"></span><br />
<ul><span style="font-family: "trebuchet ms" , sans-serif;"><i>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1K_ErNi3owDKEU3Ch2xEHaAOTNbgaR8-jBApM2FsOrwS7rMB56h999DckWBasehOGx__trforksZpUBIXkTQHp-8GbRtUeBRCeQXTiJGAivfKJz5IYgenA3eb4RrnKRFyGkMJ0HRsx8lT/s1600/arduino-ile-for-dongusu-kullanimi.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="345" data-original-width="204" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1K_ErNi3owDKEU3Ch2xEHaAOTNbgaR8-jBApM2FsOrwS7rMB56h999DckWBasehOGx__trforksZpUBIXkTQHp-8GbRtUeBRCeQXTiJGAivfKJz5IYgenA3eb4RrnKRFyGkMJ0HRsx8lT/s400/arduino-ile-for-dongusu-kullanimi.JPG" width="236" /></a>int say;</div>
</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><div>
void setup() {</div>
</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><div>
for(say=1;say<=5;say++)</div>
</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><div>
{pinMode(say,OUTPUT);}</div>
</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><div>
}</div>
</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><div>
void loop() {</div>
</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><div>
for(say=1;say<=5;say++)</div>
</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><div>
{</div>
</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><div>
digitalWrite(say,HIGH);</div>
</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><div>
delay(200);</div>
</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><div>
}</div>
</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><div>
for(say=5;say>=1;say--)</div>
</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><div>
{</div>
</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><div>
digitalWrite(say,LOW);</div>
</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><div>
delay(200);</div>
</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><div>
}</div>
</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"><div>
}</div>
</span></li>
</i></span></ul>
<span style="font-family: "trebuchet ms" , sans-serif;">
</span></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;">İlk örnekte 25 satır kod yazmıştık. For döngüsünü kullanarak 8 satır kod yazmış olduk. İlk örnekte led sayısını artırırsak bu kod satırları daha da artacak fakat for döngüsü ile yapılan kodlarda sayı değişmeyecek.</span></div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "trebuchet ms" , sans-serif;">İlk olarak pinMode ile pinleri ayrı ayrı OUTPUT yapmak yerine for döngüsü ile tek seferde yaptık. </span></div>
<div>
<ul style="text-align: justify;">
<li style="font-family: "trebuchet ms", sans-serif; font-style: italic;"><span style="font-family: "trebuchet ms" , sans-serif;">for(say=1;say<=5;say++)</span></li>
<li style="font-family: "trebuchet ms", sans-serif; font-style: italic;"><span style="font-family: "trebuchet ms" , sans-serif;">{pinMode(say,OUTPUT);}</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">for içine bir değişken ile başlangıç değeri verdik (say=1)<br /><i>say adında bir değişkeni biz belirledik. Bu değişkene başka bir isim de verebiliriz.</i></span><i><br /><span style="color: #999999;"><span style="font-family: "trebuchet ms" , sans-serif;">Bu belirlediğimiz değişkeni programın başında tanıtmak lazım. say değişkeni bizim kullanacağımız 1,2,3,4,5 sayılarını içerecek. Bunu </span><b style="font-family: "trebuchet ms", sans-serif;">int say;</b><span style="font-family: "trebuchet ms" , sans-serif;"> kod satırıyla yapıyoruz. burada int değişkenin sayı olduğunu yani integer türünde olduğunu gösterir. </span></span></i></li>
<li style="font-family: "trebuchet ms", sans-serif;"><span style="font-family: "trebuchet ms" , sans-serif;">Ardından bitiş değeri olan say<=5 eşitliğini belirttik.<br />Son olarak artış değeri verdik. Birer birer artacağı için say=say+1 yani say++ ifadesini kullandık. say=say+1 demek say değişkenin ilk değerine 1 ekle ve yeni değeri bu olsun. </span></li>
<li style="font-family: "trebuchet ms", sans-serif;"><span style="font-family: "trebuchet ms" , sans-serif;">Yani for önce 1 ile başlar süs parantez içindeki kodları çalıştırır sonra geri döner ve değişim miktarına göre değişkeni artırır. 1 ile başladığından sonraki yeni değeri 2 olur. Bu şekilde 5'e eşit oluncaya kadar döngü çalışır ve 5 bittikten sonra 6 olduğunda döngü içi yani süslü parantez içindeki kodlar çalışmaz. Bu kısım setup yani kurulum kısmı idi. Gelelim ana kodların olduğu kısıma yani loop kısmına;</span></li>
</ul>
<div style="text-align: justify;">
<ul style="font-family: "Trebuchet MS", sans-serif;"><i>
<li><span style="font-family: "trebuchet ms" , sans-serif;">void loop() {</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">for(say=1;say<=5;say++)</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"> {</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"> digitalWrite(say,HIGH);</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"> delay(200);</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"> }</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">for(say=5;say>=1;say--)</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"> {</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"> digitalWrite(say,LOW);</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"> delay(200);</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;"> }</span></li>
<li><span style="font-family: "trebuchet ms" , sans-serif;">}<br /><br />Burada iki tane for döngüsü kullandık çünkü önce ledlere HIGH değeri vereceğiz sonra da LOW. İlk olarak for döngüsü 1'den 5'e kadar çalışıyor ve 5 ledi sırasıyla yakıyor. Sonraki for döngüsü ise ters çalışıyor. Başlangıç değeri 5 oluyor bitiş değeri ise 1. Yani 5'ten 1'e eşit oluncaya kadar çalışıyor. Bu ikinci döngüde değişim miktarı 5'ten 1'e azalacağı için eksi olması yani say=say-1 yani say-- olması gerekir.</span></li>
</i></ul>
</div>
<span style="font-family: "trebuchet ms" , sans-serif;">For döngüsü sayesinde daha az kod satırı yazmış olduk.<br /><br />for(<span style="color: red;">başlangıç değeri</span>;<span style="color: cyan;">bitiş değeri</span>;<span style="color: lime;">değişim miktarı</span>)</span>
<br />
<span style="font-family: "trebuchet ms" , sans-serif;">{for döngüsünün çalıştıracağı kodlar buraya yani süslü parantezler içine yazılır}</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<span style="font-family: "trebuchet ms" , sans-serif;">Değişim miktarı bu örnekte birer birer fakat bu miktarı biz istediğimiz gibi yapabiliriz. Mesela 2,4,6,8,10 pinleri arasında işlem yapacak olursak for döngüsü;</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;">for(a=2;a<=10;a=a+2) </span><span style="font-family: "trebuchet ms" , sans-serif;">şeklinde olur.</span></div>
<div class="" style="clear: both;">
</div>
<div class="" style="clear: both;">
<span style="font-family: "trebuchet ms" , sans-serif;"></span></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2448274840567910042.post-22235071413064737962020-04-04T21:35:00.004+03:002022-03-31T12:10:58.396+03:00Arduino ile Programlama<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOm7Tuwx0BNBtLYJIlbVYvnaK2CaKWXUGNQV2UsxiKbh0aOhJj-XFwxOCR7rpqXWn2306rjQXWrs2ton8bG028622uBLNb17YGNODMXaeApMt5aIFUG6Mpu4tTBT16sxbzjR40pLwH7ycQ/s1600/arduino-uno-ile-programlama.jpg" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="313" data-original-width="453" height="138" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOm7Tuwx0BNBtLYJIlbVYvnaK2CaKWXUGNQV2UsxiKbh0aOhJj-XFwxOCR7rpqXWn2306rjQXWrs2ton8bG028622uBLNb17YGNODMXaeApMt5aIFUG6Mpu4tTBT16sxbzjR40pLwH7ycQ/s200/arduino-uno-ile-programlama.jpg" width="200" /></span></a><span style="font-family: verdana;"><span face="Trebuchet MS, sans-serif" style="font-size: medium;">Son yılların popüler kavramı "robotik kodlama" sistemlerinin en çok kullanılan mikro denetleyici devre kartı olan Arduino ile programlama konularını genel bilgileri ve M.E.B. müfredatına göre örnekleri inceleyelim.</span><br />
</span><a name='more'></a><span style="font-family: verdana;"><br />
<span face="Trebuchet MS, sans-serif">Robotik sistemler elektronik devrelere kodlama yaparak ve bu elektronik sistemlerin de gerektiğinde çeşitli mekanik sistemlerle çalışarak çeşitli görevler yapmasıdır. Bu robotik sistemleri kurmak ve kodlamak da robotik kodlama kapsamındadır. Robotik kodlamada programlanabilir bir devre kartı kullanılmalıdır. Bu devre kartları çeşit çeşittir. İçlerinde kolay ulaşılır, ucuz, basit programlanabilir kartların en başında Arduino gelmektedir. Arduino kartların da çeşitleri bulunmaktadır. Biz burada popüler ve basit olan Arduino Uno kartı kullanacağız.</span><br />
<span face="Trebuchet MS, sans-serif"><br /></span>
<span face="Trebuchet MS, sans-serif" style="color: cyan; font-size: large;"><b>Arduino Uno Kartı Tanıyalım</b></span><br />
<span face="Trebuchet MS, sans-serif"><br /></span>
</span><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxZ82Y0hlklIj0z1l04hNFualxRP5N6lCzlGwOkCAL5Wa_sPfHWnc_1HKjvGq0OdAZ8tluwEfmvGr1A3DbtaIXwhI1e6sw1RL16Z9YkfwIceJG4ELtI7dU3VGp_PX53NdBNMmvLM1OFMB1/s1600/arduino-pinler.png" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="757" data-original-width="1104" height="436" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxZ82Y0hlklIj0z1l04hNFualxRP5N6lCzlGwOkCAL5Wa_sPfHWnc_1HKjvGq0OdAZ8tluwEfmvGr1A3DbtaIXwhI1e6sw1RL16Z9YkfwIceJG4ELtI7dU3VGp_PX53NdBNMmvLM1OFMB1/s640/arduino-pinler.png" width="640" /></span></a></div>
<span style="font-family: verdana;"><span face="Trebuchet MS, sans-serif">Yukarıda gördüğünüz Arduino Uno devre kartı 0-13 arası 14 tane dijital pin, A0 ve A5 arası 6 adet analog pinden oluşur. </span><br />
<br />
</span><ul>
<li><span style="font-family: verdana;">USB girişinden usb kablosu ile bilgisayara bağlantı sağlanır.</span></li>
<li><span style="font-family: verdana;">Harici güç girişinden pil ve batarya bağlanarak sisteme enerji verilir.</span></li>
<li><span style="font-family: verdana;">Reset butonu sistemi yeniden başlatır.</span></li>
<li><span style="font-family: verdana;">AREF pini analog girişler için voltaj referansı içindir.</span></li>
<li><span style="font-family: verdana;">Dijital pinler, dijital(sayısal) olarak yani 0 veya 1 ikili sisteminde elektrik var ya da yok anlamında giriş ya da çıkış kullanılır. Bazı dijital pinlerin sayısının önünde ~ işareti vardır. Bu pinler gerektiğinde analog olarak da kullanılmaktadır.</span></li>
<li><span style="font-family: verdana;">Seri programlama pinleri seri port kullanılacak devrelerde kullanılır.</span></li>
<li><span style="font-family: verdana;">Analog girişler 0-1023 arası değer döndüren analog pinlerdir. </span></li>
<li><span style="font-family: verdana;">Güç besleme pinlerinde GND şase, topraklama ya da - olarak kullanılır. 5V, 5 volt veren + uç olarak kullanılır. 3.3V, 3.3 volt verir. Reset pin sistemin gücünü kapatıp açar yani yeniden başlatır. Vin ise harici güç verileceği zaman kullanılır. Bu güç besleme pinleri elektronik devreler kurulduğunda o devrelere güç aktarmak ya da sisteme güç almak için kullanılır. Tüm bunları örnek yaparak daha iyi anlayacaksınız. </span></li>
</ul>
<div>
<span style="font-family: verdana;">Arduino ile gerçek ortamda çalışma imkanınız yoksa, bir Arduino karta sahip değilseniz bu sistemi sanal ortamda bir simülasyon olarak kurabilir ve programlayabilirsiniz. Bunun için <span style="color: cyan;"><b>Tinkercad</b></span> adlı internet sitesi platformu bizlere yardımcı olacaktır. Tinkercad tanıtımı ile ilgili sunuyu indirmek için <b><a href="http://faskerhat.blogspot.com/2021/03/tinkercad-tantm-sunusu.html" rel="" target="_blank">tıklayınız.</a></b></span></div><div><span style="font-family: verdana;">Tinkercad ile ilgili temel Arduino örnekleri için <a href="http://faskerhat.blogspot.com/2021/05/tinkercadte-temel-arduino-ornekleri.html" target="_blank"><b>tıklayınız.</b></a></span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<span style="color: red; font-family: verdana; font-size: x-large;"><b>ARDUINO İLE PROGRAMLAMA</b></span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<span style="font-family: verdana;">Arduino Uno kartını tanıdıktan sonra bu kart ile nasıl devre oluşturulur ve programlanır konularına değinmek gerekir.</span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<span style="font-family: verdana;"><br />
</span><div>
<span style="font-family: verdana;">Arduino Uno kartı ile bir elektronik/robotik devre oluşturulacak ise elektronik bileşenlerin fiziki kurulumu yapıldıktan sonra/önce <span style="font-size: x-small;">(programlamayı sonra ya da önce yapmak farketmez)</span> Arduino programında oluşturulan kodlar Arduino kartına yüklenmelidir.</span></div>
<div>
<div>
<span style="font-family: verdana;">Bunun için metin tabanlı kodlama yapacağımız Arduino programı gereklidir.</span></div>
<div>
<span style="font-family: verdana;">Programı Arduino’nun resmi internet sitesinden <span style="font-size: x-small;">(www.arduino.cc)</span> ücretsiz indirebiliriz. </span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1ucEhu4yptXImgFFWL_IrpMO672nGXuPfZPKCw5WvL3MSRIlreyV-h9YL-Z32xKtQJMEKQGT5O6e0vqDWvEfaI3X_fcbB7wOCnX09MvYPylGgxH5ne7k-dwEj84yS0DwCv45nVJ9JxCXb/s1600/arduino-indirme.png" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="197" data-original-width="634" height="123" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1ucEhu4yptXImgFFWL_IrpMO672nGXuPfZPKCw5WvL3MSRIlreyV-h9YL-Z32xKtQJMEKQGT5O6e0vqDWvEfaI3X_fcbB7wOCnX09MvYPylGgxH5ne7k-dwEj84yS0DwCv45nVJ9JxCXb/s400/arduino-indirme.png" width="400" /></span></a></div>
<div class="separator" style="clear: both;">
<span style="font-family: verdana;">Programı indirdikten sonra sürekli ileri butonu ile ve soru olarak çıkan usb driver kurulumlarına da evet seçeneğini tıklanarak tam kurulum yapılmalıdır.</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: verdana;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: verdana;"><b>ARDUINO PROGRAMINI TANIYALIM</b></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: verdana;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf4j6S9Rk4MAZlFKAemERH2lT7r-2IMRIDuJO8mQgWNbYhua5gWT7N92A4rHKwukvtm4Z9E3wMPzhCGZjohHKW9c2ddUta10aR1o4E7v3iStfzPxFobTSM4lbbRC9N3CGGp9O1ksfZXMVJ/s1600/arduino-program.png" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="333" data-original-width="778" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf4j6S9Rk4MAZlFKAemERH2lT7r-2IMRIDuJO8mQgWNbYhua5gWT7N92A4rHKwukvtm4Z9E3wMPzhCGZjohHKW9c2ddUta10aR1o4E7v3iStfzPxFobTSM4lbbRC9N3CGGp9O1ksfZXMVJ/s640/arduino-program.png" width="640" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: verdana;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: verdana;">Yukarıdaki menüde bulunan Dosya-Düzenle-Taslak-Araçlar-Yardım seçeneklerini gerektiğinde göreceğiz.</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: verdana;">Programda beyaz kısma metin tabanlı kodlar yazılır.</span></div>
<div class="separator" style="clear: both;">
<span style="font-family: verdana;"></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: verdana;">Arduino programlama dili Java, C ve C++ programlama dillerini temel almaktadır.</span></div>
<div>
<span style="font-family: verdana;">Kodlama kısmını 2 bölümde inceleyelim. <span style="font-size: x-small;">(açıklamalarla birlikte yukarıdaki Android programı ekran görüntüsünü inceleyiniz.)</span></span></div>
<div>
<div>
<span style="font-family: verdana;">1. <span style="color: red;">void setup()</span> bölümü, süslü parantezler içine eklenecek kodlar program çalıştığında bir kez çalışır. Bu kodlar tanımlama ve kurulum kodlarıdır. Arduino ile ilgili tanımlamalar yapılır. Ya da başlangıçta bir kez çalışmasını istediğiniz kodlar buraya yazılır.</span></div>
<div>
<span style="font-family: verdana;">2. <span style="color: red;">void loop()</span> bölümü ise ana program bölümüdür. Asıl kodlar yani programlama yapılacak kodlar buraya yazılır. Bu döngü program sonlanmadığı sürece sonsuz döngü şeklinde çalışır.</span></div>
</div>
<div>
<span style="font-family: verdana;">Şimdi bir örnek üzerinde çalışarak programlama yapalım. Bu örnekte aşağıdaki hareketli resimde gördüğünüz gibi Arduino’da dijital pinlerden birine led(ışık) bağlayıp onu 1 saniye aralıklarla yakıp söndüreceğiz. Bunu program kodları kullanarak yapacağız.</span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYkLOqTLU01eV5BMw-yBaZchwkUBOqigbdNC8t217cq4VTLUCkh7WVVf8JXuOpibhIUzgKdwu0qK4vjqDVOWe0L0Vf-IEmHmfgc7R4CY24qOk1ff6cv6fwsCe75-RmdY8Jr0glzZxrozu6/s1600/arduino-ile-led-yakma-sondurme.gif" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="225" data-original-width="300" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYkLOqTLU01eV5BMw-yBaZchwkUBOqigbdNC8t217cq4VTLUCkh7WVVf8JXuOpibhIUzgKdwu0qK4vjqDVOWe0L0Vf-IEmHmfgc7R4CY24qOk1ff6cv6fwsCe75-RmdY8Jr0glzZxrozu6/s320/arduino-ile-led-yakma-sondurme.gif" width="320" /></span></a></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0in; margin-top: 0pt; unicode-bidi: embed; word-break: normal;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIC990bW3ADDv4apK8dl4ToKP3rCzY_H7L4COxQajl1SppWm_-ZUvq3TpuQumTGLKnc4nUfmaE8yP25L8byBPl5me64EMuxGvqhDlzujRYz_i6FNswhrMgHjGjhIA4cXVAO9Py1HkjzREu/s1600/bilgilendirme.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="78" data-original-width="79" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIC990bW3ADDv4apK8dl4ToKP3rCzY_H7L4COxQajl1SppWm_-ZUvq3TpuQumTGLKnc4nUfmaE8yP25L8byBPl5me64EMuxGvqhDlzujRYz_i6FNswhrMgHjGjhIA4cXVAO9Py1HkjzREu/s1600/bilgilendirme.png" /></span></a><span style="font-family: verdana;"><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">Dijital (sayısal) </span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">pinler</span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;"> 5
volt ya da 0 volt olarak giriş ya da çıkış işlemi yaparlar. Yani</span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;"> </span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">ya</span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;"> </span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">elektrik</span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;"> </span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">vardır</span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;"> </span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">ya</span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;"> </span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">da</span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;"> </span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">yoktur.</span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;"> </span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">Bu</span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;"> </span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">da</span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;"> </span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">dijital</span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;"> </span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">sistemlerin</span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;"> </span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">kaynağı</span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;"> </span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">olan</span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;"> </span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">0</span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;"> </span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">ve</span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;"> </span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">1</span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;"> </span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">ikili</span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;"> </span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">sistemini</span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;"> </span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">bize</span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;"> </span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">anlatır</span><span style="color: #ffc000; font-size: 16pt; language: tr; mso-ascii-font-family: "Tw Cen MT"; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: +mn-cs; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: +mn-ea; mso-fareast-theme-font: minor-fareast; mso-font-kerning: 12.0pt; mso-style-textfill-fill-alpha: 100.0%; mso-style-textfill-fill-color: #FFC000; mso-style-textfill-type: solid;">. Bazı dijital pinlerin önünde ~ işareti vardır. Bu pinler bazı özel durumlarda analog gibi kullanılabilir. Bunu ilerleyen aşamalarda öğreneceğiz.</span></span></div>
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0in; margin-top: 0pt; unicode-bidi: embed; word-break: normal;">
<span style="font-family: verdana;"><br /></span></div>
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0in; margin-top: 0pt; unicode-bidi: embed; word-break: normal;">
<span style="font-family: verdana;"><br /></span></div>
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0in; margin-top: 0pt; unicode-bidi: embed; word-break: normal;">
<span style="font-family: verdana;">Programlamayı yapmadan önce yukarıda görülen elektronik devreyi kuralım. </span></div>
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0in; margin-top: 0pt; unicode-bidi: embed; word-break: normal;">
<span style="font-family: verdana;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqB86nmZtOZmhxlqlsDU8ien7bdn1P5uUPTzMMVvtxg4AZuI8BvjwLI4zeFu6fwYHygSHsvEvS_c02Z-YdeS53lsEUpJAWB4Up9MMgaEpqnYdWOPodvwEYux9WBbRSMN7iCHneARKJ-DqD/s1600/arduino-led-yakma-elektronik-devre.png" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: verdana;"><img border="0" data-original-height="382" data-original-width="779" height="312" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqB86nmZtOZmhxlqlsDU8ien7bdn1P5uUPTzMMVvtxg4AZuI8BvjwLI4zeFu6fwYHygSHsvEvS_c02Z-YdeS53lsEUpJAWB4Up9MMgaEpqnYdWOPodvwEYux9WBbRSMN7iCHneARKJ-DqD/s640/arduino-led-yakma-elektronik-devre.png" width="640" /></span></a></div>
<div style="direction: ltr; margin-bottom: 0pt; margin-left: 0in; margin-top: 0pt; unicode-bidi: embed; word-break: normal;">
<span style="font-family: verdana;"><br /></span></div>
</div>
<div>
<span style="font-family: verdana;"><div>
Lede Arduino’dan sinyal göndereceğiz. Bu yüzden dijital pinlerden herhangi birini seçmemiz gerekiyor. Bu örnekte 9 numaralı pini seçtik.</div>
<div>
Ledi resimde görüldüğü gibi yeşil çizilmiş hatlara – ve + uçlara dikkat edilecek şekilde yerleştirdik. Ledin eksi ucunu çalışma tahtasında mavi renkli hatta direnç bağlayarak bağladık. <span style="color: #ffd966; font-size: x-small;">(Direnç led üzerine gelen fazla voltajı azaltarak ledin sağlıklı çalışmasını sağlar. Mavi hatta Arduino’dan gri kablo ile GND yani – güç bağladık.) </span></div>
<div>
Arduino’daki 9 numaralı pini ise kırmızı kablo ile ledin + ucu olan hatta bağladık.</div>
<div>
<span style="color: cyan;">Bu şekilde devremizi tamamladık. Şimdi Arduino’yu programlayalım.</span></div>
<div>
<br /></div>
<div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqJUgHTnt_ZFLt4XW4Ir4pqeQmDycIlKVoR1O8LcpGek9YtuHYnyi14r2gSjFzLb6fDhPCU-WM7DdvQKVryPF6qU74NqPEty1XKo70cuBJ4xChhzhCrGIVh7rqUTIdM0aFjLYYvwoQPLXY/s1600/arduino-usb-baglanti.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="209" data-original-width="372" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqJUgHTnt_ZFLt4XW4Ir4pqeQmDycIlKVoR1O8LcpGek9YtuHYnyi14r2gSjFzLb6fDhPCU-WM7DdvQKVryPF6qU74NqPEty1XKo70cuBJ4xChhzhCrGIVh7rqUTIdM0aFjLYYvwoQPLXY/s320/arduino-usb-baglanti.png" width="320" /></a>Programlama yapmak için Arduino’yu USB kablo ile bilgisayarın USB portuna takmamız gerekir. Sonra Arduino programına geçip aşağıda anlatılan gerekli ayarları yapmamız gerekir.</div>
</div>
<div>
<br /></div>
<div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkXO8EMvt6oIWoKsdFDdwqgXSOkkhXlX2bWf_xiBBERzNSN23Cu6V-5FCBwW-T8ZqeOst-J9XR0Aznl3GtCW5PH-pM1Qg5_faNc7Sxyqp_3ExvLwNI8atA6LKx3KYz_OUm_4Rd8pzzGjwG/s1600/arduino-kart-secimi.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="170" data-original-width="455" height="148" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkXO8EMvt6oIWoKsdFDdwqgXSOkkhXlX2bWf_xiBBERzNSN23Cu6V-5FCBwW-T8ZqeOst-J9XR0Aznl3GtCW5PH-pM1Qg5_faNc7Sxyqp_3ExvLwNI8atA6LKx3KYz_OUm_4Rd8pzzGjwG/s400/arduino-kart-secimi.png" width="400" /></a>Kullandığımız Arduino Uno kartını programa tanıtmak gerekir. Menüden Araçlar ardından Kart sekmesi ve listeden Arduino Uno’ yu seçin</div>
</div>
<div>
<br /></div>
<div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnXvLzZvjIY5dreuik7W_bNWmun_1S9HPQm58eVMFLB7D0OlvY2DhBDx4hvLbepOfscTz34Yuh46jbK8SgKHIbCBX4uSOEz2epP1IPXuejWXWuhHumNtNaSu3WLBWN8hTyXCs0Shy8rYx3/s1600/arduino-port-secimi.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="252" data-original-width="447" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnXvLzZvjIY5dreuik7W_bNWmun_1S9HPQm58eVMFLB7D0OlvY2DhBDx4hvLbepOfscTz34Yuh46jbK8SgKHIbCBX4uSOEz2epP1IPXuejWXWuhHumNtNaSu3WLBWN8hTyXCs0Shy8rYx3/s320/arduino-port-secimi.png" width="320" /></a>Sonraki aşama port seçimidir. Araçlar bölümünde Port sekmesinde COM seçimi yapılmalıdır. Arduinoyu USB’ye bağlayınca hangi port ismi çıkıyorsa o seçilir.</div>
<div>
<br /></div>
<div>
<span style="color: #ffd966; font-size: x-small;">İpucu : Birden fazla COM yazıyorsa. Önce Arduino USB bağlantısını sökün ve Araçlardan Port kısmına bakın sonra USB’yi bağlayın ve tekrar Port kısmına bakın. Hangi COM numarası çıkıyorsa o sizin Arduino kartınızın bilgisayara bağlantısıdır.<br />
</span></div>
</div>
<div>
Bu bağlantıların doğru olması Arduino kartın ve Arduino programın iletişim sağlamasını ve Arduino karta kod yüklenmesi için önemlidir.</div>
<div>
<br /></div>
<div>
<div>
<span style="color: red;">Kodlayalım ve Karta Yükleyelim</span></div>
<div>
Arduino programına yandaki kodları yazdıktan sonra kırmızı işaretli tik simgesine tıklayınca kodları kontrol eder, derleme yapar. Yanlış var ise programın en altında bilgilendirme yapar. Her şey doğru ise mavi işaretli ok simgesine tıklayınca kodları Arduino kartına yükler ve yükleme sonrasında en aşağıda bilgilendirme yazar.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib1atGGDq4qWijW2obX6-O8CMmTYi5JTr68V0p-1ffL08zbjkHvLny0DNAK2hX7CgPxhjnt4UDrEMwyZfUG3erATfhXIyE35nT4R8nK6zBgSFwakxGB0093nCCaCX-dgy8sQl3iXrvNWjF/s1600/arduino-programlama.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="587" data-original-width="391" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib1atGGDq4qWijW2obX6-O8CMmTYi5JTr68V0p-1ffL08zbjkHvLny0DNAK2hX7CgPxhjnt4UDrEMwyZfUG3erATfhXIyE35nT4R8nK6zBgSFwakxGB0093nCCaCX-dgy8sQl3iXrvNWjF/s400/arduino-programlama.JPG" width="266" /></a></div>
<div>
Setup bölümünde 9 numaralı dijital pini çıkış olarak ayarlayacağız. 9 numarayı biz seçtik ve buradan lede sinyal göndereceğimiz için çıkış olarak ayarladık.</div>
<div>
<b>pinMode(9,OUTPUT);</b> komutu 9 numaralı pini çıkış olarak ayarlama komutudur.</div>
<div>
Loop bölümünde kodlarımızı yazacağız.</div>
<div>
<b>digitalWrite(9,HIGH); </b>komutu 9 numaralı pine HIGH (1) yani elektrik verme komutudur. Bu şekilde ışık verir. Çünkü lede elektrik gider.</div>
<div>
<b>delay(1000);</b> komutu ise 1000milisaniye = 1 saniye bekleme komutudur. Bu komut HIGH’dan sonra geldiği için led 1 saniye ışık verir şekilde bekler.</div>
<div>
<b>digitalWrite(9,LOW);</b> komutu 9 numaralı pine LOW (0) yani elektrik vermez. Bu şekilde ışık vermez. Çünkü lede elektrik gitmez.</div>
<div>
<b>delay(1000);</b> bu komut LOW’dan sonra geldiği için led 1 saniye ışık vermez sönük kalır. Bu şekilde loop kısmı aksi belirtilmedikçe ya da sistem kapatılmadıkça sonsuza dek çalışır ve led 1 saniye ışık verir 1 saniye ışık vermez şekilde yanıp-söner.</div>
</div>
<div>
<br /></div>
</span></div>
<div><span style="font-family: verdana;">
Kodlar ;</span></div>
<div>
<div><span style="font-family: verdana;">
void setup() {</span></div>
<div><span style="font-family: verdana;">
pinMode(9,OUTPUT);</span></div>
<div><span style="font-family: verdana;">
}</span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div><span style="font-family: verdana;">
void loop() {</span></div>
<div><span style="font-family: verdana;">
digitalWrite(9,HIGH);</span></div>
<div><span style="font-family: verdana;">
delay(1000);</span></div>
<div><span style="font-family: verdana;">
digitalWrite(9,LOW);</span></div>
<div><span style="font-family: verdana;">
delay(1000);</span></div>
<div><span style="font-family: verdana;">
}</span></div>
</div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<div>
<span style="font-family: verdana;"><span style="color: #ffe599;"><b>Not:</b></span> Kodlarda büyük-küçük harf duyarlılığı vardır. Görüldüğü gibi yazılması gerekir. Her koddan sonra noktalı virgül kullanılır.</span></div>
</div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<span style="font-family: verdana;">NELER ÖĞRENDİK?</span></div>
<div>
<div>
<ul>
<li><span style="font-family: verdana;">Arduino kart ve çalışma tahtası(breadboard) ile devre tasarladık.</span></li>
<li><span style="font-family: verdana;">Arduino programı ile bu devreyi bilgisayara tanıtıp kod yükledik.</span></li>
<li><span style="font-family: verdana;">digitalWrite komutu ile istediğimiz dijital pine HIGH ya da LOW yazdırarak elektrik verdik ya da vermedik.</span></li>
<li><span style="font-family: verdana;">digitalWrite(pin numarası,HIGH ya da LOW); </span></li>
<li><span style="font-family: verdana;">pin numarası 0 ile 13 arası değer alır Arduino Uno kartında.</span></li>
<li><span style="font-family: verdana;">delay komutu ile milisaniye cinsinden bekleme yaptırdık.</span></li>
<li><span style="font-family: verdana;">delay(500); 500ms yani 0.5 saniye bekleme yapar.</span></li>
</ul>
<div>
<span style="font-family: verdana;">Bu dersi sunu olarak indirmek için <a href="https://drive.google.com/file/d/15Yyy67ZWfVIvuCq4uc7oh0dX-ghyeiuO/view?usp=sharing" rel="nofollow" target="_blank"><b>tıklayınız.</b></a></span></div>
</div>
</div>
</div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<span style="color: cyan; font-family: verdana;">Başka örnekler ile Arduino programlamaya buradan devam edeceğiz...</span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<span style="font-family: verdana;"><br />
</span><div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<span style="font-family: verdana;"><br /></span></div>
<div>
<span face="Trebuchet MS, sans-serif"><br /></span></div>
Unknownnoreply@blogger.com0