Go Down

Topic: Atmega 8 Board und mySmartUSB (Anfängerfragen) (Read 2904 times) previous topic - next topic

PopoPirat

Hallo Zusammen,

ich denke bestimmt wurde diese Frage des öfteren gestellt:

Habe mir selbst ein kleines Board mit einen Atema8 zusammengelötet und habe zusätzlich den mySmartUSB Programmer.

Kann ich da trotzdem mit eurer IDE arbeiten?

Ist zu Bascom wirklich nur der unterschied das man mit Basic programmiert?

Möchte ein paar Spielereien mit LED machen und weis net ob ich da gleich C++ lernen soll.

Da es ja schon viele Bibliotheken in C++ fertig gibt gibt es da spezielle Tutorials wo man net gleich lerne ganze PC Programme zu erstellen sondern wirklich nur "beschränkt" für den uC?

Danke für die hoffendlich freundlichen Antworten :-)

michael_x

Was ich von Bascom "weiss", reicht nur, dass ich da nichts mit zu tun haben möchte, kann dir also die genauen Unterschiede nicht aufzählen. Ist auch, glaube ich, nicht hilfreich, so anzufangen.

Es gibt zig Beispiele in der IDE.
Und es gibt die Adruino Reference, die nicht nur die vorhandenen Funktionen, sondern auch C++ selbst in Grundzügen beschreibt.

Und jede Library sollte ausreichend Examples mitbringen.

Daraus kann man schon eine Menge lernen.

Generell gilt, dass Variablendefinition in C wichtiger ist als in Basic (Namen sind case sensitiv, Datentypen gibt es viele).


Ansonsten kann man immer auch in "richtigen" C / C++ Referenzen nachschauen.
Musst erstmal nur so weit gehen, bis du vorhandene Sachen verstehst. Vieles was in c++ möglich ist, sollte dich erstmal nicht verwirren, wenn du es nicht brauchst.

Irgendwie wirst du im Lauf der Zeit "C++ für den Hausgebrauch" lernen, das lässt sich nicht vermeiden.


PopoPirat

#2
Aug 15, 2016, 02:51 pm Last Edit: Aug 15, 2016, 03:17 pm by PopoPirat
Ja also ich will jetzt nicht richtig in die Programmierung einsteigen und quasi C++ lernen sondern eher einfach einen uC ansteuern können und bissle Spielen.

Man möcht quasi nur das an C++ lernen was ich auch nur brauche. Ich will keine dicken Programme unter Windows oder Spiele programmieren. Auch wenn das doof klingt.

Geht halt nur darum mit welche Lektüre man anfängt da alle ja net in die richtung uC's gehen sondern eher halt Anwenungen entwickeln oder Spiele etc.

Grüße

uxomm

#3
Aug 15, 2016, 03:55 pm Last Edit: Aug 15, 2016, 04:03 pm by uxomm
Habe mir selbst ein kleines Board mit einen Atema8 zusammengelötet und habe zusätzlich den mySmartUSB Programmer.

Kann ich da trotzdem mit eurer IDE arbeiten?

Ist zu Bascom wirklich nur der unterschied das man mit Basic programmiert?
Also die Kombination von ATmega8 und mySmartUSB-Programmer und Arduino-IDE und wenig Erfahrung ist möglicherweise nicht ganz ideal - finde ich.

Der ATmega8 wird nicht von Haus aus von der IDE unterstützt. Es ist zwar möglich ihn zu verwenden, aber nur mit ein paar "Kunstgriffen" - nicht sooooo anfängertauglich.

Den mySmartUSB-Programmer kann man zwar mit der Arduino-IDE verwenden, es ist aber auch ein kleiner "Kunstgriff" nötig, damit es funktioniert (bei BASCOM wird er übrigens direkt unterstützt). Auch das ist nicht soooo anfängertauglich.

Es könnten also ein paar Frustrationen "vorprogrammiert" sein. :)

Mein "Werdegang" mit Mikrocontrollern (ich bin kein Profi) hat folgende "Bereiche" berührt: Assembler mit PICs, AVRs mit BASCOM und dann AVR GCC (Win-AVR) und auch die Arduino-IDE. Bei den letzten beiden bleibe ich mal - denke ich. Das ist meiner Meinung nach ein guter Kompromiss: eine Hochsprache, wodurch man sich nicht um "alles selbst" kümmern muss und andererseits doch eine gewisse Hardwarenähe und Flexibilität, ausserdem eine große Community und viele Beispiele, Librarys, Tutorials - mit sehr unterschiedlicher Qualität ;) und und und.

Die größten Stärken spielt die Arduino-IDE mit der Hardware aus, für die sie (eigentlich) gedacht ist, nämlich mit (zum Beispiel) dem Arduino UNO (ATmega328P).
Jedem "Anfänger" würde ich empfehlen damit anzufangen, denn gerade zu Beginn gibt es viele "Stolpersteine" woran die ersten kleinen Projekte leicht scheitern können.

"Später" kann man auch andere AVR-Mikrocontroller mit der Arduino-IDE programmieren, etwa aus der ATtiny-Serie und einige andere mehr.

Edit:
Ob es wohl eine gute Idee ist, in einem Forum in dem C/C++ "gesprochen" wird die Frage zu stellen, ob BASCOM/BASIC nicht besser wäre ... :) ;) :)
Always decouple electronic circuitry.

HotSystems

#4
Aug 15, 2016, 03:56 pm Last Edit: Aug 15, 2016, 03:58 pm by HotSystems
Ja also ich will jetzt nicht richtig in die Programmierung einsteigen und quasi C++ lernen sondern eher einfach einen uC ansteuern können und bissle Spielen.

Man möcht quasi nur das an C++ lernen was ich auch nur brauche. Ich will keine dicken Programme unter Windows oder Spiele programmieren. Auch wenn das doof klingt.

Geht halt nur darum mit welche Lektüre man anfängt da alle ja net in die richtung uC's gehen sondern eher halt Anwenungen entwickeln oder Spiele etc.

Genau dafür ist der Arduino doch ideal.

Aber da solltest du nicht mit einem "Exoten" anfangen, sondern dir einen "echten" Arduino anschaffen und wenn genügend Erfahrung vorhanden ist, kannst du es mit dem Atmega8 durchaus probieren.

Damit zu starten, kann ich dir nicht empfehlen. Du musst dir für den Atmega8 erst eine Board.txt besorgen/schreiben, damit du diesen in der IDE programmieren kannst. Ob die zahlreichen Bibliotheken dann auch für den Atmega8 passen, wage ich zu bezweifeln.

Aber wenn du deine "selbstbau-Platine" verwenden möchtest, kannst du doch darauf einen Atmega328 setzen. Der ist, soweit ich weiß, pinkompatibel und kann direkt in der IDE programmiert werden.

Edit:
uxomm war schneller. ;)
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

PopoPirat

Da ist doch der Spaß zum selber löten ja weg :-(

naja ich werds mir mal ankucken.....vllt bleibe ich doch beim bascom

HotSystems

Da ist doch der Spaß zum selber löten ja weg :-(

Das kannst du ja weiterhin machen, nur eben mit einem anderen Controller drauf.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Serenifly

#7
Aug 15, 2016, 04:12 pm Last Edit: Aug 15, 2016, 04:15 pm by Serenifly
Atmega8 und Atmega328 sind vom Prinzip her kein riesiger Unterschied. Das ist eher evolutionär. Mehr Speicher, minimal andere interne Register, mehr interne Funktionen (glaube ich). Aber die Prozessoren sind doch sehr ähnlich aufgebaut.


Ein paar Grundkenntnisse in C/C++ brauchst du halt. Sieht man hier immer wieder:

1.) Variablen und Datentypen
2.) Grundlagen zu Funktionen. Wie schreibt man eine einfache Funktion
3.) Vielleicht ein paar Grundlagen zu Arrays

Du musst auch nicht gleich alles dazu lernen, aber man sieht hier immer wieder dass Leute die größten Probleme haben, weil sie nicht verstehen was eine Funktion ist, oder was der Unterschied zwischen byte und int ist. Wenn du von BASIC kommst sollte das nicht so schlimm sein.

Arduino wird manchmal damit beworben, dass da absolute nicht-Programmierer Sachen machen können. In der Praxis klappt das aber einfach nicht. Schon wenn man zwei Sketche kombinieren will muss man wissen was man tut.

uxomm

Wenn du gerne selbst lötest, dann nimm doch einen ATmega328P und du kannst dir praktisch einen UNO selbst  basteln (zumindest fast).
Wenn du ohnehin schon einen ISP-Programmer hast sollte auch das Programmieren kein allzu großes Problem sein.

Siehe:
arduino.cc/en/Tutorial/ArduinoToBreadboard
gammon.com.au/breadboard

Always decouple electronic circuitry.

PopoPirat

#9
Aug 15, 2016, 04:26 pm Last Edit: Aug 15, 2016, 04:33 pm by PopoPirat
ich hab halt mir schon ein board gebaut nach dem plan wie der atmega 8 betrieben wird.

http://www.mikrocontroller.net/wikifiles/f/f6/Mega8_Tutorial.png

Einfach durch den ATmega328P austauschen ? Pinbelegung ist zumindest gleich aber von den Kondensatoren usw. halt die Werte ob das auch passt.

Serenifly

Ja, sollte gleich sein. Die Prozessoren sind vom prinzipiellen Aufbau her praktisch identisch

PopoPirat

aber kollege oben meinte ich muss erst vorarbeit leisten um meinen programmer in betrieb nehmen zu können?

HotSystems

Einen Unterschied gibt es.

Mit welcher Frequenz/Quarz betreibst du den Atmega8 ?

Den Atmega328P kannst du extern (Quarz oder Keramikresonator) mit 16 MHZ betreiben.
Intern mit 8 oder 1 Mhz.

Alles andere ist kompatibel, siehe auch die Links von uxomm.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

michael_x

Ein 4MHz externer Oszillator ist kein wirkliches Problem, aber etwas ungewöhnlich. Ein atmega328p mit 5V wird "bei Arduino" üblicherweise entweder mit 16MHz Quarz/Resonator oder mit 8 MHz internem Takt betrieben.

Wenn du mit möglichst wenig Problemen die Millionen Sketche und Libraries, die du im Internet findest, ausprobieren willst, solltest du lieber zum 168/328 wechseln.

Wenn du sowieso eine USB-serielle Schnittstelle zum PC verwendest, kannst du dich, statt mit Programmer zu hantieren, auch vom Bootloader verwöhnen lassen.

PS: " mysmartusb arduino " kann man googlen

HotSystems

aber kollege oben meinte ich muss erst vorarbeit leisten um meinen programmer in betrieb nehmen zu können?
Welche Vorarbeit und welcher Kollege?

Du kannst Beiträge einfach zitieren wenn du zuvor im entsprechenden Post auf "Quote" klickst.
Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Go Up