Komentator Napisano Wrzesień 15, 2015 Udostępnij Napisano Wrzesień 15, 2015 W tej części kursu Arduino wykorzystamy czujnik odległości HC-SR04, który cieszy się dużym zainteresowaniem wśród majsterkowiczów.Przyszła również pora, aby zacząć pisać własne funkcje. Na koniec zajmiemy się także bardzo prostym elementem akustycznym - buzzerem. UWAGA, to tylko wstęp! Dalsza część artykułu dostępna jest na blogu.Przeczytaj całość »Poniżej znajdują się komentarze powiązane z tym wpisem. 1 Cytuj Link do komentarza Share on other sites More sharing options...
Zakurek Wrzesień 15, 2015 Udostępnij Wrzesień 15, 2015 Świetny kurs, czekam na kolejne części, które mam nadzieje się pojawią! Cytuj Link do komentarza Share on other sites More sharing options...
hob_bit Wrzesień 15, 2015 Udostępnij Wrzesień 15, 2015 Odcinek miód-malina, jesteście Panowie Wielcy.Tyle informacji w dzisiejszym materiale, musiałbym szukać jeszcze długo, a tu rach-ciach i mam 😉 PS. Koniecznie następne kursy dla Arduinowców- inna opcja nie istnieje 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Wrzesień 15, 2015 Udostępnij Wrzesień 15, 2015 Zakurek, dzięki 🙂 Odcinek miód-malina, jesteście Panowie Wielcy. Dzięki liczbę mnogą potraktuję jako komplement, bo pisałem tekst sam 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
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
Dziobak94 Wrzesień 15, 2015 Udostępnij Wrzesień 15, 2015 Świetny kurs dla początkujących. Ja osobiście dodałbym pracę na przerwaniach i wbudowanych licznikach żeby niepotrzebnie nie blokować pracy uC np jeśli ktoś będzie chciał zamrugać 4 razy diodą po 1 sec. Mikro-kontroler stałby w funkcji Delay 7 sekund a to już długo. W najprostszych rozwiązaniach może i się to sprawdzi ale później to już inna bajka 🙂 Mimo wszystko gratuluję dobrej i skrupulatnej części + to że napisane tak że każdy zrozumie. 1 Cytuj Link do komentarza Share on other sites More sharing options...
hob_bit Wrzesień 15, 2015 Udostępnij Wrzesień 15, 2015 Treker, używając liczby mnogiej miałem na uwadze, też twoich współpracowników, którzy piszą teksty w innych kursach 🙂 Jako autorowi tego wpisu- gratuluję Ci wiedzy i pracowitości, której mi brak 😉 Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Wrzesień 16, 2015 Udostępnij Wrzesień 16, 2015 hob_bit, dzięki 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
Zakurek Wrzesień 16, 2015 Udostępnij Wrzesień 16, 2015 po long czas, dystans brakuje ; a w ostatnim kodzie brakuje pinMode(3, OUTPUT); Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Wrzesień 16, 2015 Udostępnij Wrzesień 16, 2015 Zakurek, dzięki - coś przy kopiowaniu musiał się namieszać. Już poprawione 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
rafalski76 Wrzesień 17, 2015 Udostępnij Wrzesień 17, 2015 Poproszę o kolejne odcinki kursu - jest świetny! 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Wrzesień 17, 2015 Udostępnij Wrzesień 17, 2015 rafalski76, dzięki za motywację do dalszej pracy 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
BartoszBor Wrzesień 17, 2015 Udostępnij Wrzesień 17, 2015 Witam Jako swój pierwszy projekt na arduino stworzyłem prosty "fotoradar" obliczający prędkość obiektu poruszanego się przed tym właśnie czujnikiem. Brakuje kilku elementów, które chciałbym dodać w najbliższym czasie tj. "flash" przy oświetleniu niższym niż 50%, zapisywanie prędkości większej od 10km/h do tablicy i generowanie "mandatów", oraz kilka innych bajerów. Poniżej wklejam kod, użyłem wyświetlacza 2x16 w projekcie, na którym wyświetlane są 2 odległości po czasie 1s, oraz prędkość liczona z różnicy pomiędzy tymi odległościami przez czas 1s bo po takim czasie następują pomiary. #include <LiquidCrystal.h> //Dołączenie bilbioteki #define trig 10 #define echo 11 LiquidCrystal lcd(2, 3, 4, 5, 6, 7); //Informacja o podłączeniu nowego wyświetlacza void setup() { lcd.begin(16, 2); //Deklaracja typu lcd.setCursor(0, 0); //Ustawienie kursora pinMode(trig,OUTPUT); pinMode(echo, INPUT); lcd.print("Fotoradar v1"); delay(1500); lcd.clear(); } void pomiar(){ digitalWrite(trig,LOW); delayMicroseconds(2); digitalWrite(trig,HIGH); delayMicroseconds(10); } void loop() { double czas, dist, czas1, dist1; delay(100); pomiar(); czas = pulseIn(echo, HIGH); dist = czas / 58; lcd.print(dist); lcd.print(" "); delay(1000); pomiar(); czas1 = pulseIn(echo, HIGH); dist1 = (czas1 / 58); lcd.print(dist1); lcd.setCursor(0,1); lcd.print("v: "); lcd.print((dist1-dist)/100 * 3,6); lcd.print(" km/h"); delay(3000); lcd.clear(); } Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Wrzesień 17, 2015 Udostępnij Wrzesień 17, 2015 BartoszBor, bardzo ciekawy projekt! Mała sugestia, nie lepiej byłoby, aby funkcja pomiar() zwracała obliczoną odległość? W tej chwili jest to mało intuicyjne, że po jej wywołaniu musimy nasłuchiwać jeszcze osobno impulsu. Cytuj Link do komentarza Share on other sites More sharing options...
BartoszBor Wrzesień 17, 2015 Udostępnij Wrzesień 17, 2015 Treker, program do poprawek, dzięki za radę 😉 pochwale się gotowym projektem 😉 Cytuj Link do komentarza Share on other sites More sharing options...
r-tea Wrzesień 20, 2015 Udostępnij Wrzesień 20, 2015 Zamiast buzera dałem LED. Zmodyfikowałem funkcję zakres(int a) aby sprawdzała jedynie jedną wartość, a mianowicie czy jest poniżej danej wartości. wywołuję ją z a=25. W oknie monitora portu szeregowego otrzymuję wartości zawsze grubo powyżej 25, a mimo to LED częściej się zapala niż gaśnie. #define trigPin 13 #define echoPin 12 void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); //Pin, do którego podłączymy trig jako wyjście pinMode(echoPin, INPUT); //a echo, jako wejście pinMode(8, OUTPUT); digitalWrite(8, LOW); } void loop() { Serial.println(zmierzOdleglosc()); zakres(25); delay(500); } int zmierzOdleglosc() { long czas, dystans; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); czas = pulseIn(echoPin, HIGH); dystans = czas / 65; return dystans; } void zakres(int a) { int jakDaleko = zmierzOdleglosc(); if (jakDaleko < a) { digitalWrite(8, HIGH); //Włączamy LED } else { digitalWrite(8, LOW); //Wyłączamy LED, gdy obiekt poza zakresem } } Cytuj Link do komentarza Share on other sites More sharing options...
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!