Нужна помощь в проверке скетча.
- Войдите на сайт для отправки комментариев
Чт, 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