Hallo :)
Ich würde gerne mit meinem Arduino überprüfen ob ein Stromkreis
geschlossen oder offen ist. Also Spannung anliegt oder nicht.
Falls Spannung anliegt, soll eine LED leuchten wenn nicht dann soll
diese aus sein.
Hier der Code:
1
inteingang=1;
2
intled=2;
3
4
voidsetup(){
5
6
pinMode(eingang,INPUT);
7
pinMode(led,OUTPUT);
8
9
}
10
11
voidloop(){
12
13
if(digitalRead(eingang)==HIGH){
14
digitalWrite(led,HIGH);
15
16
}
17
18
else{
19
digitalWrite(led,LOW);
20
}
21
}
Habe die Massen auf den GND-Pin des Arduinos gesteckt und den Vcc auf
Pin 2
Wo liegt der Fehler? :)
Danke für die Hilfe
Mit was soll die Ausgangsspannung gemessen oder dargestellt werden?
Als erstes VCC vom Pin zwei abmachen, hoffentlich ist noch nichts
kaputt.
Leuchtdiode mit 510 Ohm Vorwiderstand basteln.
Dieses Prüfgerät zwischen VCC und GND zum Leuchten bringen.
GND des Prüfgerätes gesteckt lassen und die andere Seite an Pin 2.
Dann Pin 2 immer leuchten lassen
void loop() {
digitalWrite(led, HIGH);
}
dann Pin 2 immer aus
void loop() {
digitalWrite(led, LOW);
}
dann das Programm testen
void loop() {
if (digitalRead(eingang)==HIGH) {
digitalWrite(led, HIGH);
}
else {
digitalWrite(led, LOW);
}
}
max schrieb:> Habe die Massen auf den GND-Pin des Arduinos gesteckt und den Vcc auf> Pin 2
Hoffentlich hat das den Pin 2 nicht gekillt. In deinem Programm steuerst
du den Arduino Pin 2 als LED-Ausgang an. Wenn der Ausgang auf LOW
schaltet, ist das ein Kurzschluss.
> Ich würde gerne mit meinem Arduino überprüfen ob ein Stromkreis> geschlossen oder offen ist. Also Spannung anliegt oder nicht.
"Stromkreis geschlossen" und "Spannung anliegen" sind zwei völlig
verschiedene Dinge. Eine Spannung kann auch anliegen, wenn der
Stromkreis nicht geschlossen ist.
Michael schrieb:> schaltet, ist das ein Kurzschluss.Michael schrieb:> max schrieb:>> Habe die Massen auf den GND-Pin des Arduinos gesteckt und den Vcc auf>> Pin 2>> Hoffentlich hat das den Pin 2 nicht gekillt. In deinem Programm steuerst> du den Arduino Pin 2 als LED-Ausgang an. Wenn der Ausgang auf LOW> schaltet, ist das ein Kurzschluss.>>> Ich würde gerne mit meinem Arduino überprüfen ob ein Stromkreis>> geschlossen oder offen ist. Also Spannung anliegt oder nicht.>> "Stromkreis geschlossen" und "Spannung anliegen" sind zwei völlig> verschiedene Dinge. Eine Spannung kann auch anliegen, wenn der> Stromkreis nicht geschlossen ist.
Hallo,
ja ich weiß, ich habe mich verschrieben der Vcc Eingang ist natürlich
auf 1.
Der PullDown-Widerstand hat auch keine Veränderung gebracht.
Ok, ich möchte einfach wenn ich z.B. den Stecker von der 5V Quelle
ziehe, die LED ausgeht und wenn ich den Stecker wieder reinstecke die
LED wieder leuchtet.
Hab den Eingang jetzt auf Pin 4 gelegt aber es funktioniert trotzdem
nicht. Die LED leuchtet auch, wenn der Draht welcher auf Pin 4 geht
nicht angesteckt ist.
Bemerkenswert ist auch, wenn ich die USB-Verbindung zum Arduino trenne
versorgt sich dieser aus dem Eingangsstrom des Pin 4 ist das normal?
Besser wäre es, wenn du die (fremde) Spannung bzw. den Strom
potentialgetrennt misst.
Wenns nur darum geht, ob eine Spannung anliegt: Optokoppler (mit
primärseitiger Schutzschaltung) oder gleich einen Stromsensor (denn
meist fließt bei anliegender Spannung auch ein Strom):
http://www.watterott.com/de/ACS714-Stromsensor-Breakout-Board-5-to-5A
max schrieb:> Hab den Eingang jetzt auf Pin 4 gelegt aber es funktioniert trotzdem> nicht. Die LED leuchtet auch, wenn der Draht welcher auf Pin 4 geht> nicht angesteckt ist.
Was für eine Spannung kannst du messen an Pin4, wenn dort nichts
anghängt ist?
> Bemerkenswert ist auch, wenn ich die USB-Verbindung zum Arduino trenne> versorgt sich dieser aus dem Eingangsstrom des Pin 4 ist das normal?
Nein, und wenn es so wäre, ist es äusserst ungesund
Markus schrieb:>> Bemerkenswert ist auch, wenn ich die USB-Verbindung zum Arduino trenne>> versorgt sich dieser aus dem Eingangsstrom des Pin 4 ist das normal?>> Nein, und wenn es so wäre, ist es äusserst ungesund
Ja das ist blöd, denn genau das passiert...
Habe einen Schaltplan angehängt.
Okey ich denke die ganze Sache hat sich erledigt. Der Arduino ist
hinüber...
Wenn ich
1
intled=1;
2
3
voidsetup(){
4
5
pinMode(led,OUTPUT);
6
7
}
8
9
voidloop(){
10
digitalWrite(led,HIGH);
11
delay(1000);
12
digitalWrite(led,LOW);
13
14
}
Versuche, geht bei jedem Pin den ich ansteuer von 1-13 die LED zwar an,
doch nie wieder aus. :(
Nehme also mal an ich hab den Microcontroller irgendwie geschrottet.
So ein Scheiß.
Kann ich einfach den ATmega328 nachkaufen und ins jetzige Board stecken,
oder denkt ihr der ganze Arduino hats hinter sich?
Danke für eure Hilfe
Hi
>Versuche, geht bei jedem Pin den ich ansteuer von 1-13 die LED zwar an,>doch nie wieder aus. :(
Dann mach mal nach
digitalWrite(led, LOW);
auch ein delay(1000);
rein.
MfG Spess
Ähm Okey ich denke es ist besser bei dem ganzen durcheinander und dem
Pin gewechsle diese zu ändern.
Also mein Eingang für die Stromquelle liegt nun auf 8 und der Ausgang
für die LED auf 9.
Trifft diese Anweisung von vorher dann noch immer zu?
NIE NIE NIEMALS ohne Vorwiderstand eine Spannung an die Inputs. Im
dümmsten Fall ergibt das einen Kurzschluss und der µC stößt den
magischen weißen Rauch, der ihn am Leben hält, aus. Wenn der Rauch
rauskommt, hast du echt Arbeit, möglichst viel davon wieder
reinzubekommen - meistens kauft man lieber gleich nen neuen ;)
Tatsächlich, nun klappt es.
Das mit den 100KOhm verstehe ich ja, das ist der PullDOwn Widerstand
oder?
Aber wenn ich beim Vcc der Batterie 10KOhm in Serie schalte, warum kommt
dann noch eine Spannung durch? Beim messen zeigt er mir an er hat 0.11
Volt zu wenig für einen HIGH Pegel..
Die nächste Frag wäre dann, warum die LED noch leuchtet (jedoch
schwächer) wenn nur der Masse Pin abgesteckt ist..? Hängt dies damit
zusammen dass die 5Volt aus der Steckdose kommen und somit die gleiche
Masse wie der Arduino hat?
Das liegt daran, dass es dem µC erstmal wurscht ist, woher und an
welchem Punkt er seine Spannung bekommt. Solange eine Spannung an einem
Eingang anliegt und eine Masse dieser Spannung vorhanden, hast du einen
Stromkreis. Ob es ihm guttut (tut es garantiert nicht) ist eine andere
Sache.
max schrieb:> Aber wenn ich beim Vcc der Batterie 10KOhm in Serie schalte, warum kommt> dann noch eine Spannung durch?
Weil der Eingang des Ardunion so hochohmig ist, dass sich mit dem 10kOhm
nur ein minimalistischer Spannungsteiler einstellt.
Sprich: da fliesst so wenig Strom, dass am 10kOhm Widerstand keine
nennenswerte Spannung abfällt.
> Beim messen zeigt er mir an er hat 0.11> Volt zu wenig für einen HIGH Pegel..
Das reicht noch lange für ein High.
Die Grenze für High-Low liegt viel tiefer.
max schrieb:> Die nächste Frag wäre dann, warum die LED noch leuchtet (jedoch> schwächer) wenn nur der Masse Pin abgesteckt ist..?
Weil dann an deinem 'Messpin' gar nichts angesteckt ist.
Damit hängt der in der Luft.
Es ist aber ein Trugschluss anzunehmen, dass ein Pin, an dem nichts
hängt, automatisch 0 Potential hat! Das hat er nicht.
Tatsächlich ist der Eingang dann so hochohmig, dass er sich jedes
dahergelaufene elektromagnetische Feld aus der UMgebung einfängt. Der
Pin wirkt wie eine Antenne.
Und genau deshalb brauchst du an so einem Pin einen Pull-Down Widerstand
(also einen Widerstand vom Pin nach GND), der dem Pin auch dann noch
einen sauberen Pegel aufzwingt, wenn sonst nichts am Pin angeschlossen
ist.
Glimmen tut die LED deshalb, weil der Pin ja kein definiertes Potnetial
mehr hat, sondern sich alles einfängt, was da kreucht und fleucht. Zum
Beispiel auch Wechselspannungen, von denen wir alle umgeben sind, und
die zb im Falle des 230V Stromnetzes in deiner Wand, mit 50Hz zwischen 0
und 1 wechseln. 50 Wechsel in der Sekunde sind für deine Augen zu
schnell, da kommst du nicht mehr mit. Also siehst du das als glimmen.