WRITING SOFTWARE OF CONTROLING SERVO ENGINE WITH POTENTIOMETER WITH ARDUINO [TUTORIAL LESSON 7]
Hi there,
I am keep going Arduino lessons. I started Fritzing lessons as you know. We learned drawing circuit on Fritzing so we are going to keep going writing software of same system.
Herkese merhaba,
Arduino derslerimize devam ediyoruz. Bildiğiniz gibi Fritzing derslerine de başladım. Daha önce Fritzing ile devre çizimini öğrenmiştik ve şimdi aynı sistemin yazılımını yazarak devam edeceğiz.
Bu sistemde servo motoru potansiyometre ile kontrol edicez. Yine bir ön bilgi olması için Servo motorlar hakkında kısaca bahsedeyim.
ALINTI GÖRSEL
Servo motorlar genellikle hız ve pozisyon kontrolünün gerektiği sistemlerde kullanılır. Geri bildirimleriyle bir karar vermemize yardımcı olur. Servo motorların 3 adet kablosu vardır. Turuncu kırmızı ve kahverengi. Daha önceki devre çizim dersimizde kablo bağlantılarını zaten görmüştük. Hadi yazılıma başlayalım
1.AŞAMA
Bu kez ilk olarak pinlerimizi tanıtarak başlamıyoruz. Bu dersimizde kütüphaneden veri çağırarak başlıyoruz.
Resimdeki adımları inceleyerek Servo verisini kütüphaneden çağırabilirsiniz.
Daha sonra da servo nesnemizi oluşturuyoruz.
Kod:
#include <Servo.h>
<code>Servo sg90;
2.AŞAMA
Potansiyometremizin pinini tanımlıyoruz zaten tek bir pine bağlamıştık. A0 dan gelen verileri okuyabilmemiz için de bir değişken oluşturmamız gerekiyor.
Kod:
const byte pot_pini = A0;
int pot_deger;
3.AŞAMA
Void setup kısmını yazabiliriz. Aldığımız verileri seri ekranda okumamız için seri başlangıç komutunu giriyoruz. Servo motorumuzun bağlı olduğu pinde veri gösterimini başlatacağız.
kod:
Serial.begin(9600);
sg90.attach(3);
4.AŞAMA
Loop komutunu yazıyoruz. write komutunun parantez içerisinde yazan sayı değeri servo motorumuzun açı değerini verecektir biz 0 derece olarak ayarlıyoruz.
Potansiyometreye gelen veriyi okumamız için aşağıda ki kodları yazıyoruz.
Kod:
sg90.write(0);
pot_deger = analogRead(pot_pini);
Serial.println(pot_deger);
5.AŞAMA
Hala loop döngüsünü yazmaktayız. Potansiyometremiz 0-1023 arasında değer veriyo ancak biz servo motora 0-180 arası değer veriyoruz. Yani bu değerler birbirine uydurulmalıdır. Bu uydurma komutu daha öncede gördüğümüz map komutudur.
Kod:
int yeni_deger=map(pot_deger , 0, 1023, 0, 180);
sg90.write(yeni_deger);
Serial.print("Aci Degeri = ");
Serial.println(yeni_deger);
Çalışmamız burada son buluyor. Bundan sonra projeleri şimdi olduğu gibi hem devre çizimini hem Arduino yazılımını iki ayrı derste anlatacağım. Adım adım derslerimi geliştiriyorum. Sizler Arduino'da gelişirken bende sizlere Arduino öğretme konusunda gelişiyorum. Potansiyometre ile Servo motor kontrolü daha önce ki RGB LED sistemimizde ki gibi kendi başına bir proje olamaz. Ancak büyük kompleks robotik sistemlerin küçük bir parçası olabilir. Yani yaptığımız bu projeyi büyük sistemlere olduğu gibi ekleyebiliriz. Orada verdiğim tavsiyeyi yine veriyorum bu yazılımı da kütüphanenize kaydedin sıkça kullanmanız gerekecektir. Yazılımın Arduino görüntüsünü de ekliyorum. İyi Çalışmalar...
GITHUB
Posted on Utopian.io - Rewarding Open Source Contributors
Your contribution cannot be approved yet. See the Utopian Rules. Please edit your contribution to reapply for approval.
You may edit your post here, as shown below:
You can contact us on Discord.
[utopian-moderator]
GOT IT FINALLY :) . Thanks for attention. I fixed it. Please re-check @damla
Thank you for the contribution. It has been approved.
You can contact us on Discord.
[utopian-moderator]
Hey @sametceylan I am @utopian-io. I have just upvoted you!
Achievements
Suggestions
Get Noticed!
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x