• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Dozownik cieczy
#5
(27-02-2017, 23:59)namok napisał(a):
(27-02-2017, 22:18)tanderer napisał(a): Wydaje mi się, że w tym przypadku najlepiej byłoby użyć zmiennej w postaci (currentMillis - previousMillis >= interval), ale to sie nie kompiluje.

Taki kod na pewno się nie skompiluje. Wklej coś co można przeanalizować.

Tak, bo sugerowałem się trochę tym: https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay/
i próbowałem coś takiego:
Kod:
#include <AccelStepper.h>

unsigned long previousMillis = 0;
unsigned long val = (millis() - previousMillis);

int motorPin = 11;
int dirPin = 12;
int motorDirPin = 7;
int motorStepPin = 6;
AccelStepper stepper(1, motorStepPin, motorDirPin);  

void setup()
{  
  pinMode(motorPin, OUTPUT);
  pinMode(dirPin, OUTPUT);
  stepper.setMaxSpeed(9600.0);
  stepper.setAcceleration(10000.0);
  Serial.begin(9600);
}

void loop(){
 
if(Serial.available() > 0){     
   }

if (Serial.read() == 'z') {   
  switch (val) {
    case '1000':
      digitalWrite(dirPin, HIGH);
      analogWrite(motorPin, 244);
      delay(2000);
      stepper.runToNewPosition(0);
      delay(6000);
      analogWrite(motorPin, 0);
      break;
   
    case '19000':
      digitalWrite(dirPin, HIGH);
      analogWrite(motorPin, 244);
      delay(2000);
      stepper.runToNewPosition(256);
      delay(6000);
      analogWrite(motorPin, 0);
      break;

    case '29000':
      digitalWrite(dirPin, HIGH);
      analogWrite(motorPin, 244);
      delay(2000);
      stepper.runToNewPosition(512);
      delay(6000);
      analogWrite(motorPin, 0);
      break;

    case '41000':
      digitalWrite(dirPin, HIGH);
      analogWrite(motorPin, 244);
      delay(2000);
      stepper.runToNewPosition(768);
      delay(6000);
      analogWrite(motorPin, 0);
      break;

    case '56000':
      digitalWrite(dirPin, HIGH);
      analogWrite(motorPin, 244);
      delay(2000);
      stepper.runToNewPosition(1024);
      delay(6000);
      analogWrite(motorPin, 0);
      break;

    }
  }
}

to oczywiście tylko pomysł, który zresztą i tak się nie kompiluje Sad


[url=https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay/][/url]
 
Odpowiedź
  


Wiadomości w tym wątku
Dozownik cieczy - przez tanderer - 23-02-2017, 14:43
RE: Dozownik cieczy - przez namok - 23-02-2017, 15:31
RE: Dozownik cieczy - przez tanderer - 27-02-2017, 22:18
RE: Dozownik cieczy - przez namok - 27-02-2017, 23:59
RE: Dozownik cieczy - przez tanderer - 28-02-2017, 00:41
RE: Dozownik cieczy - przez Smaczek - 28-02-2017, 08:25
RE: Dozownik cieczy - przez tanderer - 28-02-2017, 20:11
RE: Dozownik cieczy - przez namok - 28-02-2017, 20:38

Skocz do:


Przeglądający: 1 gości