Miesiąc: Listopad 2015

Dioda i PWM, czemu świeci nierówno?

Sterując diody PWM, łatwo dojść do wniosku, “że coś jest nie tak”. Chodzi o jasność diody. Otóż zmieniając stopień wypełnienia, nietrudno odnieść wrażenie, że zmianę jasności widać tylko przy pierwszych krokach, potem dioda świeci już niemal bez zmian. Czy tak jest naprawdę? Nie do końca. Problem nie leży w diodzie ale w ludzkim oku. A dokładniej to w mózgu. Nasze mózgi są nieliniowe, i taka sama zmiana jasności przy niemal nie świecącej diodzie jest o wiele bardziej przez nas zauważana niż gdy poziom jasności jest wysoki. Niech za ilustrację posłuży film. Dioda z prawej jest sterowana “od zera” do maksimum

Czytaj dalej...

Biblioteka RadioNRF24 działa też na Arduino

Jedną z zalet tinyBrd jest prosty, intuicyjny interfejs do NRF24L01. Dzięki temu wysyłanie i odbieranie danych jest bardzo proste. Dotąd biblioteka Radio była włączona w skład Nettigo tinyBrd Core, czyli rozszerzeniu Arduino IDE wspierającego programowanie tinyBrd. Ponieważ otrzymywaliśmy takie prośby, przenieśliśmy bibliotekę Radio na Arduino UNO. Zmian praktycznie nie trzeba było wprowadzać, poza kilkoma organizacyjnymi. Po pierwsze – w zarządcy bibliotek w Arduino IDE jest już biblioteka Radio (służąca do obsługi modułów FM), więc chce on nam nadpisywać uparcie nasze Radio, nawet to z tinyBrd Core, więc zmieniliśmy nazwę biblioteki na RadioNRF24. W konsekwencji zmienił nazwę globalny obiekt – dotąd

Czytaj dalej...

Wysyłanie poleceń z Raspberry do tinyBrd

Dotychczas tinyBrd wysyłało przez NRF24L01 dane do Raspberry. Zarówno gdy testowaliśmy jakość połączenia jak i gdy wysyłaliśmy dane z DS18B20. Tym razem na warsztat weźmiemy odwrotny przykład. Plan jest następujący: Raspberry będzie wysyłało żądanie odczytu stanu wejścia analogowego w tinyBrd a po otrzymaniu stanu będzie wysyłać polecenie zapalenia odpowiedniej ilości diod podłączonych do tinyBrd. Plan jest znany, to może pokażemy co wyszło finalnie: Pierwsze podejście do implementacji jest takie: RPi wysyła pakiet z jednym bajtem o wartości 99, co znaczy ‘podaj mi stan wejścia analogowego’, tinyBrd odeśle wtedy wartość. Raspberry odbierze dane od tinyBrd i wyśle dwa bajty do tinyBrd,

Czytaj dalej...