Generator sygnału prostokątnego - Arduino Uno - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Generator sygnału prostokątnego - Arduino Uno (/watek-generator-sygna%C5%82u-prostok%C4%85tnego-arduino-uno) |
Generator sygnału prostokątnego - Arduino Uno - akudom - 19-11-2016 Witam, Jestem początkującym użytkownikiem Arduino i jest to mój pierwszy post na forum. Przy użyciu Arduino Uno chciałbym stworzyć generator impulsów prostokątnych o zmiennej częstotliwości (regulacja przy użyciu potencjometru, maksymalna częstotliwość ok. 1kHz). Sygnał ten ma być dalej przekazywany do innego mikrokontrolera który będzie zliczał i przetwarzał impulsy. Chciałbym prosić o porady w kwestii budowy tego typu generatora oraz napisania odpowiedniego programu. Z góry dziękuję za każdą pomoc. RE: Generator sygnału prostokątnego - Arduino Uno - namok - 19-11-2016 Do generacji sygnału wykorzystaj bibliotekę TomerOne. Przykład: http://forum.arduinopolska.com/watek-przerwania-programowe-poradnik Sygnał z potencjometru wprowadź na wejście analogowe. Przykład: http://forbot.pl/blog/artykuly/programowanie/kurs-arduino-4-przetwornik-adc-id3819 Aby częstotliwość nie "zmieniała się sama" zastosuj histerezę. Po wykryciu zmiany wartości potencjometru zmień częstotliwość przerwań za pomocą funkcji Timer1.setPeriod(czas). RE: Generator sygnału prostokątnego - Arduino Uno - akudom - 20-11-2016 Dziękuję za podpowiedź. Bazując na powyższych informacjach zbudowałem układ z przykładu z potencjometrem oraz napisałem program: Kod: #include "TimerOne.h" Wydaje mi się że dzięki temu na pinie 10 będą pojawiać się impulsy o częstotliwości zadanej na potencjometrze. Prosiłbym jednak o sprawdzenie czy coś takiego ma w ogóle prawo zadziałać, a jeśli nie to co trzeba poprawić. RE: Generator sygnału prostokątnego - Arduino Uno - akudom - 20-11-2016 Wykonałem nieco inny program gdyż nie byłem w stanie doprowadzić wcześniejszej wersji do działania: Kod: int odczytanaWartosc = 0; //Zmienna do przechowywania odczytu ADC Wydaje mi się że ta wersja działa, tzn. przy niskich częstotliwościach dioda miga z odpowiednimi odstępami czasu. Mam jednak inny problem. Chciałbym aby drugi mikrokontroler odbierał i zliczał wygenerowane impulsy. Nie do końca wiem jak połączyć oba urządzenia (czy wystarczające będzie tu zwyczajne połączenie kabelkiem pinu 2 generatora z odpowiednim pinem drugiego mikrokontrolera?) oraz jaki program zapisać. Będę wdzięczny za każdą pomoc. |