Skocz do zawartości

Sharp GP2Y0A21YK0F oraz błędne odczyty z Arduino Uno i Nano


Pomocna odpowiedź

Napisano

Witam

Piszę, gdyż mam mały problem z czujnikami Sharp GP2Y0A21YK0F i podłączeniem a raczej odczytami z Arduino uno i Arduino nano. Problem polega na tym, że czujnik zwraca mi błędne a raczej losowe wartości w monitorze szeregowym. Czujnik z Arduino mam podłączony przez regulator napięcia 5V i podłączonego do niego lipola(podłączałem już przez wyjście 5V w Arduino ale efekt ten sam). Czujnik w monitorze zwraca wartości od 0 wzrastając nagle do 1023 a nie jest w ogóle ruszany. Używam Arduino IDE( próbowałem już reinstalować, używać apki systemowej Windows oraz ściągniętej normalnie). Kończą mi się pomysły jak zmusić czujnik do działania z Arduino a termin oddania projektu coraz bliżej. Dodam, że chwilowo kilka tygodni temu na uno mi działało, a teraz nie działa ani na uno, ani na nano. Zmieniałem już czujnik, przewody ale nic z tego nie pomagało.

Program używany do odczytu z czujników:

int czujnik = A1; //pin analogowy A1 połączony z sygnałem z czujnika

void setup(){ Serial.begin(9600); //inicjalizacja monitora szeregowego Serial.println("Test czujnika odleglosci"); }

void loop(){

int odl=analogRead(czujnik); //odczytanie wartości z czujnika

Serial.println(odl); //wyświetlenie jej na monitorze

delay(200); //opóźnienie między kolejnymi odczytami }
(edytowany)

Pewnie tylko wrócę do domu, ale układ jest bardzo prosty, korzystam z układu L298N:

https://botland.com.pl/pl/sterowniki-silnikow-moduly/3164-l298n-dwukanalowy-sterownik-silnikow-modul-12v2a.html

Gdzie dołączony jest lipol i wyjście 5V z tego ukladu - jest w nim regulator napięcia idzie na zasilanie czujnika i 3 pin V0 (sygnał) z Sharpa idzie na wejście analogowe Arduino.

Z góry dziękuję za pomoc

Edytowano przez ciuupa

Szybkie foto, próbowałem zrobić układ we fritzingu ale brakuje tam kilku elementów z układu, przynajmniej w tej wersji której mam go.

 

15543953273221555636103.jpg

Sorka, oczywiście zapomniałem o masie na Arduino bo szybko składałem od razu jak wszedłem do domu :P, ale problem dalej nie jest rozwiązany.

Nie wiem czy widziałeś charakterystykę przetwarzania tego czujnika ? 

image.thumb.png.76eb9154c6b9d533a4e9e74152287b80.pngimage.thumb.png.ff8296702ee4719933caff334a9e96ae.png 

Jak widzisz on skaluje od 0,5V do 3,2 V . Arduino odczytuje na analogu od 0 do 5V , jest tam przetwornik ADC 10-bit czyli skaluje tą wartość od 0-1023 . Więc w programie musisz tą wartość przeskalować . Co do nagłego wzrostu do 1023 to jest w tym Twoim kodzie nie możliwe bo jak widzisz nie wystawia ten czujnik 5V a 1023 jest przy 5V . Pewnie masz zasilanie źle podpięte , weź sobie najpierw zasilania posprawdzaj bo to zawsze jest największy problem u początkujących, że napięć na danym układzie nie sprawdzają. w Arduino masz wyjście 5VDC i masę to podepnij pod czujnik a wyjście na pierwszym pinie mierz , tutaj masz wyprowadzenia też pinów . Vo to 5V  z arduino a GND to masa z arduino, pin 1 pon pin analogowy arduino i żadnych na początek innych układów nie dołączaj by sprawdzić sam czujnik czy działa . Zasilanie wystarczy z USB komutera, USB ma 0,5A wydajności więc na ten czujnik i Arduino to Ci wystarczy .

 

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ę »
×
×
  • Utwórz nowe...