kiker212 Napisano Maj 28, 2022 Udostępnij Napisano Maj 28, 2022 Witam, mam problem z modułem bluetooth. Zrobiłem samochód z arduino modułu bluetooth mostka h i przetwornicy na 5 V. Wszystko działa lecz chciałbym ten projekt udoskonalić. Kiedy rozłączam bluetooth od telefonu samochód wariuje. Co muszę dopisać do programu aby temu zaprzestać? Z góry dziękuję #include <avr/io.h> #define MOTOR1_PWM 6 //D6 #define MOTOR1_PWM_COR 0 #define MOTOR1_IN1 14 //A0 #define MOTOR1_IN2 15 //A1 #define MOTOR2_PWM 5 //D5 #define MOTOR2_PWM_COR 0 #define MOTOR2_IN1 16 //A2 #define MOTOR2_IN2 17 //A3 #define diodaright 11 //D11 #define diodaleft 12 //D12 char lastCode = ' '; int pwmSpeed = 0; void setup() { Serial.begin(9600); TCCR0A = _BV(WGM01) | _BV(WGM00); TCCR0B = _BV(CS01) | _BV(CS00); OCR0A = 100; OCR0B = 100; pinMode(MOTOR1_PWM, OUTPUT); digitalWrite(MOTOR1_PWM, HIGH); pinMode(MOTOR1_IN1, OUTPUT); pinMode(MOTOR1_IN2, OUTPUT); pinMode(MOTOR2_PWM, OUTPUT); digitalWrite(MOTOR2_PWM, HIGH); pinMode(MOTOR2_IN1, OUTPUT); pinMode(MOTOR2_IN2, OUTPUT); lightOff(); stop(); } void loop() { analogWrite(MOTOR1_PWM, pwmSpeed); analogWrite(MOTOR2_PWM, pwmSpeed); if (Serial.available() > 0) { char code = Serial.read(); if (code == 'F') { front(); } else if (code == 'L') { left(); } else if (code == 'R') { right(); } else if (code == 'B') { back(); } else if (code == 'S') { stop(); } else if (code == '0') { setSpeed(0); } else if (code == '1') { setSpeed(1); } else if (code == '2') { setSpeed(2); } else if (code == '3') { setSpeed(3); } else if (code == '4') { setSpeed(4); } else if (code == '5') { setSpeed(5); } else if (code == '6') { setSpeed(6); } else if (code == '7') { setSpeed(7); } else if (code == '8') { setSpeed(8); } else if (code == '9') { setSpeed(9); } else if (code == 'q') { setSpeed(10); } else if (code == 'W') { lightOn(); } else if (code == 'w'){ lightOff(); } lastCode = code; Serial.print("LastCode: "); Serial.println(lastCode); } if(lastCode == ' ') { stop(); } } void right() { Serial.println("left"); digitalWrite(MOTOR1_IN1, LOW); digitalWrite(MOTOR1_IN2, HIGH); digitalWrite(MOTOR2_IN1, HIGH); digitalWrite(MOTOR2_IN2, LOW); } void left() { Serial.println("righ"); digitalWrite(MOTOR2_IN1, LOW); digitalWrite(MOTOR2_IN2, HIGH); digitalWrite(MOTOR1_IN1, HIGH); digitalWrite(MOTOR1_IN2, LOW); } void back() { Serial.println("back"); digitalWrite(MOTOR1_IN1, HIGH); digitalWrite(MOTOR1_IN2, LOW); digitalWrite(MOTOR2_IN1, HIGH); digitalWrite(MOTOR2_IN2, LOW); } void front() { Serial.println("front"); digitalWrite(MOTOR2_IN1, LOW); digitalWrite(MOTOR2_IN2, HIGH); digitalWrite(MOTOR1_IN1, LOW); digitalWrite(MOTOR1_IN2, HIGH); } void stop() { Serial.println("stop"); digitalWrite(MOTOR2_IN1, LOW); digitalWrite(MOTOR2_IN2, LOW); digitalWrite(MOTOR1_IN1, LOW); digitalWrite(MOTOR1_IN2, LOW); } void setSpeed(int speed) { pwmSpeed = 100 + speed * 15 ; } void lightOff() { light1(LOW); light2(LOW); } void lightOn() { light1(HIGH); light2(HIGH); } void light1(int status){ pinMode(diodaleft, OUTPUT); digitalWrite(diodaleft, status); } void light2(int status){ pinMode(diodaright, OUTPUT); digitalWrite(diodaright, status); } Link do komentarza Share on other sites More sharing options...
farmaceuta Maj 28, 2022 Udostępnij Maj 28, 2022 Opisz konkretnie co sie dzieje i czy to "swirowanie" jest powtarzalne (w sensie zawsze tak samo?) Ps...no i co bylo z tym mostkiem nie tak? Bo rozumiem ze doszedles do ladu...😉 Jezeli uzywasz analogWrite() to juz nie musisz sie bawic tym timerem zeby zrobic pwm (timer 0 jest zarezerwowany dla delay()/millis()/micros(), wiec z regoly sie go nie rusza) 1 Link do komentarza Share on other sites More sharing options...
kiker212 Maj 28, 2022 Autor tematu Udostępnij Maj 28, 2022 (edytowany) @farmaceuta Kręci się na boki powtarzalnie lecz chyba nie powtarzalnie. A jeśli chodzi o te drugie pytanie to kupiłem silniki z przekładniami i kupiłem drukarkę 3D i zrobiłem obudowę i użyłem innego mostka i normalnie jeździ 🙂. Mogę wysłać jak wygląda teraz auto. Edytowano Maj 28, 2022 przez kiker212 Link do komentarza Share on other sites More sharing options...
farmaceuta Maj 28, 2022 Udostępnij Maj 28, 2022 4 minuty temu, kiker212 napisał: @farmaceuta to się wkurzyłem i kupiłem silniki z przekładniami i kupiłem drukarkę 3D i zrobiłem obudowę i użyłem innego mostka i normalnie jeździ 🙂. Hahaha😁 no tak to czasem bywa😉 5 minut temu, kiker212 napisał: @farmaceuta Kręci się na boki powtarzalnie. Hmm..dobrze by bylo rozlaczyc pare majac podlaczony kabel usb i sprawdzic w IDE co tam sie na Serialu pojawia podczas rozlaczenia (a cos napewno sie pojawia) 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
kiker212 Maj 28, 2022 Autor tematu Udostępnij Maj 28, 2022 źle napisałem wcześniej, kręci się nie powtarzalnie Link do komentarza Share on other sites More sharing options...
farmaceuta Maj 28, 2022 Udostępnij Maj 28, 2022 Przed chwilą, kiker212 napisał: źle napisałem wcześniej, kręci się nie powtarzalnie To w sumie nie istotne...podczas rozlaczenia masz jakies "smieci" na blue...zrob jak wyzej napisalem i zobacz co sie wyswietla w monitorze portu.. 1 Link do komentarza Share on other sites More sharing options...
kiker212 Maj 28, 2022 Autor tematu Udostępnij Maj 28, 2022 Pojawia się coś takiego Link do komentarza Share on other sites More sharing options...
farmaceuta Maj 28, 2022 Udostępnij Maj 28, 2022 za kazdym razem to samo?? 1 Link do komentarza Share on other sites More sharing options...
kiker212 Maj 28, 2022 Autor tematu Udostępnij Maj 28, 2022 (edytowany) 12 minut temu, farmaceuta napisał: za kazdym razem to samo?? @farmaceuta tak Edytowano Maj 28, 2022 przez kiker212 Link do komentarza Share on other sites More sharing options...
farmaceuta Maj 28, 2022 Udostępnij Maj 28, 2022 (edytowany) No to chyba to jest zwykly komunikat modulu ze zerwano lacze/ze jest gotowy do polaczenia "pairable" ...no to albo zastosujesz male litery (to rozwiaze twoj problem) lub cos pokombinowac ze jesli odczytasz "P" to kolejnych 7 znakow odrzucasz (czyli cala ta wiadomosc) Edytowano Maj 28, 2022 przez farmaceuta 1 Link do komentarza Share on other sites More sharing options...
kiker212 Maj 28, 2022 Autor tematu Udostępnij Maj 28, 2022 (edytowany) @farmaceuta Małe litery w if ? na przykład: else if (code == 'W'){ lightOn(); } i tam zamiast W to w? Edytowano Maj 28, 2022 przez kiker212 Link do komentarza Share on other sites More sharing options...
farmaceuta Maj 28, 2022 Udostępnij Maj 28, 2022 2 minuty temu, kiker212 napisał: @farmaceuta i tam zamiast W to w? Dokladnie...chociaz Ciebie akurat interesuja litery L,R,B bo sa w komunikacie i Ty ich uzywasz...lub mozesz sprubowac cos takiego... if (Serial.available() > 0) { char code = Serial.read(); if (code == 'P') { while (Serial.available()) { char x = Serial.read(); delay(5); //nie wiem czy konieczny } } 1 Link do komentarza Share on other sites More sharing options...
kiker212 Maj 28, 2022 Autor tematu Udostępnij Maj 28, 2022 (edytowany) 12 minut temu, farmaceuta napisał: Dokladnie...chociaz Ciebie akurat interesuja litery L,R,B bo sa w komunikacie i Ty ich uzywasz...lub mozesz sprubowac cos takiego... if (Serial.available() > 0) { char code = Serial.read(); if (code == 'P') { while (Serial.available()) { char x = Serial.read(); delay(5); //nie wiem czy konieczny } } @farmaceutaTu nie powinna być jeszcze jedna klamra ? Edytowano Maj 28, 2022 przez kiker212 Link do komentarza Share on other sites More sharing options...
farmaceuta Maj 28, 2022 Udostępnij Maj 28, 2022 Tak...tylko ze masz to wkleic do swojego kodu dokladnie jak jest teraz, czyli trzeci nawias masz na samym dole swojego kodu 1 Link do komentarza Share on other sites More sharing options...
kiker212 Maj 28, 2022 Autor tematu Udostępnij Maj 28, 2022 kiedy wklejam ten kod to wyświetla mi się coś takiego 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ę »