Skocz do zawartości

baumeister

Użytkownicy
  • Zawartość

    2
  • Rejestracja

  • Ostatnio

Reputacja

1 Neutralna

O baumeister

  • Ranga
    1/10

Informacje

  • Płeć
    Mężczyzna
  1. Miałem ten sam problem co kolega @Oldman podaję rozwiązanie dla potomnych. Problem polegał na tym, że brakowało pliku mxconstants.h, plik ten zawierać ma dyrektywy #define z nazwami używanych przez nas w projekcie pinów. W moim przypadku definicje te zawierały się w pliku main.h i to włąśnie tan plik zamiast mxconstants.h załączyłem w LIB_config.h co rozwiązało problem. Być może spowodowane to było jakąś aktualizacją w CubeMX albo coś i teraz plik mxcopnstatnts już nie jest generowany.
  2. Super odcinek Zadanie 9.3 Oprócz diod dodałem jeszcze buzzer. Skorzystałem też z funkcji tone( , , ,), która pozwala sterować głośnością i czasem trwania dźwięku na buzzerze. Dzięki temu im bliżej przeszkoda tym głośniej i szybciej brzęczy buzzer. przykład użycia: tone(buzz, 2000, 100); delay(100); buzz to zdefiniowana wcześniej nazwa pinu. Kod: #define trigg 12 #define echo 13 #define buzz 11 void setup() { pinMode(2, OUTPUT); digitalWrite(2, LOW); pinMode(3, OUTPUT); digitalWrite(3, LOW); pinMode(4, OUTPUT); digitalWrite(4, LOW); pinMode(5, OUTPUT); digitalWrite(5, LOW); pinMode(6, OUTPUT); digitalWrite(6, LOW); pinMode(7, OUTPUT); digitalWrite(7, LOW); pinMode(trigg, OUTPUT); pinMode(echo, INPUT); } void loop() { int d=odleglosc(); sygnal(d); } int odleglosc(){ long czas, dist; digitalWrite(trigg, LOW); delayMicroseconds(2); digitalWrite(trigg, HIGH); delayMicroseconds(10); digitalWrite(trigg, LOW); czas=pulseIn(echo, HIGH); dist=(czas/2)/29.1; return dist; } void sygnal(int d){ d=map(d, 0, 100, 1, 6); switch(d){ case 1: digitalWrite(2, HIGH); digitalWrite(3, 1); digitalWrite(4, 1); digitalWrite(5, 1); digitalWrite(6, 1); digitalWrite(7, 1); tone(buzz, 3000, 100); delay(100); break; case 2: digitalWrite(2, HIGH); digitalWrite(3, 1); digitalWrite(4, 1); digitalWrite(5, 1); digitalWrite(6, 1); digitalWrite(7, 0); tone(buzz, 2000, 100); delay(150); break; case 3: digitalWrite(2, HIGH); digitalWrite(3, 1); digitalWrite(4, 1); digitalWrite(5, 1); digitalWrite(6, 0); digitalWrite(7, 0); tone(buzz, 1500, 100); delay(200); break; case 4: digitalWrite(2, HIGH); digitalWrite(3, 1); digitalWrite(4, 1); digitalWrite(5, 0); digitalWrite(6, 0); digitalWrite(7, 0); tone(buzz, 1500, 100); delay(250); break; case 5: digitalWrite(2, HIGH); digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 0); digitalWrite(6, 0); digitalWrite(7, 0); break; case 6: digitalWrite(2, HIGH); digitalWrite(3, 0); digitalWrite(4, 0); digitalWrite(5, 0); digitalWrite(6, 0); digitalWrite(7, 0); break; default: digitalWrite(2, 0); digitalWrite(3, 0); digitalWrite(4, 0); digitalWrite(5, 0); digitalWrite(6, 0); digitalWrite(7, 0); break; } }
×
×
  • Utwórz nowe...