Piotrek2525 Czerwiec 14, 2015 Udostępnij Czerwiec 14, 2015 Bardzo dobry tutorial Mam jednak parę pytań, bo nie wszystkie przykłady udało mi się wykonać: Dlaczego przy fotorezystorze trzeba używać rezystora 1k? Co się stanie jeśli go nie użyję? Czy jeśli nie mam pod ręką rezystora 1k to muszę jakoś kombinować łączyć inne rezystory, czy może użycie innego (1,2k) da podobny efekt?
MateuszW Czerwiec 14, 2015 Udostępnij Czerwiec 14, 2015 Piotrek2525, fotorezysor i rezystor 1k tworzą dzielnik napięcia, polecam trzecią część kursu elektroniki. Bez tego ani rusz z Arduino.
Treker (Damian Szymański) Czerwiec 15, 2015 Udostępnij Czerwiec 15, 2015 Synergia, vernun, wszystkie kody, które działają na tym etapie są dobre. Grunt to zabawa i nauka na przykładach. Czas na dopracowywanie programów jeszcze przyjdzie. Piotrek2525, dokładnie - chodzi o dzielnik napięcia, tak jak napisał MateuszW.
bocian Czerwiec 17, 2015 Udostępnij Czerwiec 17, 2015 W jaki sposób zmniejszać / zwiększać dokładność wyświetlania napięcia po przecinku dla zmiennej float? Np. 1.5V, 1.56V, 1.567V.
MateuszW Czerwiec 18, 2015 Udostępnij Czerwiec 18, 2015 W jaki sposób zmniejszać / zwiększać dokładność wyświetlania napięcia po przecinku dla zmiennej float? Np. 1.5V, 1.56V, 1.567V. Jeśli chcesz zwiększyć dokładność to lepiej użyć typu o podwójnej dokładności (double). Dla zaokrąglenia można użyć funkcji z biblioteki : round, ceil, floor, w zależności o co Ci konkretnie chodzi. W razie wątpliwości zawsze pomaga google
Treker (Damian Szymański) Czerwiec 18, 2015 Udostępnij Czerwiec 18, 2015 bocian, dzięki za sugestię, do następnej części dodam więcej informacji na ten temat
tomekk93 Lipiec 9, 2015 Udostępnij Lipiec 9, 2015 Witam, mam taki problem, używając czujnika temperatury LM35, odczytuje jego wskazania i wyświetlam na "Monitorze szeregowym", lecz dane ukazują mi się w 3 linijkach (jak na obrazku): Chciałbym aby wyświetlana informacja była w jednej linijce (kwestia estetyki): kod: int czujnik; int tempPin = 1; //wy analogowe A1 void setup() { Serial.begin(9600); //ustawienie pred transmisji danych a<>pc } void loop() { czujnik = analogRead(tempPin); float mV = ( czujnik/1024.0)*5000; float celcjusz = mV/10; Serial.println("temperatura pokoju wynosi: "); Serial.println(celcjusz); Serial.println("st. C"); delay(10000); } mianowicie, gdy próbuję zrobić tak jak przedstawiono to w kursie #3: Serial.println("Witaj! " + odebraneDane + "!"); moja wersja: Serial.println("temperatura pokoju wynosi: " + celcjusz + "st.C"); to wyrzuca mi błąd, że wartość we FLOAT nie jest prawidłowa. Czy tylko STRING da się tak wypisać? Jak temu zaradzić? Z góry dziękuję za wszelkie wskazówki i pomoc!
MateuszW Lipiec 9, 2015 Udostępnij Lipiec 9, 2015 tomekk93, Sprawdź ten artykuł, powinno pomóc. Generalnie możesz wykonać rzutowanie (FloatToString()) albo coś takiego Serial.print("temperatura pokoju wynosi: "); Serial.print(celcjusz); Serial.println(" st.C"); albo nawet: String vKomunikat = "temperatura pokoju wynosi: "+celcjusz + " st.C"; Serial.println(vKomunikat); znaczniki poprawione
tomekk93 Lipiec 9, 2015 Udostępnij Lipiec 9, 2015 MateuszW dziękuję, do tego zagadnienia nie doszedłem, a widzę popełniłem spory błąd przez to. Wszystko działa tak jak chciałem działa to jak powinno, po zabiegu wyglądającym w ten sposób: Serial.print("temperatura pokoju wynosi: "); Serial.print(celcjusz); Serial.print(" st. C\n") Pozdrawiam!
MateuszW Lipiec 9, 2015 Udostępnij Lipiec 9, 2015 tomekk93, Nie ma sprawy ale pamiętaj w programowaniu istnieje wiele rozwiązań jednego problemu (jedne lepsze od innych), trzeba wybrać jakie Ci odpowiada Pozdrawiam. 1
Treker (Damian Szymański) Lipiec 9, 2015 Udostępnij Lipiec 9, 2015 tomekk93, MateuszW, pamiętajcie Panowie, aby programy umieszczać w tagach
piotr1990 Sierpień 9, 2015 Udostępnij Sierpień 9, 2015 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 * (4.5/1023.0); //Przeliczenie wartości na napięcie Serial.println(napiecie);//Wysyłamy zmierzone napięcie delay(200);//Czekamy, aby wygodniej odczytywać wyniki } Użyłem tego kodu na moim mikrokontrolerze by widzieć jakie jest obecnie napięcie płynące z czujnika odległości sharp. Użyłem do niego 3 baterie AA 1,5V Kod mi coś nie działa prawidłowo. Wyświetla mi się napięcie 4,5 ale potem słabnie powoli do 0 i znowu rośnie mimo że nie macham nawet ręką nad nim. A gdy odłączam czujnik to wyskakuje mi że mam jakieś napięcie pod tym pinem mimo że nic nie jest podłączone.
Chumanista Sierpień 9, 2015 Udostępnij Sierpień 9, 2015 To że pin niepodłączony do niczego ma napięcie to normalne, indukują się szumy, nic nie wpływa na potencjał, voilla. 1
Pomocna odpowiedź
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ę »