Arduino reagiert erst nach Reset?

Moin,

habe ein einfaches Programm welches via Bluetooth Daten empfängt und entsprechend 2 Pins HIGH oder LOW setzt. Die Bluetooth Verbindung funktioniert auch reibungslos. Das merkwürdige jedoch ist...

Habe ich den Arduino via USB angeschlossen arbeitet dieser reibungslos und ruft die Funktion auf um die PINs zu aktivieren. Habe ich es aber an einem reguliertem 5v angeschlossen (direkt eingehend an den 5v pin via TIP 7805) oder alternativ 9v via Netzteil an den normalen Netzanschluss des Arduinos muss ich IMMER erst einmal den Reset Button drücken, bevor das ganze funktioniert.

Die Frage ist nun, warum?

Danke schonmal!

Habe ich den Arduino via USB angeschlossen

meint bestimmt: am PC angeschlossen, oder?
Wenn du die USB-Leitung nur als Stromversorgung nimmst ( z.B. mit einem Netz-USB Adapter ) hast du wohl die gleichen Probleme, rate ich mal.

Und wenn du es an einen PC anschliesst, der keinen Arduino USB Treiber installiert hat, evtl. auch. ( geraten )

Die Frage ist nun, warum?

Warum kommt der Original-Reset zu früh? Das ist so vermutlich schwer zu beantworten.
Vielleicht hilft es, die Bluetooth - Initialisierung zu verzögern ???

Was genau geht denn nicht, ohne zweiten / verzögerten Reset ?
Was für ein Bluetooth Modul hast du, kann man da einen unterschiedlichen Zustand erkennen ?

Hi,

danke erstmal für deine Antwort.

Die Bluetooth Initialisierung ist schon verzögert. Benutze das Bluetooth-Mate-Silver Modul (Sparkfun?). Komisch ist jetzt dass ich die Software auf einen nagelneuen Arduino Uno (R3?) gespielt habe und dort jetzt genau die selben Phänomene stattfinden.

Das Bluetooth Modul reagiert, ich kann mich mit dem handy auch verbinden und ich sehe dass Daten ankommen, aber der Arduino verarbeitet die Signale nicht. Sprich eigentlich müsste er auf die Bluetooth Daten reagieren und dann ein paar Pins entsprechend HIGH oder LOW setzen. Prüfen tue ich dies über die LED (PiN 13). Wenn ich dann aber Reset drücke geht es auf einmal.

Danke dir schonmal

Ich habe das gleiche Problem mit meinem Aufbau. Arduino R3 mit Ethernet-Shield (WIZ5100 Chipsset) und ein RFID-Leser über . Nach dem Einschalten des Stromes muss ich immer erst den Reset-Button drücken um eine funktionierende Client-Server-Kommunikation zu haben.

Die Definitionen vor dem Setup ist durch den RFID-Leser zugegebenermaßen ziemlich lang (ca. 150 Zeilen). Ich vermute, dass beim Einschalten der Versorgungsspannung es zu undefinuierten Zuständen kommt, die den Arduino oder das Ethernet-Shield "durchrütteln". "Vermuten" heißt aber "nicht wissen". Es ist egal ob, die Stromversorgung aus

  1. USB aus PC
  2. USB aus Netzteil oder
  3. 9V aus Steckernetzteil bezogen wird.

Gibt es Verzögerungsmöglichkeiten in der Initialisierung? Im Setup habe ich schon als erstes 3sec delay eingebaut, was den Arduino nicht wirklich beeindruckt....

Gruß Eberhard

Die Probleme könnten damit zusammenhängen, daß jede CPU ( Atmega oder die vom bluetooth oder ethernet) eine andere Einschaltschwelle haben kann. Während der 5V Regler also noch daran arbeitet, den Stabilisierunskondensator zu laden, wachen die CPUs in zufälliger Reihenfolge auf.
Abhilfe schafft möglicherweise eine kontrollierte Einschaltung, die erst dann Saft auf die CPUs gibt, wenn die Spannung am Ceingang hochgefahren ist.

Ich hatte auch mal das Problem, daß ich bei einem Arduino UNO mit einem TLC5940, einem A2981, einem DS1307 brackout und einer RBG 6x5 Matrix (maximal 15 LED gleichzeitig ein und Strom auf 10mA begrenzt) mit einem 470µF Kondensator ein wechselhaftes Starten hatte und mit einem 100µF Kondensator nie gestartet ist. Ohne Kondensator funktionierts jetzt ohne Probleme. Dieses Verhalten würde durch das was o_lampe gesagt hat erklärt werden.
Grüße Uwe

Die Lösung würde allerdings eine Änderung auf der Arduinoplatine bedeuten.
Zwischen 5V Regler mit Stabi-Kondensator und dem Rest der Platine müsste z.B. ein einschaltverzögertes Monoflop ein ( Solid-state) Relais durchschalten.
Allerdings kann es dann immer noch vorkommen, daß bestimmte Module schneller als der Arduino starten und daher noch ein zusätzliches enable Signal vom ATMega brauchen. Nur dann ist es gewährleistet, daß die Module in der richtigen Reihenfolge starten.

Habe es jetzt mit einem anderen Netzteil probiert und es funktioniert. Liegt wohl tatsächlich an der von euch beschrieben Ursache.

Vielen Dank für eure Hilfe!