• 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
Proszę o pooc w kodzie
#1
Dopiero się uczę i proszę o pomoc w dopisaniu paru linijek. Jeżeli void zielona() nie zostanie wykonana to void czerwona() też nie zostanie wykonana i odwrotnie i każde przyciśnięcie przycisku mignie przypisana do niej led.

long cm;                        //zielona
long cm1;                        //czerwona
long pm,pm_1;                    //zielona
long pm0,pm_2;                  //czerwona
long licznik;                    //zielona
long licznik2;                  //czerwona
byte start;                      //zielona
byte start1;                    //czerwona
int liczbaliosci3 = 0;
int statz,startz_1;              //zielona
int statcz,startcz_2;            //czerwona
byte czas_oczekiwania = 5;      //zielona
byte czas_oczekiwania2 = 5;      //czerwona
int liczba1 = 3;                  //ilość przyciśnięć zielona
int liczba2 = 3;                  //ilość przyciśnięć czerwona
int liczbaczas1 = 10;                //czas wyłączenia led zielona
int liczbaczas2 = 10;                //czas wyłączenia led czerwona
void setup() {
  Serial.begin(9600);
pinMode(5, INPUT_PULLUP);        //przycisk zielonej
pinMode (12, OUTPUT);            //led zielonej
pinMode(4, INPUT_PULLUP);        //przycisk czerwonej
pinMode (11, OUTPUT);            //led czerwonej
}
void loop() {
  zielona();
  czerwona(); 
}
void zielona() {
//=========================zielona============================= 

  if ( start > 0 ){
  start1 = 0;}
 
//if (start==3){
//liczbaliosci3 ++;
//}
cm = millis()/100;

if ( digitalRead(5) == HIGH ){statz = 0;}

if ( digitalRead(5) == LOW and statz == 0 )
    {start ++;statz = 1;pm = cm;}

if ( start > 0 ){
  if ((cm - pm) == 1){licznik ++;pm = cm;}}

if ( licznik > czas_oczekiwania and digitalRead(12) == 0 )
    {licznik = 0;start = 0;}
     
if ( start >= liczba1 )
    {digitalWrite(12, LOW);}

if ( digitalRead(12) == LOW ){
  licznik = 0;start = 0;
  if ((cm - pm_1) > 0){startz_1 ++;pm_1 = cm;}
  if ( startz_1 > liczbaczas1 ){digitalWrite(12, HIGH);startz_1 = 0;}}
 
}

//=========================czerwona=============================
void czerwona() {

  if ( start1 > 0 ){
  start = 0;}

cm1 = millis()/100;

if ( digitalRead(4) == HIGH )statcz = 0;

if ( digitalRead(4) == LOW and statcz == 0 )
    {start1 ++;statcz = 1;pm0 = cm1;}

if ( start1 > 0 ){
  if ((cm1 - pm0) == 1){licznik2 ++;pm0 = cm1;}}

if ( licznik2 > czas_oczekiwania2 and digitalRead(11) == 0 )
    {licznik2 = 0;start1 = 0;}
     
if ( start1 >= liczba2 )
    {digitalWrite(11,LOW);}

if ( digitalRead(11) == LOW ){
  licznik2 = 0;start1 = 0;
  if ((cm1 - pm_2) > 0){startcz_2 ++;pm_2 = cm1;}
  if ( startcz_2 > liczbaczas2 ){digitalWrite(11,HIGH);startcz_2 = 0;}


 
  }
//Serial.print(liczbaliosci3);
Serial.print("ZIELONY");
Serial.print(" - ");
Serial.print(start);
Serial.print(" / ");
Serial.print(startz_1);
Serial.print(" i ");
Serial.print("CZERWONY");
Serial.print(" - ");
Serial.print(start1);
Serial.print(" / ");
Serial.println(startcz_2);

}
 
Odpowiedź
  


Wiadomości w tym wątku
Proszę o pooc w kodzie - przez Przemek89 - 21-11-2021, 16:08
RE: Proszę o pooc w kodzie - przez kaczakat - 21-11-2021, 17:30
RE: Proszę o pooc w kodzie - przez Przemek89 - 21-11-2021, 18:01
RE: Proszę o pooc w kodzie - przez kaczakat - 21-11-2021, 19:53
Proszę o pooc w kodzie - przez MadMrQ - 01-12-2021, 12:30

Skocz do:


Przeglądający: 1 gości