Analog in = ändra start

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
tecno
Inlägg: 27022
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Analog in = ändra start

Inlägg av tecno »

Kod: Markera allt

sensorValue = analogRead(analogInPin);
outputValue = map(sensorValue, 0, 1023, 0, 255);
Ovan fungerar men jag skulle vilja ändra på starten av utgående till inkommande 100 = 0 ut

Hur fasen löser man detta?
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Analog in = ändra start

Inlägg av lillahuset »

Eh?
Användarvisningsbild
tecno
Inlägg: 27022
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Analog in = ändra start

Inlägg av tecno »

Analog ingång på en Arduino 0-1023

Analog ut 0-255

Men vill att analog ut triggar först på analog in 100

Clear as mud ? :wink:
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Analog in = ändra start

Inlägg av lillahuset »

Kod: Markera allt

sensorValue = analogRead(analogInPin);

if (sensorValue <= 100) {
    sensorValue = 0;
}

outputValue = map(sensorValue, 0, 1023, 0, 255);
Kanske? Ni har bra lera i Sparreholm.
Användarvisningsbild
tecno
Inlägg: 27022
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Analog in = ändra start

Inlägg av tecno »

Tack!

Triggnivån vart OK men...

Analoga ut börjar från 25 och inte 0
Användarvisningsbild
Klas-Kenny
Inlägg: 11292
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Analog in = ändra start

Inlägg av Klas-Kenny »

Kod: Markera allt

sensorValue = analogRead(analogInPin);

if (sensorValue <= 100) {
    sensorValue = 0;
}

outputValue = map(sensorValue, 100, 1023, 0, 255);
Kanske...
Användarvisningsbild
tecno
Inlägg: 27022
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Analog in = ändra start

Inlägg av tecno »

Nope, då är utgången triggad fullt ut och först vid *rätt* nivå så går den från 25-255
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Analog in = ändra start

Inlägg av lillahuset »

Farbror kanske skulle vara lite tydligare då och skriva att 100..1023 in ska motsvara 0..255 ut? Eller något i den stilen.
ToPNoTCH
Inlägg: 4847
Blev medlem: 21 december 2009, 17:59:48

Re: Analog in = ändra start

Inlägg av ToPNoTCH »

Möjligtvis

Kod: Markera allt

outputValue = map(sensorValue, -102, 1023, 0, 255);
EDIT: Ähh blir ju inte heller rätt :tumner:
Användarvisningsbild
tecno
Inlägg: 27022
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Analog in = ändra start

Inlägg av tecno »

lillahuset skrev:Farbror kanske skulle vara lite tydligare då och skriva att 100..1023 in ska motsvara 0..255 ut? Eller något i den stilen.

Var det inte det jag skrev? Lite trött är jag ;)
Användarvisningsbild
tecno
Inlägg: 27022
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Analog in = ändra start

Inlägg av tecno »

ToPNoTCH skrev:Möjligtvis

Kod: Markera allt

outputValue = map(sensorValue, -102, 1023, 0, 255);
EDIT: Ähh blir ju inte heller rätt :tumner:

Näe = 0 blir 23 ut ;)
ToPNoTCH
Inlägg: 4847
Blev medlem: 21 december 2009, 17:59:48

Re: Analog in = ändra start

Inlägg av ToPNoTCH »

Nytt försök

Kod: Markera allt

outputValue = map(sensorValue - 100, 0, 923, 0, 255);
Användarvisningsbild
tecno
Inlägg: 27022
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Analog in = ändra start

Inlägg av tecno »

det ger 27 ut ;)
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Analog in = ändra start

Inlägg av lillahuset »

OK, så här då?

Resultat i bifogad fil.

Kod: Markera allt

#include <stdio.h>

int main(void)
{
  int tmp, sensorValue, outputValue;

  for (sensorValue = 0; sensorValue < 1024; sensorValue++) {
    if (sensorValue < 100) {
      tmp = 0;
    } else {
      tmp = sensorValue - 100;
    }

    outputValue = tmp * 255 / (1023 - 100);

    printf("%d\t%d\n", sensorValue, outputValue);
  }

  return 0;
} /* main */
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
metric
Inlägg: 766
Blev medlem: 16 maj 2010, 11:04:52

Re: Analog in = ändra start

Inlägg av metric »

Kod: Markera allt

sensorValue = analogRead(analogInPin)-100;
outputValue = map(sensorValue, 0, 1023, 0, 255);
Skriv svar