22-12-2021, 14:20
Po prostu wybierz jakikolwiek przykład z czujnikami, gdzie jest użyty czujnik analogowy i przepisz funkcję z obrazka. Być może okaże się problemem wyliczenie tego na float (AVR nie ma double) i na 8 bitowym procku z 16MHz, ale takimi szczegółami można się martwić jak się ma cokolwiek, z czego nie jest się zadowolonym. Może zapis tabel do flash i aproksymacja między punktami z tego wykresu będzie bardzie wydajna.
A może ktoś inny napisze coś mądrzejszego.
Przykładowy szkic z funkcją do analoga:
A może ktoś inny napisze coś mądrzejszego.
Przykładowy szkic z funkcją do analoga:
Kod:
#define PinAnalogowy A1
float funkcjaPolezD(uint16_t x)
{
float y=(3.141593*x*x)/4;
return y;
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
}
void loop() {
uint16_t odczyt=0;
float wynik=funkcjaPolezD(analogRead(PinAnalogowy));
Serial.println(wynik,7);//drukuje wynik z 7 miejscami po przecinku
delay(1000);
// put your main code here, to run repeatedly:
}
Miło być decenianym https://buycoffee.to/kaczakat