Şimdi Ara

arduino ile kuluçka makinesi viyolü

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
14
Cevap
0
Favori
572
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Konuyu özet geçeceğim arduino ve step motor ile kuluçka makinesi viyolü yapmaya çalışıyorum motorun 4 saat aralıklarla sağa ve sola dönmesi gerekiyor ama kodlamada sıkıntı çıkıyor millis komutlarını yapamadım
    kodlamadan anlayan arkadaşlar yardımcı olursa sevinirim
    Kuluçka makinesi bitince konuyu güncelleyip makinenin detaylarını anlata bilirim

    [code][/code]
    #include <StepperMotor.h>
    StepperMotor motor(2,3,4,5);
    unsigned long simdikizaman = 0;
    unsigned long oncekizaman = 0;
    int aralik = 18000000;
    void setup(){
    Serial.begin(9600);
    motor.setStepDuration(1);
    }

    void loop()
    {
    simdikizaman = millis();
    Serial.println(simdikizaman);
    if (simdikizaman - oncekizaman >= aralik)
    {
    oncekizaman = simdikizaman;
    }
    if motor.step(1000)
    else if motor.step(-1000)
    }







  • int aralik = 18000000;

    Avr işlemcilerde int 2 byte'tır. Signed olduğu için en fazla 32767 sayısını tutabilir. int yerine long ya da unsigned long kullanabilirsin. Aslında "aralık" değişmeyecekse bunun için değişkene gerek yok. Bu arada 4 saat 14 400 000 ms ediyor sanırım.

    if (simdikizaman - oncekizaman >= 14400000)
    ...
  • Başka bi kod deniyorum oda olmuyor sorunu bulabilen varmı

    #include <StepperMotor.h>
    StepperMotor motor(2,3,4,5);
    unsigned long simdikizaman = 0;
    void setup(){
    Serial.begin(9600);
    motor.setStepDuration(1);
    simdikizaman = millis();
    }
    void loop()
    {
    if ((millis()-simdikizaman) > 14400000&&(millis()-simdikizaman) < 14402000)
    {
    motor.step(1000);
    }
    if ((millis()-simdikizaman) > 48800000&&(millis()-simdikizaman) < 48802000)
    {
    motor.step(-1000);
    }
    if ((millis()-simdikizaman) >= 48802000)
    {simdikizaman = millis();
    }
    }
  • ▲     



    < Bu mesaj bu kişi tarafından değiştirildi Ayrıldı01 -- 23 Ocak 2022; 15:9:49 >
  • Şöyle bişey olabilir.


    #include <StepperMotor.h>
    #define DORT_SAAT 14400000

    StepperMotor motor(2,3,4,5);
    unsigned long birsonraki = DORT_SAAT;
    int adim = 1000;

    void setup()
    {
    Serial.begin(9600);
    motor.setStepDuration(1);
    }

    void loop()
    {
    while(millis() != birsonraki) ;
    birsonraki += DORT_SAAT;

    motor.step(adim);
    adim = -adim;
    }
  • Bu benim arduino ile ilk projem.
    kodlama bilgim 10 üstünden 1 falan
    saat modulünü alsam nasıl 4 saate bir çalıştırırım bilmiyorum, ama en mantıklı seçenek bu

    benim tek istediğim arduino nun 4 saat aralıkla sağa ve sola dönmesi bunu durmadan yapıcak
  • bir arkadaş şu kodları yazdı ama çalıştığına emin değilim bi sorunmu var kodlarda
    [code][/code]#include <StepperMotor.h>
    StepperMotor motor(2,3,4,5);
    unsigned long simdikizaman = 0;
    void setup(){
    Serial.begin(9600);
    motor.setStepDuration(1);
    simdikizaman = millis();
    }
    void loop()
    {
    if ((millis()-simdikizaman) > 14400000&&(millis()-simdikizaman) < 14402000)
    {
    motor.step(500);
    }
    if ((millis()-simdikizaman) > 48800000&&(millis()-simdikizaman) < 48802000)
    {
    motor.step(-500);
    }
    if ((millis()-simdikizaman) >= 48802000)
    {simdikizaman = millis();
    }
    }
  • EmuDev E kullanıcısına yanıt
    bu şekilde sadece sağa dönmezmi
  • Hayır hem sağa hem sola döner.
  • EmuDev E kullanıcısına yanıt
    Teşşekür ederim senin verdiğin kod işe yarıyor galiba bu konuyuda güncel tutacağım internette sadece viyol sistemi bulunan bi kaynak yok hiç
  • EmuDev E kullanıcısına yanıt
    Kusura bakma sürekli rahatsız ediyorum seni.

    dönme işlemi sonrasında motora güç gitmeye devam ediyor (dönmüyor) motor ısınıyor bunu nasıl düzelte bilirim
  • Step motorlardan pek anlamam ama transistör ya da röle gibi bir anahtarlama elemanıyla sadece gerektiğinde motora güç verilmesini sağlayabilirsin.
  • çözüm basitmiş güç giden pinleri buldum sonra kod satırının sonuna digitalwrite low yaptım düzeldi

    makine versiyon 1 gelince detaylı anlatım yapıcam nasıl yaptığıma dair
    nasip olurda çıkım alabilirsem onlarıda yazarım
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.