Od czego zacząć zabawę z Arduino?

Od czego zacząć zabawę z Arduino?

Czym jest Arduino, pisałem już ostatnio. Dzisiaj natomiast pokonamy wspólnie pierwsze kroki z Arduino – zaczynając od wyciągnięcia z pudełka, a na napisaniu i uruchomieniu pierwszego programu kończąc.

Zakładam, że samą płytkę Arduino wszyscy zainteresowani tematem już sobie sprawili :) Jeżeli ktoś przespał poprzedni post, to przypominam, że w Arduino można zaopatrzyć się tutaj (sama płytka Arduino), lub tutaj (zestaw startowy Arduino).

Mając już w łapkach Arduino możemy przystąpić do zabawy!

Oprogramowanie Arduino IDE

Na sam początek musimy sobie ściągnąć z tej strony Arduino IDE, za pomocą którego będziemy programować mikrokontroler w naszym Arduino.

W przypadku Windowsa wystarczy ściągnąć odpowiednią paczkę i rozpakować ją gdzieś na dysku. Po rozpakowaniu możemy już podłączyć nasze Arduino do PC. Użytkownicy innych systemów muszą się niestety posiłkować wiedzą wygrzebaną w Google, ponieważ nie mam jak przygotować stosownych opisów instalacji :)

Podłączenie Arduino do PC i instalacja sterowników

Arduino podłączamy do komputera za pomocą kabla USB typu A-B (takiego, jak do drukarki). Po podłączeniu system sam spróbuje zainstalować odpowiednie sterowniki, lecz najprawdopodobniej mu się to nie uda i będzie trzeba zainstalować te sterowniki ręcznie.

Ręczna instalacja sterowników wygląda mniej więcej tak:

  1. Podłącz Arduino do USB
  2. Poczekaj, aż system skończy szukać sterowników
  3. Wejdź do Panelu Sterowania i otwórz Menadżer urządzeń
  4. Kliknij prawym przyciskiem myszy na Arduino UNO i wybierz “Aktualizuj oprogramowanie sterownika”
  5. Wybierz “Przeglądaj mój komputer w poszukiwaniu oprogramowania sterownika”
  6. Zaznacz folder “drivers” znajdujący się w rozpakowanym wcześniej katalogu z Arduino IDE
  7. Potwierdź, że na pewno chcesz zainstalować te sterowniki
  8. Zapamiętaj numer portu COM, który po zainstalowaniu sterowników będzie widoczny w górnej części okna

Przygotowałem też dla Was screencast, na którym pokazałem całą operację instalowania sterowników dla Arduino UNO (niestety po angielsku). Screencast jest nagrany w 720p, więc najlepiej będzie się go oglądało na pełnym ekranie :)

I to już jest koniec gry wstępnej ;)

Pierwsze uruchomienie Arduino IDE

Uruchomcie Arduino IDE klikając dwa razy w rozpakowanym wcześniej katalogu na plik arduino.exe. Ujrzycie mniej więcej takie okno:

Arduino IDE

To właśnie w tym okienku będziemy pisać i wysyłać do mikrokontrolera wszystkie programy.

Zanim jednak napiszemy pierwszy program, musimy ustawić jeszcze dwie rzeczy. W menu Tools » Board wybierzcie wersję Arduino, którą posiadacie (np. Arduino UNO), a w Tools » Serial Port zaznaczcie port, do którego jest podłączona płytka Arduino (to jest ten port, który trzeba było zapamiętać w czasie instalacji sterowników). No – i teraz możemy już przejść do programowania :)

Pierwsze programowanie Arduino

W samym Arduino IDE jest cała masa przykładowych programów, które są dobrze opisane za pomocą komentarzy. Na początek wgramy sobie właśnie jeden z takich przykładowych programów. Z menu File » Examples » Basics wybierzcie Blink. Jest to bardzo prosty program, który jest odpowiedzialny za miganie diody znajdującej się na płytce Arduino, która jest podłączona pod pin 13:

Dioda LED umieszczona na płytce Arduino

Omówmy sobie po kolei cały program:

Aby wysłać program do Arduino wystarczy wcisnąć przycisk ze strzałeczką (i zaznaczony strzałeczką;)

Arduino IDE - blink

Po wgraniu programu w dolnej części okna pokaże się napis Done uploading (widać go już na powyższym screenie), a dioda LED powinna zacząć mrugać :)

Na samym dole okna Arduino IDE będą się wyświetlać różne komunikaty kompilatora. W tym przypadku została wyświetlona informacja o wielkości naszego programu, oraz o maksymalnej pamięci dostępnej w mikrokontrolerze. W przypadku pojawieniu się jakichś błędów, zostałyby one wyświetlone także w tym miejscu.

Najprostszy układ prototypowy

Udało się nam już zmusić do mrugania diodę znajdującą się na płytce Arduino. Teraz zbudujemy sobie możliwie najprostszy układ prototypowy i zmusimy do mrugania dowolną diodę podłączoną za pośrednictwem rezystora (około 220Ω) do Arduino.

Nasz przykładowy program steruje napięciem na pinie 13, do którego jest podłączona dioda na płytce. Nic jednak nie stoi na przeszkodzie, żeby podpinając się pod pod pin 13 i GND (masę) sterować dowolną inną diodą. Mając płytkę stykową można na szybko sobie zmontować taki układ:

Podłączenie diody LED do Arduino

Oczywiście pin 13 jest tutaj tylko przykładem. Równie dobrze moglibyśmy zmienić w programie numer pinu na 6 i pod ten właśnie pin podpiąć dodatkową diodę.

Żeby nie musieć zmieniać numeru pinu w kilku miejscach (w naszym przykładowym programie występuje on 3 razy), można go sobie przypisać do zmiennej, do której będziemy się później tylko odwoływać:

Przy tak krótkich programach raczej nie ma to większego znaczenia, ale przy bardziej rozbudowanych projektach, w których wykorzystujemy kilka, czy nawet kilkanaście wejść i wyjść i wielokrotnie się do nich odwołujemy, przypisywanie numerów pinów do zmiennych bardzo ułatwia pracę.

Podłączmy coś na wejście

Cała zabawa z mikrokontrolerami nabiera sensu dopiero wtedy, gdy oprócz wyjść zaczniemy wykorzystywać także wejścia. W kolejnym przykładzie podłączymy pod Arduino potencjometr, za pomocą którego będziemy regulować częstotliwość migania diody.

Podłączenie potencjometru do Arduino

Potemcjometr został tutaj wykorzystany w roli dzielnika napięciowego. Tzn. napięcie podane na jego skrajne nóżki (+5V i masa) jest dzielone na dwie części, z których jedna część jest przekazywana na wejście A0 (wejście analogowe). Kręcąc potencjometrem zmieniamy wartość napięcia, jaka jest podawana na wejście.

Napięcie podane na wejście analogowe jest odczytywane przez Arduino jako liczba w zakresie od 0 (dla 0V) do 1023 (dla 5V). Jeżeli więc przykładowo podamy na wejście analogowe 2,5V, to zostanie to odczytane jako ~512. Mam nadzieję, że do tego momentu jest wszystko jasne :)

Resztę omówię już w samym programie:

Kod zaczyna się powolutku komplikować, ale mam nadzieję, że całość jest dla wszystkich jasna (jak coś, to pytajcie śmiało na naszym forum:)

Wprowadzając do układu malutką modyfikację możemy uzależnić szybkość migania diody np. od natężenia światła w pomieszczeniu :) Wystarczy zamiast potencjometru wykorzystać dzielnik napięcia zrobiony z fotorezystora i rezystora. Teraz do zabawy możemy użyć w zasadzie dowolnego rezystora w zakresie od kilkuset Ω do kilku kΩ.

Może na początek wyjaśnię, czym jest fotorezystor. Najprościej mówiąc, jest to rezystor, którego rezystancja zmienia się w zależności od natężenia światła, które na niego pada.

Podłączenie fotorezystora i diody LED do Arduino

Jak widać na powyższym obrazku, fotorezystor został wpięty między +5V a pin A0, a następnie przez rezystor do masy. Jest to dokładnie takie samo podłączenie, jak w przypadku potencjometru. Tutaj po prostu zamiast dwóch skrajnych wyprowadzeń potencjometru mamy nóżkę od fotorezystora i rezystora, a zamiast środkowego wyprowadzenia potencjometru mamy połączone ze sobą drugie końce fotorezystora i rezystora (nie zamotałem za bardzo?;)

Programu zmieniać w zasadzie nie musimy, bo nasz układ praktycznie się nie zmienił. Po złożeniu całości wystarczy podpiąć zasilanie i już można się cieszyć diodą, której prędkość mrugania jest uzależniona od natężenia światła:

Na czas kręcenia filmiku podłączyłem dodatkowo buzzer, żeby było wyraźnie widać i słychać zmianę częstotliwości :)

Na dzisiaj koniec

Na tym zakończymy ten post, który miał Was tylko wprowadzić w podstawy programowania Arduino. W kolejnych postach zajmiemy się już konkretnymi projektami, w których będę na bieżąco omawiał wszystkie nowe rzeczy pojawiające się w programach :)

Ocena: 4.89/5 (głosów: 138)

Podobne posty

159 komentarzy do “Od czego zacząć zabawę z Arduino?

    • @Krzysiek:
      Nie, naucz się pythona ;)
      nie jest to odpowiedz na odczepnego a dobra rada, trudno jest to przepisać na c++, a python to naprawdę świetny język i nauczenie się tyle żeby zrozumieć co tam jest zajmie ci chwilę (zakładając że znasz się trochę na programowaniu) i może przy okazji przerzucisz się na pythona :D

      Odpowiedz
    • @Adam: Nie do końca, to jest kombajn PC i arduino. Program w javie przekształca midi na częstotliwości a te na ruchy silnikami krokowymi i podsyła do arduino. Kontroler tylko te polecenia wykonuje

      Odpowiedz
  • Mam pytanie czy można by było wyciągnąć ten zaprogramowany mikro-kontroler z arduino i włożyć go do płytki stykowej i to wszytko zmontować tak żeby ta dioda mrugała.

    Odpowiedz
    • Może nie wyciągnąć, ale bez problemu można podpiąć do Arduino dodatkowy mikrokontroler (jakąś ATmegę, czy ATTiny) i do niego wrzucić ten program :) Będę to pokazywał w jednym z kolejnych postów.

      Odpowiedz
  • hmm.. szkoda tylko ze do starter kita nei dodają potencjonometru.. właśnie co z Uno z podstawka? moze sluzyc jako programator takowych mikrokontrolerow?

    Odpowiedz
    • Niezależnie od tego, czy jest w podstawce, czy nie, można za pomocą Arduino programować same kontrolery :) Po prostu na czas programowania podpina się je do pinów Arduino i tyle :)

      Odpowiedz
      • Arduino po załadowaniu odpowiedniego programu staje się programatorem mikrokontrolerów ze stajni Atmela. Możliwe, że da się tak programować też inne uC :-)

        Odpowiedz
    • @Mateusz: Taki układ jest przydatny właśnie wtedy, gdy chcesz zaprogramować dodatkowy mikrokontroler i używać go poza Arduino. Tzn na Arduino robisz sobie prototyp, a później gotowy układ montujesz już na bazie takiego czegoś z linka :)

      Odpowiedz
      • Na obrazkach brakuje filtrowania zasilania za pomocą dwóch kondensatorów.

        Zamiast int diodaPin 13 można napisać #define diodaPin 13
        Zamiast pisać LOW HIGH można pisać czytelniej i krócej 0 1.

        W liniksie i macu strzałka tylko sprawdza program pod kątem błędów. Do arduino zaś wysyłamy program całkowicie innym klawiszem.

        pozdrawiam

        Odpowiedz
    • @Mateusz:
      Musisz tylko wgrać firmware do procka i skombinować jakiś “serial” na TTL – kabel USB do komórki, lub scalaczek pt. MAX232 i sprzętowy serial w komputerze. Dla odważnych: przejściówka USB/Serial i potem MAX232.

      Ja mam kawałek płytki uniwersalnej z FT232RL (scalak USB do RS232 w standardzie TTL) oraz MAX232 (konwerter napięć między TTL a standardem RS232).

      Mam też programator, więc zamiast Arduino używam kitów z AVT: AVT1622v2 w wersji z USB oraz AVT2892 (przy obu piszą, że to dla ATmega8, ale u mnie siedzi 328 – procki są “z grubsza” zgodne noga w nogę :)

      Jedyna wada – wersja z USB nie ma połączonego bodaj RTSa, więc trzeba ręcznie wykonać reset do programowania (albo otworzyć schemat Arduino duemilanove i dolutować brakujące połączenie, kondensator i opornik). Dodatkwo trzeba sobie wydrukować kartkę z numerami nóg procka i mapowaniem na piny Arduino (albo od razu “dorosnąć” i pisać w C ;)

      Odpowiedz
    • @Szymon: @Mateusz: Jasne, że tak. Cała magia Arduino to to, że urządzenie jest poskładane, zaprogramowane i gotowe do pracy, reszta to wsparcie społeczeństwa i masa gotowych rozszerzeń, które możesz sobie i tak sam wykonać.

      Jeśli nie masz funduszy na pełne Arduino poproś kogoś aby wgrał Ci bootloader do mikrokontrolera, resztę możesz zrobić wzorując się np. na http://kml.jogger.pl/2010/01/03/bieduino-zrob-sobie-arduino-za-10zl/.

      Inna możliwość to kupienie lub wykonanie programatora.

      Odpowiedz
  • Moje arduino dotarło w piątek, ogarniam na szczęście C bez większych problemów :) Dzisiaj zrobiłem sobie w ramach wykorzystania starter kitu termometr, i pomiarem natężenia światła podawanego w procentach (i stopniach w przypadku temperatury) na serial, oraz na 5-diodową skalę, która pokazuje natężenie światła :)
    Dodatkowo do płytki stykowej polecam przy krótkich odległościach zszywki do papieru :) Kiedy musimy połączyć np. jakieś skrajne pole z pionowych z masą czy prądem to estetyczniej i przejrzyściej to wygląda niż piętrzące się kabelki stykowe :)
    Bardzo dobry wstęp do Arduino, na pewno będę śledzić kolejne :)

    Odpowiedz
  • Witam
    Zacznę od tego że bardzo podoba mi się to co na tym blogu jest zamieszczane. Ale mam pytanie czy będzie może taki pościk jak zrobić prosty termometr (do auta bądź domu) na atmedze? Widziałem takie coś na elektrodzie ale tam jest napisane takim językiem że niestety ale nie ogarniam tego.

    Odpowiedz
  • Łukaszu, początek o Arduino super.
    Już właśnie zostałem zmuszony do zakupu jej zabawki przez syna – jakoś się policzymy :-).
    A tak na poważnie, wydaje mi się, żeby trochę bardziej wciągnąć młode pokolenie w elektronikę i zabawe nią chciałbym Cię prosić abyś podlinkowywał jakieś tłumaczenia podstaw. U mnie w trakcie zabawy padło odrazu pytanie a czemu to “rezystor (około 220Ω)” a nie na przykład 500 itd.
    Moze jakiś dodatkowy dział z podstawami elektroniki?

    Kyniu

    Odpowiedz
    • Jak najbardziej jestem za edukacją młodszego pokolenia :) W powijakach mam już na blogu dział Wiki, w którym będą się pojawiać wszystkie podstawowe definicje napisane tak, żeby właśnie każdy zrozumiał. Tylko ciągle coś mi wypada i nie mam kiedy tego skończyć :)

      Odpowiedz
      • @Sebastian: Nie chodzi o “Opornych” bo ja elektroniką zacząłem bawić się jeszcze za czasów Rubina – jeżeli wiesz co to było.
        Mnie chodzi o młode pokolenie – czyli takie powiedzmy od 10 lat w górę – żeby mogło się uczyć elektroniki zabawą i co najważniejsze rozumiało o co chodzi a nie tylko na pałę robiło/kopiowało rozwiązania.

        Kyniu

        Odpowiedz
        • @Kyniu: Jeśli tym Rubinem, próbujesz mnie zawstydzić to prawie Ci się udało, niestety pamiętam tylko Neptuny.

          Ta książka to nie same gotowce (które oczywiście są, bo na czymś trzeba objaśnić zasady) a opis podstaw właśnie. Książka dla opornych to raczej miękki start bez nadmiaru teorii, który zawiera także kilka przykładów i opis jak analizować obwody i posługiwać się podstawowymi narzędziami, czyli dokładnie to o co zapytałeś. Nie jestem w stanie przytoczyć innej pozycji, która omawiała by tak dużo nie robiąc z tego typowo podręcznikowego bełkotu.

          Poza tym musisz się zdecydować dla kogo to ma być, czy dla Ciebie, który już coś umie i szuka czegoś bardziej harcorowego, czy dla nowego pokolenia… Propozycja książkowa jest dla tych drugich – łącznie z tymi co pierwszej młodości już nie są ale z elektroniką mają tyle wspólnego co przeciętny użytkownik pilota od telewizora.

          Dla 10-latków mimo wszystko lepszą opcją będzie ktoś z doświadczeniem niż strona Internetowa.

          Odpowiedz
          • Dla przykładu sam sięgnąłem po tę pozycję już dłuższy czas temu. Moje wrażenie? Świetny start i powiem szczerze że na start nie znalazłem nawet w połowie tak dobrej pozycji, wszędzie bezsensowne (jak dla mnie i mój poziom) bełkoty. Po za tym pomogło mi to na studiach (na miernictwie się chociaż orientowałem co nie co).

            Odpowiedz
  • Biorąc pod uwagę że arduino to gotowa płytka a my podłączamy tylko peryferia to najbardziej zaawansowana wiedza jaka jest potrzebna to RUI i PUI.
    R=U/I i P=U*I
    R-opór w omach, I-prąd w amperach, U- napięcie w woltach, P-moc w watach. Osoba logicznie i konsekwentnie myśląca będzie w stanie przekształcić sobie te wzory i policzyć wszystko co mu będzie potrzebne. Na stronie Arduino podane jest w specyfikacji sprzętu, że maksymalne obciążenie wyjść/wejść (I/O)
    to 40mA. Z tego wynika, że dla napięcia 5 VDC minimalny opór, który możemy podłączyć to R=5/0,04, co daje 125 Ohm. Nie wiem czy można spalić wyjście w arduino. Na razie nie chciałem sprawdzać. Jeżeli ktoś wie, to proszę o taką informacje. Dodatkowo w diodach występuje coś takiego jak spadek napięcia, jeżeli mógłby ktoś to wyjaśnić i napisać jaki opór ma dioda, że trzeba dodawać opornik. Dodatkowo, proszę o informacje, czy mogę “na krótko” podłączyć 5 VDC do wejścia analogowego. Z tego co wiem woltomierz w multimetrze jest w teorii nieskończonym oporem, ale nie wiem jak to jest zrobione w arduino.

    Odpowiedz
  • Taki zestaw w zupełności wystarczający? Jakie elementy będą potrzebne do przyszłych projektów? Można programować w C++? Czy dla kogoś o małej wiedzy Arduino jest odpowiednie? LEpiej UNO czy Mega? No i w końcu czy nie ma problemu z klonami (30 zł taniej)? Dziękuję za odpowiedzi :)

    Odpowiedz
  • Witam, mam pytanie, jak można “ożywić” nowo kupioną Atmegę ze sklepu mając Arduino Uno R3 ? Czy trzeba wyciągać stary procesor z podstawki, czy można bez ? Wiadomo, że trzeba wgrać bootloader.

    Odpowiedz
  • Cześć, zastanawiam się czy na początek nie kupić Arduino Leonardo zamiast UNO jako zestaw startowy, czy mogą wystąpić jakieś z tym problemy?

    Drugie pytanie, chciałbym do zestawu startowego kupić silniczek gdzie najlepiej taki znaleźć?

    Odpowiedz
  • Witam
    Czytam i nieśmiało myślę o wdrożeniu się w to cudo ( andruino) w zasadzie mam już cały wstęp przerobiony, a wszystko za sprawą krótkofalarstwa. mamy często problem z odczytem położenia anteny na maszcie. Myślę sobie jak zrobić aby przy dokładnym potencjometrze wieloobrotowym ( rezystor) przy podziale od 0 do 1021 chyba nie ma problemu o podział przy założeniu iż kręcić będę w osi 360 stopni. Tu interpretacja procka o wejściu sygnału analogowego z potencjometru jest jasna ale proszę o pomoc i pomysły jak wykonać aby info w postaci stopni pokazywał mi się na wyświetlaczu ?
    Przepraszam za problem i proszę o pomoc – SP3S Jerzy

    Odpowiedz
    • Czyli wątpliwości masz jedynie odnośnie samego wyświetlacza? Sprawa jest w zasadzie prosta, ale w komentarzach nie będę się o tym rozpisywał :) Jeżeli masz czas, to możesz poczekać na jeden z kolejnych postów, w których na pewno pojawi się wyświetlacz w pewnym projekcie (myślę, że pojawi się przed końcem miesiąca), albo po prostu rzucić temat na naszym forum https://majsterkowo.pl/forum/ :)

      Pozdrawiam!

      Odpowiedz
  • Siemka, mam ciągle problem wywa;la errory, już nie mam siły :(

    Binary sketch size: 1 440 bytes (of a 7 168 byte maximum)
    avrdude: error: programm enable: target doesn’t answer. 1
    avrdude: initialization failed, rc=-1
    Double check connections and try again, or use -F to override
    this check.

    Odpowiedz
  • Witam,

    i do mnie dotarło Arduino, od razu zabrałem się za eksperymenty :) Na początek wprowadziłem modyfikację programu “Migająca dioda”, modyfikacja polegała na wstawieniu dodatkowej diody, odpalanej z kolejnego wyjścia. Obie mają różny czas migania (pierwsza 200ms, druga 1s), zauważyłem, że pierwsza (wyjście – 7) zapala się i świeci tak jak założyłem, czyli 200ms, po wygaszeniu zapala się druga dioda (wyjście – 8), świeci zadany czas 1s, gaśnie i ponownie zapala się pierwsza dioda.
    Dlaczego pierwsza dioda nie odpaliła się kolejne pięć razy? Czy funkcja delay w jednej pętli może być wykorzystana tylko raz?
    Pozdrawiam

    Odpowiedz
  • Witam !
    Próbuję uruchomić pierwszy program na Arduino Leonardo, migającą diodę i nic mi z tego nie wychodzi. Wszystko zrobiłem jak w przewodniku powyżej, Arduino jest widoczne, diody migają ale nie w rytm programu tylko jak chcą a mnie wyświetla się komunikat : Problem z przesyłaniem danych na płytkę.
    Found programmer: Id = “Bp¤”; type =
    Software Version =
    Hardware Version =
    avrdude: error: buffered memory access not supported. Maybe it isn’t
    a butterfly/AVR109 but a AVR910 device?
    Może ktoś mi pomóc? Co zrobiłem nie tak? system: WindowsXP
    Mogę wysłać zrzut ekranu dla informacji.
    pozdrawiam

    Odpowiedz
  • Witam, te instrukcje bardzo mi sie przydadzą. Jeśli chodi o arduino to jestem początkującym. Wszystko przejrzyście pan/i wytłymaczył/a dziękuje. ;-)

    Odpowiedz
    • Bo potencjometr ma 3 wyjścia i jest dzielnikiem, fotorezystor ma 2 i trzeba dołożyć trzecie :) Trzeba zrobić z tego dzielnik, jak z dwóch rezystorów. resztę znajdziesz w necie.

      Odpowiedz
    • Najprościej jak tylko umiem odpowiem- żeby utworzył się dzielnik napięcia. Jeżeli tego nie zrobisz to w tym przypadku nie będzie żadnej różnicy dla układu czy fotorezystor jest oświetlony czy nie.

      Odpowiedz
  • Mam problem, który polega na:
    Uruchamiam Arduino 1.0.5 na Windows 7 (+ sterowniki) i działa wszystko pięknie :)
    Uruchamiam Arduino 1.0.5 na Windows 8 (+ sterowniki) i nie działa :(
    Wyświetla “Błąd kompilacji” i nic poza tym. Przeinstalowałem Jave ale nie pomogło.

    Odpowiedz
    • Odpowiem sobie :)
      Szybki ale i też doraźny póki co sposób w który rozwiązałem mój problem: instalacja Ubuntu obok Windowsa i wsio działa :)

      Odpowiedz
  • Witam ! mam pytanie w zwiąsku z instalacją ardurino uno zrobiłem wszystko tak jak jest napisane do momentu wciśnięcia tools ponieważ wtedy zacina mi się całe ardurino i nie wiem co mam zrobić. POMOCY ! !

    Odpowiedz
  • Witam ja mam takie pytanko jak wgram to oprogramowanie na mruganie diody przetestuję je już to jak potem je usunąć by wgrać nowe. Czy jet to może tak zrobione że jak wgrywam nowe oprogramowanie to stare się automatycznie usuwa?

    Odpowiedz
  • Bardzo zainteresowalem się tym tematem mimo, że nie mam zielonego pojęcia na temat elektroniki. Co by się stało gdybym do diody nie podłaczył żadnego rezystora i skąd mam wiedzieć jakiego akurat użyć bo pewnie do każdych elementów (np. jakieś małe silniczki, ekrany itp) używa się innych oporności.

    Odpowiedz
      • Kup koniecznie książkę „Przygoda z Elektroniką” Pawła Borkowskiego. Tam jest wszystko wyłożone jak dla przedszkolaka. Polecam tą książkę, każdemu początkującemu zapaleńcowi.

        Odpowiedz
        • To spróbuj podłączyć bez rezystora, dowiesz się dlaczego jednak trzeba to zrobić. A propos chyba jest różnica 2,3 a 5,0? Skacząc z dachu na pewno byś to zauważył mi się wydaje.

          Odpowiedz
    • Jako iż chodzę do technikum elektronicznego to chciałbym ci to wyjaśnić w najłatwiejszy sposób: rezystor to takie “coś” co stawia opór, czyli ogranicza prąd.
      Dioda LED jeśli się nie mylę ma prąd maksymalny ~20mA (po przekroczeniu zacznie pracować nieprawidłowo i się spali). Znając napięcie na wejściu i prąd maksymalny możemy wyliczyć jaki rezystor potrzebujemy (prawo Ohma R=U/I). Przykład:
      U=5V I=20mA R=5V/0.02A czyli R=250 Ohm
      Oczywiście chcemy by dioda pracowała jak najdłużej, przez co dajemy nieco większą rezystancję np 330 Ohm i przez diodę przepływa wtedy prąd ~15mA
      (liczymy się z tym, że dioda słabiej świeci)

      Mam nadzieję, że wszystko jasne :)

      Odpowiedz
  • Mam pytanie, Co jest nie tak jeśli podłączyłem potencjometr z diodą do Arduino wg schematu (pierwszy schemat z punktu: “Podłączmy coś na wejście”) i dioda na płytce stykowej nie chce działać a dioda na Arduino reaguje na sterowanie potencjometru. Sprawdzałem czy nie popełniłem błędu przy łączeniu elementów wiele razy i wszystko wygląda identycznie jak na schemacie. Proszę o jakąś poradę.

    Odpowiedz
  • Jako zabawka to sympatyczne, ale raczej tylko jaka zabawka, absolutnie nie do celów profesjonalnych, program samej tylko blinking led zajmuje aż 1kbyte… w procku jest do dyspozycji 32kbyte… tutaj widać od razu problem, to jest właśnie efekt wysokopoziomowości programowania, coś za coś, ale dzięki temu prawie każdy może na tym pisać. Normalnie, dla porównania w 1kbyte kodu w Asemblerze można zrobić naprawdę sporo.
    Ale dla kogoś kto chce zacząć się bawić i wejść w ten piękny świat możliwości i się nie zrazić to piękna sprawa. Pozdrawiam

    Odpowiedz
    • Porównujesz Arduino IDE do assemblera? Hmmm…. Jeśli już chcesz coś porównać to moze do C powinieneś. A nie oznajmiasz wszystkim, że wiesz co to assembler.
      Arduino nie jest do profesjonalnych zastosowań.
      To platforma która ma uczyć, i pomagać prototypować w prosty sposób. Ja piszę w C, ale Arduino też używam.

      Odpowiedz
  • Super wpis, mega strona ;) tyle przydatnych materiałów. Parę wpisów i wydaje się że mam więcej wiedzy niż po kilku lata studiów :)

    Odpowiedz
  • Przepraszam, czy wie ktoś, dlaczego po podłączeniu do komputera, wybraniu spośród szkiców programu blink, jego załadowaniu, kompilacji otrzymuje taką informację? stk500_getsync(): not in sync: resp=0x00
    Dopiero zacząłem przygodę z arduino, więc nie mam pojęcia skąd się to wzięło.

    Odpowiedz
      • Ja mam identyczny problem, niestety w Narzędzia>Port szeregowy mam tylko jeden port do wyboru. nie mam innych.

        Fakt faktem – płytkę arduino robiłem sobie sam (Arduino Single-Sided Serial), płytka podłączana jest poprzez standardowy port szeregowy RS232.

        No i problem w tym, że w kompie nigdzie nie widzę arduino, IDe wraz ze sterownikami zainstalowałem, jednak w menedżerze urządzeń ani widu, ani słychu.

        Obstawiam, że nie mam sterownika arduino dla rs232.

        Ciekawe jest jednak to, że gdy wpiszę coś w monitorze portu i wyślę to na urządzenie, w momencie wysyłki, czerwona dioda RX mignie raz.

        Czyli port prawdopodobnie jest prawidłowy.

        gdzie szukać problemu?

        Odpowiedz
  • Witam, mógłby mi ktoś doradzić jak mrugać 7 diodami, każda z inną częstotliwością?

    Dla uściślenia-nie chodzi mi o PWM, tylko że dla diody nr 1 przerwa miedzy mrugnięciami ma być 2 sekundy, dla diody nr 2 3 sekundy itp.

    Odpowiedz
  • Jestem początkujący i mam takie pytanko: jaki potencjometr zastosować bo są różne 220om 10kom itp, rozumiem że jest to maksymalna wartość oporności ale jaki ma to wpływ na arduino i który zastosować?

    Odpowiedz
  • Połączyłem wszystko zgodnie ze schematem, przekopiowałem kod programu, a mimo to dioda miga mi ze stałą częstotliwością. Próbowałem z potencjometrem i fotorezystorem i podczas zmian nic się nie dzieję.

    W czym może być problem ?

    Odpowiedz
  • Chciałbym zacząć zabawę z arduino ale nie orientuje się w elektronice najwyżej latarkę umiem zrobić ,więc chciałem prosić o jakiś poradnik dla początkujących z słownikiem co dać w jakim przypadku.

    Odpowiedz
  • Mysle, ze powiedz jeszcze jak jest podlaczona plytka (co i jak sie laczy) pionowo wszystkie?)
    Po drugie dodaj oznaczenia. musialem sie domyslec ze dioda dluzsza nozka to + i na rysunku ma zagieta nozke.
    z potencjometrem juz bylo na czuja bo oznaczenia e01 nic mi nie mowią. to samo z rezystorem. mozna go podlaczac obojetnie jak czy jak dioda ma kierunek?

    Odpowiedz
  • Witajcie, mam takie pytanko czy jest możliwość załadowania kodu z arduino? Pytam bo pracuje na nowym komputerze, wszelkie dane z starego zostały stracone, a już kończyłem kodowanie do nie takiego małego projektu.

    Odpowiedz
  • Cześć Łukasz, cześć wzystkim!
    Mam pewien problem – otóż chcę zainstalować sterowniki do Arduino Uno i po podłączeniu programatora do kompa i wykonywaniu punktów z instrukcji pojawia się problem – “System Windows nie może zainstalować urządzenia USPasp”, no i na dole komuniaktu jakieś dwa zdania, że nie może odnaleźć oprogramowania do sterownika itd. itp. Dzieje się to w punkcie 6 instrukcji – po zatwierdzeniu foldera “drivers”…
    Ktoś pomoże rozwikłać problem?
    Dzięki
    Paweł

    Odpowiedz
  • Pomocy!!! Pierwszy raz programuje w Arduino i powiedzmy że jetem jaroszem w tych sprawach. Po wgraniu kodu umieszczonego na tej stronie , program Arduino wyświetla mi błąd kompilacji.Co zrobić ???

    Odpowiedz
  • Bardzo fajny ten kurs, na pewno pomocny dla kogoś kto nigdy nie miał styczności z Arduino, u mnie wszystko zadziałało od razu. Dużo lepiej sie tym bawi jak sie ma podstawy programowania opanowane i jakiś kurs elektroniki dla początkujących za sobą. Dla kompletnego laika polecam Praktyczny Kurs Elektroniki który wychodził z Młodym Technikiem, jest dostępny online.

    Odpowiedz
  • Witam, co robię źle, że po wpisaniu kodu miga mi dioda wbudowana, ale dioda w układzie prototypowym nie?
    Zmieniam parametr w kodzie, zmieniając częstotliwość mrugania, i faktycznie ta dioda wbudowana zmienia częstotliwość mrugania, ale na zewnątrz płytki jakby nie wychodzi sygnał przez PIN 13…
    Oto mój kod:

    void setup() {
    // initialize digital pin LED_BUILTIN as an output.
    pinMode(13, OUTPUT);
    }

    // the loop function runs over and over again forever
    void loop() {
    digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
    delay(100); // wait for a second
    digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
    delay(500); // wait for a second
    digitalWrite(13, HIGH); // turn the LED off by making the voltage LOW
    delay(1000); // wait for a second
    digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
    delay(500);
    }

    Odpowiedz

Odpowiedz

anuluj

Masz uwagi?