Forum: Mikrocontroller und Digitale Elektronik Simulation Arduino Uno-9 in SimulIDE 1.1.0-SR2 at Rev 260312


von Peter (david_h88)


Angehängte Dateien:

Lesenswert?

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!

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

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.

von Wastl (hartundweichware)


Lesenswert?

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.

von Wastl (hartundweichware)


Lesenswert?

Wastl schrieb:
> Da muss man wohl den Arduino auch noch erden.

... oder die LED an den GND Pin des Arduino anschliessen.

von Peter (david_h88)


Lesenswert?

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.

von Peter (david_h88)


Angehängte Dateien:

Lesenswert?

Die jeweilige Schaltung jetzt

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

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 ...

von Frank O. (frank_o)


Angehängte Dateien:

Lesenswert?

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
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
Noch kein Account? Hier anmelden.