Rausfinden ob der Arduino am PC hängt?

Hallo Leute.
Gibts eine simple Möglichkeit, während nem Programmstart (nur da würds konkret Sinn ergeben) herauszufinden, ob der Arduino am USB hängt oder extern versorgt wird?
Ich meine rein per Software, am besten in der setup() ?
Dass man da was bauen kann, über nen analogen Eingang, weiss ich-will ich aber nicht.

Du kannst hiermit versuchen die Versorgungsspannung zu messen:
https://code.google.com/p/tinkerit/wiki/SecretVoltmeter

Das geht intern ohne dass man extra was an einen Analog-Eingang anschließt.

Sauber.
Ergibt zwar nur ca. 0.1V Unterschied in meinem Fall, aber das reicht uzms klar zu unterscheiden.
Danke.

Das ist aber sicherlich reiner Zufall. Die Spannungen sind nominell gleich, und du kannst mit einem anderen Board oder bei einer anderen Temperatur schon Pech haben, dass es nicht mehr funktioniert

Mag so sein- für den Moment funktionierts.
Geht lediglich darum, dass die Motoren nicht anlaufen, wenn der Spielzeugbuggy am USB hängt- an den Jumper des Motorshields komm ich nämlich nicht gut ran.

Wenn du ne bessere Möglichkeit weisst...?

rein per Software

... kannst du rausfinden, ob auf dem PC ein Partner-Programm die Serielle Schnittstelle so behandelt, wie dein Arduino Sketch es erwartet.
Ob die Strom-Versorgung über Vin kommt oder nicht, musst du per Hardware messen
(z.B. den Vin über Widerstand und ZenerDiode begrenzen und auf einenDigitalpin legen)

Vin --- 20k --+--> digitalRead
              |
              Z 4.8V
              |
GND ----------+

Statt Zener-Diode geht auch ein zweiter 20k Widerstand :
genug bei 7V; ein Strom in die Eingangsbegrenzer-Diode < 1mA bei max. 20V
aber für diesen Billig-Vorschlag werde ich sicher verhauen und übernehme natürlich keine Garantie

Nutzt mir nicht viel, da obendrauf das alte Motorshield steckt.
Das belegt (ich glaub, ausser 0 und 1 oder wars 1 und 2?) alle Digitalpins beim Uno schon. Das neuere ist da besser-> hab ich aber nunmal nicht und soo wichtig ist die Sache wirklich nicht.
Auch mit Analogpins siehts recht mau aus bei dem Aufbau: 0,1 braucht das Sonar bereits jetzt, eventuell möcht ich noch ein Display an den I2C hängen, und eventuell noch nen zweiten Sonarsensor (oder auch Infrarot, mal gucken) nach hinten raus, der braucht dann auch noch zwei Pins, dann ists alle. Nen Mega passt schon nicht rein.

Und: viel Aufwand mach ich da nicht, da die Karre das eh nicht hergibt: für draussen nur bedingt geeignet(nicht grade kräftig), lenkt sehr bescheiden (Lenkradius was um anderthalb Meter oder so, da es keine Achsschenkellenkung hat), das lohnt nicht. Ist eh nur ne Nebenbei-Bastelei.
Mir gings nur darum, dass das Teil, wenn ich es programmiere, nicht dauernd loslaufen will, hat halt nur nen Hauptschalter, der zwischen Ladebuchse (die war nunmal drin, und ich finds gut, weil ich den Akku so ohne Demontage mitm Ultramat laden kann) und Bordelektrik umschaltet. Dummerweise komm ich an den Dino nämlich nur von unten ran, ging nicht anders zu bauen.
Momentan funktionierts halt mit der von Serenifly vorgeschlagenen Methode: wenn der Schalter aus ist, hab ich immer weniger als 4.9V, schalt ich ihn ein, hab ich immer über 4.9, das muss reichen.

olf2012:
Die Spannungen sind nominell gleich, und du kannst mit einem anderen Board oder bei einer anderen Temperatur schon Pech haben, dass es nicht mehr funktioniert

Temperatur und Last können das sicher ändern, aber sowie es aussieht hat USB bei kaum jemandem wirklich 5V