Proszę o pooc w kodzie - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Proszę o pooc w kodzie (/watek-prosz%C4%99-o-pooc-w-kodzie) |
Proszę o pooc w kodzie - Przemek89 - 21-11-2021 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); } RE: Proszę o pooc w kodzie - kaczakat - 21-11-2021 Funkcje zielona(); i czerwona(); zawsze zostaną wykonane w loop. Nie ma za co. A jeśli chodzi o coś innego to napisz co chcesz osiągnąć, a co otrzymujesz bieżącym kodem. RE: Proszę o pooc w kodzie - Przemek89 - 21-11-2021 (21-11-2021, 17:30)kaczakat napisał(a): Funkcje zielona(); i czerwona(); zawsze zostaną wykonane w loop. Nie ma za co.Teraz mam tak jak wcisnę przycisk pin 4 1raz to nie wcisnę przycisku pin 5 aż nie osiągnę 3 wciśnięć na pinie 4 i odwrotnie mogę wciskać nieskończoną ilość dowolny kolor np. 10 razy pod rząd mogę gasić diodę wciskając 3razy przycisk chciał bym aby każde przyciśnięcie czy pin 4 czy pin5 złasił led na ten czas co gasi po nieciśnięciu 3 razy przycisku (int liczbaczas1 = 10; i int liczbaczas2 = 10 oprócz tego gaszenie led ma być naprzemienne najpierw mam zgasić led pin 11 a potem led pin 12, tak abym nie mógł zgazić kilka razy pod rząd jednej z led. np. żebym mógł sortować przedmioty 3 okrągłe 3 kwadratowe i ich kolejność była zawsze taka sama po 3 szt RE: Proszę o pooc w kodzie - kaczakat - 21-11-2021 Niestety ja nie rozumiem o co Ci chodzi. Może ktoś inny przeczyta i zrozumie. Jedyne co widzę, to nie zrobiłeś żadnego kursu od ostatniego wątku i nie opanowałeś millis, ani obsługi przycisków z obsługą drgań styków. Nawet jeśli te wydruki na serial mają Ci w czymś pomagać, to ich ilość będzie taka, że i tak nic nie zobaczysz na ekranie. Proszę o pooc w kodzie - MadMrQ - 01-12-2021 Ja niestety również nie rozumiem. Napakowałeś zmiennych, o których chyba sam nie masz pojęcia. Napisz od początku jak wygląda Twój projekt i co chcesz osiągnąć. Pisanie po polsku również się przyda. Wysłane z mojego POCOPHONE F1 przy użyciu Tapatalka |