Skocz do zawartości

m81wwski

Użytkownicy
  • Zawartość

    3
  • Rejestracja

  • Ostatnio

Reputacja

1 Neutralna

O m81wwski

  • Ranga
    1/10

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. m81wwski

    Pomiar odległości po wciśnięciu przycisku

    #Treker - na początku chciałem w prosty sposób przerobić wasz szkic do pomiaru odległości i niestety wyszedł z tego bajzel. Zacząłem od napisania całego szkicu od początku, ale nadal nie mogę właściwie zastosować if, aby pomiar był dokonywany tylko przy wciśniętym przycisku. W przeciwnym wypadku ma wyświetlać się komunikat "Wcisnij przycisk" Doszedłem na razie do takiej formy ale nadal cały czas zwraca mi on odległość: #define trigPin 12 #define echoPin 11 #define przycisk 10 void setup() { Serial.begin(9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(przycisk, INPUT_PULLUP); } int zmierzOdleglosc() { long czas, dystans; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); czas = pulseIn(echoPin, HIGH); dystans = czas / 58; return dystans; } void loop() { if (digitalRead(przycisk) == LOW) { Serial.print(zmierzOdleglosc()); Serial.println(" cm"); delay(500); } else { Serial.println("Wcisnij przycisk"); } } Zostawiam to na po świętach - na razie brak mi pomysłu
  2. Cześć, Jestem na etapie #9 i chciałem zmodyfikować szkic, który odczytuje odległość poprzez czujnik odległości. Chciałem aby odczyt był robiony tylko w przypadku gdy dodatkowy przycisk jest wciśnięty ale niestety coś idzie nie tak. Kod mam taki: #define trigPin 12 #define echoPin 11 #define przycisk 10 void setup() { Serial.begin(9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(przycisk, INPUT_PULLUP); } int zmierzOdleglosc() { long czas, dystans; } void loop() { if (digitalRead(przycisk) == LOW) { Serial.print(zmierzOdleglosc()); Serial.println(" cm"); delay(500); long czas, dystans; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); czas = pulseIn(echoPin, HIGH); dystans = czas / 58; return dystans; } } Błąd podczas komplikacji: Monitor podaje cały czas wynik "0 cm" bez względu na to czy przycisk jest wciśnięty czy nie. Jako, że programuje od miesiąca prośba o pomoc
  3. m81wwski

    Wątek zbiorczy: powitania użytkowników

    Pozdrawiam Wszystkich, Mam na imię Marcin, lat 38. Do marca nie interesowałem się elektroniką ale kupiłem synowi (lat 12) zestaw podstawy elektroniki oraz arduino i sam zaraziłem się tym tematem. Na chwilę obecną jestem na ćwiczeniu 4 z podstaw arduino :)
×