1/12 Minikombajn Pomiarowy - pliki źródłowe

Jeżeli masz jakieś uwagi dotyczące bieżącego lub archiwalnych numerów "Elektroniki dla wszystkich" lub zauważyłeś błędy czy nieścisłości to jest to odpowiednie miejsce aby o tym napisać.
ODPOWIEDZ
leszek504b
-
Posty: 8
Rejestracja: 16 paź 2007, 17:11

Post autor: leszek504b » 25 cze 2012, 13:22

Coś czuję, że niektórzy mnie tutaj wyśmieją ale jednak zapytam. Czy do tego układu potrzebna jest specjalna sonda oscyloskopowa czy może być zwykła sonda pomiarowa? Elektroniką zajmuję się od niedawna więc dla mnie nie jest to takie oczywiste.

Awatar użytkownika
Aro
Użytkownik
Posty: 677
Rejestracja: 30 paź 2006, 18:49
Lokalizacja: Świerczyniec | Wrocław
Kontakt:

Post autor: Aro » 29 cze 2012, 10:48

Raczej sonda oscyloskopowa, przy czym nie musisz zwracać zbytnio uwagi na pasmo przenoszenia, ważne że powyżej 1MHz. Przyda się też możliwość przełączania tłumienia 1:1, 1:10, jeśli chcesz mierzyć napięcia wyższe niż 40V.

W skrajnym przypadku wystarczy zwykły przewód ekranowany z wtykiem BNC, ale trzeba się liczyć z dużymi pojemnościami takiej sondy.

dziechu, oba wyświetlacze mają rozdzielczość 320x240 i nic nie stoi na przeszkodzie, aby obsługiwać oba. Kwestia zamiany biblioteki.
Mi bardziej jednak zależy na tym z Avili, tańszy i większa rozdzielczość. Ale zobaczymy co z tego wyjdzie.

dziechu
-
Posty: 6
Rejestracja: 06 cze 2012, 15:13
Lokalizacja: Bytom

Post autor: dziechu » 29 cze 2012, 19:57

Masz całkowitą rację, po prostu wiem że taka zmiana biblioteki, tym bardziej jeżeli są różnice rozdzielczości, nie jest (dla mnie) taka prosta. Ale fakt - najważniesze żeby powstał główny program na STM32F4. A ten z Avili ma większą rozdzielczość? Jest też dotykowy? Ja zrobiłem kilka urzadzeń na tym co podałem i jestem pod wrażeniem jakości (wysycenie kolorów, kontrast, kąty widzenia), także jakości panelu dotykowego. Działa bardzo precyzyjnie i delikatnie, jak dobry pojemnościowy. Obsługa jest na prawdę bardzo przyjemna. Z tą avilą może być problem jak pisałeś - brak dokumentacji. Rozgryźć metodą prób i błędów raczej odpada, chyba że sterowanie podejdzie pod jakiś inny, znany typ.

slawek55
Użytkownik
Posty: 475
Rejestracja: 16 sie 2005, 11:47
Lokalizacja: Szczecin

Post autor: slawek55 » 21 lip 2012, 19:32

Mam do was pytania a w zasadzie prośbę.
Zainteresowało mnie wyświetlanie przebiegów na wyświetlaczach graficznych, czy yo na lcd od N3310 czy zwykłym graficznym ze sterownikiem KS108, a bardziej o zasadę rysowania przebiegów.
Szukałem sporo na w internecie jak inni to realizują i zauważyłem że wszystkie przebiegi realizowane są tak że wartość bufora który chcemy wyświetlić pokazywana jest w postaci pikseli tzn. liczba którą mamy wyświetlić to po prostu piksel.
Natomiast po uruchomieniu Kombajnu Pomiarowego przebiegi rysowane są w sposób ciągły.

I stąd moje pytanie w tym wątku. Czy wiecie jaki jest algorytm takiego ciągłego rysowania przebiegu? Jakoś nie mam pomysłu a rozgryzienie jak to realizowane jest w kombajnie jakoś mi nie wychodzi.
Poradzie mi coś.

sp3swj
-
Posty: 3
Rejestracja: 13 kwie 2012, 18:15
Lokalizacja: Poznan
Kontakt:

Post autor: sp3swj » 22 lip 2012, 7:37

... całkiem na poważnie...

w Kinie widzisz że obrazy są ruchome (i dzieje sie to płynnie) ... a są wyświetlane tylko "około" 24x na sekundę... no teraz może nawet szybciej niż dawniej...

:-)

slawek55
Użytkownik
Posty: 475
Rejestracja: 16 sie 2005, 11:47
Lokalizacja: Szczecin

Post autor: slawek55 » 22 lip 2012, 8:56

jak to sie ma do tego co ja pytam, bo chyba nie zaskoczyłem? I pytałem całkiem serio? A jak czegoś nie dostrzegam to proszę mi po prostu powiedzieć.
A przypomniałem sobie. Proszę zobaczyć jak w Kombajnie rysowany jest przebieg prostokątny. Zbocza są jako pionowe kreski, jakby przebieg był rysowany na zasadzie piksel->wartość to nie byłoby ciągłości na zboczach? Więc chyba jest coś na rzeczy?

Awatar użytkownika
Aro
Użytkownik
Posty: 677
Rejestracja: 30 paź 2006, 18:49
Lokalizacja: Świerczyniec | Wrocław
Kontakt:

Post autor: Aro » 22 lip 2012, 11:25

Algorytm jest bardzo prosty. Najpierw rysujesz piksel z daną wartością, następnie sprawdzasz kolejną wartość i rysujesz wszystkie piksele aż do tej wartości (pionową linię), ale bez ostatniego punktu. Do tego należy uwzględnić, czy linia pobiegnie w dół czy w górę. Cały przebieg będzie się składał z takich linii.
W moim programie nie widać tego na pierwszy rzut oka, gdyż nie korzystam z bufora obrazu. Wszystko jest rysowane w locie, co bardzo komplikuje sprawę.

slawek55
Użytkownik
Posty: 475
Rejestracja: 16 sie 2005, 11:47
Lokalizacja: Szczecin

Post autor: slawek55 » 22 lip 2012, 11:30

A zapytam tak, czy sam na to wpadłeś czy może wzorowałeś się na czymś.
Np w ostatnim EP jest stacja pogodowa z wyświetlaczem graficznym i tam też jest rysowany przebieg. W nim dziwi mnie że rysowany jest on jako linie pomiędzy punktami ze środkiem w średniej pomiędzy wartościami.

Awatar użytkownika
Aro
Użytkownik
Posty: 677
Rejestracja: 30 paź 2006, 18:49
Lokalizacja: Świerczyniec | Wrocław
Kontakt:

Post autor: Aro » 22 lip 2012, 14:02

Mi pomysł z rysowaniem zwykłych linii nie przypadł do gustu z dwóch powodów:
- przebieg prostokątny nie ma stromych zboczy
- bardziej złożony algorytm, jeśli nie korzysta się z bufora obrazu, wymaga dodatkowo informacji o poprzedniej próbce.
Nie wzorowałem się na żadnych gotowych rozwiązaniach.

slawek55
Użytkownik
Posty: 475
Rejestracja: 16 sie 2005, 11:47
Lokalizacja: Szczecin

Post autor: slawek55 » 22 lip 2012, 15:33

A byłby to dla Ciebie jakiś problem aby bez zamotania przedstawić fragment kodu?
Przyznam że rozgryzienie tego jest dość trudne a dla uproszczenia powiedzmy ze wartości do wyświetlenie mamy w buforze a nie w locie. Jeśli nie to OK, zrozumiem. A prawdą jest że coś mądrego ciężko znaleźć.

Awatar użytkownika
Aro
Użytkownik
Posty: 677
Rejestracja: 30 paź 2006, 18:49
Lokalizacja: Świerczyniec | Wrocław
Kontakt:

Post autor: Aro » 22 lip 2012, 20:57

Przykładowo mamy wartości od 0 do 255. Pole odczytowe o takiej samej rozdzielczości w pionie.

Kod: Zaznacz cały

//bufor[] - bufor wartości
for(i = 0; i < rozdzielczosc_pozioma; i++)
{
  setPixel(i, bufor[i]); //setPixel(x,y) - ustawianie pojedynczego punktu
  if(bufor[i] > bufor[i+1]+1) //sprawdź która wartość większa
  {
    for(j = bufor[i+1]+1; j< bufor[i]; j++) //rysuj słupek od kolejnej wartości do pierwszej
      setPixel(i, j);
  }else if(bufor[i]+1 < bufor[i+1])
    for(j = bufor[i]+1; j< bufor[i+1]; j++) //rysuj słupek od pierwszej wartości do kolejnej
      setPixel(i, j);
}

slawek55
Użytkownik
Posty: 475
Rejestracja: 16 sie 2005, 11:47
Lokalizacja: Szczecin

Post autor: slawek55 » 24 lip 2012, 18:16

Nie mogłem wcześniej, Dziękuję

mariojas
-
Posty: 11
Rejestracja: 17 cze 2011, 21:47
Lokalizacja: Jastrzębie Zdrój

Post autor: mariojas » 07 sie 2012, 20:08

Witam
Przestało mi świecić podświetlenie wyświetlacza. Cała reszta działa - widać pod światło że wyświetlacz działa i pokazuje to co zwykle pokazywał. Po uruchomieniu podświetlenie tylko mignie i się gasi. To samo jak się wyłączy MKP przyciskiem EXIT i znowu włączy.
Podpiąłem zamiast wyświetlacza samą diodę LED zieloną i efekt jest identyczny - mignie i wyłącza.

Co się mogło stać?

Awatar użytkownika
Aro
Użytkownik
Posty: 677
Rejestracja: 30 paź 2006, 18:49
Lokalizacja: Świerczyniec | Wrocław
Kontakt:

Post autor: Aro » 09 sie 2012, 17:53

Wejdź w ustawienia i zobacz czy nie jest przypadkiem ustawiona zbyt mała wartość podświetlenia.

mariojas
-
Posty: 11
Rejestracja: 17 cze 2011, 21:47
Lokalizacja: Jastrzębie Zdrój

Post autor: mariojas » 09 sie 2012, 18:03

Heh, miałem ustawioną jasność na 0. Niedobry chochlik czy promieniowanie wyzerowało bajt eepromu? :)

ODPOWIEDZ