Probleme mit dem MEGA 2560

Hallo @ all,

ich habe mir den Mega gekauft und möchte jetzt gerne die Lektionen wie z.B. "blink" durch arbeiten aber bekomme nicht einmal
das hin.Ich bin total neu in der MicroController Programmierung, mache gerade meinen Techniker für E-Technik und wollte mir das
in den Sommerferien aneignen. Leider scheitere ich jetzt schon ganz am Anfang.

Also ich habe folgenden code geschrieben:


void setup() {
pinMode(13, OUTPUT);
}

void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}


Nun habe ich eine LED in die Steckleist mit AREF, GND , 13, 12, usw. eingesteckt (Überschrift der Leiste ist PWM)

Folgende Fragen habe ich jetzt:

HARDWARE:
H1 - Bin ich mit meiner LED in der richtigen Leiste / Überschrift PWM?
H2 - Wofür steht PWM?
H3 - Ich habe vier SMD-LEDs auf dem PCB was zeigen mir diesen an (L:, TX:, RX:, ON:)?
H4 - Wie funktioniert der Taster Reset, ist das komplete Programm gelöscht wenn ich auf diesen drücke oder
ist der nur da falls man sich mal verrennt im Programm?

SOFTWARE:
S1 - Was ist der Programmer (unter Tools-> Programmer)?
S2 - Unter diesem Punkt Programmer stehen verschiedeene Einstellungen, was bedeuten diese?

Würde mich über Antworten sehr freuen, danke

gruß
Swen

Mit dem Programm, das Du zitierst läßt Du eine LED an PIN D13 blinken. Auf dem Arduino ist bereits eine Led an Pin 13 vorhanden: die L-LED

Hast Du die LED richtig gepolt mit einem Vorwiderstand angeschlossen (langes Beinchen ist + Pol).
H1 - Nein
H2 - Puls Weiten Modulation Pulsweitenmodulation – RN-Wissen.de
H3 - L: an Pin 13 angeschlossen, TX: RX: Trasmission Recive; Zeigen Aktivitäten an der serielle/USB Schnittstelle, ON: Spannungsversorgung ?
H4 - Ein Reset bringt den Controller dazu das Programm ab eine bestimmten Stelle abzuarbeiten. Diese Steelle ist die geliche wie beim Einschalten. Der Reset-Taster kann den Arduino wieder starten wenn er durch irgendwas bockiert ist.

s1 und s2 Das IDE kann den Arduino auch über einen ISP Programmierer programmieren. Dazu sind diese Einstellungen. Für das normale upload werden sie nicht verwendet.

Grüße Uwe

Hallo SwenHH

ich stand vor wenigen Wochen genauso wie du da :smiley:

Schliß die LED mit dem + Pol an Pin13 an, mit - an GND, dann sollte sie Blinken. Vorsich bitte. Wenn ich das soweit richtig Verstanden habe ist der Pin 13 der einzige, wo du LEDs einfach so ohne Vorwiederstand anschlißen kannst, sonst imm 220 Ohm vorschalten :smiley:

Wie Uwe schon schreibt ist bei pin13 die zweite Sonderfunktion, das eine LED auf dem Arduino auch den Status anzeigt, sprich hier kannst auch ohne externe LED sehen, ob dein programm arbeitet. Diese sollte also wenn alles stimmt blinken.

Wichtig ist in der Software immer was du da einstellst. Beim Board immer Arduino Mega anwählen, wenn du Daten überträgst. Ich habe zusätzlich noch ein Arduino Uno hier und hatte versehentlich mal falsch übertragen :frowning:

Sollte dir das mal passieren kannst das aber (zumindest bei) rückgängig machen, indem du sofort nach dem Verbinden eines Boardes einen Upload startetst :smiley: Danach liefen beide wieder einwandfrei :smiley:

Hoffe das ich auch mal endlich jemand hier helfen konnte nachdem ich viel Hilfe bei den ersten Schritten hier erhalten habe

Grüße

Steve

Chaos_Lord:
Wenn ich das soweit richtig Verstanden habe ist der Pin 13 der einzige, wo du LEDs einfach so ohne Vorwiederstand anschlißen kannst, sonst imm 220 Ohm vorschalten :smiley:

Das ist falsch!

Den Widerstand an Pin 13 hatten die Arduino-Versionen mit dem RS232 Interface. Alle Versionen mit USB oder Seriel (ab Arduino Diecimila) haben keinen Vorwiderstand mehr.

Grüße Uwe

Hallo Uwe,

autsch gut zu wissen (PANIC) :smiley:

Steve

Hallo Uwe, Hallo alle,

danke für deine Info,

ok ich hatte den Vorwiederstand nicht das werde ich morgen mal ausprobieren...

Wenn ich die LED an L beobachte dann blinkt die dreimal und dann stoppt sie ...
Wenn ich nun reset drücke dann blinkt sie wieder dreimal und stoppt wieder ...
Eigentlich sollte der Loop doch immer weieter laufen also das blinken auch weiter, oder?

Deine Antwort Zu S1 und S2 habe ich nicht ganz verstanden, auf was muss der Programmer stehen?
Hast du evtl. einen link wo ich darüber noch mehr lesen kann, ich wei garnicht was ein Programmer ist...

folgende Fragen stelle ich mir noch:

A1 - Wie kann ich das aktuelle Programm auf der Platine löschen?
A2- Wenn ich das Programm Uploade dauert es unheimliche lange bis der grüne Fortschrittsbalken fertig ist, liegt das an denn Einstellungen im Programmer?
A3 - Ich habe noch eine Buchse an der Platine für eine Spg. Versorgung, welche günstige Netzteil sollte ich mir kaufen (Wie viel Volt benötigte die Platine?)?
A3 - Darf das Netzteil auch wenn der PC angeschlossen ist dran bleiben?

vielen dank für deine Geduld

gruß
Swen

hallo Swen
der Sketch

void setup() {               
  pinMode(13, OUTPUT);     
}

void loop() {
  digitalWrite(13, HIGH); 
  delay(1000);         
  digitalWrite(13, LOW); 
  delay(1000);       
}

blinkt mit 1 Sekunde an und eine Sekunde aus.

Vergiß die ISP-Programmierer; die brauchst Du nicht. Die brauchst Du nur wenn Du den Bootloader auf einen nackten ATmega laden willst oder wenn ein ATmega kein USB interface hat und kein USB-serial adapter verwenden willst/kannst.

a1 Durch hochladen eines anderen Sketches
a2 Zuerst wird der Sketch kompiliert und dann übertragen. Dei meisten Windows installationen sind da viel langsamer als Linux. Wahrscheinlich nicht optimale arbeit von IDE un Java
a3 entweder ein 5V Netzteil mit USB-stecker (0,5A reichen) oder ein 9V Gleichstrom an Netzteilbuchse (1A reichen).
a3b ja . Eine Schaltung auf den Arduino schaltet die Spannungsversorgung auf Netzteil um sobald dort ehr als 7V anliegen.

Grüße Uwe

Hallo Uwe,

danke,

ich habe den programmer auf USBasp und lass ihn da stehen...!!!! Trotzdem habe ich ein Problem beim Upload
kommt folgende Fehlermeldungen:


processing.app.SerialException: Der serielle Port 'COM13' wird bereits verwendet. Probieren Sie, andere Programme zu beenden, die ihn benutzen könnten.
at processing.app.Serial.(Serial.java:171)
at processing.app.Serial.(Serial.java:77)
at processing.app.debug.Uploader.flushSerialBuffer(Uploader.java:77)
at processing.app.debug.AvrdudeUploader.uploadViaBootloader(AvrdudeUploader.java:172)
at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:67)
at processing.app.Sketch.upload(Sketch.java:1706)
at processing.app.Sketch.exportApplet(Sketch.java:1662)
at processing.app.Sketch.exportApplet(Sketch.java:1634)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2346)
at java.lang.Thread.run(Thread.java:619)
processing.app.debug.RunnerException: Der serielle Port 'COM13' wird bereits verwendet. Probieren Sie, andere Programme zu beenden, die ihn benutzen könnten.
at processing.app.debug.Uploader.flushSerialBuffer(Uploader.java:101)
at processing.app.debug.AvrdudeUploader.uploadViaBootloader(AvrdudeUploader.java:172)
at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:67)
at processing.app.Sketch.upload(Sketch.java:1706)
at processing.app.Sketch.exportApplet(Sketch.java:1662)
at processing.app.Sketch.exportApplet(Sketch.java:1634)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2346)
at java.lang.Thread.run(Thread.java:619)


Kannst du mir ein link zu einem Netzteil für die Netzbuchse schicken...
Was hälst du von diesem?

http://www.conrad.de/ce/de/product/518370/VOLTCRAFT-USPS-600-STECKER-SCHALTNETZT/SHOP_AREA_17455&promotionareaSearchDetail=005

Gruß
Swen

Hi

habe mal bei mir geschaut:

Board -> Arduino Mega 2560 or MEGA
Serial-port -> dev/cu.usbmodemfd14121
Programmer -> AVRISP mkII (das war die Grundeinstellung bei mir)

Das ganze läuft unter Mac bei mir, daher könnte der Port ein andere sein :smiley:

Steve

Schalte den PC aus und versuchs nochmal.

Das Netzteil ist ok. Stelle es auf 7,5V ein.

Grüße Uwe

Hallo Steve,

jipi :slight_smile:

mein programmer war falsch eingestellt und habe den geändert,

Hast du evtl. einen link wo ich mir nochmal genauer ansehen kann warum ich da ein fehler habe bzw.
was der programmer ist und was die Auswahlmöglichkeiten hier bedeuten...
Will mich einlesen....!

@Uwe natürlich auch vielen Dank für deine Ausführungen hat mir sehr geholfen die ersten Schritte zumachen.

Gruß
Swen

Hallo Swen,

da muß ich passen. Soweit ich das Verstanden habe gibts 2 Arten von Programmer. 1. Wenn du einen Microcontroller direkt beschreiben willst. Dann brauchst du einen richtignenProgrammer. Das Arduino ist ein zwischen stück. Dort macht die Software alles für dich und du brauchst keine weitere Hardware. Soweit habe ich das verstanden mehr kann ich dir leider auch nicht sagen :frowning:

C ya

Steve

hi, sven,

du gehst viel zu schnell viel zu weit. vergiß Deine fragen von a1 bis z35. schließe nichts an den arduino an außer den rechner mit usb. digitalWrite(13,... steuert die eingebaute led, daran siehst Du, ob alles funkt.
starte die arduino-ide und öffne:
File > Examples > Basics > Blink
stelle bei Tools > Board den richtigen arduino ein.
bei Tools > Serial Board probierst Du einfach alle möglichkeiten aus, dazwischen stecke den arduino immer wieder ab, bis Du den richtigen port hast.
alternativ kannst Du unter Systemsteuerung > system > gerätemanager > anschlüsse(com & lpt) nachsehen, auf welchem port der arduino arbeitet.
dort siehst Du auch, wenn der rechner nicht alle treiber für den arduino richtig geladen hat.
zum jetzigen zeitpunkt über programmer zu reden ist verwegen...
wenn's funkt, ändere erstmal die delay-zeiten im sketch für's erfolgserleb----------------7dc4b27f0590
Co-------------------7dc4b27f0590
Content-Disposition: form-data; name="notify"

0

umd jetzt spinnt der chat beim modify. war aber ohnehin fertig
viel glück und gruß stefan

Wenn es gestattet ist, verweise ich mal auf zwei meiner Blog-Einträge:
Der Bootloader und die Schnittstelle zum PC
Bootloader mit externem ISP brennen

Ich hoffe, dass ich damit auch ein wenig zum Verständnis beitragen konnte. Im Normalfall bzw. anders gesagt als Neueinsteiger/Anfänger/Noob :wink: gilt Uwes Aussage:

uwefed:
Vergiß die ISP-Programmierer; die brauchst Du nicht. Die brauchst Du nur wenn Du den Bootloader auf einen nackten ATmega laden willst oder wenn ein ATmega kein USB interface hat und kein USB-serial adapter verwenden willst/kannst.