Servo Motor Uygulaması (0 dan 180’e Kadar)
Artık Harakete geçelim Servo motorlarla ilgili daha önce bilgilendirme yapmıştık. Bizim kullanacağımız klasik Servo motorlar data pininden verdiğimiz değerle dönme açısını ayarlıyoruz. 3 kablo var ortadaki kablo +5v’a, sarı kabloyu bizim belirlediğimiz dijital pinlerin birine diğer kabloyu da GND (-) bağlıyoruz. Burada motora 180 derecelik açı ile dönüş sağlıyoruz. (90 ile -90 arasında) Şimdi ilk örneğimize gelelim.
Not: Şayet Servo Motorun + ve – yanlış bağlarsanız Arduino karttaki tüm ışıklar söner. Bu da kısa devre olduğunu gösterir. + veya – den birinin bağlantısını çıkardığımızda Arduino kart normal haline döner.
Gerekli Malzemeler
1-Arduino Uno(1 adet)
2-BreadBoard
3-Servo Motor
4-Jumper Kablolar
Devremizin taslağını FritZing programıyla oluşturalım. Programda Breadboard kullanımına göre yapmış olsamda uygulamada direk kabloları arduino üzerineki pinlere taktım.

Bağlantıları yukarıdaki gibi yaptıktan sonra sıra geldi kodlara

Buradaki Amacımız Açıyı direk 180 veya 0 yapıp hızlı hareket etmesini engellemek. Dereceyi yavaş yavaş değiştirerek motorun kolunu yavaş hareket etmesini sağlamak.
Burada 13 nolu dijital pine servo motor data pinini bağladık.
Burada ilk defa kullandığımız bir kod bloğu var. Önceden hep sabit değerlerle çalıştık. Ancak Burada Veri Bloğundan Derece diye bir değişken oluşturalım. Çünkü derece değişkenini bir artırarak 0 dereceden 180 dereceye kadar açı değeri oluşturuyoruz.
 Birinci satırdaki Derece 0 olsun yani servo motorun acısını o yapıyoruz.
 İkinci satırdaki derece’i 1 artır diyoruz ki 180 dereceye ulaşmak için.
 Üçüncü satırdaki 13 servo pini Açısını Derece yap diyoruz. Buradaki Derece değerini açı değeri olarak ayarladık.
 Dördüncü satırdaki 0.01 sn bekleyerek açının yavaş yavaş artmasını sağlıyoruz.
 Eğer Derece Değişkeni =180 ise (burada sürekli artan derece değişkenini sürekli kontrol ederek 180 ulaşıp ulaşmadığını kontrol ediyoruz) Derece 180 ulaştığında alt satırdaki kod çalışacak.
 Eğer kontrol bloğundaki 1. satırda Derece değişkenini 0 yapacak. Yani başlangıç değerine dönecek
 Eğer kontrol bloğundaki 2. satırda 13 servo pini Açısını Derece yap diyerek 0 konumuna getirdik.
Bu işlem böyle devam ediyor.

Bir Potansiyometre İle Bir Servo Motor Kontrolü

Bizim kullanacağımız klasik Servo motorlar data pininden verdiğimiz değerle dönme açısını ayarlıyoruz. 3 kablo var ortadaki kablo +5v’a, sarı kabloyu bizim belirlediğimiz dijital pinlerin birine diğer kabloyu da GND (-) bağlıyoruz. Burada motora 180 derecelik açı ile dönüş sağlıyoruz. (90 ile -90 arasında)
Not: Şayet Servo Motorun + ve – yanlış bağlarsanız Arduino karttaki tüm ışıklar söner. Bu da kısa devre olduğunu gösterir. + veya – den birinin bağlantısını çıkardığımızda Arduino kart normal haline döner.
Gerekli Malzemeler
1-Arduino Uno(1 adet)
2-BreadBoard
3-Servo Motor
4-Potansiyometre
5-Jumper Kablolar
Devremizin taslağını FritZing programıyla oluşturalım. Programda Breadboard kullanımına göre yapmış olsamda uygulamada direk kabloları arduino üzerineki pinlere taktım.

Devreyi çizdikten sonra sıra mBlock ile kodlamaya geldi. Kodlamada dikkat etmemiz gereken bir nokta var. Potansiyometreden gelen değerler 0-1023 arasında. Ancak ihtiyacımız olan değerler servo motorun dönüş açısı 0-180 derece arasındadır. Bunun için potansiyometreden gelen değerin servo motorun değerine dönüştürmemiz gerekiyor.Bunun için potansiyometre 1023 değerindeyken servo motor 180 derecede olacaktır. 1023den 180 değerini elde etmek için 1023/180=5,63 oran var arada. Yani biz potansiyometreden gelen değeri 5,63 böldüğümüzde servo motorun açı değerini oluşturabiliriz. Virgüllü sayılarla uğraşmamak için de direk 6 sayısına bölmeyi tercih ederiz.
Kodlamada iki yöntemi kullanabiliriz.
Birinci yöntem 12 nolu pine bağlı servo motorun açısını (A) 1 Analog pininden okunan değeri direk 6 ya bölmek. Bölme işleminin bloğunu işlemlerden ekleyebilirsiniz.

ikinci yöntem biraz karışık gibi görünebilir. Ancak programlamada tercih edilen yöntemdir.Derece diye bir veri oluşturup program başladığında bu değeri 0 yaparız. Sürekli tekrarla bloğunda (A) 1 Analog pininden okunan değeri direk 6 ya bölerek derece değişkenine aktarıyoruz. Sonra 12 nolu dijital pine bağlı servo pini açısını da derece yapıyoruz. Yani bir üst satırda yaptığımız işlem sonucunu Derece değişkenine aktardıktan sonra artık potansiyometreden gelen değer derece değişkenin de olduğu için 12 nolu pindeki servo motorun açısıda o değerde dönecektir.

Sıra da bağlantı yapılmış devre şeması ve çalışma videosu da.
Devreyi adım adım yapalım. İlk olarak BreadBoarda + ve – bağlayayım.

Sıra Potansiyometrenin bağlanmasına potansiyometrenin + ve – sini breadboard üzerindeki + ve – ye bağlayalım. Orta ucuda (A)1 analog pinine bağlayayım.

Servo motorun bağlantısı Yapalım. Servo motorumuzu 12 nolu pine bağlayayım turuncu data pinini. + ve – pinleride breadboard üzerindeki + ve – Pinlere bağlayalım.

Potansiyometre ile Müzikli LED Yakma
Daha önce LED yakıp söndürdük Buzzerdan ses aldık. LED Yakma söndürme işlemine ve buzzera bizim müdehale şansımız yoktu. Ancak şimdi dört tane ledi ve buzzerı potansiyometre sağa sola çevirerek direnç değerlerini değiştirerek LED’lerin yanma sırasını ve buzzerdan çaldırmak istediğimiz notayı ayarlayacağız.
1-Arduino Uno(1 adet)
2-BreadBoard
3-LED( 4 adet)
4-220Ω Direnç(4adet)
5-Potansiyometre (1 Adet)
6-Buzzer (1 Adet)
7-Jumper Kablolar
Malzemelere ihtiyacımız var.
Devremizin taslağını FritZing programıyla oluşturalım.

Analog değerleri okuduğumuz Analog girişlerde A0 pinini kullandık.Potansiyometremizin orta bacağından aldığımız kabloyu A0 pinine bağladık. 3-4-5-6-7 nolu dijital pinlere de ledlerimizin + ucuna bağladımız dirençlerin diğer ucuna bağladık. LED’lerin – uçlarında BreadBoardun ortak – hattına bağladık.
Potansiyometrenin ayarını sağa sola çevirdikçe değer 0-1023 arasında değişiyor. Bu değişikliklere bağlı olarak. 0-200 arasında birinci LED, 200-400 değeri arasında ikinci LED, 400-600 arasında Üçüncü LED, 600-800 arasında da dördüncü LED, 800-1023 arasında da beşinci LED yanacak. Ancak Değer 0 veya 1023 ise Yanan Tüm LED’leri söndüreceğiz.
LED’ler Yanarken C4-D4-E4-F4-G4 notalarınıda çeyrek vuruşluk çaldırıyoruz Bunun içinde 8 nolu pini kullandık.
Kodalamada daha önce döngüleri ve belli sayıda döngüleri kullandık. Şimdi de Eğer şartını kullanacağız. Burada Eğer Şartının amacı belli şart sağlandığında yapmasını istediğimiz işlemleri de Eğer blogunun içinde yazdık. Örneğin A0 Analog Pini okuyup değeri 800den büyük ve A0 Analog Pini okuyup değeri 1023 den küçük ise 3 sayısal pini yüksek yapıyoruz ve Buzzer’ın bağlı olduğu 8 nolu pine nota bilgisini gönderiyoruz.
Şimdi de gelelim kodları yazmaya. kodlar uzunmuş gibi görünse de bir defa yaptıktan sonra diğer tüm LED’ler için kopyala yapıştırla çoğaltabiliyoruz.

Burada en son blogda A0 Analog Pini okuyup değeri 0 veya A0 Analog Pini değeri 1023 ise daha önce açtığımız 3.-4.-5.-6.-7. pinlerin değerini düşük yapıp tüm ledleri söndürüyoruz.