Sida 1 av 7

Arduino: Analogread visar endast 1023 hela tiden!

Postat: 7 mars 2014, 00:18:52
av Al_Bundy
Hej!

Jag har byggt en voltage divider
Bild

som ser ut så här:
Bild

Fast det är två motstånd istället för en potentiometer.
Men ändå så visar denna kod:

Kod: Markera allt

/*
  ReadAnalogVoltage
  Reads an analog input on pin 0, converts it to voltage, and prints the result to the serial monitor.
  Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.
 
 This example code is in the public domain.
 */

// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int sensorValue = analogRead(A5);
  // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
  float voltage = sensorValue;
  // print out the value you read:
  Serial.println(voltage);
}
Endast 1023.0 och 1022.0.
1023.0
1023.0
1023.0
1022.0
1023.0
1022.0
1023.0
1022.0
1023.0
1022.0
1022.0
1022.0
1023.0
Vad kan vara felet?
Jag har gått igenom exakt allt och hittat att GND och +5V har en sluten krets när jag simulerar så här:
Bild

För det måste väll vara en sluten krets mellan där om jag simulerar som ovan?
Jag är beroende av monitor som följer med Arduino IDE.

Re: Arduino: Analogread visar endast 1023 hela tiden!

Postat: 7 mars 2014, 00:22:03
av Klas-Kenny
Du skriver överallt att du läser A0, men koden läser A5. Kan det vara så att du kopplat in fel ingång på processorn?

Re: Arduino: Analogread visar endast 1023 hela tiden!

Postat: 7 mars 2014, 00:23:11
av Magnus_K
Kanske dum fråga men det övre kopplingsschemat går potten in på A0 men i koden A5.. Detta är ändrat va?
Jag är inte speciellt bra på detta men det tycker jag ser lustigt ut.

A ja, Klas-Kenny han emellan.

Re: Arduino: Analogread visar endast 1023 hela tiden!

Postat: 7 mars 2014, 08:53:43
av Miramithe
Fast då skulle den visa 0. För 1023 är 5 v. Misstänker glapp eller att r2 är nå fel på.

Koppla in en pot och testa med samma kod så det inte är nå fel där.
Sen mät båda resistorerna.
Du kan ju mäta med multimetern så du får 5v, och vilken spänning mellan resistorerna.

Re: Arduino: Analogread visar endast 1023 hela tiden!

Postat: 7 mars 2014, 09:32:09
av johano
Är pinnen verkligen satt som input?
Jag skulle nog försäkrat mig om det

Kod: Markera allt

void setup()
{
  ...
  pinMode(A0, INPUT);
}

/johan

Re: Arduino: Analogread visar endast 1023 hela tiden!

Postat: 7 mars 2014, 10:25:06
av sodjan
Ja du...
Varför inte börja med att åtminstående beskriva samma sak
på kommenterraderna som koden på raden efter faktist gör...

Förrutom hoppblandningen av A0/A5 så t.ex detta:

> // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
> float voltage = sensorValue;

Re: Arduino: Analogread visar endast 1023 hela tiden!

Postat: 7 mars 2014, 10:51:55
av jesse
Behövs det inte någon form av initiering av ADC innan man läser av den på samma sätt som du gör med Serial.begin?

Re: Arduino: Analogread visar endast 1023 hela tiden!

Postat: 7 mars 2014, 10:54:01
av bearing
Vad visar en multimeter mellan jord och ingången?

Re: Arduino: Analogread visar endast 1023 hela tiden!

Postat: 7 mars 2014, 10:59:13
av Borre
johano och jesse, nej det behövs inte.

Miramithe, en flytande ingång visar väldigt sällan "0"...

Re: Arduino: Analogread visar endast 1023 hela tiden!

Postat: 7 mars 2014, 10:59:36
av danei
Miramithe skrev:Fast då skulle den visa 0. För 1023 är 5 v.
Varför skulle en flytande ingång bli 0V? Den kan lika gärna bli 5V eller något däremellan. En flytande ingång kan vara vad som helst, beroende på den interna konstruktionen.

Re: Arduino: Analogread visar endast 1023 hela tiden!

Postat: 7 mars 2014, 11:04:52
av jesse
Borre skrev:johano och jesse, nej det behövs inte.
Men hur väljer man då referensspänning? I det här fallet ska man ju ha VCC som referens, lämpligtvis. Om Aref-ingången är 0 volt kan resultatet bli 1023 om det är den som används som referens.

Kod: Markera allt

  // read the input on analog pin 0:
  int sensorValue = analogRead(A5);

Re: Arduino: Analogread visar endast 1023 hela tiden!

Postat: 7 mars 2014, 11:23:38
av Miramithe
Testade på min Uno och den blev 0 när man har den flytande.
Men kan ju ha fel å. Men hur som haver är det ju något som är fel i antingen kopplingen eller koden.


Edit:
Arduinon har alltid 0-5v på analog read funktionen, om man inte ändrar den. Alltså default setting 5v.
Detta gäller 5v korten. 3.3v korten har 0-3.3v

Re: Arduino: Analogread visar endast 1023 hela tiden!

Postat: 7 mars 2014, 12:09:20
av Borre
Jesse, http://arduino.cc/en/Reference/AnalogReference

Är det för mycket begärt att ni kollar upp lite själv istället för att anta en massa när det gäller Arduino? Allra helst i Al_Bundys trådar eftersom det rör till saker mer än gör nytta för TS. För jag menar en simple googling så har ni svaret, för Arduino-dokumentationen är utmärkt när det kommer till sånt.

Det har varit så i princip alla trådar som gäller Arduino, det antas en massa saker som kan vara helt fel. Hade det gällt andra trådar där "experterna" (utan att nämna några vid namn, ni får bestämma om det passar in på er) är inne och domderar så hade det blivit ett jäkla liv om att läsa datablad och dokumentation om någon okunnig farit med en massa antaganden.

edit, Kan väl tillägga att det inte var så extremt i den här tråden egentligen, men överlag är det som ovan.

Re: Arduino: Analogread visar endast 1023 hela tiden!

Postat: 7 mars 2014, 12:29:50
av jesse
Det är ju inte jag som vill ha reda på svaret, så jag tänker ju inte söka upp en massa information åt TS. Däremot är det ju bra om TS kollar sådant själv, som han eventuellt kan ha missat.
Det enda jag är helt säker på är att det sitter en AVR-processor där, och den behöver initieras för att ADC kan fungera. Jag ville bara kolla att TS visste var och hur det gjordes, för det står ju inga kommentarer i koden t.ex. om detta, vilket borde vara självklart om man visste vad man höll på med.

Re: Arduino: Analogread visar endast 1023 hela tiden!

Postat: 7 mars 2014, 12:32:27
av Al_Bundy
Hej!

Som ni er schemat ovan så är det INTE inkopplat på A0. Detta schema är bara ett exempelschema från
http://arduino.cc/en/Tutorial/ReadAnalo ... xmr8_iVvQo

Bild

Så ser mitt schema ut på riktigt.