Ostatnio zrobiłem zwarcie na płytce mojego micromouse i teraz będę musiał lutować wszystko od nowa. Podłączyłem zasilanie z programatora do linii danych i prawdopodobnie uszkodziłem procesor. Już któryś raz zdarzyło mi się coś podobnego. Raz nawet udało mi się zewrzeć układ składający się z samych gotowych modułów tak, że wszystkie zniszczyłem. W takich sytuacjach zawsze miałem podejście w stylu – bezmyślnie podłączyłem na odwrót, to się spaliło. Na drugi raz muszę uważać. Otóż nie – spaliło się, bo byłem niechlujny robiąc to złącze. Składało się ono z czterech przewodów, z których każdy był niezależny i można je było wpiąć w dowolnej kolejności. Z góry założyłem, że będę pamiętał, który kolor kabelka gdzie ma pójść, więc nie muszę robić żadnych oznaczeń. Zastawiłem więc pułapkę na samego siebie w przyszłości i to było tylko kwestią czasu, kiedy w nią wpadnę.

Mam wrażenie, że w świecie elektroniki panuje większe przyzwolenie na robienie rzeczy skomplikowanych w użyciu i łatwych do zepsucia. Chodzi mi tu zarówno o tworzenie schematów ideowych, płytek PCB, jak i dolutowywanie pająków, czy nawet wprowadzających w błąd kolorów przewodów (“Masę łatwiej mi podpiąć do czerwonego, a zasilanie do czarnego, przecież będę pamiętać”). Podejście w stylu “elektronika jest trudna, więc podłączenie tego też musi być trudne”, “jak się znasz to i tak sobie poradzisz” i “nie zadawaj takich pytań, powinieneś to wiedzieć” jest nam zwykle wpajane już na studiach. A jak czegoś nie wiemy i chcemy np. zapytać się na elektrodzie, to zauważymy, że wielu elektroników ma temperament Linusa Torvaldsa i nie omieszka zmieszać nas z błotem.

Płytki, nawet prototypowe, często są tworzone tylko pod kątem ostatecznego przeznaczenia nie biorąc pod uwagę, że najpierw na nich odbywają się development i testy. Nieraz brakuje na takich płytkach test padów umożliwiających łatwe podejrzenie sygnałów. Poza tym wszystko jest małe i ściśnięte tak, że ciężko nawet przyłożyć sondę oscyloskopu tak, aby nic nie zewrzeć. Na szczęście elektronicy są również magikami jeżeli chodzi o dolutowywanie się na pająka i zawsze dorobią dobre przewody do testów.

Może takie są moje odczucia dlatego, że lepiej rozumiem programowanie i z elektroniki zawsze trochę kulałem. Jednak w programowaniu też kiedyś panowało przekonanie, że kod ma być jak najbardziej zwięzły – dużo rzeczy robi się w jednej linii, używamy skomplikowanych konstrukcji, trzeba go długo analizować, żeby się połapać, łatwo o czymś zapomnieć i trudno debugować. Ale “napisałem tak i przecież działa, jak nie rozumiesz to idź się doucz”. W końcu jednak zauważono, że taki sposób tworzenia kodu jest nieefektywny i zaczęto od tego odchodzić. Teraz na każdym kroku atakuje nas czysty kod i wzorce SOLID (Swoją drogą – ciekawe jak by się w projektowaniu schematów elektronicznych sprawdziła na przykład Single Responsibility Principle).  W elektronice może jest trudno uczynić czytelnymi schematy jakiś wielkich systemów, ale też nie ma za bardzo chęci ułatwiania innym życia. W końcu ktoś może popatrzeć na schemat i pomyśleć “nic z tego nie rozumiem, ten to dopiero musi ogarniać”.

Możliwe, że to tylko lament developera, który chciał by wszystko mieć na tacy. Poza tym na wylewanie żali dotyczących elektroniki wzięło mnie po tym jak sam sobie podłożyłem minę. Nie wątpię, że jest wielu projektantów elektroniki, którzy są na tyle doświadczeni, że po prostu myślą też o tym jak ułatwiać życie innym, bo to się po prostu opłaca. Oszczędzamy w ten sposób czas i pieniądze. No i nie musimy lutować wszystkiego od nowa, jak w przypadku mojego Micromouse.

Podobał się artykuł? Zapisz się na newsletter

Zapisz się, aby otrzymywać informacje o nowościach na blogu,
ciekawe materiały oraz informacje marketingowe. W prezencie otrzymasz również
dokument “Jak zwiększyć jakość kodu w projektach embedded? – darmowe narzędzia”.