Skocz do zawartości

Kurs Arduino - #2 - podstawy programowania, porty I/O


Komentator

Pomocna odpowiedź

html_mig_img
W drugiej części kursu Arduino zaczniemy pisać programy. Na początku zajmiemy się kompletnymi podstawami.Arduino operuje na dostosowanym do platformy języku C. Artykuł ten wprowadzi więc w podstawy programowania w C i przedstawi jego praktyczne wykorzystanie na przykładzie portów I/O.

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.

Link do komentarza
Share on other sites

1.1 -> przy 11 milisekundach moje oko przestaje rozróżniać czy dioda miga czy nie 🙂 korzystałem z diody niebieskiej.

[ Dodano: 25-04-2015, 15:17 ]

W moim przypadku w punkcie "Wejścia układu w praktyce – instrukcja warunkowa" dioda cały czas się świeci, a gdy wcisnę przycisk świeci się nieco mocniej -> gdzie mogę robić błąd?

Link do komentarza
Share on other sites

1.1 Granica widoczności dla mnie to 8-9ms, ale z małym oszustwem- nie należy patrzeć prosto na diodę, a skupić wzrok na obiekcie parę cm od niej, tak by była w kącie oka-pręciki zrobią resztę 😉 Wynik mógłby być jeszcze trochę podrasowany gdybym użył diody niebieskiej zamiast czerwonej.

Ogólnie fajny ten kurs, ale odcinki mogłyby się pojawiać częściej (╯°□°)╯︵ ┻━┻ chyba że waszym celem było zwiększenie sprzedaży książek o Arduino dla początkujących waszemu partnerowi, w takim wypadku gratuluję skuteczności ( ͡° ͜ʖ ͡°)

Link do komentarza
Share on other sites

htfhere, zly_wieczor, gratuluje dobrych wyników. Oczywiście wszystko zależy od tego, której diody użyjecie (oraz z jakimi rezystorem).

Ogólnie fajny ten kurs, ale odcinki mogłyby się pojawiać częściej (╯°□°)╯︵ ┻━┻ chyba że waszym celem było zwiększenie sprzedaży książek o Arduino dla początkujących waszemu partnerowi, w takim wypadku gratuluję skuteczności ( ͡° ͜ʖ ͡°)

Książka jest płatna, a kurs darmowy - każdy może wybrać ( ͡° ͜ʖ ͡°)

W moim przypadku w punkcie "Wejścia układu w praktyce – instrukcja warunkowa" dioda cały czas się świeci, a gdy wcisnę przycisk świeci się nieco mocniej -> gdzie mogę robić błąd?

Czy Twój program wygląda dokładnie tak samo jak w kursie? Nie zapomniałeś o części z "else"?

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

Treker Tak, program wyglądał dokładnie tak samo. Musiałem popełnić błąd przy montowaniu elementów na płytce stykowej - po rozłożeniu i złożeniu układu ponownie wszystko działało prawidłowo. Tak samo jak zly_wieczor apeluję - nie każcie nam czekać tyle na kolejne odcinki kursu, błagam...( i tak samo też już kupiłem książkę 🙂 )

Link do komentarza
Share on other sites

Treker, mógłby brzmieć jeszcze lepiej, coś w stylu "dzisiaj nowa cześć Arduino, w czwartek nowa część kursu elektroniki, a tak w ogóle to przechodzimy na wydawanie nowych części kursów co drugi dzień", no ale lepsze to niż nic 😋

Link do komentarza
Share on other sites

bocian, z funkcją się nie spotkałem, ciężko wyobrazić sobie jej działanie. Musiałbyś jako argumenty podać listę pinów oraz trybów.

Wykorzystywanie pinMode zapewnia dużą czytelność, co więcej operację te wykonujemy tylko raz, więc chyba można wytrzymać takie powtarzanie. Jednak, do zautomatyzowania procesu konfiguracji można wykorzystać do pętlę for oraz tablice. O tych elementach w kursie będzie trochę dalej. Obiecuję dodać wtedy odpowiedni przykład.

Link do komentarza
Share on other sites

[ Dodano: 25-04-2015, 15:17 ]

W moim przypadku w punkcie "Wejścia układu w praktyce – instrukcja warunkowa" dioda cały czas się świeci, a gdy wcisnę przycisk świeci się nieco mocniej -> gdzie mogę robić błąd?

Błąd jest na schemacie dodanym do tego ćwiczenia. Przycisk jest obrócony w płytce stykowej o 90°, widać między nóżkami wejścia a wyjścia 2 wolne pola. Powinno być 1 pole.

Link do komentarza
Share on other sites

bloodsimple, to zależy od wykorzystanych przycisków. Akurat do zaproponowanych zestawów dołączone są takie, które mają tylko 2 wyprowadzenia. Zresztą nawet, gdyby ktoś podłączył przycisk odwrotnie, to nie powinno być żadnej reakcji na wciśnięcie - tutaj była. Może autor pytania dopisze w wolnej chwili na czym dokładnie polegał błąd w jego wykonaniu 🙂

Link do komentarza
Share on other sites

Nie wiem dlaczego ten ostatni kod (z while) u mnie nie działa... Świeci się dioda 8 niezależnie od naciśnięć...

Co mogę robić nie tak?

Dodatkowo w tym ostatnim kodzie, a konkretniej w komentarzach jest jak dla mnie nieścisłość... Mianowicie jest na pisane:

while (digitalRead(7) == HIGH) {} //Jeśli przycisk jest wciśnięty 

A wcześniej sam pisałeś:

while (digitalRead(7) == LOW) { //Jeśli przycisk jest wciśnięty 

Pozdrawiam.

PS. Fajny kurs, forum i blog 🙂

edit:

Już wiem co było nie tak. Miałem między przyciskiem a masą rezystor, tak jak w diodach 😋

Ale co dziwne w innych kodach taki układ działał, a w tym ostatnim "while-owym" z bloga już nie... Hmm...

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.