Нужна помощь в проверке скетча.
- Войдите на сайт для отправки комментариев
Чт, 07/04/2016 - 13:44
- Доброго времени суток. Я сделал станок для выжигания по дереву,
- Работает иногда правда самопроизвольно возрастает скорость предачи данных Ардуины с компьютером. Посмотрите скетч, может криво написал, на си++ писал первый раз.
int stp = 9; //контакт подключения к шагу 9
int dir = 8; // соединить контакт 8 В режим шагнуть
int stp1 = 7; //контакт подключения к шагу 9
int dir1 = 6; // соединить контакт 8 В режим шагнуть
int Distance = 0; // записываем количество шагов, которое было совершено
int Distance1 = 0;
long delayTime;
int inSize = 0;
char str[128];
void setup()
{
Serial.begin(9600);
pinMode(stp, OUTPUT);
pinMode(dir, OUTPUT);
pinMode(stp1, OUTPUT);
pinMode(dir1, OUTPUT);
}
void loop()
{
char c;
if(Serial.available()) {
c = Serial.read();
//delayMicroseconds(600);
if (c == 'f') { // forward
for (int Distance=0; Distance < 2; Distance++){
digitalWrite(dir, HIGH);
digitalWrite(stp, HIGH);
delayMicroseconds(600);
digitalWrite(stp, LOW);
delayMicroseconds(600);
}
inSize = inSize + 2;
Serial.println("ok");
}
if (c == 'r') { // reverse
//for (int Distance=0; Distance <= 199; Distance++)
int var ;
var = 0;
while(var < inSize)
{
var++;
//Serial.println(var);
digitalWrite(dir, LOW);
digitalWrite(stp, HIGH);
delayMicroseconds(600);
digitalWrite(stp, LOW);
delayMicroseconds(600);
}
// delay(200);
Serial.println("ko");
inSize=0;
}
if (c == 's') { // step 47 шагов
for (int Distance1=0; Distance1 < 47; Distance1++){
digitalWrite(dir1, HIGH);
digitalWrite(stp1, HIGH);
delayMicroseconds(600);
digitalWrite(stp1, LOW);
delayMicroseconds(600);
}
Serial.println("ok");
}
}
}
https://www.youtube.com/watch?v=fghF_V0hiSU&feature=youtu.be