makan1975 skrev:Är det inte motstånden som begränsar spänningen så att du inte får värden mellan 0-100?
0,16V kommer väl att ligga över 330Ohm Cirka 3%..
Jodå, det stämmer och det skrev jag att jag förstod i mitt förra inlägg. Det jag blev konfunderad över är att pot 1 och 2
gick från 3-96 medan pot 3 gick från 3-94.. Min undran var varför tredje inte fick samma värden när alla var inkopplade likadant.
Nu när jag tagit bort motstånden så fungerar det givetvis helt perfekt, 0-100 (på mindre än 1 sekund, det ni

)
PHermansson
Intressant projekt, har inte du skrivit någon tråd om detta? Känner igen det, men kanske någon annan som skrivit om liknande..
Icecap skrev:unsigned long X:
X = read_ADC(0); // Nu är det passat in i ett 32 bitars variabel
X *= 100; // Först multiplicera
X /= 1023; // Sedan dela
och DÅ är X det värde du vill ha och kan passas i en byte.
Icecap, nu ger jag dig rätt för det där fungerar precis som min kod gjorde inatt innan jag gick och la mig.
Följande kod
Kod: Markera allt
uint8_t ADCvalue;
...
static uint32_t readADC(uint8_t channel)
{
...
}
...
ADCvalue = ((readADC(0)*100)/1023);
Ger exakt som denna, enligt mina tester..
Kod: Markera allt
unsigned long ADCvalue;
...
static uint16_t readADC(uint8_t channel)
{
...
}
...
ADCvalue = readADC(0);
ADCvalue *= 100;
ADCvalue /= 1023;
Nerre
Ok, då ska jag lägga det på minnet (skriva ner det) så jag designar det så i fortsättningen. Tackar!
Icecap skrev:Kom ihåg att ha en kondensator mellan AD-ingången och GND, en 10nF-100nF keramisk är synnerligt bra.
Jodå det har jag redan, som jag skrev i min första post, däremot så fanns inte det med på bilden jag la in senare, men
det är inte jag som gjort den utan hittade bara en på Google som liknande alla de som jag sett..
Men en konding mellan referens och GND har jag

Dock inte precis vid uC som de bör sitta, men nu är det bara utveckling / test
bearing
Tack för den informationen! Det där är verkligen något jag inte skulle kunna komma på själv

Finns det någon speciell anledning att räkna ut det på detta sätt? Finns det någon gång då man inte kan eller får använda en uint32?
jesse
Tackar! Ska ta och prova den varianten också, se vad som tar "minst" plats i programminnet
Jag måste säga att jag verkligen uppskattar all hjälp jag fått i denna tråd, ni ska ha jättetack!
