logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Atmega8 - Jak narysować przebieg sygnału z przetwornika A/C?

morchior 27 Lut 2016 12:51 936 3
REKLAMA
  • #1 15475434
    morchior
    Poziom 8  
    Witam,
    Chciałbym narysować przebieg sygnału mierzonego przez przetwornik A/C mikrokontrolera.
    Niestety za nic w świecie nie potrafię tego zrobić.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Więc po kolei. Najpier tworzę sobie tablicę o 83 polach(LCD PCD8544 84x48). Przesuwam po kolei każde pole w prawo, a w indeks 0 wpisuje aktualna odczytana wartosc. Jako że jest to char to nie chce nadpisac 0 indeksu 1 dlatetego, zapisuje go sobie do zmiennej i potem wprowadzam.
    Druga petla to juz sprawdzanie po kolei wartosci z tablicy (zaczynajac od konca) i wyswietlanie na okreslonym poziomie.

    Niestety ale jedyne co udaje mi się uzyskać to jedna pionowa linia na wyswietlaczu. A według mnie powinny być przesuwajace sie w lewo piksele na okreslonym poziomie w zależnosci od odczytu. Nie ma jeszcze kasowania wczesniejszych wartosci dlatego, powinno rysowac kreski w lewą stronę.

    Pomoże mi ktoś?

    Załączam jeszcze biblioteke do wyswietlacza:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #2 15475702
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #3 15477635
    morchior
    Poziom 8  
    Tak wiem jestem okropny w te klocki.
    Więc tak, teraz używam timera do przerwania. Mógłbyś mi wytłumaczyć czemu mam nie używać free runu? Floaty zastąpiłem intigerami.

    Efekty: piksele wyświetlają się na określonych poziomach. Niestety są między nimy spore odstępy. Poza tym gdy są przesuwane w lewo(aby był efekt zmieniającego się przebiegu) nie są aktualizowane nowe wartości w tablicy i wykres pomiary w końcu znikają...

    Tak wiem, że nadal nie rysuję linii tylko wyświetlam same piksele. Jutro postaram się to poprawić.

    Odczyty nie są zadowalające. Z czego to może wynikać? Za duży kwarc? Słaba filtracja ?
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #4 15479224
    Konto nie istnieje
    Konto nie istnieje  
REKLAMA