WRITING SOFTWARE OF CONTROLING SERVO ENGINE WITH POTENTIOMETER WITH ARDUINO [TUTORIAL LESSON 7]

in #utopian-io7 years ago (edited)

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.
1.jpg
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.
1.jpg
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...
bandicam 2017-12-12 03-21-24-367.jpg
GITHUB



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Your contribution cannot be approved yet. See the Utopian Rules. Please edit your contribution to reapply for approval.

  • Please change your code examples to a code fragment using backtics: ``` as shown below:

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

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • Seems like you contribute quite often. AMAZING!

Suggestions

  • Contribute more often to get higher and higher rewards. I wish to see you often!
  • Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck!

Get Noticed!

  • Did you know project owners can manually vote with their own voting power or by voting power delegated to their projects? Ask the project owner to review your contributions!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

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

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63138.55
ETH 2579.36
USDT 1.00
SBD 2.80