Miesiąc: kwiecień 2018

Dlaczego Stringi w Arduino są złe?

Kiedy komunikujemy się z naszym Arduino za pomocą np. portu szeregowego przez konwerter USB-TTL, płytkę Arduino czy też moduł Bluetooth lub np. wyświetlamy jakieś dane na ekranie LCD to z reguły używamy do tego celu napisów pod postacią obiektów String. Czy jednak kiedyś zastanawialiście się jak ta klasa tak bardzo ułatwiająca życie działa pod spodem? Niestety w tym przypadku wygoda okupiona jest wydajnością. W tym artykule przedstawię Wam pokrótce jak działa klasa String, dlaczego to co robi jest złe dla wydajności i przedstawię kilka funkcji ze standardowej biblioteki C do operowania na odpowiednich tablicach charów (C stringach).

Czytaj dalej...

Programowanie Arduino w chmurze

W ostatnich latach bardzo popularna stała się idea dostarczania oprogramowania w chmurze. Możemy wymienić tutaj m.in. Office Web Apps Microsoftu, Google Docs, Dropbox itp. usługi. Cała idea tego typu aplikacji polega na tym, że nasze pliki możemy przechowywać na zdalnych serwerach (mamy do nich dostęp z każdego komputera na który się zalogujemy), a także udostępniają nam webowe środowiska do edycji tychże plików. Nie inaczej jest z fundacją Arduino, która stworzyła stornę create.arduino.cc, o której dzisiaj trochę opowiem :)

Czytaj dalej...

Przerwanie na każdym pinie Arduino Uno

Początkujący użytkownicy Arduino mogą nie wiedzieć nawet o istnieniu czegoś takiego jak przerwania, jeżeli jednak budujemy bardziej złożony system na naszym mikrokontrolerze warto się nimi zainteresować, albowiem bardzo ułatwiają one komunikację z różnego rodzaju podzespołami. Niestety na płytkach wyposażonych w Atmegę328 (Uno, Leonardo) mamy do dyspozycji tylko 2 przerwania zewnętrzne. W porównaniu do całkowitej ilości pinów cyfrowych to bardzo mało. Jeżeli jednak nieco bardziej zagłębimy się w temat przerwań na tym procesorze to okaże się, że każdy pin cyfrowy obsługuje PCINT, czyli Pin Change Interrupt. W dzisiejszym artykule dowiemy się jak je wykorzystać.

Czytaj dalej...