Widget TERMINAL – i wszystko jasne

By: | Post date: Grudzień 29, 2017

parks rec GIFBLYNK do działania nie potrzebuje komputera. Takie stwierdzenie wygląda na bezsens. Jak nie potrzebuje jak potrzebuje. A serwer BLYNKa to na czym jest zainstalowany? A biblioteki i program do mikrokontrolera to czym się wgrywa i uruchamia? A jednak BLYNK do działania nie potrzebuje komputera..Choć potrzebuje niektórych funkcji dostępnych w komputerze. Dziś o tym jak w projektach IoT zastąpić naszego Maca, Windowsa czy Linuxa jednym małym widgetem Continue Reading…

BLYNK – wirtualny świat elektronika

By: | Post date: Grudzień 15, 2017

Jeszcze do niedawno zwrot „wirtualny świat elektronika” brzmiał podobnie jak uczciwy złodziej czy prawdomówny polityk. Ale dinozaury wyginęły bo nie dostrzegły w porę zmiany klimatu. Tak może stać się i z nami elektronikami mocno przywiązanymi do hardwaru i lutownicy. Miast twórczych zadań na miarę emigranta z Polski Idka Tramielskiego zostaniemy dozorcami  robotów projektujących i składających coraz to nowsze modele procesorowych kombajnów do wszystkiego. Może nie będzie tak źle ale wirtualizacja kolejnych elementów i podzespołów elektronicznych jest faktem. Za ileś lat użytkownicy telefonów, komputerów nie będą mieli pojęcia, że istniała kiedyś klawiatura mechaniczna a układ QWERTY to echo dawno zapomnianej maszyny do pisania.

A wszystkiemu winne są obrzydliwe prawa rynku, na którym wygrywa wszystko co tańsze. A jeśli coś jest całkowicie za darmochę to niema  siły by w końcu nie zdominowało całej dostępnej przestrzeni.A więc dziś o tym jak za chwilę będzie wyglądała – a w zasadzie już wygląda – wirtualna elektronika w wydaniu amatorskim. Continue Reading…

VALUE moduł – jak prosto wyświetlić dowolną informację

By: | Post date: Listopad 29, 2017

Telefon ma każdy.

Jedną z największych zalet systemu BLNK jest bez wątpienia możliwość darmowego  korzystania ze znakomitego wyświetlacza telefonu czy tableta do zobrazowania na nim dowolnych informacji generowanych w naszym mikroprocesorowym systemie. Wystarczy wspomnieć nieodległe przecież czasy gdy z wielkim trudem i przy udziale sporych środków dodawać trzeba było a to siedmosegmetowe wyświetlacza led lub drogie i trudne w obsłudze ciekłokrystaliczne LCD by cokolwiek pokazać z wnętrza mikroprocesora. Łatwość i elegancja z jaką możemy zrobić to samo w BLYNKu zniewala. A to dopiero początek rewolucji. Dziś banalnie prosty wyświetlacz jednorzędowy – widget (y) VALUE Continue Reading…

BUTTON – widget orkiestra aplikacji BLYNK

By: | Post date: Listopad 16, 2017

Znalezione obrazy dla zapytania one man bandZa sobą mamy już opis  LEDa – mini widgetu ze skromnymi jak na BLYNKa możliwościami. Jednak nawet ten ubogi wirtualny element funkcjonalnością przewyższa ledy z realnej elektroniki. Tak to już jest z wirtualną rzeczywistością, że jedynym jej ograniczeniem jest wyobraźnia  programistów. Co można ciekawego zrobić gdy nie trzymamy się kurczowo materialnych pierwowzorów a pozwalamy sobie na odrobinę fantazji pokazuje nam przykład kolejnego widgeta. BUTTON jest dla mnie absolutnym number one wśród BLYNKowych klocków lego. Dlaczego? O tym już za chwilę. Continue Reading…

BLYNK za free – odcinek III

By: | Post date: Listopad 11, 2017

Mamy już działający własny serwer BLYNK. Teraz trzeba zmienić trasę przebiegu rzeczywistych i wirtualnych pinów z aplikacji i mikrokontrolera tak by docierały do nowego węzła komunikacyjnego. I tu uwaga. Albo rybka albo pipka – albo nasz system korzysta z publicznego serwera albo z naszego lokalnego. To spore ograniczenie ale zrozumiałe uwzględniając komercyjny charakter publicznego serwera BLYNK. Sami musimy zdecydować jakie rozwiązanie jest korzystniejsze dla naszego projektu i dla naszych pieniędzy. A wcześniej kolejna porcja informacji o własnym (darmowym) systemie BLYNK. Continue Reading…

BLYNK za free – odcinek II

By: | Post date: Listopad 10, 2017

Pierwszy sukces w tworzeniu naszej niezależności finansowej za nami. Własny serwer BLYNK działa. Pora przystąpić do drukowania pieniędzy. Dziś – jak nabić sobie kabzę dowolną ilością energii by bez ograniczeń móc korzystać z systemu BLYNK
Continue Reading…

SLIDER – wirtualny potencjometr w BLYNKu

By: | Post date: Listopad 9, 2017

BUTTON załatwi nam połowę potrzeb w aplikacji typu Smart Home Iot czy Inteligentnego Domu. Drugie 50% przypada na kilkadziesiąt pozostałych widgetów BLYNKa. No może nie dokładnie tak ale…  W zasadzie kolejne elementy BLYNKowej układanki realizują ,już tylko jakieś pojedyncze ale za to specyficzne funkcje trudne do obsłużenia przyciskiem. np.  odczyt czujników telefonu, prezentacja  graficznych wykresów czy obsługa terminala.  Nie wszystkie są niezbędne ale poprawiają komfort obsługi naszego systemu lub jego wygląd. Ale są jeszcze 2-3 widgety, bez których trudno sobie wyobrazić przyjazny panel sterujący Dziś popatrzymy więc na jeden z nich – wirtualny potencjometr czyli SLIDER 

Sygnał cyfrowy (np. dwustanowy 0/1) ma się nijak do sygnału analogowego. I to nie tylko w tym że jeden ma w określonym przedziale tylko dwie wartości (lub więcej ale dokładnie określoną liczbę) a drugi nieskończenie wiele. Ale i w tym, że wielkości analogowe mogą przyjmować wartości z baaaaardzo szerokiego przedziału. Taka na przykład oporność może się w praktyce zmieniać od mili omów (mΩ) do megaomów (MΩ) czyli lekko licząc 9 rzędów wielkości (109). Jeszcze gorzej jest z odległością – tu możemy mieć nanometry (10−9) cz Angstremy (10−10) i lata świetlne ( 1016 m).

Jeśli dla napięcia mamy wartość 100 to już coś wiemy. Możemy mieć wątpliwość co do jednostki (mnożnika) czy to jest 100 V , 100 mV (100 x 10−3 )  czy 100 kV(100 x 103 ). W systemach cyfrowych wartość 100 jest kompletnie bezużyteczna jeśli nie znamy przedziału w jakim może się ona zmieniać. I tak dla liczby 8  bitowej 100 oznacza ok 40% wartości maksymalnej a dla 16 bitowej 0,3 %. I to jeszcze nie wszystko. Dodatkowo musimy wiedzieć jakim rzeczywistym wartościom danej wielkości odpowiada minimum i maksimum naszej cyfrowej liczby. I tak jeśli cyfrowe 0 to 0 napięcia, a maksimum (dla 8 bitów to 255) odpowiada 5 V to liczba 100 oznacza  5/256 x 100 = 1.953125 V.

Ale cyfrowa wartość 100 ma jedną kolosalną zaletę – 100 oznacza DOKŁADNIE 100. W technice analogowej ustawienie wartości DOKŁDNIE 100 jest w praktyce niewykonalne.

Po co ten cały przydługi wstęp? Dla lepszego zrozumienia czym w aplikacji jest lub może być SLIDER. A pełni on jako element wyjściowy (sterujący) co najmniej dwie funkcje:

  1. ustawienie konkretnej liczby
  2. ustawienie wielkości analogowej

Ad.1 Ta funkcja jest dosyć oczywista.  Za pomocą tego elementu w bardzo prosty sposób możemy ustawić i błyskawicznie zmienić wartość jakiejś zmiennej w programie. Co prawda tylko jeśli jest to zmienna typu integer i tylko w zakresie -9999 do +9999 ale w większości przypadków to całkowicie wystarcza. A więc jeśli potrzebujemy ustawić i zmieniać np. czas załączenia grzania, świecenia lub generalnie ustawić jakiś licznik czy timer widget SLIDER będzie nieoceniony.

Ad.2 W przypadku zmian wartości analogowej sprawa jest bardziej skomplikowana. Po pierwsze nasz mikrokontroler musi mieć WYJŚCIE analogowe czyli przetwornik C/A zamieniający liczbę na wielkość napięcia. Dostępna w większości układów funkcja PWM (trochę wiedzy o PWM tu >>> i tu>>>> i tu>>>>) jest takim udawanym sygnałem analogowym. Bowiem w tym przebiegu stała jest jedynie wartość średnia napięcia ale amplituda zmienia się i to kilkaset razy na sekundę Dopiero przepuszczenie sygnału przez filtr dolnoprzepustowy lub zastosowanie układu scalonego zamieniającego PWM na sygnał analogowy da nam na wyjściu rzeczywiste stałe napięcie. Ale i takie ułomne wyjście analogowe jak PWM nadaje się znakomicie w wielu „analogowych” zastosowaniach typu zmiana jasności świecenia leda czy prędkości obrotu silnika prądu stałego. Ba, w tych zastosowaniach układ PWM jest lepszy niż zasilanie regulowanym prądem stałym ze względu na minimalne straty w regulatorze. Nie zmienia to jednak faktu, iż klasyczne wyjście analogowe powinno nam dać stały poziom napięcia, którym możemy sterować odpowiednimi komendami procesora. W takim przypadku SLIDER pozwala nam zdalnie zmieniać wartość napięcia na wyjściu analogowym.

Zakres zmian naszego wirtualnego potencjometru możemy sobie dowolnie ustawić w zakresie od 0 do 9999. Jak prawidłowo dobrać zakres pracy SLIDERa do przetwornika C/A lub PWM w naszym mikrokontrolerze? To zależy jaki efekt chcemy uzyskać. Jeśli zależy nam na wykorzystaniu w pełni rozdzielczości przetwornika maksymalna wartość suwaka musi odpowiadać liczbie wynikającej z tej rozdzielczości (dla przetwornika 8 bitowego = 255, 10 bitowego 1024, 12 bitowego 4096). Wtedy zmiana o 1 na suwaku spowoduje zmianę na wyjściu analogowym o jedną jednostkę napięcia wyjściowego przetwornika  =  Umax/2rozdzielczość

Możemy jednak tak ustawić SLIDER by wybrana jego wartość bezpośrednio odpowiadała napięciu na wyjściu mikroprocesora. Weźmy dla przykładu przetwornik C/A o napięciu maksymalnym 5 V i rozdzielczości 10 bitów Możemy więc ustawić wartość maksymalną SLIDERa na

  • 5 i uzyskamy regulację co 1 V
  • 50  uzyskamy regulację co 0,1 V
  • 500 da nam możliwość zmiany co 10 mV
  • 5000 powinno pozwolić na zmianę napięcia wyjściowego co 1 mV

Ale przetwornik 10 bitowy pozwala na zmianę co  5 mV (dla napięcia wyjściowego 5V)  więc ostatnie ustawienie nie ma większego sensu. By uzyskać rozdzielczość 1mV musielibyśmy zastosować co najmniej 12 bitowy przetwornik C/A. Dodatkowo, zmiany wartości na suwaku nie będą dokładnie odpowiadały zmianom napięcia na wyjściu przetwornika. 5V/1024 jest równe 0,0048828125 a nie 0,005 więc nie uda nam się dokładnie skalibrować wskazań SLIDERa z napięciem wyjściowym. Oczywistym jest, iż w naszym programie musimy wprowadzić procedurę przeliczania wskazań potencjometru na odpowiednią liczbę sterującą przetwornikiem C/A tak by uzyskać maksymalnie zbliżenie obu wartości.

Praktyczne aspekty konfiguracji tego widgeta będą jeszcze omawiane w rozdziale Przykłady.

SLIDER jako wskaźnik

Piękne jest to, że i ten widget jest elementem dwukierunkowym. Może nie tak wszechstronnym jak BUTTON ale w porównaniu z rzeczywistym potencjometrem bije go na głowę.

Standardowo możemy dowolnie zmieniać kolor SLIDERa komendą

Blynk.setProperty(V1, "color", _RED)

oraz tekst na etykiecie

Blynk.setProperty(V1, "label", "jakis tekst");

Najciekawszym jednak efektem możliwym do uzyskania jest analogowy wskaźnik liniowy

Wysyłając jakąś wartość na pin wirtualny przyłączony do potencjometru możemy sterować położeniem suwaka  standardową procedurą

Blynk.virtualWrite(V1, liczba);

Co w efekcie daje nam bardzo użyteczny wskaźnik

Inne właściwości

Slider jest widgetem o zmiennym kształcie i tak naprawdę mamy dwa takie same elementy – ale o kierunku poziomym i pionowym.

Ważną funkcją elementu jest możliwość zdalnego ustawiania zakresów minimum i maksimum. Jest to wygodny sposób wstępnej kalibracji parametrów pracy widgetu lepszy  niż ustawianie ich ręcznie w aplikacji. Do tego celu służą specjalne funkcje

Blynk.setProperty(V1, "min", -55);
Blynk.setProperty(V1, "max", 102);

Wśród zbioru widgetów nie ma odpowiednika potencjometru obrotowego. A szkoda.

Z doświadczenia mogę stwierdzić, iż widget SLIDER jest baaardzo użytecznym elementem szczególnie w układach testowych i prototypowych. Zamiast instalować jakikolwiek potencjometr do płynnej zamiany parametrów w programie dużo szybciej i taniej jest to zrobić BLYNKowym potencjometrem. I jeszcze odczytać na nim bieżącą wartość obserwowanej wielkości. I wszystko zdalnie i bez jednego choćby lutowania. Po prostu wirtualna elektronika na wyciągnięcie ręki.

BLYNK za free – a nawet za darmochę

By: | Post date: Listopad 5, 2017

Nie trzeba budować browaru by napić się piwa. Fakt. Ale warto jeśli chcemy mieć piwo bez ograniczeń a budowa browaru nic (albo niewiele) nas kosztuje. Analogicznie co zrobić by mieć forsę… Odziedziczyć, ukraść, rozbić bank. Ale lepiej zbudować mennicę lub bank, które wydrukują nam dowolną ilość pieniędzy lub cyfr na koncie.

Dziś o budowie własnego banku – pardon – serwera BLYNK pozwalającego na budowę nieograniczonej liczby projektów i to całkowicie (no prawie) za darmo. BLYNK całkowicie za darmochę? Oczywiście. Inaczej ten blog nie miałby żadnego sensu. Continue Reading…

Jak zacząć zabawę z BLYNK

By: | Post date: Listopad 2, 2017

A tu artykuł ładnie opisujący krok po kroku jak zacząć zabawę z BLYNK. Przykład oparty jest na module NodeMCU a więc z ESP8266. Mikrokontroler ten idealnie pasuje do filozofii BLYNKa i jednocześnie pozwala na korzystanie z najbardziej przyjaznego narzędzia programowania procesorów – ARDUINO IDE.

Patryk Mądry – NodeMCU – przykład użycia aplikacji Blynk

Obsługa pinów wirtualnych BLYNK w kodzie mikrokontrolera

By: | Post date: Listopad 1, 2017

Piny rzeczywiste znakomicie ułatwiają budowę prostych układów zdalnego sterowania w oparciu o Arduino i BLYNKa. Mają jednak sporo ograniczeń i w wielu miejscach utrudniają lub wręcz uniemożliwiają rozbudowę systemu o własne procedury czy zewnętrzne biblioteki. Programiści BLYNKa zaimplementowali więc ciekawy mechanizm przesyłania danych poprzez piny wirtualne. Na pierwszy rzut oka wyglądają jak klasyczne zmienne programowe. Ale tak naprawdę są indeksami (adresami) dużo bardziej złożonych procedur dostępnych w bibliotekach BLYNKa. Prawdziwa moc twórcza systemu zawarta jest właśnie w tych pinach i tych procedurach – trzeba im więc przyjrzeć się nieco dokładniej. Continue Reading…

Translate »