Zakrzewiaczek Napisano Luty 10, 2022 Udostępnij Napisano Luty 10, 2022 (edytowany) Mam pytanie, czy jest program, dzięki któremu zrobię np. przycisk (wirtualny), podłącze go do arduino i będę mógł sterować np. diodą? Chciałbym podłączyć semafory do takiego programu. (Czy działał by on z 2 Arduino?) Oto program: #define ziel 9 #define pom_1 10 #define czer 11 #define pom_2 2 #define bial 13 unsigned long aktualnyCzas = 0; unsigned long zapamietanyCzas = 0; unsigned long roznicaCzasu = 0; String odb = ""; bool s3 = false; bool s4 = false; bool sz = false; bool zapal = false; void setup() { // put your setup code here, to run once: pinMode(ziel, OUTPUT); pinMode(pom_1, OUTPUT); pinMode(czer, OUTPUT); pinMode(pom_2, OUTPUT); pinMode(bial, OUTPUT); digitalWrite(czer, HIGH); Serial.begin(9600); } void loop() { if(Serial.available() > 0) { //Czy Arduino odebrało dane odb = Serial.readStringUntil('\n'); spr(); } aktualnyCzas = millis(); roznicaCzasu = aktualnyCzas - zapamietanyCzas; if(roznicaCzasu >= 500UL) { zapal = !zapal; zapamietanyCzas = aktualnyCzas; } if(s3 && zapal) { digitalWrite(ziel, HIGH); } else if (s3 && zapal == false) { digitalWrite(ziel, LOW); } if(s4 && zapal) { digitalWrite(pom_1, HIGH); } else if (s4 && zapal == false) { digitalWrite(pom_1, LOW); } if(sz && zapal) { digitalWrite(bial, HIGH); } else if (sz && zapal == false) { digitalWrite(bial, LOW); } } void spr() { if(odb == "CLS" || odb == "cls") { czysc(); Serial.println("Usypiam semafor"); } else if(odb == "SZ" || odb == "sz" || odb == "Sz") { czysc(); Sz(); Serial.println("Ustawiam sygnał Sz"); s3 = false; s4 = false; sz = true; } else if(odb == "MS1" || odb == "Ms1" || odb == "ms1") { czysc(); Ms1(); Serial.println("Ustawiam sygnał Ms1"); s3 = false; s4 = false; sz = false; } else if(odb == "S1" || odb == "s1") { czysc(); S1(); Serial.println("Ustawiam sygnał S1"); s3 = false; s4 = false; sz = false; } else if(odb == "S2" || odb == "s2") { czysc(); S2(); Serial.println("Ustawiam sygnał S2"); s3 = false; s4 = false; sz = false; } else if(odb == "S3" || odb == "s3") { czysc(); S3(); Serial.println("Ustawiam sygnał S3"); s3 = true; s4 = false; sz = false; } else if(odb == "S4" || odb == "s4") { czysc(); S4(); Serial.println("Ustawiam sygnał S4"); s3 = false; s4 = true; sz = false; } else if(odb == "S5" || odb == "s5") { czysc(); S5(); Serial.println("Ustawiam sygnał S5"); s3 = false; s4 = false; sz = false; } else if(odb == "S10" || odb == "s10") { czysc(); S10(); Serial.println("Ustawiam sygnał S10"); s3 = false; s4 = false; sz = false; } else if(odb == "S11" || odb == "s11") { czysc(); S11(); Serial.println("Ustawiam sygnał S11"); s3 = true; s4 = false; sz = false; } else if(odb == "S12" || odb == "s12") { czysc(); S12(); Serial.println("Ustawiam sygnał S12"); s3 = false; s4 = true; sz = false; } else if(odb == "S13" || odb == "s13") { czysc(); S13(); Serial.println("Ustawiam sygnał S13"); s3 = false; s4 = false; sz = false; } else { Serial.println("Niepoprawny sygnał."); } } void czysc() { s3 = false; s4 = false; digitalWrite(czer, LOW); digitalWrite(pom_1, LOW); digitalWrite(ziel, LOW); digitalWrite(pom_2, LOW); digitalWrite(bial, LOW); } void Ms1() { digitalWrite(bial, HIGH); } void Sz() { digitalWrite(czer, HIGH); digitalWrite(bial, HIGH); } void S1() { digitalWrite(czer, HIGH); } void S2() { digitalWrite(ziel, HIGH); } void S3() { digitalWrite(ziel, HIGH); } void S4() { digitalWrite(pom_1, HIGH); } void S5() { digitalWrite(pom_1, HIGH); } void S10() { digitalWrite(pom_2, HIGH); digitalWrite(ziel, HIGH); } void S11() { digitalWrite(pom_2, HIGH); digitalWrite(ziel, HIGH); } void S12() { digitalWrite(pom_2, HIGH); digitalWrite(pom_1, HIGH); } void S13() { digitalWrite(pom_2, HIGH); digitalWrite(pom_1, HIGH); } Edytowano Luty 10, 2022 przez Zakrzewiaczek 1 Link do komentarza Share on other sites More sharing options...
FlyingDutch Luty 10, 2022 Udostępnij Luty 10, 2022 Cześć, możesz użyć "Prosessing IDE" - temat był już kilka razy omawiany na tym forum. Np. tutaj: Pozdrawiam 1 Link do komentarza Share on other sites More sharing options...
Zakrzewiaczek Luty 10, 2022 Autor tematu Udostępnij Luty 10, 2022 Dzięki bardzo Link do komentarza Share on other sites More sharing options...
99teki Luty 10, 2022 Udostępnij Luty 10, 2022 - jeśli dobrze liczę to semafor 5 komorowy ? 1 Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Gieneq Luty 11, 2022 Udostępnij Luty 11, 2022 21 godzin temu, Zakrzewiaczek napisał: #define ziel 9 #define pom_1 10 #define czer 11 #define pom_2 2 #define bial 13 @99teki na to wygląda, spostrzegawczy jesteś 🙂 Link do komentarza Share on other sites More sharing options...
Zakrzewiaczek Luty 11, 2022 Autor tematu Udostępnij Luty 11, 2022 13 godzin temu, 99teki napisał: - jeśli dobrze liczę to semafor 5 komorowy ? Tak Link do komentarza Share on other sites More sharing options...
Zakrzewiaczek Luty 11, 2022 Autor tematu Udostępnij Luty 11, 2022 (edytowany) Dodałem też sem. 4 kom. z ulozeniem: zielony, żółty, czerwony, żółty nr 2 Edytowano Luty 11, 2022 przez Zakrzewiaczek 2 Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »