Input voltage

I'm quite new at Arduino and I have completed a small kit robot to which I'm starting to add some of my own stuff.

My robot is quite dumb at the moment, the best it can do it follow a black like and avoid walls.

I want to make it remotely controllable, I have all the necessary parts (salvaged from a small, mechanically broken, RC helicopter).

The tiny IR board is wired and works fine, but my concern is the output, what does my Arduino board take as input? I mean, what would I have to input to my Arduino's analog pins to get my 0 to 255 reading? Can I go from GND to VCC or do I have to put some resistor in between?

Sorry for my utter noobness, getting better by day...

The arduino will read your voltage from GND to 5 volts, which can be increased using the Aref pin if necessary.

Any voltage between GND and 5 volts will not require a resistor as no current (very, very little) current is actually flowing into the arduino.

Thanks.

Another question: I discovered my RC controller is "always on" type, that is VCC to motors and it modulates the GND as I push a button on my controller so that the current would pass (opens the path to GND). Unfortunately this means I cannot send out anything on a GND modulating wire, what are my options?

This doesn't answer your question... but a robot that can follow a line or walls should by no means be called "dumb." In fact, adding remote control dumbs-down the bot since you are the one controlling it...

The arduino will read your voltage from GND to 5 volts, which can be increased using the Aref pin if necessary.

The first part of this statement is true. The second part is not. ARef can be set to a lower value that 5V (on a 5V board), but not a higher value.

To read higher values, you need a voltage divider that will limit the voltage in to the analog pin to no more than 5V.

It took me several reads through this to understand the situation. You have a control board that sinks the current rather than sourcing it. No dig beal glockenspiel.

There's a couple of ways you can approach this. Wire the control board to VCC and GRD as marked. Then connect a resistor between an input pin on the arduino and VCC. Then connect that same input pin to the output of your control board. This will pull the pin up to 1 HIGH. However, when your board gets a signal it will drop the pin low by sinking the current to ground.

This is no different than reading a push button

I'm new here but I'm still getting used to seeing people post replies that correct you or someone else yet add absolutely nothing toward solving your original stated problem.

Other replies are plain demeaning and intend to accomplish nothing other than to bolster your respondents fragile ego.

I hope that I actually helped you.

Dalorin, I cannot second your opinion.
Answers in this forum are generally extremely helpful - depending of course on the amount of the kind helper's own knowledge and understanding of the situation. And the situation is sometimes not very clear.
Take this thread.
-The kind of RC controller is unclear.. Does it provide the PWM directly? Most likely not, as the OP seems to be sure to get analog values (between 0 and Vcc in Vcc/256 steps).

  • Now it turns out that the output is a "low side driver" (or an "open collector"), very useful in many contexts.

Your recommendation is absolutely fine - it says: Wire the collector resistor! As the OP might now ask: Which value? This new anwer could be: Anything between 1k and 10k :slight_smile:

You see, it's often a matter incremental information transfer...

Thank you all, I'm still learning the correct electronic language so it's not always very obvious.

I see the logic here, but why the 1-10kOhm resistor?

I also thought: what if I set my pin to HIGH by means of programming, would that solve my problem?