Wprowadzenie do Arduino. Jak zacząć



Learnduino, projekt tworzony przez zapaleńców dla zapaleńców, zwolenników i sympatyków Arduino. Będziemy przedstawiać Wam nasze propozycje różnego rodzajów projektów z różnych dziedzin życia. W każdym spotkaniu z Wami chcielibyśmy przybliżyć Wam na czym polega programowanie Arduino, do czego je wykorzystać. Od nas dowiecie się w jaki sposób można wykorzystać je w życiu codziennym. Będziemy prowadzić z Wami polemikę na grupie facebookowej Learnduino . Zapraszamy również do naszego fan page mylearnduino. W przyszłości chcemy również uruchomić kanał video, gdzie będziecie mogli podejrzeć projekty stworzone dla Was. Zapraszamy również do zadawania pytań na stronie w komentarzach, na które chętnie odpowiemy, czekamy na Wasze sugestie, pomysły. Udostępnimy również nasze kanały komunikacji Wam, jeśli chcecie opublikować, pochwalić się własnymi projektami, etc. Biuletyn nasz będzie się ukazywał bez stałej częstotliwości. Jeśli będziemy mieć wystarczająca ilość materiału, przedstawimy Wam kolejne nasze pomysły, projekty.
Kody które będą zawarte są naszą własnością nie mniej, zezwalamy na ich publikację, udostępnianie, wykorzystywanie, do Waszych projektów. Możecie również dokonywać w nich zmian, lecz prosimy o jedno, doceńcie naszą pracę, nie usuwajcie nagłówka, dopiszcie swoje nazwisko i opis co zmieniliście w ten sposób nasza praca będzie docenieni, a i Wasz wkład w kod będzie zauważalny.
Od Was drodzy czytelnicy, internauci i użytkownicy będzie zależeć jak często będziemy się z Wami spotykać. Tylko Wasze opinie, uwagi i sugestie będą dla nas wykładnikiem, jakie jest zapotrzebowanie na nasze artykuły, filmy, porady i projekty. Czekamy na wszystkie Wasze uwagi, najbardziej na te krytyczne, bo one będą nas motywować by stać się lepszym. Zależy nam  przede wszystkim na  spełnianiu Waszych potrzeb.
Chcielibyśmy w każdym wydaniu przedstawić Wam kilka projektów, które będziecie mogli wykorzystać we własnych domach. Pod każdym, tekstem który będzie się ukazywać udostępnimy spis użytych części do budowy poszczególnych projektów. Stworzymy Wam możliwość zakupu zestawów do budowy naszych projektów w dużo niższych cenach niż na znanym portalu aukcyjnym. Dla bezpieczeństwa Waszych zakupów będziemy indywidualnie wystawiać aukcje. Po otrzymaniu płatności, zestawy będą niezwłocznie wysyłane na Wasz adres domowy. Wszelkie pytania, uwagi będziecie mogli zgłaszać prze fanpage oraz grupę. Pieniądze jakie pozyskamy w ten sposób przeznaczymy na nagrody i konkursy dla Was. Dla najbardziej aktywnych użytkowników na grupie, przewidujemy ciekawe nagrody. W każdym miesiącu będziemy oceniać aktywność użytkowników i nagradzać ich różnymi sensorami, układami itp.
Kurs programowania Arduino.

Wstęp.

Od czego zacząć? Co to jest Arduino? Czy dam radę programować Arduino? Ile kosztuje zabawa z Arduino. Na takie lub podobne pytania natknął się każdy z nas odwiedzając grupy Facebookowe lub inne fora wyspecjalizowane w elektronice. Co to jest Arduino ? Jest to platforma programistyczna która opiera się na prostym otwartym sprzęcie przeznaczonym dla mikrokontrolerów, które maja wbudowaną obsługę wejść i wyjść oraz maja standaryzowany język programowania. Język programowania Arduino jest hybryda środowiska Wiring i c/c++. Cel który przyświecał twórcą tego kontrolera jest prostota, niska cena oraz elastyczność. Arduino możną wykorzystać do tworzenia niezależnych, interaktywnych projektów, jaki można podłączyć je do komputera. Płytki Arduino zawierają kontroler, wejścia/wyjścia analogowe oraz cyfrowe, interfejs UART lub/i USB do podłączenia z komputerem. Od czasu, kiedy postała pierwsza płytka Arduino do dziś upłynęło sporo, toteż i nasze wymagania wzrosły przez co ciągle powstają nowe rozszerzenia oraz sensory. Arduino można programować w różnych językach: Javie, ActionScript, c/c++, c#, Perl czy VBScript. Programowanie najczęściej odbywa się przez Arduino IDE, które jest zbudowane na projekcie Processing. Arduino na tą chwilę mają wbudowane mikrokontrolery Atmel AVR, ale wiedzmy o tym że to nie jest wymóg, ważnym natomiast jest to by narzędzia wspierały język Arduino i były zaakceptowane przez Projekt Arduino. W ostatnim czasie na rynku pojawiło się bardzo dużo klonów, które są kompatybilne z Arduino. Klony Arduino jaki i karty rozszerzeń są produkowane w większości przez chińskich producentów i zwykle zawierają w swoich nazwach słowa Uno, Maga, Nano, Micro, Mini w zależności od modelu karty lub karty rozszerzeń (shields).
Projekt sprzętowy Arduino jest ogólnodostępny przez co, ci którzy chcą samodzielnie zbudować Arduino mogą to uczynić w pełni legalnie.
Osoby zainteresowane historią powstawania Arduino jak i najnowszymi informacjami odsyłam do oficjalnej strony www.arduino.cc oraz do https://pl.wikipedia.org/wiki/Arduino.
Od czego zacząć?
Wybór płytki z jaką rozpoczniemy zabawę z Arduino nie jest prosty, trzeba się nad nim zastanowić i rozważyć kilka aspektów:
1. Zakup oryginalnego, ale droższego rozwiązania,
2. Zakup chińskiego klona, ale kilka razy tańszego i długi czas oczekiwania na przesyłkę z chin
3. Kupno chińskiego klona na allegro nieco droższego, ale bez długiego oczekiwania na przesyłkę
4. Zakupić droższy chiński zamiennik, ale z lepszym wyposażeniem.
Każda z opcji ma swoich zwolenników i przeciwników.
Pierwsza opcja, zakup oryginalnego Arduino, wiele razy na forach spotykałem się z opiniami kupuje oryginalne bo wspieram producenta, mam ładnie zapakowane Arduino pochodzące z Włoch. Szanuje Wasz wybór, ale nie dokonałbym takiego wyboru, dlaczego ? Po pierwsze przepłacam, za pudełko które wyrzucam, jakość wykonania oczywiście nie podlega tu żadnej dyskusji, że zastosowane materiały są dużo bardziej solidne, dokładniej wykonane, wszystkie piny, gniazda, są równe i pięknie opisane, ale ni jak się ma to do działania. Oczywiście zaraz się znajdą osoby, które powiedzą, ale nie wspierasz producenta! Ja nie wspieram fabryki, która pochłania większość przychodów projektantów Arduino.
Druga opcja zakup chińskiego klona, no tak wydać 30 dolarów na oryginał czy 5 dolarów klona ? Tu są również zdania podzielone, tylu ilu uczestników dyskusji tyle zdań. Jedni powiedzą kupię oryginał za 30 dolarów mam pewność, że mam doby produkt i będzie długo działał powie zwolennik pierwszej opcji, natomiast zwolennik drugiej powie za 30 dolarów ja kupię 8 klonów w chinach, fakt, że dłużej będę czekać, ale w razie awarii mojego klona mam jeszcze 7 zapasowych
Osoby które wybiorą opcję trzecią w oczach kupujących w Chinach, pukają się w głowę i mówią po co czekać jak na allegro kupię chiński klon za 20-25 zł, wolę wspierać polski handel, większość firm handlujących płaci cło, podatki, daje pracę innym więc w taki sposób mogę pomóc polskiemu biznesowi. Trochę racji w tym mają, jeśli firma „drucik” płaci cło i podatek przy sprowadzeniu płytek do kraju. Ja nie wierzyłbym w bajki opowiadane przez sprzedawców, ze ich produkty są made in EU nie chińskie klony. Większej bzdury nie słyszałem, proszę mi wskazać europejską fabrykę, która za mniej niż 6 euro wyprodukuje Arduino i jeszcze na tym zarobi.
Mi natomiast bliżej jest do opcji czwartej. Kupić droższy klon z dodatkowymi układami, np. wifi, czy wyświetlaczem OLED.

Chińscy producenci podzielili się na trzy grupy, jedni stawiają na ilość i sprzedają tysiące układów za około 2 Euro, drudzy produkują pod swoją marka np. Keyestudio, której produkty są rozpoznawalne dzięki żółto czarnym opakowaniom kartonowym oraz żółtym dodatkom przy każdej czarnej płytce. Robotdyn, to kolejny producent który również, jak poprzednik postawił na jakość i innowacje. Ten producent zapoczątkował sprzedaż płytek Arduino uno z Wi-Fi, czyli z wbudowanymi układami esp8266 na pokładzie. Ich produkty mają wyższą cena, ale również ich jakość jest bardzo wysoka. Namawiam Was do tego by każdy zakup dokładnie przemyśleć i wybrać odpowiednią opcję dla siebie. Osobą które wybierają opcję, pierwszą mówię tak, ja wybrałem opcję czwartą i również wspieram producenta ponieważ kupuję produkty, które uważam, za bardzo dobre jakościowo, a zaoszczędzone pieniądze pozwalają mi na to by kupić, więcej dodatkowych sensorów jak i na dotację producenta na ich stronie https://www.arduino.cc/en/Main/Contribute do czego Was wszystkich gorąco namawiam.

Dobre czy nie dobre ?

Ostatnio spotykam się z częstym pytaniem jaki zestaw polecicie lub jaki zestaw mam kupić ? To pytanie pojawia się każdego dnia i muszę Was rozczarować nie mam dla Was jednej recepty jaki zestaw kupić. Bardzo rzadko zdarza się by producent zaproponował Wam dokładnie taki zestaw jaki potrzebujecie, dlaczego tak jest? A to dlatego, że na magazynach jest masa towaru setki tysięcy różnych części, jedne się sprzedają lepiej inne gorzej dlatego zaczęto produkować zestawy, które zawierają zarówno części, które się dobrze sprzedają, jak i te które zalegają na magazynach długi czas. W ten sposób producent pozbywa się nie dochodowego towaru sprzedając go po cenie zakupu, ponadto dodaje nam naprawdę nie źle skonfigurowane zestawy, które chętnie zakupimy. My kupujemy zestaw w atrakcyjnej cenie, sprzedawca pozbywa się zalegania oraz zarabia na najbardziej dochodowych częściach z zestawu. Czy to jest złe ? Nie, taki zestaw jest równie atrakcyjny jak każdy inny, tylko musimy sami zadać sobie pytanie do czego ma nam służyć zestaw? Wtedy dopiero będziemy mogli ocenić czy jest on dla nas atrakcyjny. Bo dla naszego kolegi był, ale czy dla nas na pewno ? Przytoczę Wam jeden ze scenariuszy jaki przeważnie prowadzę podczas rozmowy.

Rozmówca zadaje standardowe pytanie:
– Jaki zestaw polecasz ?
– A czego oczekujesz od tego zestawu ?
– No, żeby był fajny ?
– No dobra co to znaczy fajny ? Żeby co był kolorowy? Ładnie wyglądał?
– No nie, żebym mógł się nim długo bawić.
Przejmuję inicjatywę i mówię:
– Ok. Polecam Ci płytkę Wemos D1, dlatego że wygląda jak Arduino uno, jest z nim kompatybilna i pasują do niej shildy od uno, jeśli już takie posiadasz.
– Nie, nie posiadam jeszcze nic, dopiero zamierzam kupować dlatego proszę o radę. Ale ja wiem Wemos ? Nie lepiej Arduino Uno ?

– Wemos d1 to jest to samo co Uno tylko ma wbudowane Wifi, jego logika działa na 3,3 V i ma mniejszą ilośc wejść analogowych. Dzięki Wemos d1 będziesz mógł robić zestawy łącząc się z Internetem, wysyłać np. dane z czytników do Internetu lub do serwera. Jest jeszcze inna opcja jak ci się Wemos nie podoba, możesz zakupić NodeMcu jest to bardzo mały układ również kompatybilny z Arduino, jest tani, ale nie pasują do niego shildy i działa na napięcie 3,3 V, jest energooszczędny mały i tani.

– A fajne jest to NodeMcu ?
– Tak jest fajne, tak samo jak Wemos D1, ale są jeszcze nowe płytki Wemos mini i NodeMcu mini, on są bardzo małe i mają te same możliwości co ich więksi bracia, zajmują mniej miejsca, można je umieścić prawie wszędzie ze względu na to, że maja bardzo małe wymiary i ekstremalnie niskie zużycie prądu. Do niech też są dostępne shildy więc nie ma problemu.

– No fajnie że mi o tym powiedziałeś, a ty który polecasz ?
– Na początku pisałem że polecam Wemos D1 i Ci to uzasadniłem.
– A ty co masz ?
– Ja mam je wszystkie.
– Co masz wszystkie ?!!
– Tak, kupuję, sprawdzam, żeby wiedzieć co powiedziecie czytelnikom jak będą pytać.

Zaczynam już żałować tego że powiedziałem że mam wszystkie płytki.
No jak masz wszystkie płytki, to której częściej używasz ? Która z nich jest najlepsza? Jak miałbyś wybrać jedną ?

No i rozmowa jest prowadzona czasem jeszcze kilkadziesiąt minut. Rozumiem człowieka, chce kupić najlepszy zestaw dla siebie dlatego pyta. Każdą moją odpowiedź staram się uzasadniać. Jeśli mój rozmówca, już będzie wiedział którą płytkę zechce zakupić zaczynają się kolejne pytania o czujniki, sensory i inne elementy które można dokupić, czasem trwa to godzinę, czasem rozmowę prowadzimy nawet kilka dni. Najlepsze zostawiam na koniec.
Ustaliliśmy, że użytkownik chce zakupić Wemos D1, z wyświetlaczem HD1602, do tego kilka diod adresowalnych ws2812, czytnik RFID z kartą, serwo, zestaw oporników, termometr ds18b20 i inne, chce przeznaczyć na zakup 120 zł. Ustaliliśmy, że nie chce czekać 3-4 tygodnie by otrzymać przesyłkę z Chin (stwierdzenie użytkownika, bo czasem giną i znów będzie trzeba czekać), nie będzie kupować w polskich sklepach bo drogo, decyduje się na zakup na znanym portalu aukcyjnym. Po upływie 30-40 minut odzywa się messager:
– Słuchaj bo wiesz co ja kupiłem taki zestaw w jednym sklepie, za 299 zł tu jest zdjęcie, powiedz czy dobry jest ? Nie przepłaciłem?
Co mam powiedzieć ?
– Tak fajny zestaw, masz w nim wszystko, masz czytnik RDFI z kartą, masz termometr, serwo, pilot i inne rzeczy. Potwierdzam, tak fajny zestaw, nic w nim nie brakuje. Dostaje kolejne pytanie:
– A, jak się podłączyć z Internetem, bo wspominałeś że można.
– Tak można, ale nie w twoim przypadku.
– Dlaczego ?
– Bo masz klona Arduino, musisz dokupić shilda Ethernet lub układ wifi (ESP8266),
– Cholera tyle zapłaciłem i nie ma tego w zestawie ?
– No tak,
– To co ja mam teraz zrobić ?
– Nic, wykorzystać to co masz w zestawie, nauczyć się programować, w przyszłości dokupisz albo Wemos D1 lub esp8266 i tyle.
No i jak wiedziecie na tym przykładzie gość wydał 300 zł i przeze mnie był niezadowolony z zestawu, jak by mnie nie pytał o radę po zakupie tylko przed kupiłby dla siebie inny zestaw lub jeśli na wstępie powiedziałby słuchaj kupiłem taki zestaw co mogę stworzyć za jego pomocą. Jestem pewien, że użytkownik byłby bardziej zadowolony z tego co kupił niż jest teraz.
Na rynku jest naprawdę bardzo dużo zestawów, każdy z nich jest inny, tak samo jak każdy kupujący ma inne kryteria wyboru. Naprawdę zastanawiajcie się przed zakupem, co chcecie kupić, co będziecie chcieli robić za pomocą takiego zestawu ? Nieraz się może okazać, że prościej i taniej będzie kupić pojedyńcze elementy i na ich bazie zbudować swój własny, niepowtarzalny zestaw. Pamiętajcie, że rynek elektroniki jest bardzo dynamiczny i coś, co się sprzedawało w kwietniu nie koniecznie jest atrakcyjne we wrześniu lub październiku. Np. aktualnie sprzedaje się ogromną ilość płytek z układami ESP8266 różnej maści, Wemos, Wemos mini, NodeMcu, NodeMcu mini, Arduino Mega + ESP8266, nowością są płytki Wemos i NodeMcu w wersji 32 (32 bity) oraz z wbudowanym batery shild lub/i wyświetlaczem Oled, joystkiem etc.

Zaczynamy konfigurację.

Wybór którego dokonujemy dziś, nie zawsze będzie dobry za 5-7 miesięcy pamiętaj tym. Najważniejsze jest twoje pytanie. Co chce zbudować za pomocą mojego zestawu?
Zakładam że macie już wymarzony zestaw płytek, czujników i innych elementów, które będziecie chcieli wykorzystać do sowich projektów. Co dalej? Trzeba zastanowić się nad środowiskiem pracy, ja pracuje na Arduino IDE i na nim będę się opierał przy moich projektach. Dlaczego Arduino IDE ?, a no dlatego, że jest proste, łatwe w instalacji i przede wszystkim jest niezawodne. Bardzo łatwo jest zarządzać bibliotekami oraz kodami, pisanymi przez nas jak i z tymi, które otrzymujemy od znajomych czy ściągamy z sieci. Większość płytek dostępnych na rynku automatycznie są wykrywane przez system Windows, ale mogą się zdarzać jakieś małe problemy ze starszymi wersjami Arduino lub starszą wersją Windows np. Vista czy Windows XP . W większości wypadków będzie trzeba zainstalować sterownik do kontrolera Ch340. Jeśli poradzimy sobie już z zainstalowaniem oprogramowania, można zaczynać przygotowywać własne środowisko pracy. Na początku musimy ustalić jakie sensory, czujniki i płytki posiadamy ponieważ od tego będzie zależeć baza naszych bibliotek. Biblioteka jest swojego rodzaju sterownikiem (mówi mikroprocesorowi jakie funkcje można wykonywać za pomocą danego czujnika). Np. chcemy używać zegara czasu rzeczywistego(RTC) DS3231 potrzebujemy bibliotekę DS3231.H do obsługi naszego układu, a co się stanie jeśli będziemy chcieli użyć układu RTC 1302 lub 1307? Nic układ nie będzie poprawnie działać, dlatego musimy ściągnąć kolejne biblioteki do kolejnych układów DS1302.h i ds1307.h i zainstalować je w naszym Arduino IDE. Podobnie jest z płytkami. Standardowe płytki Arduino uno, nano, micro czy mega są standardowa implementowane w programie , ale co zrobić jeśli naszej płytki no Wemos lub NodeMcu nie ma zainstalowanej ? Po prostu musimy programowi Arduino IDE wskazać ścieżkę do programu sterującego płytką. Z górnego menu wymieramy opcje File następnie Preferences po ukazaniu się poniższego okna w linijkę Additional boards Manager URL’s wklejamy poniższy link

 

 

 

 

http://arduino.esp8266.com/stable/package_esp8266com_index.json


Zatwierdzamy wszystko przyciskiem OK.

Przechodzimy do Manu TOOLS i zakładki Board, z której wybieramy Boards manager:

Następnie w oknie, które się pojawi wybieramy rodzaj płytki jaki chcemy zainstalować w naszym przypadku będzie to ESP8266.

 

Instalujemy ją i od tej chwili nasze IDE Arduino będzie już obsługiwać płytki z chipem ESP8266

 

Ryszard Marcin

Create Account



Log In Your Account