PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Newbie probiert Basic zu lernen



Bluesmash
19.04.2005, 21:58
Da ich beabsichtige einen CCRP5 zuzulegen bin ich fleissig am Basic lernen O:) ich habe mir mal ein Programm "gebastelt" und were froh wenn es einer von euch Profis mal anschauen könnte... es würde mich intressieren ob es laufen würde und wen ja was man verbessern könnte... der RP5 soll automatisch Hindernissen ausweichen und bei einem lauten schrei "erschrecken" und in einen kurzen wartemodus gehen...

teslanikola
19.04.2005, 22:04
DAS IST BASIC??????
Also ich prog schon fast ein Jahr Basic ( Bascom ), und das sieht nicht aus wie Basic, was en des für ein Dialekt??

Bluesmash
19.04.2005, 22:10
CCBASIC für den CCRP5 Roboter....

Klaus_0168
19.04.2005, 23:06
Hi Bluesmash,

hab mir selbst den RP5 gekauft und rate von ihm ab. Das Basic ist eine Zumutung und die Hardware ist ohrenschädigend laut.

Wenn Du etwas Ahnung von Hardware hast, kauf Dir ein Atmel-Board (oder mach es selbst) und progge mit BasCom-AVR (wenn es unbedingt Basic sein muss). Da hast Du zumindest mal die Möglichkeit Dein Bot zu erweitern und mit BasCom kann man auch vernünftig programmieren.

Gruß Klaus

Bluesmash
20.04.2005, 17:38
ein kleines bisschen ahnung von hardware habe ich schon... und sonst kann mann ja alles lernen ;) das board sieht sehr intressant aus und im shop bekommt man ja auch gleich alles was man so braucht... mit was kann man den sonst das atmel board programmieren? es sollte möglichst Einsteigerfreundlich sein da ich noch keine erfahrung mit programmieren habe... das einzige was ich schon programmiert habe ist SPS... :)

jonas
20.04.2005, 17:43
für den anfang fand ich den robby gar net so schlecht. das basic is eigentlich au net so schwer zu erlernen. ich hat aber vor mich vielleicht demnächst auch an controller zu wagen. Am meisten hört man ja von avr; oder picaxe? was ist denn da besser?

Dirk
20.04.2005, 19:55
Hallo Bluesmash,

ich habe dein Prog nicht probiert (weil auf meinem Robby eine CC2 sitzt und ich zu faul bin, die abzunehmen).
Mir fallen drei Dinge auf:
1. if MIC > MIC_MAX then ...
Das geht zwar, du solltest aber bei der MIC-Abfrage immer eine Maximalwertbildung von 100 Messungen nehmen, weil die Werte stark schwanken (siehe 2_EINFÜHRUNG_SCHALLSENSOR.bas).
2. if ACSL and ACSR=on then ...
... muss heissen: if (ACSL=on) and (ACSR=on) then ...
3. Am Ende muss noch der Treiber angefügt werden:
syscode "p5driv.s19"

Gruß Dirk

HazardX
21.04.2005, 06:30
if (ACSL and ACSR)=on then ...

Das sollte aber eigentlich auch möglich sein.

Bluesmash
21.04.2005, 20:26
An: HazardX und Dirk, danke! ich werde das mal so umschreiben...

An: Klaus_0168, was hälst du von diesem board? http://www.krause-robotik.de/produkte/mikrokontroller/kr-mega32-16.html
ich denke für den anfang wäre das nicht schlecht...

Klaus_0168
22.04.2005, 10:28
Hi Bluesmash,

das Board von Krause-Robotik sieht gut aus. Frag mal beim Service von Krause nach, ob eine ISP-Programmierung vorgesehen/möglich ist.

Zur Info : ISP - Programmierung ist die Programmierung auf der Platine ohne Bootloader, direkt in den Flash-Speicher.

Als einzigen Nachteil sehe ich den Preis von 150€. Für das Geld kannst Du ohne Probleme die Komponenten für 3 - 4 Boards kaufen. Das selbstgemachte Board wäre dann allerdings nicht so kompakt und vor allem nicht geprüft und ohne Funktionsgarantie. Ich denke, das Krause-Board ist für die ersten Schritte geeignet.

So wie ich es mitbekommen habe wird hier im Forum das RN-Board verwendet und gelobt. Schau Dir doch auch mal dieses Board an. Ich habe jetzt allerdings keinen Link zur Verfügung.

Hast Du Dir schon die Tutorien und Links hier im Roboternetz angesehen ?? z.Bsp.:
Roboter selbst bauen.
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=520
AVR-Einstieg leicht gemacht
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=849
Links zu guten AVR-Seiten
https://www.roboternetz.de/phpBB2/links.php?t=sub_pages&cat=16

Gruß Klaus

Bluesmash
22.04.2005, 17:54
Für was würde denn der bootloader gebraucht? sorry für meine Fragen, aber ich bin halt noch ganz neu auf diesem Gebiet...

Danke für die Links! Die konnten mir scho sehr viel weiterhelfen...

Was würdest du mir für den Einstieg in die Programmierung empfehlen? Basic oder C? oder welches ist einfacher?
wo bekomme ich deutsche Anleitungen zu den Programmiersprachen?

mfg Bluesmash

Klaus_0168
24.04.2005, 23:30
Hi Bluesmash,

Deine Fragen sind für einen NewBe berechtigt. Kein Problem - frage nur weiter, es ist die einzige Art praxisnahe Informationen zu erhalten.

Es gibt mehrere Möglichkeiten ein Programm in ein uC-System zu laden. Ein Bootloader ist ein Unterprogramm, das im laufenden Betrieb das Nutzprogramm z.B über eine RS23-Schnittstelle (vom PC bekannter, serieller Port) in den Speicher des uC überträgt. Bei AVR's ist dies nicht nötig, da hier die Möglichkeit der ISP-Programmierung besteht. Hier wird die Datenübertragung über vier Pins in den uC übertragen, ohne das ein zusätzliches Unterprogramm benötigt wird. Die Datenleitung für die ISP-Programmierung wird am uC an einen gesonderten Port und am PC an eine serielle Schnittstelle angeschlossen.

Wenn Du noch keine Erfahrung mit Programmierungen hast empfehle ich Basic. Basic ist eine einfach zu erlernende Sprache. BasCom AVR ist ein Basic-Dialekt, der für Atmel (AVR) Prozessoren entwickelt wurde.
Weitere mögliche Sprachen wären C, Pascal und Assembler. C und Pascal sind wie Basic Hochsprachen, wärend Assembler als Maschinensprache in der untersten Ebene arbeitet.
Meine nächsten Projekte werde ich mit BasCom schreiben. Später werde ich auch mal Assembler ausprobieren. Mit Assembler kann man kompakteren Programmcode schreiben, braucht allerdings auch viel Info über die Hardware.

BasCom lässt sich von der RobotikHardware Homepage beziehen die allerdings bis Mitte Mai Ferien haben. Hier ist der Link ( http://www.robotikhardware.de/ )
Eine weitere Seite ist http://elmicro.com/de/bascomavr.html . Hier wird eine Vollversion von BasCom für 78€ angeboten.
Auf der Homepage des Softwareherstellers MCS Electronics ist auch eine Demoversion downloadbar. ( http://www.mcselec.com/download_avr.htm ). BasCom unterstützt die einfache ISP-Programmierung.

Eine deutsche Anleitung gibt es leider nicht. Die BasCom-Hilfe ist leider auf Englisch. Deutschsprachige Hilfe gibt es leider nur in Fachbüchern und in Foren.

Für heute mache ich mal Schluss und wünsche einen guten Morgen
Grüße Klaus

Bluesmash
25.04.2005, 17:05
Danke für deine Hilfe!

Das mit dem ISP habe ich mitlerweilen gecheckt :) ich habe mir jetzt auch das Buch von Claus Kühnel bestellt... :) Ich habe mich entschieden das ich mir für den Anfang das RN-Board von roboterhardware.de zulege aber leider haben die ja Ferien ;( *ungeduldig warte* und probiere gerade das Testprogramm ein bisschen zu verstehen... Und schon wieder eine Frage :)
Sind die Ports für die PWM Signale eigentlich fest vorgegeben? Im Testprogram tauchen Pwm1a und Pwm1b auf... aber ich sehe nicht das sich diese auf die Ausgangs Ports der Motoren bezieht...

gruss Bluesmash

Klaus_0168
25.04.2005, 17:54
Hi Bluesmash,

ups und erwischt. Das muss ich selbst erst mal ausprobieren. Mit PWM hatte ich bisher noch nichts zu tun.
Welches Testprogramm meinst Du ? Eines der BasCom - Testprogramme ?

Gruß Klaus

Bluesmash
25.04.2005, 18:15
;) Das ist das Testprogramm zum RN-Control board von Robotikhardware.de...
https://www.roboternetz.de/phpBB2/viewtopic.php?t=1877 (unten)

Klaus_0168
25.04.2005, 18:40
Hi,

ich werde mir mal das Programm ansehen.

Ein Tip :
Nimm Dir mal die BasCom-Hilfe und die BasCom-Demoprogramme vor. Das Datenblatt vom Zielprozessor ( http://www.atmel.com/products/ ->Link Microcontroller) ist auch eine gute Hilfe um die Verbindung von Soft- und Hardware zu verstehen.

Gruß Klaus

Bluesmash
25.04.2005, 19:36
hey, habe gerade einen guten link gefunden :) die PML's sind doch auf Ports beschränkt... (PORT18 und 19) beim mega32...
Hier sind alle Ports aufgelistet: https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=541&start=0&sid=1c7d613214a6785455f4f48e4fb10b83

Klaus_0168
25.04.2005, 20:35
Hi Bluesmash,

yupp, das ist richtig (es dämmert wieder so langsam).
Weitere PWM-Signale sind Servosignale. Dazu gibt es im BasCom den Befehl 'Config Servos'. Damit kannst Du 8 Standart-Servosignale erzeugen, die an fast alle Digitalausgänge ausgegeben werden können.

Gruß Klaus

pebisoft
26.04.2005, 12:37
der bootloader ist beim avr eine grosse hilfe, geht besser und einfacher als über isp. serielles kabel an den avr, megaload starten und reset-knopf am avr und ab geht die post. das handling ist hier viel schneller.
mfg pebisoft