Skocz do zawartości

Kurs Arduino - #4 - Przetwornik ADC


Pomocna odpowiedź

@Tangman, witam na forum 😉
Widzę, że to Twoje pierwsze kroki na Forbocie, jeśli chcesz przywitać się z innymi członkami naszej społeczności skorzystaj z tego tematu: Powitania użytkowników

Dnia 13.09.2018 o 21:16, Tangman napisał:

starałem się używać instrukcji, które do tej pory poznałem podczas kursu:

I jakie jest twoje pytanie 😉?

Link do komentarza
Share on other sites

Mam pytanie odnośnie podstawowych błędów w trakcie programowania.

Czy są praktyki, których powinno się unikać, a nie są tak oczywiste na pierwszy rzut oka? Pytanie przyszło mi na myśl kiedy zastosowałem tą samą instrukcję kilkukrotnie. Wydaje mi się, że są lepsze sposoby (poza switch case), ale mam za małe doświadczenie żeby to stwierdzić jednoznacznie.

Link do komentarza
Share on other sites

Jestem nowy na forum, bardzo podoba mi się kurs. Nie rozumiem w jaki sposób mierzone jest napiecie, napewno wynika to z jakies kompromitujacej niewiedzy w prawie ohma (ale chyba nie ma głupich pytań). Jeżeli spada opór to czy napiecie nie powinno tez proporcjonalnie spadać?  U= R * I

image.png

 

Link do komentarza
Share on other sites

Nie. 

I = U/R

Z tego co wiem tak to powinno wyglądać. Prąd tutaj jest wynikowy, a nie napięcie. Tzn. zmieni się tylko prąd w warunkach idealnych. Proszę mnie poprawić jeżeli się mylę...

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

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

@Tangman, jeśli chodzi o Twój program to na ten etap kursu wszystko jest napisane całkiem ładnie i nie masz się czym przejmować. Jedyne co może warto zmienić to dostosować się do "niepisanej" zasady, że nazwy definicji powinno pisać się wielkimi literami, aby łatwo odróżniać je od zmiennych, czyli np.: #define green 4 => #define GREEN 4. Nie jest to jednak żaden błąd - tylko taka popularna metoda zapisu.

@mdybko, witam na forum 😉
Widzę, że to Twoje pierwsze kroki na Forbocie, jeśli chcesz przywitać się z innymi członkami naszej społeczności skorzystaj z tego tematu: Powitania użytkowników. W tym wypadku pomiar napięcia jest możliwy, ponieważ mamy tam układ dzielnika napięcia. Więcej na ten temat znajdziesz tutaj: Kurs elektroniki – prawa Ohma i Kirchhoffa

Link do komentarza
Share on other sites

Witam, dlaczego w woltomierzu na początku programu "odczytanaWartosc"  przypisana jest wartość 0? Dlaczego akurat 0 i w jakim to jest celu w kontekście pomiaru sygnału napięcia?

int odczytanaWartosc = 0;//Odczytana wartość z ADC
float napiecie = 0;//Wartość przeliczona na napięcie w V
 
void setup() {
  Serial.begin(9600);//Uruchomienie komunikacji przez USART
}
 
void loop() {
  odczytanaWartosc = analogRead(A5);//Odczytujemy wartość napięcia
  napiecie = odczytanaWartosc * (5.0/1024.0); //Przeliczenie wartości na napięcie
  Serial.println(napiecie);//Wysyłamy zmierzone napięcie
  delay(200);//Czekamy, aby wygodniej odczytywać wyniki  
}

 

Link do komentarza
Share on other sites

@Karliko, to po prostu taki nawyk, aby zawsze przy deklaracji zmiennych ustawiać ich wartość na początku na zero (aby nie miały losowych wartości). Wszystko zależy od typu zmiennych oraz używanego języka (bo czasami zmienne domyślnie są zerowane podczas deklaracji). W każdym razie takie ręczne "zerowanie" na pewno nie zaszkodzi. Akurat w tym programie początkowa wartość zmiennej nie ma żadnego znaczenia, ale w innym przypadku mogłoby to być ważne dlatego z "automatu" bez większego zastanowienia ustawiłem ją na zero.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

@Adi, witam na forum 😉 Widzę, że to Twoje pierwsze kroki na Forbocie, oto najważniejsze informacje na start:

  • Chcesz przywitać się z innymi członkami naszej społeczności? Skorzystaj z tematu powitania użytkowników.
  • Opis najciekawszych funkcji, które ułatwiają korzystanie z forum znajdziesz w temacie instrukcja korzystania z forum - co warto wiedzieć?
  • Poszczególne posty możesz oceniać (pozytywnie i negatywnie) za pomocą reakcji - ikona serca w prawym dolnym rogu każdej wiadomości.

Dnia 25.12.2018 o 21:11, Adi napisał:

Jak zmierzyć mniejsze napięcia np: 0.21?

Z czym dokładnie masz problem? Przetwornik ADC w Arduino UNO ma 10 bitów, więc teoretycznie możesz mierzyć napięcie z dokładnością do 4.9 mV. Jeśli zależy Ci na większej precyzji to rozejrzyj się za zewnętrznymi przetwornikami ADC np. na I2C.

Link do komentarza
Share on other sites

Co podłączasz do czego? Co wgrywasz? Skąd bierzesz sygnał 200mV i czy zmierzyłeś multimetrem, że w czasie pracy programu na odpowiednim pinie procesora (tym którego używa Twój kod) jest rzeczywiście takie napięcie względem masy procesora?

Link do komentarza
Share on other sites

20 godzin temu, Adi napisał:

@Treker chodzi mi jak na monitorze portu szeregowego odczytać wartość 0,20V 

bo jak podłączam i wgrywam program to piesze mi na monitorze portu szeregowego 0.00 

Wklej swój program, bez tego raczej nie uzyskasz żadnej sensownej pomocy 😉

Link do komentarza
Share on other sites

Witam wszystkich 🙂

Na wstępie chciałbym zaznaczyć, że jestem kompletnym świeżakiem zarówno na forum jak i w arduino.

Mam pytanie odnośnie lekcji z przetwornikiem. Układ podłączony tak jak było to zalecane, program też się zgadza (sprawdzone, tego jestem pewien na 100%). Problem tkwi w odczycie napięcia, które zdaje się w ogóle nie reagować na zmiany na potencjometrze. Cały czas wyrzuca jakieś randomowe wartości (z przedziału 0-5). Podobnie sytuacja wygląda w układzie z fotorezystorem. 

Czy ktoś ma jakiś pomysł?

Link do komentarza
Share on other sites

@bw512 , witam na forum 😉 Widzę, że to Twoje pierwsze kroki na Forbocie, oto najważniejsze informacje na start:

  • Chcesz przywitać się z innymi członkami naszej społeczności? Skorzystaj z tematu powitania użytkowników.
  • Opis najciekawszych funkcji, które ułatwiają korzystanie z forum znajdziesz w temacie instrukcja korzystania z forum - co warto wiedzieć?
  • Poszczególne posty możesz oceniać (pozytywnie i negatywnie) za pomocą reakcji - ikona serca w prawym dolnym rogu każdej wiadomości.
54 minuty temu, bw512 napisał:

Mam pytanie odnośnie lekcji z przetwornikiem. Układ podłączony tak jak było to zalecane, program też się zgadza (sprawdzone, tego jestem pewien na 100%). Problem tkwi w odczycie napięcia, które zdaje się w ogóle nie reagować na zmiany na potencjometrze. Cały czas wyrzuca jakieś randomowe wartości (z przedziału 0-5). Podobnie sytuacja wygląda w układzie z fotorezystorem. 

Czy ktoś ma jakiś pomysł?

Albo nie wgrywasz odpowiedniego programu, albo źle coś podłączyłeś - innej opcji nie ma. Nie pokazałeś swojego podłączenia, ani programu, więc ciężko coś doradzić bez szklanej kuli 🔮 Na tym forum udzielam się od ponad 10 lat, więc na słowo już nie uwierzę, że masz podłączenie lub program identycznie jak w kursie - wielu już takich było 😉

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.