USB-Status überprüfen (HIGH oder LOW)

Gast #3444045
Lesenswert?

Hallo ;)

Ich möchte den USB-Ausgang von meinem Fernseher prüfen ob dieser HIGH 
oder LOW ist.

Geplant ist das ganze mit einem Arduino.

Eigentlich muss ich doch nur die Masse des USB-Ausgangs mit dem Arduino 
verbinden und TV-VCC als Eingang definieren oder?

Funktioniert aber nicht, die LED leuchtet immer egal ob der USB-Port 
Spannung hat oder nicht.


Hier mein Code:
1
 
2
int usbinput = 8;
3
int ledoutput =9;
4

5

6
void setup() {
7

8
  pinMode(usbinput, INPUT_PULLUP);
9
   pinMode(ledoutput, OUTPUT);
10

11
}
12

13
void loop() {
14
  
15
  if (digitalRead(usbinput)==HIGH) {
16
    digitalWrite(ledoutput, HIGH); }
17
    else {
18
      digitalWrite(ledoutput, LOW);
19
    }
20

21
}

Danke für eure Hilfe! ;)
Gast #3444121
Lesenswert?

eizi schrieb:

> Ich möchte den USB-Ausgang von meinem Fernseher prüfen ob dieser HIGH
> oder LOW ist.
>
> Geplant ist das ganze mit einem Arduino.
>
> Eigentlich muss ich doch nur die Masse des USB-Ausgangs mit dem Arduino
> verbinden und TV-VCC als Eingang definieren oder?

Ja.

> Funktioniert aber nicht, die LED leuchtet immer egal ob der USB-Port
> Spannung hat oder nicht.

Woher willst du denn dann überhaupt wissen, ob sie Spannung hat oder 
nicht?

Solange der TV eingeschaltet ist, wird die USB-Buchse einfach immer 
Spannung haben und deine LED deshalb auch immer leuchten.

Interessant wird es, wenn du einfach mal den Netzstecker des TV ziehst 
und einige Minuten wartest. Dann sollte deine LED auf jeden Fall 
irgendwann ausgehen.

Wenn nicht, stimmt entweder mit deiner Schaltung oder deinem Programm 
was nicht. Aber ohne als erstes diesen naheliegenden primitiven Test 
gemacht zu haben, lohnt "Fehlersuche" nicht, weil es ja noch nichtmal 
erwiesen ist, daß überhaupt ein Fehler vorliegt.

Das sollte doch jedem einleuchten, oder nicht?
#3444597
Lesenswert?

Hmm, funktioniert doch nicht mehr habe zuerst als ich dachte es 
funktioniert einen Fehler gemacht...

Ich hab die Schaltung jetzt so aufgebaut, dass ich die zwei Massen 
verbunden habe, aber es funktioniert nicht die LED geht an und nicht 
mehr aus. Ich habe geprüft ob am USB-Ausgang des TVs Strom anliegt bei 
ausgeschaltetem Fernseher doch dieser ist nicht der Fall.
Gast #3444789
Lesenswert?

Max E. schrieb:
> Mit meiner angehängten Schaltung habe ich den Widerstand
> eingebaut.
>
> Es funktioniert jetzt auch, wenn Strom weg ==>LED aus.
>
> Aber wenn ich die Masse des USB-Ausgangs vom Arduino trenne,
> funktioniert es trotzdem noch..also wenn nur Vcc des USB-Ausgangs am
> Arduino hängt leuchtet die LED trotzdem...warum?

Weil dein GND vom Arduino vermutlich indirekt, z.B. via Netzteil, mit 
dem GND des USB verbuden ist. Zufall und nicht wirkich definiert.

Mit dem Pull-Up funktioniert es nicht, da du, bei augeschaltetem USB, 
keine Last nach GND hast. Der Pullup zieht die Spannung hoch, so dass du 
immer einen HighPegel siehts.

Je nachdem, wie nachhaltig das ganze werden soll, würde ich an den 
Aruduino Eingang noch einen Widerstand (10k - 47k) in Serie schalten 
(anstelle deiner weissen Leitung) und den Pulldown Widerstand (1k - 10k) 
dort anhängen. (Anstatt am Eingang)
So ist dein Eingang etwas geschützt.

Und deine LED hat doch hoffentlich einen Vorwiderstand, oder?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren