Hallo, ich würde gern mit meinem Sohn in die Welt der Mikrocontroller
eintauchen.
Es geht erstmal um einfache Sachen wie LED, Motoren schalten oder
Fischertechnik-Kontroller erweitern.
Ich selber würde mit allen Systemen klar kommen. Habe vor 20 Jahren das
studiert, aber seitdem leider nix an Elektronik gemacht.
Ich stehe nun vor der Qual der Wahl PICAXE oder AVR...
Beim PICAXE stört mich etwas der hohe Chip-Preis und das in Deutschland
fast alle Projekte mit AVR´s gemacht werden.
Beim AVR erscheint mir die Verständnisschwelle bei Hard- und Software
höher, auch wenn ich BASCOM nehmen würde.
Hat da jemand Erfahrung in MC-Programmierung und Kinder ?
Bitte nicht auf die bisherigen PIC-AVR-Vergleiche verweisen.
Es geht mir darum ob man mit AVR+BASCOM den Einstieg bei Kinder eben so
einfach hinbekommt wie bei PICAXE.
Danke
Hi,
ich habe selbst auch mit Picaxes angefangen und fand den Einstieg
wirklich supereinfach!
Die Dokumentation ist gut, die Programmbeispiele sind ebenfalls
erstklassig und die Möglichkeiten sind für den Anfang mehr als
ausreichend.
Inzwischen bin ich auch auf AVRs umgestiegen, hauptsächlich wegen der
höheren Geschwindigkeit und der hardwarenahen Programmierung. Es gibt
einfach viel mehr Möglichkeiten. Doch so manche Probleme die ich
inzwischen mit den AVRs hatte, gab es bei den Picaxes halt einfach
nicht.
Manche einfachen Dinge (Weichblinker, einfache Servosteuerung) mach ich
immer noch mit einem Picaxe. Von den 08M hab ich noch ein paar. Das
Programmierkabel kostet fast nichts und die Chips sind auch nicht so
unverhältnismäßig teuer. Es gibt sogar eine einfache Debug-Ausgabe von
ADC-Werten! Erstklassig, wenn man Potis oder LDRs einstellen will. Muss
man bei AVRs über UART machen.
Für Kinder finde ich die Picaxes optimal, da man mit dem einfachen
Aufbau kaum was falsch machen kann und schnelle Erfolgserlebnisse hat.
Und wenn man dann der LED-Würfel (4x4x4) eben nur ne Framerate von 5 fps
hat, dann kann man sich immer noch überlegen ob man umsteigt. Wie bei
mir...
Gruss
Andreas
Wie alt ist denn das Kind ?
Ich habe jetzt leider mit PICAXE leider keine Erfahrung.
Vor einigen Jahren habe ich ein paar 12 jährigen das Programmieren am
AVR mit BASCOM und einen Sample-Programmer beigebracht.
Dabei habe ich eine Muserschaltung mit 2x40 Zeichen LCD einfach
nachbauen lassen (als ersten Schritt). Am Ende hab ich dann noch
gezeigt, wie man eigene Zeichen "malen" kann. Ich habe ein
Strichmännchen gemalt und gesagt "wenn Du gut bist, kannst Du es zu
hause dann zum laufen bringen".
Einen Tag später hab ich dann nochmal nachgefragt und er sagte:
"Ich habe es Laufen lassen, dann über einen Stein fallen lassen" ;-)
Empfehlen kann ich (je nach Kenntnisstand):
Eine kleine Musterschaltung fest aufbauen und einen Beispielcode (am
besten mit Alias für Port.
Am besten mit ATMEGA8, weil billig und doch schon ein paar Ports, so
braucht man eine funktionierende Schaltung nicht immer auseinander zu
reissen, wenn man etwas neues machen will.
Ein Display ist auch immer recht hilfreich, weil man es auch zum
einfachen debuggen hernehmen kann.
Ein paar Leds, ein Lautsprecher für Tonausgabe (am besten an OC1B für
DTMF unter BASCOM (bitte nochmal nachschauen, ich bin da nicht ganz
sicher))
Ein TSOP1738 für die Möglichkeit einer (dann auch noch ferngesteuerten)
Eingabe und mit einer IR-LED könnten sogar die Atmels miteinander
kommunizieren.
Evtl. auch noch ein Max232 für ne Serielle für den PC
Mit solch einer Grundschaltung kann man dann schon sehr viel machen, das
reicht für die gesamten Sommerferien ;-)
Ich hoffe ich konnte damit helfen.
Sam
Mit diesen
nicht ganz unwichtig: wie alt ist das blag?
von bascom ist abzuraten, basic versaut alles! ein besser einstieg ist
mittels pascal oder gleich c möglich - damit fällt dann auch die wahl
direkt auf die AVRs, mit dem AVRGCC/WinAVR steht ein kostenloser,
einfach handzuhabener und zugleich mächtiger compiler zur verfügung.
sollte berührungsängst vor c existieren, gibt es (soweit ich weiß) auch
einen nicht sehr teuren pascal-compiler. parallel zum erlernen von c
sollte man, wenn man denn schon mit mikrocontrollern arbeitet, auch
gleich die assembler-grundlagen vermitteln.
ganz allgemein: existieren denn schon allgemeine programmierkentnisse?
wenn nicht, ist es wohl sinnvoller erst einmal mit dem programmieren auf
einem pc anzufangen (alte pascal-version, delphi, borland c++ builder,
mingw, ...) - für der erlernen des syntax und den anderen grundlagen der
jeweiligen sprache, ist dies sinnvoller - am besten aber nicht direkt
objektorientiert einsteigen.
die in jedem fall einfacheren debug-möglichkeiten, überall einfach mal
hereinzuschauen/sich zeile für zeile durch den code steppen und
variablen anschauen ist zum lernen und verstehen schlicht gold wert;
gerade das ist beim umgang mit mikrocontrollern aber ungleich
schwieriger - von daher kann ich als absoluten einstieg nur abraten!
arno nyhm schrieb:> nicht ganz unwichtig: wie alt ist das blag?>> von bascom ist abzuraten, basic versaut alles!
Das ist ein wenig zu drastisch ausgedrückt.
Sowohl in BASCOM als auch in C kann man unlesbare Programme schreiben.
Genauso wie man ganz wunderbar lesbare und gut aufgebaute Programme in C
und in BASCOM schreiben kann. Das was wir hier im Forum von BASCOM
mitbekommen ist ja nur die Spitze des Eisbergs. Die breite Masse der
BASCOM Programmierer, die damit gut zurechtkommen, kriegen wir hier ja
nie zu Gesicht.
> ganz allgemein: existieren denn schon allgemeine> programmierkentnisse? wenn nicht, ist es wohl sinnvoller erst> einmal mit dem programmieren auf einem pc anzufangen
Doppelt unterstreich.
Nimm einen Arduino! http://www.arduino.cc Hardware ist
standardisiert+günstig, ideal zum Anfang (ist ein AVR), die IDE macht es
ganz leicht und die C-Programmierung ist nett verpackt - ideal für
Einsteiger. Wenn man will kann man immer mehr machen.
>> von bascom ist abzuraten, basic versaut alles!> Das ist ein wenig zu drastisch ausgedrückt.
Da stellt sich mir die Frage, was den augenkrebserregenden Schreibstil
des Posters mit kompletter Abwesenheit von Großbuchstaben verursacht hat
:D
Hi,
auch wenn das Wort basic vorkommt, dennoch:
Meine Anfänge in Prorammieren und Elektronik waren schlicht Qbasic und
der Druckerport (lpt). Beides gibt es noch und es war sehr einfach ein
paar LEDs blinken zu lassen oder ein Relais zu steuern usw. Evtl. wäre
das oder ähnliches ein einfacherer Ansatz. Da braucht man wirklich nix
ausser die Schnittstelle und ein Druckerkabel das man einfach
abschneidet, 8 Widerstände und 8 LEDs fertig.
Hallo und Danke für das Feedback.
Nach dem ich mich mit beiden Welten auseinandergesetzt habe, werde ich
es mit den PICAXE versuchen. Für den Einstieg mit Kindern erscheinen mir
diese doch am geeignetsten.
Meine Kleine wird sich, wenn ausreichend Interesse für die Controller da
ist, ihr Board selber löten und es dann programmieren. So lernt sie am
besten. Vorgefertigte Boards sind zwar schön, wenn man gleich mal eben
loslegen will, aber zum Lernen und Begreifen der Thematik von Grund auf
eher ungeeignet. Wenn das Kind auch die Elektronik verstehen soll/will,
dann ist Selberbauen angesagt. Die Programmiersprache sollte unabhängig
von dem Board sein und man sollte nicht auf irgendwelche
"Betriebssysteme" aufsetzen, die schon auf dem Controller laufen. Das
bringt nur Ärger. Getreu nach dem Satz: "Wenn Du willst, daß etwas
funktioniert, dann mach es selber."
>von bascom ist abzuraten, basic versaut alles!
Quatsch. Dass ich vor einigen Jahren mit Basic auf einem C64 angefangen
habe hat mich nicht daran gehindert noch C und Weiteres zu lernen.
Heute würde ich Basic allerdings auch nicht mehr anpacken.
BASIC ist immer noch so gut für Anfänger wie vor etlichen Jahren, der
Name ist Programm:
„Beginner’s All-purpose Symbolic Instruction Code“. Viele der hier
mitlesenen, dann C probierenden und vor dem Durchbruch aufgebenden Leute
würden mit Basic ein schnelles Ersterfolgserlebnis haben und "dran
bleiben".
An die "NUR-C-ist-gut-Fraktion":
"Arroganz ist das Selbstbewusstsein
des Minderwertigkeitskomplexes." (Jean Rostand)
icke
mausipapa schrieb:> Hallo, ich würde gern mit meinem Sohn in die Welt der Mikrocontroller> eintauchen.
Klasse!
Egal für welchen µC ihr Euch entscheidet.
Die Entscheidung mit Deinem Sohn zusammen hier einzusteigen ist
vorbildlich.
Das mit "Minderwertigkeitskomplex" kann git sein.
Ich selbst verstehe Assembler und auch C
Bascom ist verdammt gut für viele Sachen und versaut überhaupt nichts.
Richtiger wäre es mit Assembler anzufangen und dann sich gleichzeitig
eine Hochsprache aneignen. Aber bei Kids lässt die Motivation auch rasch
nach. Und diese ist doch sehr wichtig.
@ icke (Gast)
>BASIC ist immer noch so gut für Anfänger wie vor etlichen Jahren, der
Seh ich genau so!
>mitlesenen, dann C probierenden und vor dem Durchbruch aufgebenden Leute>würden mit Basic ein schnelles Ersterfolgserlebnis haben und "dran>bleiben".
Genau.
>An die "NUR-C-ist-gut-Fraktion":
Der gehöre ich nicht an. Ich hab noch nicht vergessen, wie sehr ich am
Anfang übr C geflucht habe!
Und das ist schon ein paar Jahre her.
C ist wie ein Rasiermesser. Höllisch scharf und ohne Schutzbügel. Einmal
verkantet, AUTSCH!
BASCOM finde ich sehr gut. Man kann damit gut arbeiten und man hat eine
steile Lernkurve (Viel Erfolg für wenig Aufwand).
Und man kann solide programmieren, wenn man denn ein paar wichtige
Grundlagen vermittelt bekommt. Das kann aber BASCOM als Programm nicht
leisten, das muss ein Buch, Tutorial whatwever.
Und die Performance ist für Basic verdammt nah an C. Was will man mehr?
MfG
Falk
@ Ben (Gast)
>Richtiger wäre es mit Assembler anzufangen und dann sich gleichzeitig>eine Hochsprache aneignen.
Didaktisch nicht sinnvoll und praktisch nicht "massentauglich".
Assembler ziehen sich nur die absoluten Fans rein, man muss erstmal viel
Krümelkram lernen und verstehen, ehe man größere Sachen machen kann.
Ein Print "Hello World" ist das deutlich einfacher und für den Anfang
deutlich besser. Stichwort Lernkurve und Motivation.
> Aber bei Kids lässt die Motivation auch rasch nach. Und diese ist doch sehr
wichtig.
Eben. Und wenn man nciht nur die Freaks erreichen will, sondern auch
"Normale" mit techischem Interesse, muss man das Ganze etwas humaner
anpacken.
MFG
Falk
Hi
Nun werd ich mich doch noch zu Wort melden, nachdem ich meinen Beitrag
heut morgen in die Tonne gekloppt hab. Macht Assembler nicht so
kompliziert. Lediglich beim Syntax muß man lernen, in Abkürzungen zu
denken. Fakt ist, wer Assembler anwendet, wird in Hochsprachen auch
einen sauberen Stil an den Tag legen. Ich will damit sagen, es erzieht
zum strukturierten Programmieren, wenn man nicht nach den ersten 100
Befehlen den Durchblick verlieren will. Des weiteren ist man mit
Assembler sehr HArdwarenah, d. H. es wird auch ein Verständnis für die
Funktionalität vermittelt. Unterschätzt nicht die Wißbegierde eines
Kindes. Andererseits, auch mit Basic ist irgendwann mal das Interesse
erloschen, wenn ich nicht von Hause das "Neugierde-Gen" besitze. Auch
kann dieses Gen in völlig andere Richtung wirken, dann ist's sowieso
egal, welches Futter vorliegt.
Ich glaube nicht, das ein Kind nur aus Frust die Lust verliert.
Ordentlich geführt und erklärt mit immer wieder interessanten
Experimenten wird den Spaßfaktor erhalten
Gruß oldmax, verfechter der dunklen Programmiersprache Assembler.
Also ich hab mit Bascom angefangen und damit bis jetzt alle Probleme
lösen können.
Hab mich jetzt schon 1-2 mal an C gewagt, aber iwie fehlt mir einfach
die Zeit dazu und auch ein bischen die Lust, es gibt zwar sehr viele
Projekte die mit C gemacht wurden, aber mit Bascom bin ich noch nicht an
unlösbare Probleme gekommen. Hat zwar manchmal seine Eigenarten, möchte
es aber deshalb keinesfalls missen ;)
Gruss
David
Hallo,
auf die Gefahr hin, belächelt zu werden, da ich nicht in die
"Hardcore"-Stimmen hier mit einfalle:
Wie wäre es denn mit 'nem Lego Mindstorm? Den kann man zuerst mit
"Klötzchengrafik" programmieren (ein LabView-Ableger), es existieren
aber auch C und C-Ähnliche Entwicklungsumgebungen.
Für die ersten Aufgaben, die man so mit MC erledigen möchte, ist alles
dabei: bis zu 3 Motor- oder Lichtausgänge und 3 Sensoreingänge. Des
weiteren können die Teile auch per Infrarot mit dem PC oder
untereinander kommunizieren.
Am weitesten kommt man hier wohl mit dem NXT-Modell, das liegt
allerdings auch bei ca. 250 Ocken. Den Vorgänger RCX müsste man auch
preiswerter bekommen. Die "Spybot"-Kleinteile sind eher nichts, da sie
nicht ganz so frei zu programmieren sind.
OK, man lötet nicht gleich selber, dafür ist der Einstieg allerdings
extrem Kindgerecht.
Schöne Grüße,
Martin
maveric00 schrieb:> Wie wäre es denn mit 'nem Lego Mindstorm?>...es existieren aber auch C
Ich finde super.
Allerdings ist dort "C" nicht gleich so - also mind. genauso gut wie
Bascom.
Das mit
Falk Brunner schrieb:> Eben. Und wenn man nciht nur die Freaks erreichen will, sondern auch> "Normale" mit techischem Interesse, muss man das Ganze etwas humaner> anpacken.
Richtig, so meinte ich es auch mit Assembler bzw. die Leute dazu bringen
das die Motivation der Kinder das wichtigste ist.
Also eignen sich Bascom für etliche Atmel und "C" NXT für Lego
didaktisch, für Kinder sehr gut.
Später kann man gelerntes vertiefen – oder ganz Neues kennenzulernen.
Assembler, das Atommodell oder Stromrichtung- kennen bestimmt viele
Leute. Die wenigen die nur auf C pochen = Nochmals Glückwunsch das ihr
etwas davon versteht. Ihr seid aber nicht die einzigen, nebenher gibt es
zahlreiche Möglichkeiten. C ist verdammt gut. Bascom hat schon seine
Berechtigung. Flexibel und einfach zu schreiben aber genauso schwer sich
nachher im Code ohne Kommentar zurechtzufinden. Und natürlich ist die
Maschinenspr. das einzig Wahre, na gut, assenbler macht einiges
leichter, mit CV macht alles noch Spaß und mit bascom hat man seine
Freude..
Ich mache seit Anfang 2010 Physical Computing Workshops mit
6-12-Jährigen und habe gute Erfahrungen mit PICAXE-Controllern gemacht,
siehe mein Bog unter http://tinkerthon.de . Die Hardware ist unschlagbar
einfach und günstig, die Programmierung bringt schnelle
Erfolgserlebnisse. Für Fortgeschrittene würde ich Arduinos empfehlen.