Kolejny tydzień, kolejne wyzwania!

Na początku chciałbym podziękować za dość duży feedback jaki otrzymałem. Przekazaliście mi wiele cennych informacji. Wszystkie uwagi skrzętnie zanotowałem, a poniżej przedstawiam krótkie zestawienie informacji:

1. Elektronika

Dowiedziałem się, że pod względem funkcjonalności i niezawodności Arduino może okazać się niezbyt słusznym wyborem. Lepszym może okazać się układ z mikrokontrolerem stm8s103 firmy ST Microelectronics. Cóż… Kolejny raz wspomnę, że pod względem samej elektroniki ciągle się uczę i nie mam zbyt dużego doświadczenia. Z tego powodu bardzo cenię takie uwagi i podpowiedzi (Dzięki Kornel!). Ponadto wybór Arduino był spowodowany niskim progiem wejścia w programowanie takich układów, dość szerokim dostępem do materiałów/bibliotek/tutoriali, gotowych komponentów oraz chęcią zbudowania prototypu w stosunkowo krótkim czasie. Z tego powodu podczas tworzenia MVP projektu wykorzystam Arduino, a w kolejnym etapie rozwoju będę chcieć “przepiąć” elektronikę na zaproponowany stm8s103. Dzięki temu teraz nie będę musiał wstrzymywać prac i oczekiwać na nowo zamówione komponenty. Potraktuję to jako kolejne wyzwanie i kierunek rozwoju projektu. Dodatkowo mam nadzieję, ze sprawdzą się hasła w stylu

“Człowiek uczy się na błędach”, “Jak nie spróbuję, to się nie dowiem”

– przez co na własnej skórze będę mógł wyciągnąć wnioski i zdobyć praktyczne doświadczenie.

2. Materiał

Otrzymałem także uwagi dotyczące słuszności wyboru rur Plexi jako elementu obudowy POI. Przyznam rację, że ze względu na wytrzymałość tworzywa, obudowa może nie mieć dobrych parametrów wytrzymałości. Być może wybór tworzywa był zbyt pochopny. Niestety w tym momencie mam już skompletowany materiał, dlatego tak jak w przypadku elektroniki tak i tutaj, na potrzeby stworzenia prototypu wykorzystam wstępnie wybrane tworzywo. Jeżeli plexi rzeczywiście okaże się mało wytrzymałe, będę zmuszony znaleźć zamiennik.

Jak wygląda obecny stan prac?

Na chwilę obecną zakończyłem prace nad składaniem elementów prototypu. Całość zamknąłem w (moim zdaniem) estetyczną postać.

Do budowy prototypu finalnie wykorzystałem :

  • Rurę plexi o średnicy 50 mm i grubości 2 mm. (długość 15 cm)
  • Rurę PCV o średnicy 30 mm
  • Zaślepki na rurę o średnicy 48,3 mm
  • Włącznik kołyskowy
  • Microswitch
  • Odniornik podczerwieni VS1838
  • Powerbank (Jego elementy: Akumulator LI-ION 18650 3,7V oraz przetwornicę podnoszącą napięcie od 0,9V do 5V)
  • Taśma led ws2812b (70 diod – 1m)

Wstępnie przemyślałem schemat połączeń elementów elektronicznych. Swoje myśli przeniosłem na dość uproszczony, przedstawiony poniżej rysunek układu.

Schemat połączeń elementów elektronicznych

Elementy zasilania oraz arduino zostały ukryte wewnątrz rurki PCV. Z kolei na jej powierzchni umieściłem taśmę LED oraz odbiornik podczerwieni. W jednej z zaślepek zamontowałem włącznik, microswitch oraz śrubę z uchem do późniejszego zaczepienia uchwytów. Całość zamknąłem wewnątrz rury plexi, którą z dwóch końców ograniczyłem wspomnianymi zaślepkami.

Części prototypu LED POI

Po złożeniu poszczególnych elementów w “wygladający” prototyp, całość prezentuje się następująco:

Zmontowany prototyp LED POI

Kolejnym etapem prac będzie podłączenie elektroniki oraz wstępne programowanie układu w zakresie obsługi ws2812b oraz odbiornika podczerwieni. Testowe implementacje pojawią się na pewno w repozytorium projektu (LedStation). Póki co w repo hula wiatr, jest smutno i pusto, ale niebawem się to zmieni 🙂

W momencie, gdy układ zacznie “żyć” postaram się zamieszczać krótkie wideo z prezentacją poszczególnych funkcjonalności. Mam nadzieję, że Wam się spodoba 🙂

Jeżeli macie jakieś pytania, uwagi, czy mniej lub bardziej luźne spostrzeżenia – zapraszam do komentowania!


P.S [Nawiasem mówiąc…]
Do tworzenia rysunków układów z arduino do niedawna używałem oprogramowania Fritzing. Jakiś czas temu trafiłem na circuits.io. Portal został stworzony przez firmę AUTODESK. Po dość szybkiej rejestracji otrzymujemy dostęp do tworzenia wirtualnych układów opartych o płytki stykowe i elementy elektroniczne. Ponadto mamy do dyspozycji edytor kodu Arduino, symulator działania układu oraz możliwość zaprojektowania płytek PCB. Moim zdaniem na dodatkowe pochwały zasługuje fakt możliwości udostępniania tworzonych schematów w formie aktywnych treści www. Poniżej zamieszczam przykład:


Moim zdaniem jest to świetne narzędzie do przetestowania prostych schematów. Polecam je każdemu kto rozpoczyna swoją przygodę z Arduino – Kilka kliknięć i wirtualna dioda zaczyna migać! 🙂

Author:

Programista, przedsiębiorca, tancerz ognia. Staram się ogarniać rzeczywistość wyciągając jak najwięcej wartości z tego co daje nam technologia. Jestem miłośnikiem produktywności i wyznawcą stwierdzenia "Done is better than perfect". Od ponad 5 lat staram rozwijać się oraz zdobywać doświadczenie jako programista. Najbliżej mi do aplikacji webowych i technologii .NET, ale od jakiegoś czasu stałem się entuzjastą rozwiązań JavaScriptowych.

  • Piotr

    A czekaj, teraz dojrzałem, że masz li-ion, myślałem, że tam wpakowałeś ciężki powerbank z lipoly.
    Ale dałeś 2000mA a są na rynku dostępne znacznie większe akumulatorki w tym rozmiarze.
    A ta waga czemu musi być poniżej 300g? Męczą się Wam ręce podczas występu?

  • Piotr

    Jedyne tak naprawdę do czego można się przyczepić to ten powerbank, duży, ciężki i ma małą pojemność jest wiele alternatów ( pisałem Ci w mailu ) np pobawić się z wysokopojemnościowymi li-ion

  • Piotr

    O widzisz, Łukasz, nie zauważyłem tej strony a widzę masz tutaj podanych więcej szczegółów odnośnie urządzenia.
    Pozwolę skomentować:
    1. Mikrokontrolerów na rynku jest cała masa, różnią się i prędkościami, i ilościami wyjść, i ilością pamięci, i poborem prądu.
    Jest bardzo wiele firm na rynku co walczą o takich hobbystów jak Ty, jest tam NXP, STM, Atmel i wiele wiele innych. Każda z tych firm ma w swoim portfolio bardzo podobne układy. Każdy układ ma też płytki ewaluacyjne, zestawy edukacyjne.
    Na początek dobrze zrobiłeś, zawsze wybiera się platformę, na której naszybciej wystartujesz projekt a arduino do tego jest świetne. Potem możesz myśleć o jakiś konwersjach na inne mikrokontrolery, np takie które zżerają mniej energii chociaż u Ciebie 60 diód to jest koszt energetyczny. ESP8266 też można wrzucić, w razie czego pisz do mnie, zęby na nim zjadłem.

    2. Odnośnie materiału
    Nie za bardzo rozumiem dlaczego plexi miałaby być złe, przecież nie będziesz zrzucać tego z mostu. Za dużo alternatyw też nie masz – jest np poliwęglan ale jest dużo droższy. Plexi z czasem “żółknie” ale to od dużego słońca a Ty przecież występujesz w nocy. Także, bardzo dobry wybór materiału jak dla mnie

    Naprawde jak na hobbystę to nie ma się czego doczepić.
    Tak trzymaj!

  • Łukasz Antoniak

    Nie ukrywam, że o STM dowiedziałem się od znajomych elektroników. I w dużej mierze moje wnioski wynikają z przeprowadzonej z nimi dyskusji. Otrzymałem informacje mówiące o tym, że w moim przypadku użycie układów z STM dałoby mi możliwość zbudowania układów o mniejszych rozmiarach. Ponadto te mikrokontrolery są szybsze od Arduino oraz mniej zawodne. Ich cena też jest dość zachęcająca – u chińczyków są tańsze od Atmegi. Abym mógł w 100% niezależnie wypowiedzieć się co jest lepszym wyborem muszę (tak jak wspomniałem w poście) przetestować na własnej skórze. Póki co zostaję przy Ardu ze względu na jedną podstawową zaletę – mam dostęp do szerokiego community i sprawdzonych bibliotek. Dzięki temu wcielę w życie plan szybkiego stworzenia prototypu 🙂

    • Ja się zdecydowałem na układ oparty o ESP8266. Też jest zdecydowanie mniejszy niż Arduino, a dodatkowo masz wbudowane WiFi. Popatrz np. na rozmiary Wemos D1 mini Pro. SMT są bardziej pro – to prawda, ale ESP8266 ma biblioteki pozwalające programować go z Arduino IDE w ten sam sposób jak Arduino, dodatkowo jest 32 bit 80MHz. Ja sam realizuję mój projekt na nodemcu Amica. Cena Wemos-a czy Amica w PL to jakieś 30 pln. Pewnie u majfrenda taniej.

  • Bardzo interesujące jest to co napisałeś o stm vs Arduino. Mógłbyś rozwinąć czemu akurat w tym projekcie stm był by lepszy ?

  • Pingback: dotnetomaniak.pl()