arduino uno krokový motor s časovačem

Odpovědět
david739
Příspěvky: 4
Registrován: 03 dub 2022, 08:47

arduino uno krokový motor s časovačem

Příspěvek od david739 »

Ahoj můžete mi prosím pomoct mám tento zdroj a potřeboval bych do něj dopsat kod aby se proces točení po 30min zastavil a po resetu pc znova naběhl

mam arduino uno a kod je

Kód: Vybrat vše

#define ENABLE 8
#define X_STEP 2
#define Y_STEP 3
#define Z_STEP 4
#define X_DIR  5
#define Y_DIR  6
#define Z_DIR  7

void setup() {
  // nastavení směrů pro všechny piny
  pinMode(X_STEP, OUTPUT);
  pinMode(Y_STEP, OUTPUT);
  pinMode(Z_STEP, OUTPUT);
  pinMode(X_DIR,  OUTPUT);
  pinMode(Y_DIR,  OUTPUT);
  pinMode(Z_DIR,  OUTPUT);
  pinMode(ENABLE, OUTPUT);
  // povolení řízení pro všechny drivery
  digitalWrite(ENABLE, LOW);
}

void loop() {
  // posun osy X v jednom směru o půl otáčky
  // (2048 kroků na celou otáčku)
  pohybOsy(true, X_DIR, X_STEP, 2048);
  delay(0);
}

void pohybOsy(boolean smer, byte dirPin, byte stepPin, int kroky) {
  // zápis směru na příslušný pin DIR
  digitalWrite (dirPin, smer);
  delay(50);
  // smyčka pro provedení předaného množství kroků
  for (int i = 0; i < kroky; i++) {
    digitalWrite(stepPin, HIGH);
    delayMicroseconds (4000);
    digitalWrite(stepPin, LOW);
    delayMicroseconds (4000);
  }
}
aladin
Příspěvky: 337
Registrován: 12 kvě 2013, 06:43

Re: arduino uno krokový motor s časovačem

Příspěvek od aladin »

Koukni se na komunikaci s PC a jestli ti funguje otáčení.
A případně popiš, co ti nejde a co jsi zkusil
fischertip.cz, Stavebnice.com, MerkurRobot.cz, KlubTechniku.cz
david739
Příspěvky: 4
Registrován: 03 dub 2022, 08:47

Re: arduino uno krokový motor s časovačem

Příspěvek od david739 »

ahoj mě vše funguje ted se to točí ve smičce to nepotřebuji jen potřebuji pomct do kodu dopsat ten časovač ad se to točí 30min a zastaví po resetu opět rozjede na 30 min
Uživatelský avatar
fulda
Příspěvky: 1359
Registrován: 04 led 2016, 17:18

Re: arduino uno krokový motor s časovačem

Příspěvek od fulda »

Hmm, tak tam prostě přidej:
if (millis()<1800000) {pohybOsy(true, X_DIR, X_STEP, 2048);}

To nefunguje?
Tedy to podle manuálu vystačí tak na 50 dní....
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
Uživatelský avatar
gilhad
Příspěvky: 262
Registrován: 29 kvě 2015, 00:36
Kontaktovat uživatele:

Re: arduino uno krokový motor s časovačem

Příspěvek od gilhad »

Právě kvůli těm 50 dnům bych tam raději dal explicitní

Kód: Vybrat vše

if (millis()>=1800000) { toceni=false;};
if (toceni) {pohybOsy(true, X_DIR, X_STEP, 2048);};
a toceni definoval jako globální proměnnou inicializovanou na true
Ono to pak jednou clovek zapomene na dva měsíce ....
david739
Příspěvky: 4
Registrován: 03 dub 2022, 08:47

Re: arduino uno krokový motor s časovačem

Příspěvek od david739 »

ahoj můžete to prosím přímo zakomponovat do zdroje skoušel jsem to a vypisuje to chyby
Odpovědět