C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
-
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:
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?
-
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:
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 ?
-
lillahuset
- Gått bort
- Inlägg: 13969
- Blev medlem: 3 juli 2008, 08:13:14
- Ort: Norrköping
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.
-
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:
Inlägg
av tecno »
Tack!
Triggnivån vart OK men...
Analoga ut börjar från 25 och inte 0
-
Klas-Kenny
- Inlägg: 11292
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Inlägg
av Klas-Kenny »
Kod: Markera allt
sensorValue = analogRead(analogInPin);
if (sensorValue <= 100) {
sensorValue = 0;
}
outputValue = map(sensorValue, 100, 1023, 0, 255);
Kanske...
-
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:
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
-
lillahuset
- Gått bort
- Inlägg: 13969
- Blev medlem: 3 juli 2008, 08:13:14
- Ort: Norrköping
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
Inlägg
av ToPNoTCH »
Möjligtvis
Kod: Markera allt
outputValue = map(sensorValue, -102, 1023, 0, 255);
EDIT: Ähh blir ju inte heller rätt
-
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:
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
-
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:
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
Näe = 0 blir 23 ut
-
ToPNoTCH
- Inlägg: 4847
- Blev medlem: 21 december 2009, 17:59:48
Inlägg
av ToPNoTCH »
Nytt försök
Kod: Markera allt
outputValue = map(sensorValue - 100, 0, 923, 0, 255);
-
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:
Inlägg
av tecno »
det ger 27 ut
-
lillahuset
- Gått bort
- Inlägg: 13969
- Blev medlem: 3 juli 2008, 08:13:14
- Ort: Norrköping
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
Inlägg
av metric »
Kod: Markera allt
sensorValue = analogRead(analogInPin)-100;
outputValue = map(sensorValue, 0, 1023, 0, 255);