Hallo,
mein Arduino micro lässt sich seit mehreren Wochen nicht mehr 
programmieren. Ich war gerade dabei ein selbstgebautes lenkrad zu 
programmieren und hatte ein programm laufen, welches per serielle 
schnittstelle daten an den pc sendete. Das programm läuft immernoch, 
allerdings werden immer dieselben werte gesendet, selbst wenn der 
arduino garnicht eingebaut ist.
Hier das programm das auf µc ist:
//#include <Joystick.h>
int Kupplung;
int Bremse;
int Gas;
int Kupplung1;
int Bremse1;
int Gas1;
int s;
void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
for (int i=2; i<17;i++){
pinMode(i,INPUT);}
for (int i=2; i<17;i++){
digitalWrite(i,HIGH);}
//Joystick.begin();
}
void loop() {
  if(Serial.available() > 0) {Serial.end();}
  for (int i = 2; i < 17; i++){
  s = digitalRead(i);
  if (s == 0){s = 1;}
  else {s = 0;}
  //  Joystick.setButton(i,s);
  }
//Kupplung
  Kupplung = analogRead(A3);
  //poti2 = map(poti,47,990,-127,127);
  //Joystick.setZAxis(poti2);
//Bremse
  Bremse = analogRead(A4);
  Bremse1 = map(Bremse,0,485,0,127);
  //Joystick.setXAxis(Bremse1);
  Serial.println(Bremse);
//Gas
  Gas = analogRead(A5);
  Gas1 = map(Gas,634,914,0,127);
  //Joystick.setYAxis(Gas1);
  Serial.println(Gas);
 /*Serial.print(analogRead(A3));
  Serial.println(" =Kupplung");
  Serial.print(analogRead(A4));
  Serial.println(" =Bremse");
  Serial.print(analogRead(A5));
  Serial.println(" =Gas");*/
delay(50);
}
Hier die fehrlermeldung wenn reset bis "hochladen" gedrückt wird:
Der Sketch verwendet 5.884 Bytes (20%) des Programmspeicherplatzes. Das 
Maximum sind 28.672 Bytes.
Globale Variablen verwenden 182 Bytes (7%) des dynamischen Speichers, 
2.378 Bytes für lokale Variablen verbleiben. Das Maximum sind 2.560 
Bytes.
PORTS {COM9, } / {COM9, } => {}
PORTS {COM9, } / {COM9, } => {}
PORTS {COM9, } / {COM9, } => {}
PORTS {COM9, } / {COM9, } => {}
PORTS {COM9, } / {COM9, } => {}
PORTS {COM9, } / {COM9, } => {}
PORTS {COM9, } / {COM9, } => {}
PORTS {COM9, } / {COM9, } => {}
PORTS {COM9, } / {COM9, } => {}
PORTS {COM9, } / {COM9, } => {}
PORTS {COM9, } / {COM9, } => {}
PORTS {COM9, } / {COM9, } => {}
PORTS {COM9, } / {COM9, } => {}
PORTS {COM9, } / {COM9, } => {}
PORTS {COM9, } / {COM9, } => {}
PORTS {COM9, } / {COM9, } => {}
PORTS {COM9, } / {COM9, } => {}
PORTS {COM9, } / {COM9, } => {}
PORTS {COM9, } / {COM9, } => {}
PORTS {COM9, } / {} => {}
PORTS {} / {} => {}
PORTS {} / {COM10, } => {COM10, }
Found upload port: COM10
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude 
-CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v 
-patmega32u4 -cavr109 -PCOM10 -b57600 -D 
-Uflash:w:C:\Users\Julian\AppData\Local\Temp\build1fd255a953a8c14710f29c 
1c59ff99b2.tmp/Lenkrad.ino.hex:i
avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch
         System wide configuration file is "C:\Program Files 
(x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
         Using Port                    : COM10
         Using Programmer              : avr109
         Overriding Baud Rate          : 57600
         AVR Part                      : ATmega32U4
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :
                                  Block Poll               Page 
Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0 
9000  9000 0x00 0x00
           flash         65     6   128    0 yes     32768  128    256 
4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0 
9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0 
9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0 
9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0 
9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0 
0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0 
0     0 0x00 0x00
         Programmer Type : butterfly
         Description     : Atmel AppNote AVR109 Boot Loader
Connecting to programmer: .avrdude: butterfly_recv(): programmer is not 
responding
Problem beim Hochladen auf das Board. Hilfestellung dazu unter 
http://www.arduino.cc/en/Guide/Troubleshooting#upload.
Ich habe schon alles mögliche versucht, aber der arduino will sich 
einfach nicht mehr programmieren lasse!
Ich bitte um eure hilfe
  PS: Die angezeigten Werte sind IMMER 267 und 176. Vielleicht hilft euch das weiter :-/
Noch was:
Die erste zeile nach loop:
if(Serial.available() > 0) {Serial.end();}
hab ich erst vor kurzem hinzugefügt, dass ich, wenn ich das programm 
hochladen kann, die serielle schnittstelle deaktivieren kann.
Hätte ich besser seit anfang ins programm gemacht..
  guest78987 schrieb: > Hätte ich besser seit anfang ins programm gemacht.. Das ist nicht dein Problem. guest78987 schrieb: > if(Serial.available() > 0) {Serial.end();} > hab ich erst vor kurzem hinzugefügt, dass ich, wenn ich das programm > hochladen kann, die serielle schnittstelle deaktivieren kann. > Hätte ich besser seit anfang ins programm gemacht.. Das ist völlig unnötig, denn dieser Code interessiert den Bootloader herzlich wenig. Der Bootloader funktioniert so: Die Arduino IDE macht einen Softreset (bei manchen Arduino-Boards funktioniert das nicht, und man muss durch drücken der Reset-Taste nachhelfen). Nach dem Reset führt der uC ca. 0.5 Sekunden lang den Bootloader aus, und wartet auf Daten. Für diese Zeit spielt dein Programm absolut keine Geige. Kommen keine Daten wird dein Programm geladen und ausgeführt. Ab diesem Zeitpunkt spielt der Bootloader keine Geige mehr. Außerdem ist es von der Logik her unschön, wenn du die Serielleschnittstelle zumachst (Serial.end()) und später trotzdem versuchst was zu schreiben(Serial.println()). Keine Ahnung was das Arduino-Gedöns macht, wenn man versucht auf die geschlossene Schnittstelle zu schreiben. guest78987 schrieb: > -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v > -patmega32u4 -cavr109 -PCOM10 -b57600 -D > -Uflash:w:C:\Users\Julian\AppData\Local\Temp\build1fd255a953a8c14710f29c > 1c59ff99b2.tmp/Lenkrad.ino.hex:i Rufst du das Ding von Hand auf? Benutzt die die Arduino IDE? Welche Version? Benutzt du die IDE von arduino.cc oder von arduino.org?
Hallo, Wenn ich das richtig verstanden habe funktioniert also mein bootloader nicht mehr richtig, oder? Denn ich habe schon oft die arduino ide geschlossen (version 1.6.4 von arduino.cc), den resetknopf am arduino gedrückt, die ide wieder gestartet, ein leeres programm geöffnet und auf hochladen geklickt und sobald "hochladen" erschien den resetknopf wieder losgelassen. Der arduino wird ja auch erkannt und sendet daten an die serielle Schnittstelle. Die Meldung "programmer is not responding" kommt auch jedes mal, was ja eigentlich auch nur am bootloader liegen kann oder? Ausserdem wird auch ab und zu "port busy" angezeigt. Gibt es irgend eine Möglichkeit den arduino zu retten oder muss ich mir einen zweiten kaufen und mit diesem den bootloader neu flashen? Was ich auch sehr komisch finden ist, dass immer die gleichen werte im seriellen Monitor angezeigt werden, was bei einem funktionsfähigen arduino ja nicht sein kann? Kaj schrieb: > guest78987 schrieb: > -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v > -patmega32u4 -cavr109 -PCOM10 -b57600 -D > -Uflash:w:C:\Users\Julian\AppData\Local\Temp\build1fd255a953a8c14710f29c > 1c59ff99b2.tmp/Lenkrad.ino.hex:i > > Rufst du das Ding von Hand auf? > Benutzt die die Arduino IDE? Welche Version? > Benutzt du die IDE von arduino.cc oder von arduino.org? Was meinst du mit von Hand aufrufen? Ich klick einfach auf hochladen. Und was mir, nach deiner erklärung, wie der bootloader funktioniert auch komisch vorkommt, ist dass wenn ich wie oben beschrieben den reset knopf bis hochladen drücke, der Arduino erst nach etwa 0,5s, also wenn ja eigentlich schon das programm läuft, von der IDE erkannt wird.
Ohne diese beiden zeilen: Taster am lenkrad gedrückt -> pin wird low -> 0 Taster wird nicht gedrückt: durch pullup pin high -> 1 Da es ja genau umgekehrt sein soll habe ich diese beiden zeilen eingebaut. Aus 0 wird 1 und aus 1 wird 0. Ohne else ist die variable ja immer 1?? Das programm hat so auf jeden fall funktioniert
guest78987 schrieb: > Ohne else ist die variable ja immer 1?? Sorry, hab da was anderes gelesen. hast recht.
Kaufe dir einen preiswerten Pro Mini und flashe den micro per ISP. Benutze dazu Arduino as ISP. Anleitungen dazu gibt es im Netz reichlich.
Ok danke Und sonst gibt es keine Möglichkeit den micro wieder zu programmieren?
Du kannst es ja noch mit einem USB-Serial-Wandler versuchen. Könnte auch funktionieren, da bin ich jetzt aber nicht so sicher.
Hallo, ich habe mir jetzt mittlerweilevielleichtweiten, nichtoriginalen arduino micro gekauft und versucht, mit diesem auf meinen original arduino micro einen neuen bootloader zu brennen. Der nachbauarduino wurde auf Anhieb ganz normal von der IdE erkannt und funktioniert auch einwandfrei. Ich habe also die pins (alle an der Unterseite, nicht am icsp Anschluß) miso, mosi, sck, 5v, gnd und pin 10 an den icsp anschluss des defekten arduino micro angeschlossen. Die power led des def. Arduino leuchtete, sobald der andere arduino per usb an den pc angeschlossen wurde. Als nächstes habe ich dann auf den funktionsfähigen arduino das isp sketch geladen, arduino as isp als programmer ausgewählt und bin dann auf bootloader brennen. Doch leider kam, genauso wie wenn ich ihn direkt per usb programmieren will "programmer is not responding" und noch irgendwas mit "not in sync" die IDE probierte das ganze 10 mal, ohne erfolg. Jetzt ist meine frage, ob der arduino vieleicht kaputt sein könnte (er ist erst wenige monate alt und wurde teuer bei conrad gekauft) oder ob ich eventuell was falsch gemacht hab? Läuft sowas eventuell auch über Garantie, also dass ich das ganze über conrad reklamiere und dann einen neuen bekomm bzw. Der alte repariert wird oder sind solche Fälle von der Garantie ausgeschlossen?
Sorry in der zweiten zeile hat wohl die autokorektur bisschen mist gebaut. Das soll natürlich "ich habe mir jetzt einen zweiten, nichtoriginalen arduino micro gekauft..." heissen.
Kann kaputt sein oder auch nicht. Ich würde mal alle Anschlüsse deines ISP-Programmers überprüfen. Ob du das reklamieren und als Garantie abwickeln kannst musst du mit Conrad klären.
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.