Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 10 kwi 2026, o 20:03


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 28 sty 2014, o 08:36 
Offline
Nowy

Dołączył(a): 28 sty 2014
Posty: 8
Pomógł: 0

Mam taki problem.
Mam mały projekt na Atmega8.
Moja funkcja przyjmuje wartości 1 - 5
I ten parametr chciałbym regulować potencjometrem.
Tylko że z potencjometru odczytuję wartości 0 - 255
I tu nie wiem jak zrobić żeby jedno skrajne położenie było traktowane jako 1, a drugie skrajne położenie jako 5 (i oczywiście wszystkie wartości pośrednie z dokładnością 0.1)
Pewnie te wartości trzeba przemnożyć przez jakąś funkcję ale nie mam pojęcia jak ją ułożyć.
Pomożecie?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sty 2014, o 09:43 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 57
Pomógł: 5

najpierw robisz zwykla proporcje (przyjmując zakres zmiennej wyjściowej od 0-4 -> czyli min(0)=0, max(255)=4). a później dodajesz offset o +1

255 --------------------------------------- 4
(wartosc odczytana z adc) --------- x

wiec x= (((wartość odczytana z adc)*4)/255) +1

czyli dla wartości 0 z adc bedziesz miał wynik 1
dla wartości 127 z adc będziesz miał wynik 2.99
dla wartości 255 z adc bedziesz miał 5

pozostaje kwestia zaokrągleń do odpowiedniej precyzji



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sty 2014, o 14:33 
Offline
Użytkownik

Dołączył(a): 16 maja 2012
Posty: 349
Lokalizacja: Legnica
Zbananowany użytkownik

Pomógł: 23

rozdzielczość 0.1 odpowiada 255/40 ok. 6 wypadałoby jeszcze lekko przesunąć odczyt o 3 żeby 5 pokazało się już przy ADC=253
tak więc wzór może taki x= (((wartość odczytana z adc+255/80)*4)/255) +1

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 sty 2014, o 21:21 
Offline
Nowy

Dołączył(a): 28 sty 2014
Posty: 8
Pomógł: 0

Wielkie dzięki. O to właśnie chodziło!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO