ARDUINO proje örnekleri

korkmaz_design

Yönetici
Yönetici
Yönetici
Katılım
21 Ara 2006
Mesajlar
2,532
Puanları
419
Akşamları boş vakitleri değerlendirmek için bir tane arduino uno r3 aldım vakit buldukca projeleri gerçekleştirip buraya kodları ile birlikde vericem

öğrenmek istiyenler için şimdiden kolay gelsin

ArduinoUno_R3_Pinouts_600.png


ilk proje arduinonun üzerindenki 13. pinde bulunan ledi yakıp söndürmek bu proje her yerde olduğu için alıntı yapıyorum.

ARDUİNO KOMUTLARI

pinMode(pin,mode) :
fonksiyon pinlerin girişmi yada cıkışmı
olmasına karar ve rir

Pin : kullanılacak pinin numarası (11, 10, 9,…)

Mode : Kullanıcak pin
input ya da output (INPUT, OUTPUT)

digitalWrite(pin,value) : bu fonksiyon pinin digital high ya da low
seviyesine çekilmesi için kullanılır yani pinin +5V’mu yoksa 0V’ mu olacağını
belirler.

Pin : kullanılacak pinin numarası (9, 8, 7,…)

Value : kullanıcak pinin değeri (HIGH, LOW)

delay(ms) : Programı
belirli Bir süre yazılan değer( boyunca milisaniye cinsinden) Duraklatır.

digitalRead(pin)

Kod:
void setup() { //ayarlar yapılıp bir çıkış olarak dijital bir pin olarak başlatılamalı.

pinMode(13, OUTPUT); // arduıno 13 pin'ine led'in çıkısını tanımladık
}

void loop() {  //bu komut verilen komutları bitinceye kadar tekrar bastan sona kadar yapar bu SONSUZ döngü gibi devam eder

digitalWrite(13, HIGH); // 13. pin'e logic 1 yani 5v çıkış gönderdik
delay(1000); // bekleme 1 sn

digitalWrite(13, LOW); // 13. pin'e logic 0 yani 0v çıkış gönderdi
delay(1000); //bekleme 1 sn

fds.jpg
sfsdf.jpg
 
Hocam iyi yapmışsınız bence. Arduino açık kaynak kodlu ve bolca dökümanı mevcut.
Ben bitirme projemi onla yapıyorum, eğer bitirebilirsem burda detaylı olarak herşeyini paylaşcam
 
arduino ile step motor nasıl sürülür bilen varsa yardım istiyorum
 
PHP:
Mode  : Kullanıcak pin
 input ya da output (INPUT, OUTPUT)

Ufak bir düzeltme bir fonksiyonun içine pin tanımını atarsanız bir input veya output olarak çalıştırabilirsiniz. O an canınız hangi modu istiyorsa....
 
Sizin bahsettiğiniz şekli az çok biliyorum fakat benim istediğim stepi istediğim açıda durdurabilmek eğer bunun hakkında bir bilgiye sahip iseniz paylaşırsanız sevinir
 
Servo motor alin, arduinonun kendi servo kutuphanesi mvxut ve kullanimi basittir
 
Sizin bahsettiğiniz şekli az çok biliyorum fakat benim istediğim stepi istediğim açıda durdurabilmek eğer bunun hakkında bir bilgiye sahip iseniz paylaşırsanız sevinir

Step motoru istediğiniz açıda durdurmak için motora verdiğiniz pulseları program içinde saymanız gerekiyor eğer encoder gibi harici bir sensör kullanmıyorsanız.

Yalnız bu sayım işlemi için de hangi motor kontrol devresini ya da Arduino'da hangi kütüphaneyi kullandığınız önemli. Mesela Adafruit Motor Shield sadece I2C üzerinden haberleşir, kendi kütüphanesinden onestep() fonksiyonunu çağırırsınız motor bir adım atar. Buna program içerisinde bir sayaç bağlayıp istediğiniz sayıda adıma ulaşınca adım fonksiyonunu kesebilirsiniz.

Bir başka step sürücü A4988 ise direk direction ve step pinlerine pulse uygulanarak çalışır. Sürücünün istediğiniz pinlerini Arduino'ya bağlarsınız ve direction pinini istediğiniz yöne çekersiniz. Step pinine her pulse gönderdiğinizde motorunuz adım atar. Yine gönderdiğiniz pulseları sayarak motorunuzun hangi pozisyonda olduğunu anlayabilirsiniz.

Durmak istediğiniz pozisyon hesabını da step motorunuzun toplam adım sayısı ve motor sürücünüzde uyguladığınız microstepping değerini çarparak bulabilirsiniz. Örneğin 200 adımlı bir step motorunuz var ve 16x microstepping uyguluyorsunuz, bu durumda 360 dereceyi 200*16=3200 parçaya böldünüz demektir. Step motorunuzun x derecede durmasını istiyorsanız

x/360 = step/3200

denkleminden stepi çekerek

step = 3200*x/360

formülünü kullanabilirsiniz. Formülün genel hali:

gereken_step = motor_toplam_step*microstepping*istenen_aci/360

Tabi ondalıklı step attırmak mümkün olmadığı için illa ki biraz hatanız olacaktır, ancak 16x microstepping yapan bir step motorun çözünürlüğü ortalama bir servo motorun çözünürlüğünden çok daha yüksektir. Bu yöntemin en büyük sıkıntısı açık kontrol sistemi olmasıdır. Motorun torku, yük karşısında zayıf kalırsa motor step kaçıracaktır ve muhtemelen bu hata düzeltilemeyecektir.
 

Forum istatistikleri

Konular
128,859
Mesajlar
921,057
Kullanıcılar
450,972
Son üye
muz35

Yeni konular

Geri
Üst