Arduino ile kuluçka makinesi viyolü

SinekNecmi

Üye
Katılım
15 May 2020
Mesajlar
4
Puanları
1
Yaş
26
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)
}
 

Forum istatistikleri

Konular
133,382
Mesajlar
971,005
Kullanıcılar
459,229
Son üye
abdullah.mungan

Yeni konular

Geri
Üst