Hey Leute, ich möchte in dem Programm SimulIDE, eine LED mit Hilfe eines Arduino Uno zum Blinken bringen. Dazu habe ich an Ausgangspin 2 des Arduino die LED mit Vorwiderstand von 200OHm angeschlossen, und diese Leitung abschließend geerdet. Ich habe in der Arduino IDE Version 2.3.8 den Code: void setup() { // put your setup code here, to run once: pinMode(2,OUTPUT); } void loop() { // put your main code here, to run repeatedly: digitalWrite(2,HIGH); delay(1000); digitalWrite(2,LOW); delay(1000); } geschrieben und nach rechten Mausklick auf den Arduino unter dem Reiter mega328-109-> Eigenschaften -> Firmware das entsprechende Hexfile in den Microcontroller geladen. Die Firmware wurde auch erfolgreich geladen (Nachricht: "Firmware successfully loaded"), trotzdem blinkt die LED beim Starten der Simulation nicht. Auch ein Drehen der LED um 180° gedreht und Variieren der Vorwärtsspannung hat keinen Effekt erzielt. Gibt es vielleicht noch andere Parameter zu beachten? Vielen Dank für eure Hilfe!
a) In SimulIDE gibt es auch ein Oszilloskop. Check' erstmal, ob der Pin wirklich sein Potenzial wechselt. b) bau' in den Loop eine Ausgabe (Serial/Terminal) ein, die je nach Schaltvorgang "ein" und "aus" ausgibt c) Schalte die LED mal mit der Anode gegen Plus. In der Realität kann ein Arduino-Pin mehr Srom aufnehmen als abgeben ... vielleicht hilft es.
Peter schrieb: > Dazu habe ich an Ausgangspin 2 des Arduino die > LED mit Vorwiderstand von 200OHm angeschlossen, und diese Leitung > abschließend geerdet. Da muss man wohl den Arduino auch noch erden.
Wastl schrieb: > Da muss man wohl den Arduino auch noch erden. ... oder die LED an den GND Pin des Arduino anschliessen.
Vielen Dank für eure schnell Hilfe. Ich habe die LED mit den Gnd-Pin des Arduino verbunden und ein Oszilloskop angeschlossen. Darin war zu erkennen, dass der Spannungswert des Pin 2 immer zwischen 5V und 0V toggelt. Ich habe auch nochmal die LED um 180° mehrfach gedreht, um die Anode mit Plus zu verbinden. Trotzdem blinkt die LED nicht? Mein Code mit der Ausgabe von "Ein" bzw. "Aus" sieht jetzt wie folgt aus: void setup() { // put your setup code here, to run once: pinMode(2,OUTPUT); Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: digitalWrite(2,HIGH); Serial.print("Ein"); delay(1000); digitalWrite(2,LOW); Serial.print("Aus"); delay(1000); } Muss darin noch eine Library eingebunden werden, um die Augabe über das Konsolenfenster zu ermöglichen? Vor "Firmware successfully loaded" erscheint immer die Meldung "Extended Linear Address: 0x0" im Konsolenfenster.
Könnte es sein, dass der von dir verwendete Pin 2 nicht für eine (binäre) Ausgabe geeignet ist? Probier mal andere, z.B. die 8, 9 oder 10 ...
Ich habe das mal eben installiert und bei mir läuft es. Zunächst habe ich die Led an Pin 13 aktiviert. Danach an Pin4 Und noch an Pin2, aber andersrum schaltend.
1 | void setup() {
|
2 | // put your setup code here, to run once: |
3 | pinMode(4,OUTPUT); |
4 | pinMode(2,OUTPUT); |
5 | pinMode(LED_BUILTIN, OUTPUT); |
6 | Serial.begin(9600); |
7 | } |
8 | |
9 | void loop() {
|
10 | // put your main code here, to run repeatedly: |
11 | digitalWrite(4,HIGH); |
12 | digitalWrite(2,LOW); |
13 | digitalWrite(LED_BUILTIN, HIGH); // change state of the LED by setting the pin to the HIGH voltage level |
14 | delay(1000); |
15 | Serial.print("Ein");
|
16 | delay(1000); |
17 | digitalWrite(4,LOW); |
18 | digitalWrite(2,HIGH); |
19 | digitalWrite(LED_BUILTIN, LOW); // change state of the LED by setting the pin to the HIGH voltage level |
20 | delay(1000); |
21 | Serial.print("Aus");
|
22 | delay(1000); |
23 | } |
:
Bearbeitet durch User
Vielen Dank :). Einfach nochmal neu abgespeichert und dann hat es funktioniert.
Frank O. schrieb: > Ich habe das mal eben installiert und bei mir läuft es. Tolle Simulator-Software ... wo der LED-Strom ins Nirwana fliesst, bzw. fliessen kann.
Wastl schrieb: > Tolle Simulator-Software ... wo der LED-Strom ins Nirwana fliesst, > bzw. fliessen kann. Ich habe das nur installiert, weil ich das nicht kannte, das Problem lösen und helfen wollte. Bei den Leds kannst du unter Einstellungen den Minus dazu schalten. Sieht blöd aus, aber für so eine Simulation doch in Ordnung. Ich persönlich würde in so einer Simulation nur einen Vorteil sehen, wenn ich darus direkt alles in einen Schaltplan und noch besser, auch gleich in eine Platine umwandeln könnte. So sehe ich das lieber auf dem Steckbrett. LTSpice finde ich gut, um grundsätzliche Probleme zu lösen. Aber wenn du meckern willst, ich bin nur der Helfer und unschuldig. Dann bitte beim TO.
Frank O. schrieb: > Aber wenn du meckern willst, ich bin nur der Helfer und unschuldig. Die Meckerei war nicht auf dich gemünzt, sondern - klar lesbar - auf die Software. Du bist in meinem Beitrag mit keinem Wort erwähnt.
Wastl schrieb: > Tolle Simulator-Software ... wo der LED-Strom ins Nirwana fliesst, > bzw. fliessen kann. Jepp, das fand ich auch sehr komisch. Wenn ich daran denke, wie z.B. LTSpice freidreht, wenn man da mal eine Signalverbindung vergisst...
Frank E. schrieb: > In der Realität kann ein Arduino-Pin mehr Srom aufnehmen als abgeben In der Realität weiß so ein ATmega328 gar nicht, dass er in einem Arduino gelandet ist. ;-) Außerdem ist der Unterschied nicht wirklich so dramatisch. Für den ATmega328P mit 5V Versorgung bei einer Temperatur von 25°C beträgt der Unterschied der Ausgangsimpedanz etwa 10%, mit 3V immer noch unter 20%.
:
Bearbeitet durch User
Rainer W. schrieb: > In der Realität weiß so ein ATmega328 gar nicht, dass er in einem > Arduino gelandet ist. ;-) 😄😄😄
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.




