#1 Re: Програмування Arduino » нужна помощь новычку » 2017-10-28 00:18:28

пробовал так не выходит таймер не запускается

char incomingByte; 
int  LED1 = 13;
int  LED2 = 3;    
int  LED3 = 4;
int  LED4 = 5;    
int  LED5 = 6;
int  LED6 = 7;    
int  LED7 = 8;
int  LED8 = 9;  
bool LED8on;  
void setup() {
  Serial.begin(9600); 
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(LED3, OUTPUT);
  pinMode(LED4, OUTPUT);
  pinMode(LED5, OUTPUT);
  pinMode(LED6, OUTPUT);
  pinMode(LED7, OUTPUT);
  pinMode(LED8, OUTPUT);
  LED8on = false;
} 
 
void loop() {
  if (Serial.available() > 0) {
    incomingByte = Serial.read();
    if(incomingByte == 'a') {
       digitalWrite(LED1, LOW);
       Serial.print("*1R0G255B0*\n");  
      }
    if(incomingByte == 'b') {
       digitalWrite(LED2, LOW);
       Serial.print("*2R0G255B0*\n");  
      }
    if(incomingByte == 'c') {
       digitalWrite(LED3, LOW);
       Serial.print("*3R0G255B0*\n");  
      }
    if(incomingByte == 'd') {
       digitalWrite(LED4, LOW);
       Serial.print("*4R0G255B0*\n");  
      }
    if(incomingByte == 'j') {
       digitalWrite(LED5, LOW);
       Serial.print("*R0G255B0*\n");  
      }
    if(incomingByte == 'g') {
       digitalWrite(LED6, LOW);
       Serial.print("*R0G255B0*\n");  
      }
    if(incomingByte == 'h') {
       digitalWrite(LED7, LOW);
       Serial.print("*7R0G255B0*\n");  
    }
    if(incomingByte == 'j') {
       digitalWrite(LED8, LOW);
       Serial.print("*R0G255B0*\n");  
      }
       if(incomingByte == 'L') {
        digitalWrite(LED8, 1);
       Serial.print("taiming");
       LED8on = true;
      LED8on = millis();
    }  
    else {digitalWrite(LED8, 0);
      }
    if(incomingByte == '1') {
       digitalWrite(LED1, HIGH);
       Serial.print("*1R255G0B0*\n");
    }
     if(incomingByte == '2') {
       digitalWrite(LED2, HIGH);
       Serial.print("*2R255G0B0*\n");
    }
     if(incomingByte == '3') {
       digitalWrite(LED3, HIGH);
       Serial.print("*3R255G0B0*\n");
    }
     if(incomingByte == '4') {
       Serial.print("*4R255G0B0*\n");
      digitalWrite (LED4, HIGH);
    }
     if(incomingByte == '5') {
       digitalWrite(LED5, HIGH);
       Serial.print("R255G0B0*\n");
    }
     if(incomingByte == '6') {
       digitalWrite(LED6, HIGH);
       Serial.print("*R255G0B0*\n");
    }
     if(incomingByte == '7') {
       digitalWrite(LED7, HIGH);
       Serial.print("*7R255G0B0*\n");
    }
     if(incomingByte == '8') {
       digitalWrite(LED8, HIGH);
       Serial.print("*8R255G0B0*\n");
    }
    if(LED8on)
    if(millis() - LED8on > 10000) {
     digitalWrite(LED1, 1);
      LED8on = false;
       Serial.print("start\n");
      delay(1000);
      digitalWrite(LED1, 0);
      Serial.print("oc\n");
       }
  }
}

#2 Re: Програмування Arduino » Помогите новичку. » 2017-10-27 22:27:27

Дмитрий177 пише:

Привет всем.
Купил,решил опробовать.
прошу, напишите пожалуйста скетч.
Суть:
Нажимаю и держу кнопку- мотор крутит вал-винт, по нему ползёт гайка. гайка доходит до конца и нажимает другую кнопку-концевик и мотор отключается.
теперь нажимаю другую кнопку- мотор вращается в другую сторону и гайка по валу пошла в другую сторону- и там вконце тоже стоит концевик чтоб выключить цепь если гайка дойдёт до нее тоже...
Спасибо.

вот держи

const int buttonPin2 = 2;//кнопка1 нормально  розомкнута
const int buttonPin3 = 3;//концевик1 нормально розомкнет
const int buttonPin4 = 4;//кнопка 2 нормально розомкнута
const int buttonPin5 = 5;//концевик2 нормально розомкнут     
const int ledPin1 =  10;//выход на 1 реле
const int ledPin2 =  11;//ывход на второе реле 


int buttonState = 0;         
void setup() {
  pinMode(ledPin1, OUTPUT);
  pinMode(ledPin2, OUTPUT);
  pinMode(buttonPin2, INPUT);
  pinMode(buttonPin3, INPUT);
  pinMode(buttonPin4, INPUT);
  pinMode(buttonPin5, INPUT);
}

void loop() {
  buttonState = digitalRead(buttonPin2);
  buttonState = digitalRead(buttonPin3);
  buttonState = digitalRead(buttonPin4);
  buttonState = digitalRead(buttonPin5);

 if (buttonPin2 == 1&&buttonPin3 == 0) {
   digitalWrite(ledPin1, 1);
    }
    else {
     digitalWrite(ledPin1, 0);
  }
   if (buttonPin4 == 1&&buttonPin5 == 0) {
   digitalWrite(ledPin2, 1);
    }
    else {
     digitalWrite(ledPin2, 0);
  }
   
  }
  
  
  

#3 Re: Програмування Arduino » Помогите новичку. » 2017-10-27 21:46:57

Дмитрий177 пише:

Привет всем.
Купил,решил опробовать.
прошу, напишите пожалуйста скетч.
Суть:
Нажимаю и держу кнопку- мотор крутит вал-винт, по нему ползёт гайка. гайка доходит до конца и нажимает другую кнопку-концевик и мотор отключается.
теперь нажимаю другую кнопку- мотор вращается в другую сторону и гайка по валу пошла в другую сторону- и там вконце тоже стоит концевик чтоб выключить цепь если гайка дойдёт до нее тоже...
Спасибо.

мотор то какой у тебя

#4 Програмування Arduino » нужна помощь новычку » 2017-10-27 21:24:11

as661слава
відповідей: 2

пишу чтото типо управления по блютус. в дальнейшем хочу перейти на gprs  но вот первая проблема когда ставлю delay ни на что другое он не реагирует пока не пройдет время, помогите , может както по другом это написать , програмирую только 3 дня так что не судите строго

char incomingByte; 
int  LED1 = 13;
int  LED2 = 3;    
int  LED3 = 4;
int  LED4 = 5;    
int  LED5 = 6;
int  LED6 = 7;    
int  LED7 = 8;
int  LED8 = 9;    
void setup() {
  Serial.begin(9600); 
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(LED3, OUTPUT);
  pinMode(LED4, OUTPUT);
  pinMode(LED5, OUTPUT);
  pinMode(LED6, OUTPUT);
  pinMode(LED7, OUTPUT);
  pinMode(LED8, OUTPUT);
  
} 
 
void loop() {
  if (Serial.available() > 0) {
    incomingByte = Serial.read();
    if(incomingByte == 'a') {
       digitalWrite(LED1, LOW);
       Serial.print("*1R0G255B0*");  
      }
    if(incomingByte == 'b') {
       digitalWrite(LED2, LOW);
       Serial.print("*2R0G255B0*");  
      }
    if(incomingByte == 'c') {
       digitalWrite(LED3, LOW);
       Serial.print("*3R0G255B0*");  
      }
    if(incomingByte == 'd') {
       digitalWrite(LED4, LOW);
       Serial.print("*4R0G255B0*");  
      }
    if(incomingByte == 'j') {
       digitalWrite(LED5, LOW);
       Serial.print("*R0G255B0*");  
      }
    if(incomingByte == 'g') {
       digitalWrite(LED6, LOW);
       Serial.print("*R0G255B0*");  
      }
    if(incomingByte == 'h') {
       digitalWrite(LED7, LOW);
       Serial.print("*7R0G255B0*");  
    }
    if(incomingByte == 'j') {
       digitalWrite(LED8, LOW);
       Serial.print("*R0G255B0*");  
      }
         
    if(incomingByte == '1') {
       digitalWrite(LED1, HIGH);
       Serial.print("*1R255G0B0*");
    }
     if(incomingByte == '2') {
       digitalWrite(LED2, HIGH);
       Serial.print("*2R255G0B0*");
    }
     if(incomingByte == '3') {
       digitalWrite(LED3, HIGH);
       Serial.print("*3R255G0B0*");
    }
     if(incomingByte == '4') {
       Serial.print("*4R255G0B0*");
       delay(10000);
      digitalWrite (LED4, HIGH);
       Serial.print("start motor");
       delay(1000);
       digitalWrite(LED4, LOW);
       Serial.print("motor ok");
    }
     if(incomingByte == '5') {
       digitalWrite(LED5, HIGH);
       Serial.print("R255G0B0*");
    }
     if(incomingByte == '6') {
       digitalWrite(LED6, HIGH);
       Serial.print("*R255G0B0*");
    }
     if(incomingByte == '7') {
       digitalWrite(LED7, HIGH);
       Serial.print("*7R255G0B0*");
    }
     if(incomingByte == '8') {
       digitalWrite(LED8, HIGH);
       Serial.print("*8R255G0B0*");
    }
    
    
  }
}

Підвал форуму