PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Toteler Änfänger, wie anfangen??



YaNnIk
26.01.2009, 20:01
Hi Leute..

Ich interessiere mich für Microcontroller und deren Prorgammierung

Ich habe mich schon informiert, aber ich finde mich noch überhaupt nicht zurrecht.. :-s

Ich habe schon erahren, das Bascom wohl das beste zum Einstieg ist..

Nun mein Ziel ist es LED-Beleuchtungssteuerungen zu bauen.. (Also Farbwechsel, Überblendung, ...)

Und nirgendwo habe ich ein Tutorial zum lernen der Programmiersprache, etc. gefunden..

Gibt es da Anleitungen für blutige Anfänger??????

Und wenn möglich sollte der Anfang auch nicht viel kosten.. also keine teueren Programmierboards..


Mfg Yannik W.

demlinger
26.01.2009, 20:37
hi

also als erstes brauchst du irgend einen mcu zum anfang ist der atmega16 nicht schlecht. Am besten besorgst du dir ein programmierboard gibts günstig bei pollin.de

dann die demo von bascom runterladen da gibt es viele beispielprogramme
im ordner sampels

http://www.mcselec.com/index.php?option=com_docman&task=cat_view&gid=99&Itemid=54

zum programmieren kannst du entweder einen programmieradapter für den druckerport verwenden ist für den anfang einfacher weil man so direkt mit bascom programmieren kann

für eine serielle programmierung muss du die datei mit einem anderen programm z.B ponyporg auf den mcu übertragen

demlinger
26.01.2009, 20:49
günstige entwicklungs/programmierboards gits es auch bei myavr.de

elkokiller
27.01.2009, 06:50
Fang am besten mal ganz einfach (und ohne große Kosten) an!

Hardware:
Unter http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment findest du eine schöne Anleitung zur Hardware des AVR.
Da du neben dem AVR nur ein paar Widerstände und LED's benötigts (damit gibts den ersten Programmiererfolg), kannst du auf die ganzen Programmierboards verzichten.
Programmierstecker
Der Programmierstecker ist auch einfach zusammengelötet.
Software
Zum Programmieren benötigts du Mascom. Die kostenlose Version bekommst du bei www.mcselec.com - Die reicht für den Anfang auf jedenfall
Unterstützung
Hier im Bascom Forum, wo sonst ;-)

Vitis
27.01.2009, 08:46
Für den Einstieg hab ich mir das
Büchlein von Roland Walter gekauft ,
das war für mich der beste Weg ...
kann man dann auch schön beim tüfteln "offline"
daneben legen und blättern.
Meins hat dabei so manchen Spritzer Lötzinn
oder Kaffee abbekommen, hat es mir aber nicht übel
genommen.

YaNnIk
27.01.2009, 14:03
vielen dank!!!
da ich er möglichst günstig haben will werde ich mir am besten alles selber zusammenlöten ^^ .

aber eine Frage habe ich noch.. Hatt ja nichts mit der hardware zu.. Wie kann ich die Programmiersprache für Bascom lernen?? Da habe ich noch überhaupt nichts zu gefunden ](*,)

und woher weiß man später eigentlich wo welches teil an den Mikrokontroller angeschlossen wird.. Da gibts ja ne ganze Menge Pins!?!


ich weiß.. fragen über fragen.. aber befor ich mir das was kaufe mach ich mich lieber mal schlau..


Mfg Yannik W.

MeckPommER
27.01.2009, 14:11
Jeder Pin hat seine Funktion. Dazu gibt von Atmel Datenblätter in denen haarklein steht, welcher Pin, wie, wann, warum, was macht. Du kannst auch versuchen, dich im Vorfeld so schlau zu machen, das du nie zu deiner ersten Schaltung kommst.

Einfach zuerst mal z.B. eine der beliebten "Blinkende LED"-Schaltungen auf einem Steckbrett aufbauen, Programm eintippen, flashen ... und DANN in Ruhe gucken, warum und wie das funktioniert ... oder auch nicht ;-)

Gruß MeckPommER

YaNnIk
27.01.2009, 14:38
Jeder Pin hat seine Funktion. Dazu gibt von Atmel Datenblätter in denen haarklein steht, welcher Pin, wie, wann, warum, was macht.

wo finde ich diese datenblätter??


Einfach zuerst mal z.B. eine der beliebten "Blinkende LED"-Schaltungen auf einem Steckbrett aufbauen, Programm eintippen, flashen ... und DANN in Ruhe gucken, warum und wie das funktioniert ... oder auch nicht ;-)

und wo finde ich dazu den code und die aufbauanleitung??


eine andere frage hätte ich noch.. und zwar zu dem simulator.. ich stelle mir darunter vor, dass man z.B. den ATmega8 und angeschlossene geräte virtuel darstellen kann und sein Code zu testen. Habe ich das richtig interpretiert oder lieg ich da ganz falsch??


Mfg Yannik W.

BurningBen
27.01.2009, 15:11
Die Datenblätter findest du hier:
http://www.atmel.com/

Und ne startanleitung ist hier zu finden: (code und aufbauanleitung)
https://www.roboternetz.de/wissen/index.php/AVR-Einstieg_leicht_gemacht

Sauerbruch
27.01.2009, 15:25
Also, ich hab´ auch ´ne Menge durch: Als erstes ein Assembler-"Lehr"buch von MyAVR (Höchststrafe!!!), dann diverse andere Bücher, die aber alles andere vermittelt haben als die Basics... Die ersten "Aha"-Erlebnisse hatte ich definitiv beim Abarbeiten des Buches von Roland Walter. Didaktisch mit Abstand das beste, was ich je gefunden habe. Du lernst alles über I/O-Pins, Timer, AD-Wandler, serielle Kommunikation etc., etc. Und alles anhand praktischer Beispiele.

Das Experimentierboard dafür kann man sich auch selber löten, Platinenlayout ist im Buch dabei. Man kann das Board auch als Bausatz bestellen.

YaNnIk
27.01.2009, 17:26
und wie lernt man das programmieren jetzt.. weil ich will ja nicht nur toturials nachmachen und fertige codes programmieren, sondern später auch eigene sachen programmieren..

Andree-HB
27.01.2009, 17:38
und wie lernt man das programmieren jetzt..


...wie lernst Du denn in der Schule ?

> Fachbücher Lesen
> Augen und Ohren offen halten
> Demjenigen, der vorne steht, zuhören
> Fragen stellen
> sich mit Schulkameraden austauschen
> Hausaufgaben machen, zur Not auch mal was auswendig lernen

...genauso läufts auch "hier"

YaNnIk
27.01.2009, 19:02
und wie lernt man das programmieren jetzt..


...wie lernst Du denn in der Schule ?

> Fachbücher Lesen
> Augen und Ohren offen halten
> Demjenigen, der vorne steht, zuhören
> Fragen stellen
> sich mit Schulkameraden austauschen
> Hausaufgaben machen, zur Not auch mal was auswendig lernen

...genauso läufts auch "hier"


gibt es denn irgentwo eine samlung von den programmiercodes.. also wie z.B. eine formelsamlung in mathe..

und dann muss man alles logisch mit einander verknüpfen und anpassen..

also ganz vereinfacht gesagt nach dem baukastenprinzip.. (mir ist schon klar, dass es komplexer ist)

Neutro
27.01.2009, 19:06
Am besten du tippst erstmal die Beispielprogramme so ab und schaust ob das bei dir funktioniert. Dazu ist es aber Vorraussetzung das du den Controller auch so beschaltest wie in den Beispielen, sonst wird das nichts.
Wenn das dann alles läuft kannst du anfangen die Beispiele miteinander zu
kombinieren. Wenn du dann verstehst warum "das passiert wenn du dieses machst" ist der AHA Effekt eingetreten, und du kannst dir selber kleine und dann größere Programme ausdenken. Jeder fängt halt mal klein an...

python_rocks
27.01.2009, 19:35
Gibt es da Anleitungen für blutige Anfänger?

Hallo Yannik!

Vielleicht kannst du damit etwas anfangen:

http://halvar.at/elektronik/kleiner_bascom_avr_kurs/

mfg
Gerold
:-)

YaNnIk
27.01.2009, 20:00
Am besten du tippst erstmal die Beispielprogramme so ab und schaust ob das bei dir funktioniert. Dazu ist es aber Vorraussetzung das du den Controller auch so beschaltest wie in den Beispielen, sonst wird das nichts.
Wenn das dann alles läuft kannst du anfangen die Beispiele miteinander zu
kombinieren. Wenn du dann verstehst warum "das passiert wenn du dieses machst" ist der AHA Effekt eingetreten, und du kannst dir selber kleine und dann größere Programme ausdenken. Jeder fängt halt mal klein an...

genau das ist eigentlich was ich nicht will.. das habe ich schonmal bei visual basic gemacht.. nach 2 wochen hatte ich keine lust mehr, weil mir codes dafür gefehlt haben, was ich machen will..

weil also ganz einfache code teile suche ich.. also z.B. wie mache ich eine pause in eine LED rein.. (gut das habe ich jetzt shon aus den sachen aus einer led sache erfahren.. aber solche sachen suche ich.. weil sonst habe ich zwar den aha effekt, aber ich will ja schließlich mein sachen entwickeln und nicht einfach aus einzelnen sachen zusammen basteln...

Panzer4000
27.01.2009, 20:42
Hallo @YaNnIk;

wenn du, wie ich aus Deinen Bemerkungen entnehmen kann, ernsthaft an der
Programmierung vom Mikroprozessoren und ihre Nutzung im täglichen Umfeld
( Projekte) interessiert bist und somit Codes für diese entwickeln willst musst du im Wesentlichen 3 Dinge lernen:

1. Wie ist der Mikrokontroller aufgebaut und was kann er und was kann er nicht.-Register, Adressen,Eingänge,Ausgänge e.t.c
dies erfährst du durch Literatur,Datenblätter ( dafür studieren Menschen Jahre)

2.Was macht ein Befehl( Codeschnipsel) in den Microkontroller und wie spreche ich den Mikroprozessor an um ihn zu sagen was ich von ihm will.


3. Wie wirken die Elemente unter 1 Hardware und 2 Software zusammen und wie bringe ich die beiden Faktoren zudsammen.



Wenn du nicht übst, mit Codeschnipseln in die Materie einzudringen, rate ich dir lass die Finger davon es kostet nur viel Geld und was noch schlimmer ist der Frust wird immer größer. Du musst dich freuen wenn du eine LED zu blinken bringst und musst selbst erkennen warum-weshalb-die Pausenzeit so eingestellt ist und wie du die verändern kannst.

Ich will dir ein Beispiel zeigen:
du hast zum Beispiel eine Wartezeit von 5 sec= Wait 5 in das Programm eingebaut.Was passiert dann. Richtig das Programm steht 5 sec. und macht nichts weiter, also auch keine weiteren Aktionen. Aber es geht eben auch das das im Hintergrund geht und doch werden aandere Aktionen abgearbeitet

Dies kannst du aber nur wenn du die inneren Strukturen des Mikrokontrollers und die Sprache beherrschst, also Code abtippen -auskommentieren- in den Mikrokontroller laden und sehen was passiert.
z.B gibt es den Simulator dort kannst du dein Programm simulieren.

Wenn du diese Hinweise ernst nimmst werden dir hier im Forum alle helfen
aber es gibt nun mal Grundsätze und regeln.

mfG

chr-mt
27.01.2009, 21:22
Hi,

gibt es denn irgentwo eine samlung von den programmiercodes.. also wie z.B. eine formelsamlung in mathe..
Gibt es. Nennt sich Bascom Hilfe ;)
Da ist jeder Befehl mit einem Beispiel erklärt.
Ist in dem Beispiel ein zusätzlicher Befehl vorhanden, den du noch nicht kennst, dann siehst du den eben auch in der Hilfe nach.
So kannst du dich von Befehl zu Befehl hangeln.
Oft gibt es auch noch einen Verweis zu verwandten Befehlen.
Klar kann man dann noch nicht wirklich viel verstehen.
Aber: Je öfter du das durchgehst, vielleicht einfache Sachen im Simulator ausprobierst, um so mehr Verständniss bekommst du für die Sache.

Überlege dir mal eine konkrete, nicht zu komplizierte, Anwendung.
Am besten irgendetwas, was du auch wirklich brauchen kannst, das erhöht die Motivation.

Und dann einfach mal probieren, lesen, fragen...


Die ersten "Aha"-Erlebnisse hatte ich definitiv beim Abarbeiten des Buches von Roland Walter. Didaktisch mit Abstand das beste, was ich je gefunden habe.
Das Buch von Roland Walter kann dir auch empfehlen.
Ist wirklich gut lesbar und auf das wesentlich konzentriert.

Gruß
Christopher

Vitis
27.01.2009, 22:39
oh es gibt ne Menge Codeschnipsel für alles Mögliche
im Netz, aber ich für meinen Teil warne vor der Verwendung.
Klar, die Basis Codes ala

Print "Hallo Welt!"

sind sinnvoll, da sie verdeutlichen wie ein Befehl verwendet wird,
aber ganze Befehlsketten und Subroutinen empfehle ich:

Finger weg !

Man denkt scheinbar schneller zu sein per Copy & Paste, kritisch
wirds dann beim Fehler suchen, weil man keinen Plan von der
internen Funktion hat und hinterher mehr Debuggen muss als das
schreiben eigener Routinen benötigt hätte.

Der µC alleine ist n ziemlich unnützes Stück Silizium ohne seine
Peripherie und da ist es einfach unumgänglich sich auch mit denen
auseinanderzusetzen ... beispielsweise mit einem LED-Vorwiderstand.
Das kann man per Try and Error machen, was dann mitunter mächtig
stinkt in der Bude wenn die 20ste LED abgeraucht ist oder durch
Schmökern in den entsprechenden Unterlagen wie hier im Forum
(Forumsuche) oder gutes Buch zum Thema (RoWalt) oder in den
Datenblättern zu den Bauteilen (alldatasheet.com).
Es wird auch hier im Forum normalerweise keine Fertiglösung geboten
sondern meist Tips fürs weitere Selbststudium.

hardware.bas
28.01.2009, 06:54
Bau Die einfach erstmal den Programmer und programmier die ersten
Funktionen mit BASCOM. Da man an der Schaltung gleich S I E H T, was
passiert, macht das auch um ein Vielfaches mehr Spass als irgendwelche
Programme innerhalb des Rechners zu erstellen. Bücher und Hilfetexte
sind sicherlich eine Hilfe. Wichtiger sind Datasheets! Und RICHTIG
HINKRIEGEN tuts man nur durch Probieren. VG Micha

YaNnIk
28.01.2009, 11:56
Hi,

gibt es denn irgentwo eine samlung von den programmiercodes.. also wie z.B. eine formelsamlung in mathe..
Gibt es. Nennt sich Bascom Hilfe ;)
Da ist jeder Befehl mit einem Beispiel erklärt.
Ist in dem Beispiel ein zusätzlicher Befehl vorhanden, den du noch nicht kennst, dann siehst du den eben auch in der Hilfe nach.

DANKE,DANKE,DANKE!!! Genau sowas habe ich gesucht!!

gibt es bascom eigentlich auch auf deutsch?? oder zumindest die Hilfe ??
englisch geht zwar auch, aber deutsch wär besser ^^

MeckPommER
28.01.2009, 12:07
Eine Hilfe auf deutsch ist mir nicht bekannt, dafür gibts aber Fachliteratur, in der die Befehle auf deutsch erklärt sind.
Die englischen Texte in der Hilfe sind aber recht einfach gehalten.

Guckst du hier -> http://avrhelp.mcselec.com/index.html

YaNnIk
28.01.2009, 12:54
ich habe auf einem screenshot in einem tutorial gesehen, dass es aber das programm auf deutsch gibt?! wo kann ich das einstellen.. hab nach i-was mit "language" gesucht, aber nix gefunden..

und welche fachliteratur wäre das denn??

mat-sche
28.01.2009, 17:06
Hallo YaNnIK,

auch ich möchte Dir einen Tip geben und ein Schlussfolgerung in kurzer Form:

1. kaufe Dir das Buch von Roland Walter "AVR Mikrocontroller Lehrbuch"
=> darin sind die einzelnen Bestandteile und ihre Funktionen eines AVR gut beschrieben
2. lade Dir die Demo von Bascom und schau in die Hilfe
3. verabschiede Dich von Deutsch in der Technik und fange an ohne zu murren Englisch zu lernen!!!
Meiner Seiten habe ich kein Englisch in der Schule gehabt und hangle mich durch und lerne es dabei!
=> denn alles ist in der Technik ist in Englisch gehalten und die meisten Seiten und Projekte im Web sind auf Englisch!
4. nimm dir ein Projekt vor und versuche zu erst den Sinn davon heraus zu bekommen
5. wenn Du dann jeden Teil und Funktion Deines Projektes kennst, dann kannst Du schauen mit welcher Funktion eines AVR's Du realisieren kannst
6. nimm die Codeschnipsel aus dem Buch oder der Hilfe und progge diese im einzelnen
7. danach fügst Du die einzelnen Teile zusammen!
=> somit überschaust Du in dem Code was er machen soll und kennst die Funktionen, wichtig für eine Fehlersuche!

8. WICHTIG:! Du musst strukturell denken => der Kontroller arbeitet strikt alle Befehle hintereinander ab! Also nach A kommt B!

FANG KLEIN AN UND STEIGERE DICH! Ich glaube, dass hier keiner richtig bock hat Dir alles von Grund auf zu erklären!

Dennoch werden wir Dir helfen!!
Gruß MAT

chr-mt
28.01.2009, 22:00
Hi,
die Sprache kann man bei Bascom umstellen.
(Natürlich nicht die des Programmcodes :) )
Options ->Environment->IDE->Language->Deutsch

Allerdings ist nicht alles übersetzt ... so gibt es zB.
"alles minimieren", aber "maximize all".
Und manches klingt auf deutsch etwas merkwürdig.
Programmer="Programmierer"

Es gibt noch das Buch "Bascom AVR Sprachbefehle"
Ich kenne das Buch selber nicht, aber vielleicht wäre das was für dich, wenn dir englisch nicht so liegt.
https://www.roboternetz.de/wissen/index.php/Buchvorstellungen#BASCOM-AVR_.E2.80.93_Sprachbefehle.2C_Autor_Mario_Meissne r

Gruß
Christopher