• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Sharp GP2Y0A21YK0F jako czujnik ruchu POMOCY
#1
Witam mam problem chciałby aby czujnik Sharp GP2Y0A21YK0F wykrywał obiekt do 50 cm  poczym wystaw stan wysoki np. na pinie 13. Jak miałby wyglądać kod takiego programu? Czy jest to możliwe do zrobienia?
 
Odpowiedź
#2
Witam. Kod jest banalnie prosty. Na przykład taki:

Kod:
int czujnik = A1;   //pin analogowy A1 połączony z sygnałem z czujnika
int dystans = 100;         //dystans przy jakim ma się pojawić stan wysoki.
                          //100 jest wartością domyślną i trzeba ją
                          //zmienić indywidualnie
void setup(){
 Serial.begin(9600);        //inicjalizacja monitora szeregowego
 pinMode(13,OUTPUT);        //ustawienie pinu 13 jako wyjście
}

void loop(){
 int odl = analogRead(czujnik);      //odczytanie wartości z czujnika
 Serial.println(odl);                //wyświetlenie jej na monitorze
if(odl >= dystans)                   //warunek jaki musi być spełniony
{digitalWrite(13,HIGH);              //aby na pinie 13 pojawił się stan wysoki
}
 delay(200);                         //opóźnienie między kolejnymi odczytami
}
 
Odpowiedź
#3
Prawie dobrze Wink.
Wartość odczytaną z wejścia analogowego(0-1023) należy przeskalować na zakres czujnika(10-80) i dopiero na tej przeskalowanej wartości wygodnie jest pracować.
Pomagam za darmo więc szanuj mój czas.
Wklejaj tekst a nie jego zdjęcie.
Nie pisz następnego postu jak nie odpowiedziałeś na poprzedni.
Jak mądrze zadawać pytania
 
Odpowiedź
#4
(21-03-2017, 23:35)namok napisał(a): Prawie dobrze Wink.
Wartość odczytaną z wejścia analogowego(0-1023) należy przeskalować na zakres czujnika(10-80) i dopiero na tej przeskalowanej wartości wygodnie jest pracować.

A no słusznie. W sumie napisałem ten algorytm z głowy. Ale tę modyfikację pozostawie dla pytającego co by sobie wyostrzył trochę szare komórki.
 
Odpowiedź
#5
(21-03-2017, 23:43)ferdricco napisał(a):
(21-03-2017, 23:35)namok napisał(a): Prawie dobrze Wink.
Wartość odczytaną z wejścia analogowego(0-1023) należy przeskalować na zakres czujnika(10-80) i dopiero na tej przeskalowanej wartości wygodnie jest pracować.

A no słusznie. W sumie napisałem ten algorytm z głowy. Ale tę modyfikację pozostawie dla pytającego co by sobie wyostrzył trochę szare komórki.
Witam ponowie, jestem początkującym użytkownikiem i nie za bardzo wiem jak dokonać tego przeskalowania. Wiec bardzo proszę o gotowy kod, będe bardzo wdzięczny. Czujnik ma wykrywac ruch w zakresie od 10cm-50 przy czym wystawic stan wysoki .
 
Odpowiedź
#6
Ja też kiedyś byłem zielony. To było 3 miesiące temu i wtedy też liczyłem na gotowca. Kolega Namok mi pomógł, zacytuję
" ...jest coś takiego jak akademia Nettigo... spróbuj coś samemu skleić, sprawdzę, podpowiem, ewentualnie poprawię ale ogólnie nie jestem zwolennikiem gotowców..."  Mimo że 3 miesiące temu byłem wściekły że się wymądrza to jednak  złapałem się za jaja i poszedłem za jego radą. Dziś sam piszę kody i może wymagają poprawek to jednak jest to moje dzieło. 
     A teraz w pigułce. Spróbuj coś sam ulepić, zamieść kod na pewno ktoś ci pomoże go dopracować.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości