Skocz do zawartości

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


Pomocna odpowiedź

Napisano
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.

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?

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 ( ͡° ͜ʖ ͡°)

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"?

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ę 🙂 )

Dziś - nowa część kursu Arduino, czwartek - nowa część kursu elektroniki.

Dobry plan 🙂?

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 😋

A czy jest jakaś funkcja za pomocą, której będę mógł ustawić kilka pinów na raz żebym nie musiał wpisywać np. 13 razy pinMode ❓

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.

[ 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.

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 🙂

  • 2 tygodnie później...

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...

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ę »
×
×
  • Utwórz nowe...