fbpx

Każdy, kto programuje mikrokontrolery prędzej czy później napotka na swojej drodze jakieś problemy. Bardziej doświadczone osoby w pierwszej kolejności będą próbować znaleźć rozwiązanie na własną rękę. Co, jeśli jesteś początkujący i nie wiesz co zrobić ze swoim problemem? Najlepiej spytać się starszych stażem kolegów. Jak prawidłowo prosić o pomoc, aby zwiększyć szanse na powodzenie? Podam Ci kilka wskazówek.

Nie działa. Pomocy!

Najczęściej problemem jest błędne działanie czy to programu, czy jakiegoś komponentu lub całkowity brak działania. Z moich obserwacji wynika, że osoby początkujące uwielbiają kopiować bez zastanowienia różne tutoriale z sieci. Jeśli nie działa jeden, spróbuję drugi. Jak nie drugi, to trzeci i tak dalej.

Nie mając doświadczenia często nie wiemy dlaczego te tutoriale nam nie działają. Nie jesteśmy w stanie ocenić czy błąd jest po stronie autora poradnika, czy naszej. Powiedziałbym odważnie, że częściej błąd jest po stronie odtwarzającego poradnik.

Jednak czasem może zdarzyć się, że poradnik jest przeterminowany. Oprogramowanie czy nawet biblitoteki ciągle się zmieniają. Autor takiego poradnika może nie być w stanie utrzymywać go dla każdego nowego wydania bibliotek. Dobrze, jeśli w tutorialu są podane wersje bibliotek. Ja tak robię przy każdym opisywanym komponencie.

Co, jeśli po przeszukaniu kilku tutoriali nadal nie uzyskaliśmy oczekiwanego efektu?

Czas poprosić o pomoc

Przychodzi taki moment, że trzeba poprosić o pomoc. Gdzie pytać?

Można skorzystać z forów internetowych. Kiedyś bardzo popularne miejsce dyskusji, które nadal ma wielu zwolenników. Każdy problem ma swój odrębny temat, więc łatwo można wyszukiwać, pytać oraz pomagać innym. Zanim napisze się swój wątek, można przeszukać nawet szybko czy ktoś nie napotkał podobnej ściany. Sam często przeczesuję fora, ale niestety nie udzielam się na nich.

Jednak forma fora internetowego trochę nie pasuje do dzisiejszego świata. Facebook  i inne Social Media przyzwyczaiły nas do szybkiego zadawania pytania i szybkiej odpowiedzi. Można to podciągnąć pod tzw. instant gratification, które jest niesamowicie uzależniające dla człowieka. Wszystko musimy mieć tu i teraz. Nie ma czasu na przeszukiwanie dziesiątek tematów na forum.

Zadajemy pytania szybko, bez samodzielnego researchu, oczekując natychmiastowej odpowiedzi/pomocy. Ma to swoje plusy, bo jeśli ktoś zna odpowiedź to jest w stanie odpisać od razu i problem z głowy. Jednak muszą być spełnione pewne warunki, o których zapominamy w tym pośpiechu przez co obniżamy sobie szanse na pomoc.

Co należy umieścić w takiej prośbie o pomoc w Social Mediach? Wymienię kilka według mnie najważniejszych.

Napisz z czym masz problem – OD RAZU

Często widuję jak osoby chcą poprosić o pomoc, ale nie mówią z czym mają problem. Wyobraź sobie, że na naszej facebookowej grupie SMT32 Polska pada pytanie:

Czy programował ktoś STM32F103C8T6?

albo

Czy używał ktoś czujnika DS18B20?

Uwierz mi, że tego typu posty często widuję na różnych grupach na Facebooku. Coś mnie trafia, gdy widzę tego typu “zaczepkę” o pomoc.

Co nam to pytanie mówi? W zasadzie nic konkretnego. Może ktoś zbiera informacje do badania do magisterki o tym ile osób w danej grupie pisało oprogramowanie dla tych układów?

Na ogół okazuje się, że jest to właśnie swego rodzaju “zaczepka”. Jakiej odpowiedzi może się spodziewać pod pytaniem? Najczęściej “Tak”, “Nie”, “Napisz z czym masz problem!”. Później słyszymy, jaka to grupa Facebookowa jest zła bo się czepia, a nie pomaga.

Jeśli ktoś się już zainteresował i spytał się o co chodzi, dopiero wtedy pojawia się właściwy problem w gąszczu komentarzu. To jest już za późno! A co jeśli osoba, która się pytała miała czas na odpowiedź tylko wtedy? Może już drugi raz nie odpowiedzieć…

Dodatkowo taki opis w komentarzu jest w niewłaściwym miejscu. Osoby, które scrollują swój feed na Facebooku nie widzą istoty problemu, która jest już w komentarzu, a jedynie “głupie” pytanie i mogą pominąć post. Facebook też nie zawsze domyślnie pokazuje wszystkie komentarze po rozwinięciu. 

Kończy się tym, że opis problemu ginie w gąszczu śmieszkowych komentarzy.

Opisz co masz na stole

Samo napisanie, że chciałbyś użyć czujnika to za mało. Potrzebujemy wiedzieć co masz po drugiej stronie. STMów oraz innych mikrokontrolerów jest masa. Niektóre mogą mieć jakieś błędy w sprzęcie czy w bibliotekach. Łatwiej też będzie się poruszać po problemie.

Napisz dokładnie, z jakiego mikrokontrolera i z jakiej płytki korzystasz. Może płytka stykowa? Może własne PCB?

Piszesz na rejestrach, Arduino czy z innymi bibliotekami? To są bardzo przydatne informacje.

Napisz co się dzieje

To chyba najważniejszy punkt i silnie łączy się z kolejnym. Nic tak nie denerwuje inne osoby jak wróżenie z fusów. Napisz jasno w czym jest problem. Generalne zdanie tego typu

Czujnik nie działa

jest bez sensu. Co w nim nie działa? Nie widać go na magistrali? Nie zwraca poprawnego ID? A może jest z nim jakaś komunikacja, a zwracane wartości są błędne?

Takie informacje od razu nakierują potencjalnego pomagającego.

Napisz co do tej pory zrobiłeś

Widuję często coś takiego

Podłączyłem i nie działa

Co i gdzie podłączyłeś? Napisz, a najlepiej wklej schemat z tego jak podłączasz układ. Często tutaj tkwi błąd. Być może brakuje tylko jakiegoś pullupa?

Nie raz zdarzyło się, że ktoś z problemem podłączał się do I2C2 pisząc kod dla I2C1 🙂 Upewnij się, że piszesz  na ten sam interfejs co podłączasz.

Również pracując na płytce stykowej nie możemy jej w 100% ufać. Może jakiś kabelek nie styka. Musisz upewnić się kilkukrotnie czy masz połączony układ, zanim poprosisz o pomoc.

Robię według poradnika i nie działa

Jakiego poradnika? Wklej link do poradnika. Napisz, jakie są efekty działania. Coś musi się dziać. Może dopiero na którymś kroku jest rozbieżność. A może ktoś zna ten poradnik i wie, czy działa, czy nie działa.

Wrzuć swój kod

Bardzo pomocny jest kod, którego używasz. Jeśli jesteś w stanie (a często jesteś) to podeślij kawałek kodu, z którym jest problem. Najlepszy byłby tylko kawałek, w którym wyczuwasz potencjalny błąd.

Nie wiesz gdzie może być problem? Wrzuć cały projekt.

Tylko NIE W KOMENTARZU na Facebooku, a na Pastebin. Kod musi być czytelny, aby go analizować. Pamiętaj, że osoba nieznająca Twojego kodu potrzebuje czasu, aby się w nim połapać. Zwłaszcza jeśli jest napisany niedbale.

Nie masz doświadczenia? Przyznaj się!

Nie wiesz co tak naprawdę wykonałeś? Napisz wyraźnie, że jesteś początkującym i nie wiesz co się dzieje z Twoim układem.

Wtedy inne osoby podejdą do Ciebie bez jadu. Niestety często ci bardziej doświadczeni chcieliby, aby każdy był na ich poziomie i tak też traktują pozostałych. Pisząc, że jesteś początkującym zmienisz ich nastawienie od samego początku. Będą bardziej wyrozumiali i na spokojnie wytłumaczą co potrzebujesz sprawdzić.

Jeśli będzie Ci brakowało jakiś podstaw – wytłumaczą lub odeślą w odpowiednie miejsce.

Podsumowanie

Nie wyczerpałem w całości tematu “jak prosić o pomoc”. Można by o tym pisać książki, a i tak każda kryzysowa sytuacja jest inna.

Proszenie o pomoc generalnie sprowadza się do poprawnego komunikowania się. Czytelny, dokładny opis problemu oraz prób działania jest tym, co zwiększa Twoje szanse na to, aby ktoś bardziej doświadczony Ci pomógł.

Szanuj czas swój oraz innych. Pisz od razu i konkretnie. Żyjemy w szybkich czasach, więc używając szybkich mediów potencjalny pomagający nie ma czasu, aby siedzieć nad postem wyciągając od Ciebie informacje siłą.

Na koniec życzę Ci, abyś miał jak najmniej problemów, a jeśli się pojawiają to abyś je dobrze opisywał 🙂 Pomocne osoby znajdziesz na pewno na naszej grupie STM32 Polska na Facebooku.

Przykład podziękowania za pomoc. Kolega bardzo wyraźnie komunikował to z czym ma problem oraz współpracował z wieloma osobami pomagającymi. Aż chce się pomagać 🙂

Podobne artykuły


Raz na jakiś czas wyślę Ci też e-mail z ciekawymi rzeczami które znalazłem


9 Komentarzy

Marcin · 28/05/2020 o 12:34

A może czas na jakiś wyświetlacz oled z nowszym sterownikiem np. SSD1322

SaS · 26/05/2020 o 18:03

Szkoda Twojego pisania 🙁
Piszesz, piszesz i co? I nic. Poczytaj tematy na “znaczących” forach. Żenada!
Prym wiodą ArduinoPolska i Forbot, najlepiej jest na Elektrozdozie ale tam tak zdołują, ze odechciewa się wszelakiej elektroniki i programowania.

    Mateusz Salamon · 28/05/2020 o 12:38

    Ja wiem czy szkoda… Jak chociaż jedna osoba zacznie ładnie pisać po moim artykule to oznacza, że było warto 🙂 Fora mają to do siebie, że trzeba w nich szukać a czasy się zmieniły o czym napisałem 😉

SaS · 12/05/2020 o 11:27

Pisałem o częstościomierzu AVT3275 a go nie widac na fotce bo jest na stole https://www.youtube.com/watch?v=qvJFfdoNf2M
Przy okazji jest nowszy soft dla AVT5755, który jest potomkiem AVT3275. Z istotnych zmian to pomiar prędkości obrotowej https://www.youtube.com/watch?v=Zb4vgGDe4QQ soft do pobrania z http://sa-s.prv.pl/fw/ Dokumentacja AVT5755 w Elektronice praktycznej 5-2020. Niesamowite co potrafi STM32F401 za 13zł. AVR “ile by nie pisać, ile by się nie wyręrzać, to nie udźwignie takiego zadania, taki to ciężar” a przy okazji AVR kosztowałby ponad 2 razy więcej. Fakt, jak do dwa razy droższego AVR dodać CPLD za 10zł to zrobi to co w sumie ponad 3 razy tańszy STM32 🙂

SaS · 12/05/2020 o 11:14

SaleAE pewnie masz klona, a LA to oryginał. Kosztuje niecałe 500zł, SaleAE ok 4k zł. SaleAE ma max 24MHz, LA2016 200MHz ale są i szybsze (500MHz) i także 32-bit. SaleAE nie ma bufora na próbki i miałem tak, ze najpierw próbkował na max, później na 16M czasem schodził do 8M i potrzebny reset Window$. W LA (pomijam najtańsze LA10) tego problemu nie ma. SaleAE wygrywa gdy trzeba rejestrować dużo danych.
Co do kitów AVT to żaden z nich nie był w sprzedaży. Bedzie AVT3275 (częstościomierz nad UT804, czekam za panelem) + AVT3276, 3277 i miejmy nadzieję AVT3278 naprawdę ładne cacko https://www.youtube.com/watch?v=Sldtyf7RK5Y&list=PLdtkbzWTUVMljmf3qM6iq2tFwFlyQLFqu&index=8&t=0s https://www.youtube.com/watch?v=WxYx0ZsOMp8&list=PLdtkbzWTUVMljmf3qM6iq2tFwFlyQLFqu&index=7&t=0s będzie używał wzmacniaczy/preskalerów/multipleksera AVT3277. Fmax 8 a może i 24GHz przez preskaler, bezpośrednio 240MHz, czasy od 4,166ns do 10sek. Dokładność 0,0125ppm z GPS, bez zależy od TCXO. Tanie 1ppm, jak diabelnie drogie to i 10bpm a za rozsądne pieniądze (ok 250zł) 0,1ppm.

SaS · 09/05/2020 o 12:43

Ekran nierozłącznych przyjaciół: debugera i LA2016 http://sa-s.prv.pl/pic/Warsztat_007.png

SaS · 09/05/2020 o 12:38

Warto jeszcze dodać, że w dzisiejszych czasach multimetr nie wystarczy. W większości wypadków bez oscyloskopu ani rusz. Najlepiej z pamięcią i dekodowaniem protokołów. Od biedy wystarczy analizator logiczny ale klon SaleAE za 40zł to stanowczo za mało. Warto wydać poniżej 500zł na LA2016. Nie zastąpi on oscyloskopu, bo nie pokaże stanów innych niż H i L. Mam skromny warsztat http://sa-s.prv.pl/pic/Warsztat_009.png ale jakoś daję rade.

    Mateusz Salamon · 09/05/2020 o 14:21

    Nie znałem tego LA2016. Wygląda całkiem fajnie. Chętnie bym taki potestował 🙂 Co do klona Saleae. Ja mam taki i uważam, że do totalnej amatorki jest więcej niż wystarczający. Co prawda mi wielokrotnie by się przydało coś lepszego, ale nadal na nim pracuję. Co jakiś czas rozglądam się za czymś. Do listy “pod uwagę” dorzucam tego LA2016 🙂

    Super stanowisko! Zazdrość na maksa 🙂 Widzę, że masz sporo sprzętu z kitów AVT. Pamiętam jak za młodu trawiłem płytki pod nie 🙂

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *