Arduino ile kuluçka makinesi viyolü

SinekNecmi

Üye
Katılım
15 May 2020
Mesajlar
4
Puanları
1
Yaş
24
Kolay gelsin ben arduino ve step motor ile kuluçka makinesi viyolü yapmak istiyorum ama kodlamada sıkıntı çekiyorum

4 saat de bir sağa 4 saat sonra sola dön demem gerekiyor ama millis fonksiyonu işinde berbatım
baya araştırma yaptım ama türkçe bi şekilde millis ve step motor kullanan olmamış

yazmaya çalıştığım kod ama arduino ile ilgili neredeyse hiç bilgim yok
Kod:
unsigned long simdikizaman = 0;

unsigned long oncekizaman;

int aralik = 18000000;



const int motorPin1 = 2;

const int motorPin2 = 3;

const int motorPin3 = 4;

const int motorPin4 = 5;



int bekleme = 2;



void adim1() {

digitalWrite(motorPin1, HIGH);

digitalWrite(motorPin2, LOW);

digitalWrite(motorPin3, LOW);

digitalWrite(motorPin4, LOW);

delay(bekleme);

}



void adim2() {

digitalWrite(motorPin1, LOW);

digitalWrite(motorPin2, HIGH);

digitalWrite(motorPin3, LOW);

digitalWrite(motorPin4, LOW);

delay(bekleme);

}



void adim3() {

digitalWrite(motorPin1, LOW);

digitalWrite(motorPin2, LOW);

digitalWrite(motorPin3, HIGH);

digitalWrite(motorPin4, LOW);

delay(bekleme);

}



void adim4() {

digitalWrite(motorPin1, LOW);

digitalWrite(motorPin2, LOW);

digitalWrite(motorPin3, LOW);

digitalWrite(motorPin4, HIGH);

delay(bekleme);

}



void setup() {



pinMode(motorPin1, OUTPUT);

pinMode(motorPin2, OUTPUT);

pinMode(motorPin3, OUTPUT);

pinMode(motorPin4, OUTPUT);



}



void loop() {

oncekizaman=millis();

if(oncekizaman-simdikizaman>=18000000{

for (int i = 0; i < 60; i++)

{

adim1();

adim2();

adim3();

adim4();

}



for (int i = 0; i < 60; i++)

{

adim4();

adim3();

adim2();

adim1();

}



}
 
Moderatör tarafında düzenlendi:
Güncelleme bu kodu yazdım ama bir türlü çalıştıramadım bi yardımcı olabilecek varmı

kod:
#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)
}
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…