hocam teşekkür ederim yarın deneyecem. emeğine sağlık. |
merhaba. arkadaşlar ben bir step motor çalıştırmak istiyorum yardımcı olabilir misin motor çalışma şekli şu şekilde olacaktır. butona bir defa basıldığında motor bir yönde tam hızda çalışacaktır. Taki limit swiçh görene kadar. limitswiche geldiğinde yarım saniye duracak ve tersine dönecek. swiçh görene kadar çalışacak swiçh gördüğünde tekrar start verene kadar bekleyecek. kullandığım malzemeler 1 adet buton 2 adet limitswiçh 1 adet Arduino Uno 1 adet L298 DC ve Step Motor Sürücü Modülü 1 adet nema 23 step motor |
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
ben pcb de ufak tefek kodlar yazabiliyorum ama arduıno da bunu bir türlü beceremedim.istediğim arduıno programında bunun satırlarının yazılması. programda anladığım kadarıyla üç adet girişim ve bir tane step çıkışım olacak.girişlerden biri buton biri başlangıç swich i diğeri bitiş swiçh i.motorun normal konumu başlangıç swiçh inde olacak butona start verildiğinde motor hareket edecek bitiş swich i ne geldiğinde yarım saniye bekleyecek sonra aksi yöne hareket edecek başlangıç swich in de motor durup programı bitirecek.tekrar start bekleyecek |
|
haklısınız. ben step motoru çalıştırabiliyorum ama işte swich olayın da kalıyorum |
Pololu bipolar step motor |
#include <Stepper.h> //KÜTÜPHANEDEN YÜKLEDİK int solbuton =13; //BUTONLARI TANIMLDIK int sagbuton =12; const int stepadimi = 50; // motor dönüş acısını buradan ayarlıyoruz. // stepmotor kontrol kartı için kütüphaneden 8 ile 11 pinler tanımlanmış, // 9,10,11 PWM çıkıştır. Kontrol kartına pals çıkışı yapmak için: Stepper stepmotor(stepadimi, 8, 9, 10, 11); void setup() { pinMode(solbuton, INPUT_PULLUP); pinMode(sagbuton, INPUT_PULLUP); stepmotor.setSpeed(60); // step motor hızımızı ayarlıyoruz. Buradan hızınızı değiştirebilirsiniz. } void loop() { // sol buton ile işlem yapma if(digitalRead(solbuton)==LOW) // Girişimiz PULLUP olduğundan butonumuza bastığımızda şart gerçekleşeçek, { stepmotor.step(stepadimi); delay(1000);} // butona bastığımız sürece 90 drece gidip 1 sn bekleyip devam edecektir. // sağ buton ile işlem yapma if(digitalRead(sagbuton)==LOW) { stepmotor.step(-stepadimi); // Dönüş yönünü değiştirmek için önüne - işareti koyduk. delay(1000);} } |
bunu bulup bunun üzerinde değişiklik yapmak istedim ama çok eksiği var. ve mtor dönüş yönünü maximum olarak vermek istiyorum |
ben birde tek buton kullanmak istiyorum.burda iki buton var |
Konuda bir buton demişsiniz ama programda iki buton kullanmışsınız.Öneri vereceğim buton bir mi iki mi olacak ? |
Ben size koddan ziyade öneri vereceğim onun üzerinden devam edebilirsiniz. #include 1-Butona bir değişken atıyorsun 2-İki switch için iki değişken daha yazıyorsun. void setup() { 3-buton ve switchleri giriş olarak atıyorsun. void loop() { 4-Switch ve butonların çıkışlarını değişkenlere aktarıyorsun. 5-Eğer butona basarsan buton değişkeni bir olsun diyorsun 6-Buton değişkeni bir olursa motoru hareket ettiriyorsun 7-Aynı şekilde bitirme switchi için de aynı şeyi yazıyorsun eğer bitirme switchi bir olursa buton switchini sıfır yapıyorsun 8-Motor bitirme switchine dokunduğunda buton sıfır olduğu için duracaktır 9-Bitirme switchi bir olduğunda koşulunu yazdıktan sonra hemen altında ne kadar orada durmasını istiyorsan onu yazacaksın 10-Beklemenın hemen arkasından motoru ters yöne hareket ettireceksi 11-Bir koşulda ,sadece başlangıç switchi için yazacaksın eğer başlangıç switchi iki olursa motoru durdur ve başlangıç swıtchını 0 yap . |
öneri için çok teşekkür ederim.ama bunu ben ardıuno yazamayacam.bunu yazabilecek biri varsa yardımcı olursa çok sevinirim. |
Öğrenci misin ödev mi verildi ? |
öğrenci değilim kendim yaptığım bir proje için ardıuno kullanmam gerekiyor |
< Bu ileti DH mobil uygulamasından atıldı > Bu mesaja 1 cevap geldi. Cevapları Gizle
Bu mesajda bahsedilenler: @nihatservis