PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wollt mich mal Vorstellen...



Endos
21.07.2004, 17:59
Hallo ihr Roboter Freunde, ich wollt mich mal kurz vorstellen und auch gleich mal ein wenig Rat holen..

Ich bin ein 19 Jähriger azubi aus München und interessiere mich schon seit meiner Kindheit für Robotik, gebaut habe ich so einige Roboter jedoch alle RC betrieben, mein interesse für Autonome Roboter wurde erst durch ein Fernseher Beitrag geweckt...

Tja da ich aber von der Basic keinerlei Ahnung besitze dachte ich mir das ich die Sache Langsam angehe und habe mir das Buch "Jetzt lerne ich Visual Basic .net" von Peter Monadjemi bestellt, um mich erstmal mit der Materie Vertraut zu machen bevor ich damit anfange mir einen Roboter zu Bauen..

Was Haltet ihr von dem Buch und wie empfehlt ihr mir meine vorgehensweise?

danke im vorraus..

MfG: Daniel

Rodney
21.07.2004, 18:06
Für den Einstieg in Basic brauchst du eigentlich kein Buch.
Besorg dir ein Einsteiger-Tutorial für QBasic (Dos basierend) und leg damit erstmal los. QBasic war bei Win3.1 bis 98 mitgeliefert, ich weiß nicht ob das bei XP etc auch der FAll ist.

Damit hast du erstmal einen sehr einfachen Einstieg in die Vorgehensweise beim Programmieren.

Wenn du danach ernsthaft proggen möchstest lern C/++. Das ganze ist zwar am Anfang wesentlich schwieriger (aber auch ohne Buch möglich).

Du kannst mit sogut wie allen Sprachen z.B. die AVR´s programmieren.
Das Programmieren bei Microcontrolllern ist verglichen mit Windows-Anwendungen etc ziemlich einfach und auch für Einsteiger machbar.

Allerdings kannst du natürlich auch mit deinem Buch anfangen, ich kenne es persönlich nicht aber bei VisualBasic ist die Vermittlung eigentlich nicht so wichtig. Hier lernst du das meiste eh durch Rumklicken etc. Wird halt viel visuell zusammengeklickt (daher Visual)

-MfG Rodney

hola
21.07.2004, 18:06
Hi!

Also das basic das in mikrocontrollern wie zb den avr's eingesetzt wird hat nicht mehr sehr viel mit vb.net gemeinsam - .net ist da im objektmodell weit fortgeschritten.

sollte es dir nur um mikrocontroller gehen wäre vielleicht Qbasic zum Einsteigen das richtige - geht es dir aber mehr um windowsprogrammierung ist vb.net doch eine gute wahl

mfg hola

Rodney
21.07.2004, 18:11
Sicherlich sind die neuen VB-Versionen auf dot-net ausgelegt, aber den Einstieg in Basic lernt man damit eigenltich auch.

Der einzige wirklich gravierende Unteschied:
Bei VB programmierst du ereignisgesteuert, daher du legst fest bei einem Klick auf den Button mach das und das etc.

Bei QB sieht das ganze ein wenig anders aus:
Hier programmierst du einfach drauflos, es gibt keine Ereignisse auf die du reagieren könntest.

Bei Microcontrollern ist eigentlich ein Mittelding vorhanden:
Du programmierst wie in QB allerdings gibts ja auch Interuppts etc auf die du reagieren kannst.

robotxy
21.07.2004, 18:13
Was für eine Fernsehsendung war das?
Ich habe vom gleichen Autor "Jetzt lerne ich Visual Basic 6" gelesen.
Für den Einstieg hat mit das Buch ganz gut gefallen.
Die Frage ist was/worin du programmieren möchtest, bzw. was du bauen möchtest.
Davon ist abhängig welche Sprache du brauchst.
MFG
Rasmus

Endos
21.07.2004, 18:15
Danke für die schnellen Antworten,
hmm tja wie gesagt fange ich gerade erst an mich in die Roboterwelt hineinzuschnüffeln und weiß eigentlich garnicht wo ich anfangen sollte, deshalb dachte ich daran einfach mal basic zu lernen und das auch nur um Bots Programmieren zu können für etwas anderes brauche ich Basic eigentlich garnicht.

Naja soweit ich weiß bin ich nicht im besitz von QBasic aber ich werd mal bei Ebay Schnüffeln und sehen was sich da finden lässt.

MfG: Daniel

Endos
21.07.2004, 18:21
das mit der Sendung ist einige zeit her aber da wurden ziemlich viele Kleine Bots vorgestellt die mit zahlreichen sensoren ausgestatten waren was mich sehr begeistert hat.

welche Sprache???

hmm naja viel muß der Roboter ja nicht können für den Anfang würde es mir reichen einen Bot zum Laufen zu bringen der im stande ist hindernissen auszuweichen, mehr muss nicht sein..

das mit der Sprache versteh ich nicht ganz..

Endos
21.07.2004, 19:08
Aha!!! Hab grad ein wenig geschnüffelt und bin bei o-bizz.de fündig geworden, hab ein interessanten Chrash Kurs gefunden und werd mal sehen wie weit ich komme, dennoch Danke ich euch für eure Hilfe!!

MfG: Daniel

Rodney
21.07.2004, 22:45
Mit Basic kannst du eigentlich alles recht einfach lösen.
Es ist nur eben ziemlich langsam im gegensatz zu Hochsprachen oder gar ASM.

Excalibur
22.07.2004, 00:06
Tschuldigung, aber da muß ich widersprechen.
Es ist keine zwingende Eigenschaft von Basic langsam zu sein. Auch wenn Hersteller wie Winzigweich lieber mit Gimmicks punkten, anstatt mit Qualität.

BTW: Basic ist eine Hochsprache, im Gegensatz zu C, das dafür zu Hardwarenah ist.

22.07.2004, 02:04
also ein wenig durcheinander bin ich schon, was soll ich denn lernen?... Qbasic oder C...?

Rodney
22.07.2004, 08:53
sicherlich kann Basic schnell sein, in fast jedem Fall wird aber C (es ist eine Hochsprache, auch deswegen weil man hardwarenah programmeieren KANN nicht muss) schneller sein. Dieser Geschwindigkeitsunterschied ist aber bei den meisten Anwendungen trivial.

Wenn du einen einfachen und unkomplizierten Einstieg willst nimm Qbasic.
Bei C gibt es viele Holpersteine am Anfang...

Hessibaby
22.07.2004, 12:48
Hi,

also C und BASIC sind in allen Derivaten Hochsprachen, der Unterschied liegt darin das C eine Compilersprache und BASIC eine Interpretersprache ist. Interpretersprachen sind mathematische Krüppel soll heißen sehr langsam aber besser zu lesen und funktionell einfacher zu verstehen. C und seine Vorgänger wie Forth sind mathematische Turbos aber bescheiden zu lesen und zu verstehen weil man sich immer erst durch die ganzen Declarationen lesen (fummeln) muß.
Wie schnell eine Sprache wirklich ist entscheidet nicht diese als solches sondern ausschließlich der postprozess des Interpreters oder Compilers. Entscheidend ist die mnemonic die in die CPU geht sonst nichts.
Bevor jetzt wieder einer meckert " Es gibt auch BASIC Compiler z.B. im PTSDOS"

Gruß Hartmut =D>

Rodney
22.07.2004, 12:53
Das mit dem leichten Lesen des Codes kommt nicht auf die Sprache sondern auf den Programmierer an.

Wenn man ordentlich in C programmiert, den Code gut gliedert und auch mal nen Kommentar nicht scheut kann man diesen Code garantiert besser lesen als ein Standard-Basic Programm.

Das mit der Interpretersprache entfällt aber doch bei den AVR´s weil es durch den Compiler doch schon in Maschinencode umgewandelt wird, oder haben die ne Basic-Laufzeitumgebung (das bezweifel ich mal stark...)

Hessibaby
22.07.2004, 13:36
Hi Rodney,

wenn Du programmierst wirst Du dir wohl Comments einfügen damit Du dich auch später noch die Übersicht hast. Profis nehmen diese netterweise raus damit keiner so einfach nacharbeiten kann (Arbeitsplatzerhaltungsmassnahme).
Üblicherweise ist die mnemonic also der Maschinen(CPU)-Code eines Compilers kompakter und besser strukturiert als der eines Interpreters von daher also meist schneller in der Ausführung. Aber beides ist natürlich lange nicht so effektiv wie handprogrammierter Maschinencode.
Nur der Zeitaufwand bei der Assemblerprogrammierung ist sehr hoch und die Lesbarkeit geht gegen null.

@endos
wenn Du es einfach haben möchtest nimm BASIC. Wenn Du es sauber haben möchtest C.
Und wenn Du Nachts nichts besseres vor hast Assembler.

Gruß Hartmut

Rodney
22.07.2004, 14:20
ich denk mal Assembler ist wirklich nur für absolut kleine Projekte nützlich.

wenn du in C programmierst und du irgendwann an eine Stelle kommen solltest wo du zwingend Assembler benötigst kannst du es dort einfach im C-Quelltext einfügen und du hast volle Kontrolle & Geschwindigkeit.

Soweit ich weiß ist das bei Basic nicht möglich

Endos
22.07.2004, 21:57
also ich habe jetzt ein bissel ahnung vom Programmieren von Q Basic O:)

naja um einen C controller von Conrad Programmieren zu können sollte ich wohl "C" können... oder kann man einen solchen microcontroller auch mit der Basic Programmieren?
sicherlich werde ich mir mühe geben und mir auch C aneignen.

Ich möchte erstmal nur das mein Bot der ja bereits in Planung ist, fahren und ausweichen kann vermutlich mit erstmal einem oder zwei microschaltern ausgestattet.

MfG: Endos

Rodney
23.07.2004, 09:39
Die C-Control von Conrad kannst du auch in Basic programmieren, ich weiß gar nicht ob das überhaupt mit C möglich ist?

Enter
23.07.2004, 10:00
Verwechselst du sicher wegen der Bezeichnung. Die C-Control wird in Basic programmiert. Die RN-Control in Basic oder C.

Endos
23.07.2004, 10:13
Achso... ja logo ](*,) ich dachte "c" Controll = C

aber für einen kleinen Roboter reicht es ja erstmal aus wenn ich mich der Q Basic ermächtige oder?

Rodney
23.07.2004, 10:30
Für kleine Roboter wirst du mit Basic locker auskommen, nur an rechenintensiven Stellen wo es eben auf Geschwindigkeit ankommt hast du dann ein Problem. Das ist aber bei kleinen Bots eigentlich nicht der Fall.

Endos
23.07.2004, 11:36
aha... und was sind denn rechenintensive stellen?

... ich versteh sowieso nicht genau wie man einen bot programmiert, ich hab bisher nur so text programme gelernt wie:
CLS
INPUT "Wie ist Dein Name ?", name$
INPUT "Wie ist das Wetter heute? (gut), oder (schlecht) "; wetter$
'
IF wetter$ = "gut" THEN text$ = ", dann gehen Sie lieber raus an die Luft!"
'
IF wetter$ = "schlecht" THEN text$ = ", dann bleiben Sie lieber hier!"
PRINT "Ok, "; name$; text$
SLEEP

aber wo stehen die befehle mit dem man die anweisung gibt das jetzt z.B motor 1 vorwährts motor 2 rückwährts um einen 360° drehung zu machen oder einfach nur gerade aus und dann links??

Rodney
23.07.2004, 12:54
Bei Mikrocontrollern gibt es dann halt auch systemspezifische Befehle, z.B.

sbi(PortA,1);

Das war jetzt zwar C aber in Basic ist es ähnlich.
Hier wird der Pin 1 von PortA des Controllers aktiviert (Spannung wird angelegt)

Es gibt halt jede Menge weitere Befehle.

23.07.2004, 13:48
achso, hhhmm gibt es da irgentwo ne auflistung der befehele?
für C controller?

Rodney
23.07.2004, 13:52
Meinst du jetzt die C-Control von Conrad oder uC´s mit der Möglichkeit sie in C zu programmieren?

23.07.2004, 14:06
ja die von Corad, die würd ich mir nämlich für den einstieg kaufen.

Endos
23.07.2004, 14:07
ups... =P~
hab vergessen mich einzuloggen..
ich meine natürlich Conrad.

Endos
25.07.2004, 23:28
hhmmm..
da ich der Basic jetzt einigermaßen mächtig bin, möchte ich mir jetzt gerne einen uC holen aber noch kann ich mich nicht ganz entscheiden für welchen.. also zur auswahl steht halt die RN-control von unserem sponsor ( das fertige einstiegsboard) oder die C-control von conrad....
würd mir ja sofort eins bestellen sagt mir nur welches?
MfG: Endos

recycle
26.07.2004, 01:40
Meiner Meinung nach kann die Antwort nur RN-Control heissen:

- Da sind Taster, LEDs, Summer usw. mit drauf, d.h. du hast gleich auch etwas dass du programmieren kannst.
- die AVR Controller wie sie auf dem RN-Control verwendet werden sind moderner und schneller als die C-Control.
- Bei den AVRs bist du nicht an Basic gebunden sondern kannst auch auf andere Programmiersprachen umsteigen


Wenn du später mal nicht nur an einem Roboter basteln, sondern auch andere Dinge mit Mikocontrollern basteln willst, hast du mit den AVR-Controllern zig mal mehr Möglichkeiten als mit der C-Control, weil es massig unterscheidliche AVRs für unterschiedliche Zwecke gibt.

26.07.2004, 08:05
genau so eine Antwort wollte ich hören, das ich also schon etwas programmieren kann ohne das ich motoren ect. anschließe, danke recycle!

der Rodney sagte etwas von systemspezifischen befehlen, liegt jedem controler eine liste der befehle bei oder wo kann ich diese beziehen?

MfG: Endos

Endos
26.07.2004, 08:06
Ich vergess jedesmal mich einzulogggen ](*,)

thewulf00
26.07.2004, 10:10
Hi,

ich habe auch mal einen C-Control von Conrad benutzt. Der hat hervorragend funktioniert und ist für Anfänger gut geeignet, da die Peripherie dabei ist und man sich nicht mit den einzelnen PINs rumschlagen muss. Ich habe damals die grafische Programmiervariante gewählt. Das "programmieren" damit war ein Kinderspiel.
Nur war es aus zwei Gründen bald nicht mehr schön:
- Der Controller kostet Unmengen
- Man hat nur die Möglichkeiten, die das Board bietet.

So bin ich nun auf AVR umgestiegen. Ich habe ein paar AT90S2313 geholt und angeschlossen, einen ISP-auf-Parallelumsetzer gebastelt und schreibe die Programme mit PonyProg. Das funktioniert genauso einwandfrei.
Nun zur Software: Ich habe mich in Assembler versucht (i386-Assembler kann ich gut), aber das war nicht so einfach.
Dann probierte ich mal BASCOM und alle geschriebenen Versuchsprogramme liefen auf Anhieb!!
Fazit: Für Anfänger ist BASCOM sehr zu empfehlen.

Nun steige ich aber wieder auf Assembler um, da nicht viel möglich ist, weil BASCOM sehr große Programme erzeugt.

Bei der Assemblerprogrammierung brauche ich im Hintergrund immer das Datenblatt für den µC von ATMEL, da stehen alle Instructions drinnen, die der µC versteht.
Zum Compilieren verwende ich übrigens die kostenfreie Entwicklungsumgebung AVR-Studio 3.5 von ATMEL. Ein Programmiervorgang läuft dann so ab: ASM-Programm texten, compilieren drücken, (evtl. Fehler beseitigen und erneut compilieren) Das Programm im PonyProg laden, "write" drücken und fertig.

Viele Grüße,
thewulf

PS: Es ist möglich mit BASCOM Inline-Assembler zu benutzen:


If PortA = &H10 Then
$asm
ldi r16, 0b00001000
out portb, r16
$asm end
End If


Einfach mal in der Hilfe von BASCOM nachschauen.
(Bei dem Anfangs- und Endstatement ($asm) bin ich mir grad nicht so sicher...

Tappi
11.08.2004, 13:14
Hmmm also Endos...

Ein Mikrocontroller ist nicht dafür gedacht großartig mit Zeichenketten (Namen, Wie das Wetter ist etc...) zu hantieren. Das geht zwar durch Umwege, ist aber aus Effizienzgründen nicht nötig.

Also... Ein Mikrocontroller, wie die C-Control oder AVR ist speziell darauf ausgelegt Werte an einem Analogen oder Digitalen Port zu empfangen oder zu setzten. Beispielsweise kann man über einen Analogen Port über einen Sensor die Temperatur abfragen oder durch den Analogen Port die Spannung für einen Motor, und damit die Geschwindigkeit erhöhen. Ein Digitaler Port kann die Werte 0 und 1 (Off und On) annehmen. So kann man z.B. abfragen, ob eine am Port angeschlossene Taste gedrückt wurde etc.

Für den den Anfang würde ich Dir empfehlen: Kauf dir die C-Control I (nicht die C-Control II!!!), entweder die jetzige für rund 50 € oder die neue M Unit 2.0 (hier brauchst Du aber noch einen Programmieradapter und ein spezielles Kabel).

Beim Kauf der C-Control ist die Programmiersoftware dabei (ansonsten kannst du mich ja mal fragen; Die Software ist nämlich kostenlos).

Die C-Control wird standardmäßig in CCBasic programmiert. Das ist ein recht einfacher Basic Dialekt. Sieht ein wenig aus wie Grundschulmathematik. Daneben gibt es noch irgendwo im Netz einen C Compiler für die C-Control (und ich bin grade eifrig an einem neuen CCBasic Dialekt am basteln ;o)). Aber fang mal lieber mit CCBasic an. Besser mit CCBasic als mit QBasic, da QBasic nur für PCs ist und CCBasic nur für µCs.


Noch was zu C und Basic im allgemeinen.

Das C schneller ist als Basic ist wohl ein Traum Gedanke der C-Welt (besonders der C++'ler). Basic muss nicht zwingend langsamer sein. Basic ist auch nicht zwingend primitiver als C oder C++. Es hängt davon ab, welchen Basic Dialekt man benutzt. VB 6.0 war recht ausgereift (von VB.Net kann ich noch nichts sagen). Das man mit VB 6.0 nicht so dolle Spiele programmieren kann wie mit C++ ist klar, weil das Konzept von VB ein ganz anderes ist: Es geht um die schnelle und Übersichtliche Entwicklung von Tools und Programmen zum Arbeiten oder für die Office Integration.

Es gibt eine Vielzahl von Basic Dialekten, die direkt beim Kompilieren in Assembler oder Maschinensprache umgewandelt werden.

Auf der C-Control wird Basic nicht in Maschinensprache kompiliert, sondern in sog. Tokens. Das Umsetzen des Programmcodes in Tokens ist für den Compiler fast genauso komplex wie das Umsetzen in Maschinencode. Da die Tokens vom Betriebssystem der C-Control verarbeitet werden sind sie langsamer, nehmen aber bedeutend weniger Platz im Speicher weg. Außerdem wurde auf der neuen M Unit 2.0 die Ausführungsgeschwindigkeit stark erhöht (32 Mhz!).
Zum Thema Hochsprache: C wird allgemein als Hochsprachen-Assembler bezeichnet, da es besondern hardwarenah ist. Genau diese Hardwarenähe ist aber ein entscheidendes Kriterium gegen eine richtige Hochsprache. U.a. gibt es auch aus diesem Grund C++. Das Problem von Basic ist aber vielmehr, dass es keinen einheitlichen Standart wie ANSI-C gibt.

Gruß,

Stefan

Rodney
11.08.2004, 15:00
Wenn C keine Hochsprache wär, wär C++ auch keine...
Alles was man in C machen kann, geht auch mit seinem Nachfolger.

Man kann es aber schon als Hochsprache ansehen, da man ja nicht zwingend hardwarenah programmieren muss.

Und dass man mit C wesentlich effektiveren Code als mit Basic produzieren kann ist auch Tatsache...

Allein wenn man mal versucht ne Primzahlberechnung in VB zu machen, danach mit C++ mit dem selben Algorithmus merkt man dass die C(++) Version ca 10mal schneller ist...

Tappi
11.08.2004, 15:38
Wenn C keine Hochsprache wär, wär C++ auch keine...
Alles was man in C machen kann, geht auch mit seinem Nachfolger.

C++ ist nicht C. C stammt von der Programmiersprache B ab, die absolut Hardwareabhängig war. Basic dagegen wurde von Anfang an her nicht systemnah programmiert. C++ wurde dann erst von wenigen Jahren mit einem Ähnlichen Standart versehen wie C. Im Gegensatz zu C enthält C++ Konstrukte, die nicht mehr durch Hardware darstellbar sind (Klassen, Objekte, Vererbung, etc...). Das eigentliche C dagegen war eine weiterentwickelte Form von Assembler. Schau dir mal B und BCPL an.

Wikipedia:

"BCPL (Basic Combined Programming Language) ist eine um 1967 von Martin Richards entwickelte, kompilierte, systemnahe Programmiersprache, abgeleitet von der Combined/Cambrige Programming Language CPL. Es ist eine Sprache aus der ALGOL-Familie."

Verwechsel jetzt bitte nicht systemnah und Plattformunabhängig! Ich glaube, dass ich das teilweise gemacht habe in meinem Beitrag oben.


Und dass man mit C wesentlich effektiveren Code als mit Basic produzieren kann ist auch Tatsache...[/q]

Nein das stimmt nicht. Du bist geblendet von Microsoft's Visual Basic. Im übrigen würde man eher VB mit C++ oder C# als mit C vergleichen. Das wirkliche C wird heute fast nur noch in der System (Betriebssystem-) Enwicklung verwendet.

Es ist ein leichtes dir einen Compiler für einen Basic Dialekt zu programmieren, der schnelleren und kleineren Code erzeugt als Turbo C. Es hängt immer davon ab welchen Compiler du für welchen Zweck verwendest.

Im übrigen muss man Schnelligkeit von Code immer in Relation zur Entwicklungszeit und Transparenz sehen. Jeder C Code würde wie eine lahme Ente gegen Assembler aussehen. Aber was bringt mir das, wenn ich nur einen blöden Text auf dem Bildschirm ausgeben will.

Zum Thema C bei Robotern: Bist du jemals dazu gekommen, dass die Ausführungsgeschwindigkeit deines µC noch grade dazu reichte den Handlungen deines Roboters gerecht zu werden? Wohl eher nicht. 99% der Zeit verbringt der µC damit nichts effektives zu machen. Da macht es keinen großen Unterschied, ob man einen rel. schlechten Basic Compiler oder C-Compiler verwendet.

[quote=Rodney]Allein wenn man mal versucht ne Primzahlberechnung in VB zu machen, danach mit C++ mit dem selben Algorithmus merkt man dass die C(++) Version ca 10mal schneller ist...

Und dann mach es mal mit Assembler!

Noch eine Mär, die hier widerlegt werden sollte:

Viele meinen Basic wäre langsamer als C, weil es in C programmiert wurde und C wäre langsamer als Assembler weil es in Assembler programmiert wurde.

Mal abgesehen davon, dass C wurde meines Wissens nach wohl eher in Fortan o.ä. programmiert wurde, stimmt diese These für Compiler nicht. Ein Compiler in Basic muss doch nicht langsameren Code erzeugen als C, nur weil er in C programmiert wurde (außerdem gibt es Basic schon länger als C). Wir beschäftigen uns ja mit Compilern und nicht mit Interpretern, wo das zutrifft (siehe Java).

Fazit: Die Geschwindigkeit eines durch einen Compiler erzeugten Codes hängt vom Compiler und nicht von der Sprache ab. Außerdem kann man mit jeder Sprache guten und schlechten Code programmieren. Und hier fängt es schon an!

Endos
12.08.2004, 01:14
Hi Tappi,
Danke für deine Mühe.
Du meinst ich sollte mir die C-Control kaufen? Ich dachte da eher an die RN Control, was meinst du?

mal was anderes, was mich sehr stark interessiert und fasziniert ist die Sprachsteuerung, wie läuft das denn ab? nehme ich meine stimme auf bzw. spreche ich einen Text wie : text a "fahr durch das Zimmer" ? und programmiert man es dann in der Form: "if text a then..."
oder läuft es über ein worterkennungssystem der die Worte in den einzelnen Buchstaben erkennt und dann mit if und then handelt?

MfG: Endos

Tappi
12.08.2004, 11:04
Ich kenne die RN Control nicht, aber der Vorteil der C-Control ist ihr einfaches Handling und die vielen Infos dazu im Netz (und in diesem Forum). Zum Thema Leistung: Die neue C-Control M Unit 2.0 hat stolze 32 Mhz... das ist schon ganz ok

transistor
12.08.2004, 12:34
Aber gerade das Handling ist bei der rn-control günstiger. Sensoren, Motoren, Aktoren können direkt über Steckkontakte angeschlossen werden, Taster und LED´s sind vorhanden. Bei der C-Control braucht man Erweiterungen dafür.
Beispielprogramme und Infos zu rn-control gibt es hier ja auch. Noch nicht so viele wie für C-Control, aber das könnte sich bald ändern zumal rn-control offenbar inzwischen von vielen im Forum genutzt wird.
Die M-Unit 2 hat den Nachteil das ein eingebauter Basic-Interpreter die 32 Mhz wieder zunichte macht. So ist diese trotz 32 Mhz wesentlich langsamer als die rn-control in Basic, wodurch die Anwendungsmöglichkeiten etwas eingeschränkt werden. Wenn Conrad den Basic Interpreter durch einen modernen Compiler wie Bascom oder GCC ersetzen würde, dann wäre der Leistungsunterschied deutlich geringer.

Was noch für die rn-control spricht: Die Programmiersprachen Basic oder C haben alle ein wesentlich größeren Befehlumfang und werden ständig noch ausgebaut und gepfegt.
i2C-, Servo-, SPI-, 1Wire-,Stringoperationen-, zahlreiche Interrupt-Befehle usw. sind in Bascom-Basic schon enthalten. Das sind Dinge die man irgendwann sicher mal braucht.

D.Stolarek
12.08.2004, 13:02
hi Endos
hab mal ne frage wie willst du die unter der seite die du oben mal geschrieben hast qbasic gelernt haben der crash kurs ist für html.
o-bizz.de

und das was du da geschrieben hast sind ganz normale befehle für normal dos und für keine pics oder avr.
für avr und pics gibts andere befehle die man aber mit ähnlichen befehelen aufrufen kann

such du etwas in google rum dann müsstest du bestimmt was finden !!!

D.Stolarek
12.08.2004, 13:03
aber ich würde dir raten wenn du pics programmieren willst die dann zum steuern von robos genutzt werden sollen MBLAB zubenutzen dazu müsstest du zwar assembler lernen aber unter http://www.sprut.de kann man sehr viel lernen. viel spaß bei der programmierung !! :-)

12.08.2004, 13:20
hi Endos
hab mal ne frage wie willst du die unter der seite die du oben mal geschrieben hast qbasic gelernt haben der crash kurs ist für html.
o-bizz.de


Ähhm?? wie meinst du dass denn? also ich bin halt den anweisungen gefolgt, ich sehe lerne "Qbasic von anfang an" da dachte ich das wird schon das richte sein oder irre ich mich da.

D.Stolarek
12.08.2004, 13:29
also ich war da eben auf der site und da war was mit Homepages erstellen

aber um pics zu programmieren die dann beim robo funktionen steuern würde ich assembler lernen das ist ne maschinen sprache die "eigentlich" immer geht und hier kann man sehr viele infos dazu finden

D.Stolarek
12.08.2004, 13:30
unter sprut.de und unter diesem forum findest viel dazu
die befehle und einige beispiele
und unter dem forum hier schon einige fertige robos und baupläne dazu
also viel spaß damit ^_^

also ich benutze gerade nen PIC 16F84A und mit dem starte ich einen timer der bei bestimmten zeiten dinge macht, z.b. ein neben programm startet oder ähnliches.

also das ist nich wie das normale programmieren
bei der maschinen sprache arbeitet man mit 0 und 1 und bei pics setzt man diese einfach bei den pins die dann beim pic eine funktion auslösen

die funktionen wurden von den pic herstellern schon "vorinstalliert" also kann man diese nur aufrufen
unter der homepage http://www.microchip.com kannst deinen pic suchen und dir seinen datasheet anschauen
da steht zu dem alles drin

12.08.2004, 17:55
aha... was ist denn ein pic?

kann mi jemand was zu meiner frage mit der Sprachsteuerung sagen?

Endos
12.08.2004, 18:07
](*,) vergess immer mich einzuloggen...

achja nochwas: wenn ich mir die RN-Control hole ist da auch ne auflistung der Befehle dabei die der uC versteht? ich glaub mit meinen bischen QBasic kenntnissen komm ich da nicht weiter.

Frank
12.08.2004, 18:59
Hi
Die Befehle hängen von der Programmiersprache ab. Viele nehmen Bascom Basic, da die Version bis zu einer Programmgröße von 2k kostenlos ist. Dazu findest du hier Infos https://www.roboternetz.de/phpBB2/viewtopic.php?t=884

Ein gutes Tutorial zu Assembler findest du hier:
https://www.roboternetz.de/phpBB2/dload.php?action=file&file_id=71

Infos zu C findest du hier:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=2158

Und die Board-Anleitung hier:
https://www.roboternetz.de/phpBB2/dload.php?action=file&file_id=138

D.Stolarek
13.08.2004, 07:02
ein PIC ist ein Mikrocontroller der Firma Microchip
die nennen die mcontroller Pic16F84a usw.

Endos
14.08.2004, 06:37
Achja...
Ich möchte mich bei euch allen für eure Mühe und Zeit bedanken, und ich habe mich jetzt entgültig für eine RN-Control entschieden weil ich da doch erstmal Proggen kann ohne etwas zu Bauen also die Taser und LED,s.

Hhhmm. Frank? was Brauche ich denn noch ausser der RN-Control? ein Programmierkabel? und sonst?

Nach meinem Urlaub würde ich dann eins bestellen weil ich Heute Geburtstag habe und um
13.00 Uhr für eine Woche Nach Ibiza Fliege!!!!!!!!

In diesem Sinne Wünsche allen eine Schöne Sonnige Woche und Viel Erfolg mit den Bots.

bis Nächsten Samstag.

MfG: Danjal =;

Tappi
14.08.2004, 08:12
Herzlichen Glückwunsch ;)

D.Stolarek
16.08.2004, 07:08
Herzlichen Glückwunsch und feier schön
trink für uns einen mit :-)
^_^

floomy
16.08.2004, 12:05
Bin auch neu. Tolles Board! =D>

Endos
22.08.2004, 19:47
Hey Leutz, bin mit einem ganzkörper Sonnenbrand wieder da und kann nur sagen Party ohne ende.. Akute Schlaflosigkeit stand ja an erster Stelle
Heiße Girls und Sangria, also alles in alem Sau cool.

also Frank dann hätte ich gerneinmal ne RN-Control soll ich bei deiner HP bestellen oder wie? wat brauch ich denn noch nen Programmieradapter und noch?

MfG: Danjal

Frank
22.08.2004, 21:30
Hi Danjal,

ja RN-Control bitte auf Seite Robotihardware.de bestellen. Empfehlenswert ist in jedem Fall ein ISP-Programmieradapter. Sonst brauchst du eigentlich nix. Das RS232 Kabel ist noch ganz sinnvoll damit Du Ausgaben vom Board an PC schicken kannst (hilft beim debuggen).

Gruß Frank

23.08.2004, 00:56
ähhm kurze Frage sol ich den Mega 16 oder 32 nehmen? welche vor und nachteile haben diese Unterschiede?

MfG: Danjal

23.08.2004, 09:45
Der Mega32 hat doppelt soviel Speicher und ist ansonsten völlig identisch.
Einzige Nachteil: er ist geringfügig teurer.

23.08.2004, 11:01
achso danke, dann eben mega 32

MfG: Danjal

Endos
24.08.2004, 00:01
Danke leutz





mal was anderes, was mich sehr stark interessiert und fasziniert ist die Sprachsteuerung, wie läuft das denn ab? nehme ich meine stimme auf bzw. spreche ich einen Text wie : text a "fahr durch das Zimmer" ? und programmiert man es dann in der Form: "if text a then..."
oder läuft es über ein worterkennungssystem der die Worte in den einzelnen Buchstaben erkennt und dann mit if und then handelt?

MfG: Endos


Kann mir dazu eigentlich jemand was sagen?

Tappi
24.08.2004, 09:14
Also ... zu Spracherkennung kann ich nichts sagen. Nur zur Sprachausgabe. Es gibt bestimmte Sprachausgabe-Chip (die meisten nur die englischen Phenome beherrschen). Denen kann man einen Input geben ("Laute") und die erzeugen daraus Impulse, die auf einem Lautsprecher als Laut, Wort oder Satz ausgegeben werden können. Der Umgekehrte Fall wird wohl viel schwieriger sein. Stell dir vor was man alles Abdecken muß: Verschiedene Sprachgewohnheiten, Zusammensetzung von Befehlen, verschiedene Sprachgeschwindigkeiten und Tonlagen, verschiedene Betonungen und so weiter... Das geht nicht mit einem µC.

Endos
24.08.2004, 10:03
Achso.. hatte mir das wohl etwas zu einfach vorgestellt, wär doch toll wenn man dem Bot sagt: geh zur Ladestation und der den Befehl Akustisch bestätigt.

MfG: danjal

10.02.2005, 16:52
Ist der Assemblerbefehlsatz immer der gleiche ?
Ich habe mir ein Buch ausgeliehen für die 68HC08 Mikrocontroller,ich selber habe mir einen CoController AT90S2313 gekauft. Ist es möglich mit dem Buch zu arbeiten

Frank
10.02.2005, 16:57
Nein, das ist fast ein Unterschied wie Tag und Nacht :-)
Jeder Controller hat anderen Befehlssatz. bestimmte Serien eines gleichen Herstellers haben den gleichen Befehlssatz. So sind zum Beispiel die AVR (AT90S2313 , Mega8, Mega16, Mega32, Mega128) nahezu identsch programmierbar.
Bei Verwendung einer Hochsprache (Bascom, C ) ist es natürlich noch einfacher Programme innerhalb einer Serie auszutauschen.

leo.probst
11.02.2005, 20:42
Ich habe eine Frage. Bei meine RS232 hat der NE555P kein so rundes Loch, womit man die richtig Anordnung feststellen kann. Meine Frage ist nun, in welche Richtung die Schrift vom NE555P zeigen muss. In die zum Adapter oder in die zu den IR-Elementen oder ist das völlig egal. Warte auf antwort. Bin neu hier, ist ech super.