Skocz do zawartości

AnalogRead map zmiana zakresu na 0-3V


pelson

Pomocna odpowiedź

jako że jestem nowy na tym forum witam wszystkich miłośników elektroniki 🙂

mój problem polega na tym że nie wiem jak zmienić zakres napięcia lub zakres funkcji map()

nie wiem jak opisać dokładnie ten problem więc napiszę nad czym pracuję i co chcę osiągnąć

pracuję nad sterownikiem led RGB

zadaniem sterownika będzie płynna zmiana kolorów względem napięcia z sygnału A2

obecnie jest tak

0V - NIEBIESKI

< płynna zmiana koloru >

5V - CZERWONY

a potrzebuję żeby dioda NIEBIESKA w pełny wygasła a CZERWONA osiągnęła pełną jasność juz przy 3V dokładnie tak

0V - NIEBIESKA

< płynna zmiana koloru >

3V - CZERWONA

4V - CZERWONA

5V - CZERWONA

obecnie działa to tak jak poniżej

int sygnal_A2 = 0;
int sygnalGotowy = 0;
int sygnalOdwrotny = 0;


void setup() {

pinMode(A2, INPUT);
pinMode(3, OUTPUT); //zielony
pinMode(5, OUTPUT); //niebieski
pinMode(6, OUTPUT); //czerwony
}

void loop() {
     sygnal_A2 = analogRead(A2);
     sygnalGotowy = map(sygnal_A2, 0,1024,0,255);
     sygnalOdwrotny = map(sygnalGotowy,0,255,255,0);


analogWrite(6,sygnalGotowy);
analogWrite(5,sygnalOdwrotny);


}

mam nadzieję ze rozumiecie o co mi chodzi ;]]

Link do komentarza
Share on other sites

Narysuj sobie wykres, na którym na osi X masz napięcie wejściowe (odczytywane z ADC) a na osi Y nanosisz wypełnienie PWM poszczególnych kanałów. Wszystko powinno się wyjaśnić.

Link do komentarza
Share on other sites

Narysuj sobie wykres, na którym na osi X masz napięcie wejściowe (odczytywane z ADC) a na osi Y nanosisz wypełnienie PWM poszczególnych kanałów. Wszystko powinno się wyjaśnić.

chodzi o łagodną/płynną zmiane kolorów

podanym przez ciebie sposobem będzie od groma pisania "if" dobrze myślę ??

nie ma innego sposobu żeby to jakoś automatycznie przeliczyć ?

Link do komentarza
Share on other sites

będzie od groma pisania "if" dobrze myślę ??

Niekoniecznie.

Zrobiłeś to co napisałem? Najpierw zrozum problem, dokładnie określ co chcesz zrobić, na sam koniec pisz kod.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

pelson, możesz z ciekawości opisać słownie jaki miałeś zamysł pisząc te dwie linijki? Bo przyznam, że nie rozumiem dlaczego mapujesz wartość maksymalnie do 255*5/3 = 425, a później ucinasz to jeszcze osobnym if'em?

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.