analogRead() gives me no more then 260

I have ArduinoNano (328) connected by USB. I wrote a simple sketch, which reads A0 pin and shows data through Serial. I connected wire to A0 and when I touch wire's other end to "-" electric bus of my breadboard, serial monitor shows me 0. This is correct.

Then other end of wire is free, serial monitor shows about 230-260. Ok.

But then I touched "+" bus of breadboard (connected to "5V out" Arduino pin) serial monitor still shows about 240-260. I measured the voltage on "+" bus by multimeter, it is 4.47 V

Manual for analogRead said, it's range should be 0-1024, so why can't I get more than 260?

my sketch is:

define ADC A0

volatile int sensorValue; // non-volatile does not matter though

void setup() { Serial.begin(9600); pinMode(ADC, INPUT);


void loop() { sensorValue = analogRead(ADC); p("ADC is %d\n", sensorValue ); }

so why can't I get more than 260?

Because your input is still floating, and you haven't got the situation you think you have. Try touching the input pin to the 5V pin on the arduino itself. You will probably find it is a problem with the ground on the bread board not being connected. You don't need this line:-

  pinMode(ADC, INPUT);

replace this line:-

pinMode(ADC, INPUT);


pinMode(0, INPUT);

A0 is used when you want to use the analogue input pin as a digital pin, not when you want to use it as an analogue input.