Belferek 141 Listopad 8, 2018 Udostępnij Listopad 8, 2018 zainstaluj bibliotekę w Arduino IDE i poszukaj przykładów w menu PLIK, a tu jest WIKI autora i tej biblioteki: https://bitbucket.org/teckel12/arduino-new-ping/wiki/Home Cytuj Link to post Share on other sites
drozdziak 1 Listopad 8, 2018 Udostępnij Listopad 8, 2018 dziękuję Cytuj Link to post Share on other sites
Treker 2525 Listopad 10, 2018 Udostępnij Listopad 10, 2018 @drozdziak, 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 8.11.2018 o 22:18, drozdziak napisał: mega fajny artykuł! idealny do nauki mam taki maly problem, bo napisalem prosty program ktory, jeśli odległość wskazania czujnika jest mniejsza niż 100 cm to włącza monitor i wyświetla tą wartość na monitorku przez 5 sek. Cieszę się, że artykuł nadal jest pomocny. Jeśli chodzi o Twoje problemy to oczywiście warto zająć się dalszym rozwijaniem programu (filtrowanie i uśrednianie pomiarów), ale zacząłbym też od sprawdzenia elektroniki. Upewnij się, że masz dobre zasilanie, nie ma luźnych przewodów itd. Sprawdź też ustawienie czujnika, jeśli "patrzy" minimalnie w dół to możesz mieć czasami zakłócenia, bo czujnik np. zobaczy biurko, na którym leży itd. Cytuj Link to post Share on other sites
Rafgart 1 Listopad 15, 2018 Udostępnij Listopad 15, 2018 Witam wszystkich serdecznie. Na wstępie chciałbym bardzo podziękować za kurs, który jest naprawdę świetnie napisany! Kawał dobrej roboty! Mam jednak problem który odkryłem podczas tej lekcji, mianowicie kontaktron podpięty do pinu 0 nie działa, przy sprawdzaniu problemu okazało się że to samo dotyczy np. diody LED. Nigdy nie miałem problemów z płytką aż do tej pory Możliwe jest uszkodzenie jedynie pojedynczego portu płytki? W moim przypadku wszystko oprócz pinu 0 działa poprawnie Cytuj Link to post Share on other sites
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Szukasz producenta PCB? Sprawdź firmę JLCPCB. Dlaczego warto? • Prototypy PCB 2-warstwowe za 2$ (gotowe w 24 godziny) • Prototypy PCB 4-warstwowe za 5$ • Montaż SMT od 7$ • Produkcja w profesjonalnej fabryce (zobacz film) Sprawdź też » Jak powstaje PCB? Wycieczka po fabryce
Belferek 141 Listopad 15, 2018 Udostępnij Listopad 15, 2018 Pokaż program - może tu masz błąd? Kontaktron i LED to chyba dwie różne sytuacje. Raz port jako WEJŚCIE, a innym razem jako WYJŚCIE. Cytuj Link to post Share on other sites
Rafgart 1 Listopad 16, 2018 Udostępnij Listopad 16, 2018 W ramach testów wrzuciłem na płytkę kod żywcem skopiowany z kursu więc kod nie jest tutaj problemem. Zmiana definicji kontaktronu z pinu 0 na np pin 1 (oraz przepięcie kabla kontaktronu ;)) zalatwia sprawę, kontaktron działa prawidłowo Cytuj Link to post Share on other sites
Belferek 141 Listopad 16, 2018 Udostępnij Listopad 16, 2018 Więc nadal nie wiesz co z tym portem. Do testów to sobie uruchom np. taki programik: void setup() { pinMode(0,OUTPUT); } void loop() { digitalWrite(0,HIGH); delay(500); digitalWrite(0,LOW); delay(500); } Tu sprawdzisz działanie portu jako WYJŚCIE. Podłącz do niego katodę diody LED, a anodę tej LED przez rezystor np. 330R do +5V. LED powinien migać. Jeśli chcesz sprawdzić działanie tego portu jako WEJŚCIE to możesz się posłużyć np. takim programem: void setup() { pinMode(0,INPUT_PULLUP); Serial.begin(9600); } void loop() { Serial.println(digitalRead(0)); } Teraz uruchamiasz monitor portu szeregowego i na port podajesz 0 czyli GND i nie podajesz (będzie 1 przez wewnętrzny PULLUP). W monitorze powinieneś widzieć 0 i 1. Cytuj Link to post Share on other sites
Rafgart 1 Listopad 16, 2018 Udostępnij Listopad 16, 2018 Dzięki za odpowiedź, tak jak pisałem w pierwszym poście, sprawdzałem działanie LEDa na pinie 0 i dioda się wgl nie zaświeca. Przetestowałem drugi program który podesłałeś i Arduino wysyła do ciągle wartość 1, nie reaguje na wpięcie/wypięcie GND Cytuj Link to post Share on other sites
Belferek 141 Listopad 16, 2018 Udostępnij Listopad 16, 2018 (edytowany) No to przy założeniu, że do Arduino nic nie było podpięte (nawet PC - Arduino zasilane np. z bateryjki nie z USB!) to może mamy do czynienia z fizycznym uszkodzeniem portu. Edytowano Listopad 16, 2018 przez Belferek Cytuj Link to post Share on other sites
Treker 2525 Listopad 17, 2018 Udostępnij Listopad 17, 2018 @Rafgart, 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 15.11.2018 o 15:47, Rafgart napisał: Witam wszystkich serdecznie. Na wstępie chciałbym bardzo podziękować za kurs, który jest naprawdę świetnie napisany! Kawał dobrej roboty! Miło słyszeć, że kurs jest pomocny Jeśli chodzi o Twój problem to akurat testowanie go przez UART (w taki sposób) nie jest zbyt dobrym wyborem. Pin 0, który testujesz jest wykorzystywany do komunikacji przez UART i nie powinno się w takim przypadku podłączać do niego żadnych elementów (mogą zakłócać komunikację). Lepiej zrobić test takim programem: int incomingByte = 0; void setup() { Serial.begin(9600); } void loop() { if (Serial.available() > 0) { incomingByte = Serial.read(); Serial.print((char)incomingByte); } } Wgraj go i uruchom monitor portu szeregowego. Wszystko co wyślesz do Arduino powinno natychmiast wrócić do PC i być wyświetlone jako dane odebrane. Dzięki temu sprawdzisz działanie całego UARTu (czyli przy okazji sprawdzisz pin 0 oraz pin 1). Daj znać czy taki program u Ciebie działa. Pamiętaj tylko, aby ustawić w monitorze portu szeregowego odpowiednią prędkość transmisji tj. 9600. Sprawdziłem kod przed chwilą na Arduino UNO i działa na 100%. Cytuj Link to post Share on other sites
Belferek 141 Listopad 17, 2018 Udostępnij Listopad 17, 2018 (edytowany) Dodam tylko, że programik jaki ja zaproponowałem też działa OK. Sprawdziłem "namacalnie" z Arduino podpiętym przez USB do PC. To że D0 jest wykorzystywane do transmisji szeregowej z układami zewnętrznymi za pośrednictwem UART to tak na marginesie nawet jest "napisane" na płytce UNO (RxD czyli receiver - odbiornik). Edytowano Listopad 17, 2018 przez Belferek 1 Cytuj Link to post Share on other sites
Rafgart 1 Listopad 21, 2018 Udostępnij Listopad 21, 2018 @Treker Dzięki za program. Przetestowałem go na swojej płytce i działa bez zarzutu. Wychodzi na to że komunikacja płytki z PC działa poprawnie (ufff :D) Cytuj Link to post Share on other sites
Treker 2525 Listopad 21, 2018 Udostępnij Listopad 21, 2018 8 godzin temu, Rafgart napisał: Dzięki za program. Przetestowałem go na swojej płytce i działa bez zarzutu. Wychodzi na to że komunikacja płytki z PC działa poprawnie (ufff :D) To dobry znak, ale warto jednak iść dalej. Wgraj teraz zwykły program Blink z przykładów dostępnych w IDE. Sprawdź czy zadziała normalnie w domyślnej konfiguracji (miganie diody wbudowanej w Arduino - pin 13). Jak zadziała to podmień informacje o diodzie na pin 0 i sprawdź woltomierzem, czy na tym pinie będzie coś się zmieniało. Musiałbyś mieć pecha, aby tak uszkodzić płytkę, aby UART działał, ale zwykłe sterowanie portem cyfrowym było już uszkodzone. Dnia 17.11.2018 o 14:01, Belferek napisał: Dodam tylko, że programik jaki ja zaproponowałem też działa OK. Tak, w tym układzie będzie działał, ale jeśli ktoś chciałby testować pin nr 1, albo miałby podłączone jakieś "dziwne" peryferia do tych pinów to program nie działałby już poprawnie. Dlatego lepiej, akurat do testowania działania pinów numer 0 i 1 nie używać UARTa Cytuj Link to post Share on other sites
Rafgart 1 Listopad 26, 2018 Udostępnij Listopad 26, 2018 Dnia 22.11.2018 o 00:47, Treker napisał: Jak zadziała to podmień informacje o diodzie na pin 0 i sprawdź woltomierzem, czy na tym pinie będzie coś się zmieniało. Musiałbyś mieć pecha, aby tak uszkodzić płytkę, aby UART działał, ale zwykłe sterowanie portem cyfrowym było już uszkodzone. @Treker Sprawdziłem tak jak radziłeś i niestety, port 0 nie podaje żadnego napięcia. Dla pewności wykonałem też pomiar dla innego portu i tam wszystko się zgadzało Cytuj Link to post Share on other sites
Treker 2525 Listopad 26, 2018 Udostępnij Listopad 26, 2018 To ja już nie mam innego pomysłu, chyba faktycznie "udało Ci się" uszkodzić Arduino w tak niestandardowy sposób Cytuj Link to post Share on other sites
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. 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
Pomocna odpowiedź
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!