^W górę

logo

ARDUINO

W tym dziale znajdziesz kurs programowania ARDUINO oraz artykuły opisujące różne wykonane przez nas projekty. Wkrótce również projekty wykonane z wykorzystaniem mikrokontrolerów ATMEGA (niekoniecznie na płytce ARDUINO). Zapraszamy do lektury oraz dzielenia się uwagami.

 

Otrzymałem ostatnio maila z prośbą o przybliżenie tematu "wielozadaniowości" w Arduino. Autor listu szukał rozwiązania pozornie prostego problemu, mianowicie kontroli i sterowania jednocześnie wieloma wejściami/wyjściami naszego układu. Arduino posiada system przerwań (a raczej mikrokontrolery Atmela taki system posiadają), ale przerwania mogą być wywoływane przez konkretne zdarzenia, co nie zawsze daje zamierzony efekt. Jednym z sygnałów przerwań może być port szeregowy, którego asynchroniczną obsługę pokazałem w innym artykule. Co jednak zrobić, gdy chcemy mieć wpływ na współbieżną pracę wielu elementów systemu podłączonych do portów Arduino? Postaram się wyjaśnić to zagadnienie poniżej.

Czytaj więcej...

Do napisania tego artykułu skłonił mnie osobiście zmarnowany czas na "walkę z wiatrakami", a dokładnej z różnymi wersjami naszego ulubionego urządzenia;) Wszystko wydawało się lekkie, łatwe i przyjemne do czasu, gdy kupiłem układy Arduino Nano wyposażone w układ scalony CH340G. Do tej pory pracowałem na modelach Uno oraz Pro Mini i nie zdawałem sobie sprawy (pewnie jak wielu innych użytkowników) ze specyfiki działania poszczególnych układów. Przejdźmy do konkretów. Zbudowałem sterownik, który kontroluje pewne urządzenia w domu (potrafi włączyć oświetlenie ledowe po zmroku i wyłączyć je o świcie, kontroluje temperaturę wody CWU i steruje pompą cyrkulacyjną, zdalnie włącza drukarkę sieciową, gdy chcę coś wydrukować). Sterownik pracuje autonomicznie, ale czasem trzeba się z nim połączyć, żeby zmienić parametry, lub wykonać konkretną akcję (włącz/wyłącz). Przetestowałem pomysł na Arduino UNO, wszystko zgodnie z założeniami zadziałało, więc postanowiłem zbudować gotowy sterownik w oparciu o Arduino Nano. No i się zaczęło. Program przeniesiony do mikrokontrolera działał, ale komunikacja z komputerem nagle przestała działać. Diody sygnalizujące transmisję radośnie świeciły podczas komunikacji, ale efektu w postaci wykonanego polecenia, czy odczytanych danych nie było...

Czytaj więcej...

W dokumentacji do Arduino można znaleźć dokładny opis sposobu przesyłania danych z wykorzystaniem portów szeregowych. Problem w tym, że są to informacje, połowiczne. Prawie każdy kurs programowania Arduino, który znalazłem w sieci kończy się na pokazaniu, w jaki sposób przesłać dane z wykorzystaniem wbudowanego terminala w ArduinoIDE. Jest to oczywiście lekkie, łatwe i przyjemne. Co ma jednak zrobić ktoś, kto chciałby wykorzystać Arduino w swoim projekcie na poważnie? Komunikacja z Arduino z poziomu własnej aplikacji jest możliwa, jednak nie jest to już takie łatwe i oczywiste, jak by mogło się wydawać po lekturze działu „transmisja szeregowa”.

W poniższym artykule postaram się opisać niezbędne elementy umożliwiające wymianę danych z mikrokontrolerem, problemy związane z transmisją danych oraz sposoby ich rozwiązania. Na koniec przedstawię przykładowe rozwiązanie komunikacji czyli kod aplikacji dla Arduino oraz program dla PC.

Czytaj więcej...

Tytułem wstępu

Każdy domowy wynalazca marzy o wykonaniu różnych bardziej lub mniej przydatnych gadżetów i zamontowaniu ich w domu/mieszkaniu. Własna stacja pogodowa, system oświetlenia, czy sterowanie CO to bardzo często prezentowane układy na znanym portalu elektroda.pl. A może tak kilka pomysłów połączyć razem i wykonać projekt inteligentnego budynku, który będzie przekazywał właścicielowi informacje o podstawowych parametrach? Myślę, że da się zrobić. W najbliższych kilku artykułach postaram się przedstawić modułową propozycję funkcjonowania inteligentnego budynku z możliwością rozbudowy o własne dodatkowe elementy.

Czytaj więcej...

W poprzednim artykule opisałem programowanie Arduino Pro Mini. Jest to idealny układ do wykorzystania w docelowym urządzeniu. Osoby, które chcą zbudować własny układ elektroniczny od podstaw zainteresuje natomiast możliwość zaprogramowania mikrokontrolerów ATmega328, ATmega168, ATmega8 i innych w taki sposób, by udawały układy Arduino. Warto zastanowić się, czy takie rozwiązanie ma sens. Układy Atmel ATmega możemy programować z wykorzystaniem asemblera lub języka C. Takie programowanie daje nam pełną kontrolę nad rejestrami, licznikami, pamięcią i wszystkim, co wbudowano w układy Atmela.

Czytaj więcej...

Arduino jest idealną platformą testową do szybkiego sprawdzenia pomysłów w praktyce. Co jednak zrobić, gdy nasz genialny pomysł okaże się rzeczywiście użyteczny? Możemy oczywiście korzystać z Arduino Uno, czy Arduino Mega w naszym nowym rozwiązaniu wykorzystując pytkę stykową i masę przewodów połączeniowych. Lepszym rozwiązaniem jest jednak zbudowanie urządzenia docelowego zamkniętego w obudowie z połączeniami, które nie rozpadną się przy byle podmuchu wiatru... Jednym z możliwych rozwiązań jest zastosowanie układu Arduino Pro Mini.

Czytaj więcej...

Copyright © 2005 - 2017 Katarzyna i Wojciech Płóciennik