Linux podstawy
Raspberry Pi
DevKit8000
PWM WiringPi |
W raspberry sprzętowe PWM'y są tylko dwa. Pierwszy jest podłączony do wyjścia audio, a drugi można wykorzystać do swoich projektów. Z reguły do stworzenia własnego robota wykorzystuje się dwóch silników, dlatego dobrze mieć także 2 PWM. W tym celu możemy programowo stworzyć PWM. Na stronie https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/ można znaleźć bibliotekę wiringpi, która potrafi stworzyć taki PWM na każdym pinie. W tym artykule pokaże jak dostać się do sprzętowego PWM który jest na GPIO1, czyli 18 pin. Programowy PWM otrzymać można dodając bibliotekę #include <softPwm.h>. Następnie wystarczy zamienić pinMode (1, PWM_OUTPUT) ; na softPwmCreate(1,0,100); gdzie 1 to numer pinu w bibliotece WiringPi, a 100 to podziałka dla PWM. Mając już zadeklarowny pin wystawiamy sygnał PWM poleceniem softPwmWrite(1,55); gdzie 1 to numer pinu, a 55 to wypełnienie PWM. W następnym artykule będę używał już tylko PWM programowego, więc jak nie załapaliście, to rozjaśni się wam w następnym artykule. Ściągnijmy sobie przykładowy program ze strony drogona. Oczywiście przykładowe przykłady są także w katalogu wiringPi. Stwórzmy sobie plik pwm.c i wpiszmy tam kod: teraz skompilujmy to za pomocą polecenia: Aby uruchomić i odpalić program należy wykonać następujące czynności: Oczywiście program wykonuje działanie, ale żeby to zaobserwować musimy podłączyć diodę do pinu 1. Czyli tak jak na obrazku: |