Archiwa autora: Kamil

Alternatywne środowiska do Arduino – Atom

Z pewnością zdecydowana większość użytowników Arduino używa domyślnego środowiska dla tej platformy, czyli Arduino IDE. Jest ono moim zdaniem bardzo mało user-friendly. Prawie nie pozwala na żadne rozszerzenia, nie można zintegrować z nim żadnych popularnych narzędzi programistycznych, a w dodatku nie wspomaga programisty (np. podpowiadaniem parametrów funkcji lub ich nazw). Nie wszyscy jednak wiedzą, że równie dobrze mogą używać innych edytorów. W tej mini serii chciałbym przybliżyć Wam kilka alternatyw dla Arduino IDE, a na pierwszy ogień wezmę pod lupę edytor Atom z dodatkiem PlatformIO.

Czytaj dalej

Raspberry Pi – konfiguracja multicast DNS

Często instalując świeży system na karcie pamięci Raspberry musimy zaraz po uruchomieniu przeskanować siec w poszukiwaniu adresu IP, który został przydzielony do naszej malinki. Nie wszyscy o tym wiedzą, ale nowe raspbiany (nawet wersja lite) mają już zainstalowane specjalne daemony które sprawiają, że nie trzeba już sprawdzać adresów IP przydzielonych przez DHCP albo ustawiać stałego adresu. W dzisiejszym artykule pokażę Wam w jaki sposób skonfigurować swój komputer oraz malinkę do obsługi mDNS.

Czytaj dalej

NodeMCU – Minimalny obwód dla gołego ESP8266

Podczas tworzenia jakiegoś urządzenia najpierw robimy jego prototyp. Jeżeli wykorzystujemy do tego procesor ESP8266 to najprawdopodobniej najlepszym wyborem do prototypowania będzie płytka developerska NodeMCU. Po tym jak uznamy, że na breadboardzie wszystko śmiga jak w zegarku projektujemy płytkę drukowanę, lutujemy procesor ESP i… nie działa. W dzisiejszym artykule zaprezentuję jak należy w minimalnym stopniu zaprojektować układ wykorzystujący ESP8266, aby wszystko działało tak jak należy.

Czytaj dalej

Raspberry Pi – Pre konfiguracja systemu operacyjnego (headless install)

Pomimo tego, że Raspberry Pi potrafi obsłużyć mysz, klawiaturę oraz monitor to przy bardziej ukierunkowanych zastosowaniach raczej się ich nie używa. Instaluje się wtedy minimalny system, który udostępnia jakieś usługi, wykonuje jakieś zadania, a jego interakcja z użytkownikiem może odbywać się inaczej niż przez myszkę i klawaiturę (np. przez wyprowadzone na zewnątrz obudowy systemu wbudowanego przyciski, diody, wyświetlacze). W dzisiejszym artykule pokażę Wam jak zainstalować minimalny system operacyjny na malince wyposażonej w WiFi oraz skonfigurować połączenie sieciowe jeszcze przed pierwszym włożeniem karty SD do komputerka.

Czytaj dalej

Zapis i odczyt danych na karty MIFARE

Jeżeli posiadamy czytnik kart RC522 oraz kilka tagów do niego możemy poza samym odczytem ich unikalnych identyfikatorów chcieć przechowywać na nich dane. W końcu posiadają one 1kb nieulotnej pamięci, która tylko czeka aż coś do niej wpiszemy.

Czytaj dalej

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