Zu wenig Volt an Port 6-13

Hallo zusammen,

bin ein ziemlicher Grünschnabel - hab meinen Arduino erst seit 1-2 Wochen.
War kurz nach dem kauf auch sehr begeistert und hab ziemlich schnell dazu gelernt.

Leider habe ich aktuell das Problem das an Port 6-13 die Spannung kontinuierlich abnimmt.
Um die Spannung zu testen habe ich einfach alle Ports eingeschalten und alles auf 1 gesetzt:

void setup() {

DDRD = B11111111; //PIN 7-0  auf Ausgang
DDRB = B00111111; //PIN 13-8 auf Ausgang

}

void loop() {

  PORTD = B11111111; 
  PORTD = B00111111; 
}

Aktuell schauts dabei so aus:

0 5,05 V
1 5,03 V
2 5,06 V
3 5,06 V
4 5,06 V
5 5,06 V
6 0,72 V
7 0,72 V
8 3,70 V
9 3,30 V
10 3,10 V
11 3,00 V
12 2,70 V
13 2,00 V

Hab ich das Teil kaputt gemacht oder gibts da noch einen "Auf Werkseinstellungen zurücksetzen" Button ?

:~

Hallo Jeypee !

Willst Du uns verarschen ? Die Befehle stammen doch bestimmt aus der Atmel-IDE.

Compiling -> alles gefressen !

Hochladen tue ich sie nicht. Wer weiß was der Arduino damit macht.

MfG

versteh gerade nicht was Du meinst.

Benutze Ardunio Alpha 0022

Das ist eigentlich das simpelste vom simpelsten - damit fängt doch jeder an:

Gurkengraeber:
Willst Du uns verarschen ?

Gewöhn dir doch mal bitte ein paar Umgangsformen an...

Frage an den Treadersteller: Warum versuchst du, auf diese hardwarenahe Art und Weise zu programmieren? Zeigen sich die gleichen Ergebnisse auch, wenn du einen Arduino-typischen Sketch hochlädst?

int D[12] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};

void setup () {
  for (int i=0; i<12; i++) {
    pinMode (D[i], OUPUT);
  }
}

void loop () {
  for (int i=0; i<12; i++) {
    digitalWrite(D[i], HIGH)
  }
  delay (1000);   // Pause und wieder von vorn

Hey vielen Dank !

Du hast mich gerade inpiriert mal ganz auf Anfang zu gehen und einfach das Blink Bleispiel zu nehmen.
Habe esmodifiziert so dass es im Prinzip genauso funktioniert wie mein kleines Programm.

Und tatsächlich nun ist wieder überall 5 V drauf... ...sehr komisch.

Aber vielen DANK für die Inspiration :slight_smile:

void setup() {                
  // initialize the digital pin as an output.
  // Pin 13 has an LED connected on most Arduino boards:
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);

  
}

void loop() {
  digitalWrite(2, HIGH);   // set the LED on
  digitalWrite(3, HIGH);
  digitalWrite(4, HIGH);
  digitalWrite(5, HIGH);
  digitalWrite(6, HIGH);
  digitalWrite(7, HIGH);
  digitalWrite(8, HIGH);
  digitalWrite(9, HIGH);
  digitalWrite(10, HIGH);
  digitalWrite(11, HIGH);
  digitalWrite(12, HIGH);
  digitalWrite(13, HIGH);
  delay(1000);              // wait for a second

}

Frage an den Treadersteller: Warum versuchst du, auf diese hardwarenahe Art und Weise zu programmieren? Zeigen sich die gleichen Ergebnisse auch, wenn du einen Arduino-typischen Sketch hochlädst?

Ja is ne längere Geschichte...

Die Kurzform ist das ich vorm Arduino eine eigene Platine gelötet habe mit nem AVR drauf und da schon über AVR Studio 4 ein paar Erfahrungen gesammelt habe.
Diese Sketch geschichten kenne ich noch nicht so - habe aber gesehen das ich viel von meiner Programmierung so übernehmen konnte, was es mir einfacher macht zu sehen was ich da eigenlich treibe.

Werde Dein Beispiel aber mal ausprobieren - Vielen Dank

@ Gurkengräber
Ja, bitte einen besseren Umgangston.
Jeypee hat eine legitime Frage wegen seines Problems gestellt.
Die direkte Portprogrammierung ist eine Sache die man, wenn man will oder braucht, machen kann.

@ Jeypee

Wieso benutzt Du die IDE Arduino ALFA 22? IDE 0022 ist ja als stabile Version schon seit längerem freigegeben, auch für Mac und Linux.

Ich nehme mal an, daß am Arduino keine weitere Elektronik hängt. Wenn ja Trenne alles vom Arduino ab und wiederhole die Messung.
Wie sth77 fragt bringt die Programmierung über die digitalWrite()-Funktion das geleiche Ergebnis?
Wie mißt Du die Spannung? Wie groß sind die Zeitintervalle zwischen den Messungen?

Ich glaube nicht, daß Du den Arduino kaputgemacht hast oder zerschossen hast. Es gibt keinen RESET-Knopf um den Arduino auf Auslieferungszustand zu setzen. Um den Arduino zu zerschießen mußt Du schon mit einem ISP-Programierer Fusebits falsch setzen oder den Bootloader löschen.

Viele Grüße Uwe

Das Beispiel war jetzt nur mal schnell aus dem Hut gezaubert, sollte aber funktionieren.

In deinem ersten Beispiel hast du mit

DDRD = B11111111; //PIN 7-0  auf Ausgang

nicht aufgepasst. Besser wie im Link so programmieren:

DDRD = DDRD | B11111100;  // this is safer as it sets pins 2 to 7 as outputs
	                  // without changing the value of pins 0 & 1, which are RX & TX

RX und TX brauchst du nämlich zum Programmieren und sollten besser nicht verwendet werden. Oder verwendest du einen anderen Programmer?

Ne passt schon - alles Prima !
Mitlerweile ist alles wieder auf 5 V wie es muss und geht echt super.
Das Grinsen in meinem Gesicht bekommt man heut nimmer weg

:smiley: :smiley: :smiley: :smiley: :smiley: :smiley: :smiley: :smiley: :smiley: :smiley:

Ich weiss zwar nicht wodurch es kam - aber jetzt weiss ich wie ich es zur Not wieder zurück setz.

Vielen Dank an alle !

PS: RX und TX ist aus - war nur der vollständigkeit halber mal mit auf 1 gesetzt.

Jeypee:
Die Kurzform ist das ich vorm Arduino eine eigene Platine gelötet habe mit nem AVR drauf und da schon über AVR Studio 4 ein paar Erfahrungen gesammelt habe.
Diese Sketch geschichten kenne ich noch nicht so - habe aber gesehen das ich viel von meiner Programmierung so übernehmen konnte, was es mir einfacher macht zu sehen was ich da eigenlich treibe. ...

Der Arduino-IDE verwendet ja den offiziellen AVR-GCC Compiler con ATmega. Du kannst alle Hardwarespezifischen Funktionen und Befehle verwenden.

Hab bei Deinem Beispiel gesehen, daß Du 2 mal PORTD geschrieben hast statt PORTD und PORTB :

void loop() {
  PORTD = B11111111; 
  PORTD = B00111111; 
}

Ich weiß nicht ob das ein Schreibfehler in Deinem Beitrag ist oder ein Fehler im Kode. Wenn Du ein Pin als Ausgang definierst müßte da automatisch Masse sein und nicht hochohmig was in Verbindung mit parasitären Kondenstoren und einem Hochohmigen Digitalmeßgerät die Sache erklähren könnte .

Grüße Uwe

uwefed:
Wieso benutzt Du die IDE Arduino ALFA 22? IDE 0022 ist ja als stabile Version schon seit längerem freigegeben, auch für Mac und Linux.

Benutzen wir nicht alle Arduino alpha? Siehe Splash-Screen beim Start der IDE oder in der IDE -> Help -> About Arduino :wink:

Wolfgang

Gewöhn dir doch mal bitte ein paar Umgangsformen an...

Nö !

voithian:
Benutzen wir nicht alle Arduino alpha? Siehe Splash-Screen beim Start der IDE oder in der IDE -> Help -> About Arduino :wink:
Wolfgang

Da hab ich was falsch verstanden.
Normalerweise bei de Entwicklung von SW gibt es eine Alfa Version, eine Beta und dann die endgültige stabile und offizielle Version. Dies um die Sw zu testen und Fehler zu beseitigen.

Ich war nie genug aufmerksam um Alpha auf dem Startbild des IDE zu sehen.
Danke Wolfgang für den Wink.

Viele Grüße Uwe

uwefed:
Ich war nie genug aufmerksam um Alpha auf dem Startbild des IDE zu sehen.

Hallo Uwe,
da kann man sich fragen, ob die Entwickler der IDE ihr Produkt immer noch (trotz Version 022) als Alpha-Stadium ansehen, oder ob sie einfach nur glücklich waren, dass alles lief, und sie sich daraufhin nie mehr ihren Startbildschirm angesehen haben :wink: :wink:

Wolfgang

Ich würde sagen "alpha" deshalb weil die IDE einem Vergleich mit großen IDEs (z.B. Eclipse) nicht standhält.

da kann man sich fragen, ob die Entwickler der IDE ihr Produkt immer noch (trotz Version 022) als Alpha-Stadium ansehen, oder ob sie einfach nur glücklich waren, dass alles lief, und sie sich daraufhin nie mehr ihren Startbildschirm angesehen haben

Open-Source-Software hat eigentlich immer das "Alpha-Stadium" !
Open-Source mit Version 1.x ist wirklich rar !
Die Version von Arduino ist demnach Version 0.22
Wenn eine Open-Source-Software das Beta-Stadium erreicht, wird es von großen Software-Unternehmen gefressen - und das ist unvermeidlich !
MS, Google, Yahoo ( sind nicht mehr so gefräßig ), oder die Gurkengraeber AG ( auch als Heuschrecke bekannt ) ! :smiley:

MfG