PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wieder ein Neuer: Vorstellung und Fragen



danimath
04.08.2011, 17:52
Moin *,

die kurze Vorstellung: Andreas aus Niedersachsen, das halbe Jahrhundert schon überschritten, beruflich kümmere ich mich um diverse Server, bin also computermäßig nicht ganz unbeleckt (in der Anfangszeit habe ich auch programmiert (FORTRAN und C)). Aber nun hat es mich doch gepackt, und ich möchte ein wenig in die Robotik einsteigen (Augen zu und träumen: Kollege ruft an: "kannste mal die Dingens-CD rumbringen?"; CD auf Roboter legen und losschicken - wäre doch cool ;) ; Augen wieder auf)

Nach langem (anonymen) Mitlesen hier im Forum und Suchen bei Tante G. habe ich mich für den RP6 als Einstieg entschieden (die Konkurrenten waren Asuro und Nibo 2, aber die erschienen mir nicht so erweiterungsfähig).

Aber: bevor ich nun wirklich los ziehe und Geld ausgebe, habe ich doch noch die eine oder die andere Frage (auch wenn einiges davon noch Zukunftsmusik ist):

- Kann ich so'n LCD-Display (z.B. RP-DSP88 ) direkt auf dem RP6 verwenden, oder brauche ich dazu einen Erweiterungssatz?

- Ist bei den Erweiterungssätzen der Microcontroller eigentlich schon dabei? (Also der ATMEGA32 ist teurer als der CC-PRO MEGA128; bei letzterem scheint der Controller nicht dabei zu sein? Kann man dann damit überhaupt was anfangen?)

- Wenn schon ein IR-Sensor drauf ist, mit dem anscheinend mehrere RP6 kommunizieren können, kann dann der RP6 auch mit dem PC kommunizieren? Was bräuchte ich denn am PC dafür? (Ja - ich weiß - auch so'n IR-Dings ;) )

Meine Vision (hähähä klingt gut) ist, dass das Teil durch die Gegend fährt, Daten sammelt (z.B. wo sind Wände, wie ist die Temperatur auf Weg, wie hell ist es auf dem Weg, wie ist der Stromverbrauch, ...) und nach der Rückkehr alles zum PC schickt - oder vielleicht auch unterwegs schon über WLAN. Vielleicht passt ja auch noch ein Greifarm dran. (BTW: das Kamera-Projekt ist wirklich cool!!!) Aber das liegt erstens alles noch in der Zukunft, und dafür ist ja vielleicht auch noch was selbst gebautes notwendig.

viele Grüße
Andreas

Martinius11
04.08.2011, 19:02
also ein herzliches willkommen.

zu den Fragen:

nihm die Atmega32 erweiterung

das Display solltest du über die Erweiterung anschliessen da ist auch ein extra Prot dafür drauf
nein der Roboter kann nicht direkt mit dem computer über IR kommuniziern (ausser du simmulierst auf dem Pin eine RS232-Schnittstelle)
das W-lan kannst über X-Bee -Module mit 2.4ghz herstellen die module und adpter findest du bei "Watterott"

und ich kann dir nur das avr-gcc tutorial auf mikrocontroller.net entpfehlen

radbruch
04.08.2011, 19:20
Hallo

Auf dem m32 ist der Kontroller schon drauf, auf dem m128 nicht:
https://www.roboternetz.de/community/showthread.php?48153-Probleme-Zugriff-auf-Pro-Mega128

"Kann man dann damit überhaupt was anfangen?":

... Wenn sie das CCPRO schon besitzen können sie es in das M128-Modul stecken und so den RP6 per I2C steuern.

Wenn sie das CCPRO noch nicht besitzen, sich mit dessen Programmierung und Entwicklungsumgebung noch nicht auskennen und auch nicht gewillt sind, den Conraddialekt von C oder Basic zu lernen, dann tauschen sie ihr M128 gegen ein M32 um ;)


LCD direkt am Base (4bit ohne Busy an den LEDs 1 bis 6 und per I2C):
https://www.roboternetz.de/community/showthread.php?37232-LCD-an-RP6-Base

IR-Kommunikation mit einem PC mit Hilfe eines IR-Dinges (z.b. der IR-Transceiver vom asuro):
https://www.roboternetz.de/community/showthread.php?29313-gel%F6st-Einfache-IR-Kommunikation-f%FCr-den-RP6

Gruß

mic

danimath
05.08.2011, 10:15
Ich danke Euch für die schnellen Antworten. Sieht aus, als müsste ich das alles noch ein wenig aufschieben, bis ich vertrauter mit dem Robby bin.

viele Grüße
Andreas (schon ganz ungeduldig)

danimath
08.08.2011, 18:48
Und hier mein erstes Progrämmchen (als "Spin-Off" zu https://www.roboternetz.de/community/showthread.php?54300-Anf%E4nger-braucht-Hilfe).


/* randomtest.c - light show with random numbers.
*
* adu 08 Aug 2011 created
*
************************************************** *******************/

#include "RP6RobotBaseLib.h"

int main (void)
{
/*
* 1. variables
* ============
*/
int j;
/*
* 2. inititialize
* ==============
*/
initRobotBase ();
srandom (1234567); // start value of number generator
/*
* 3. check all LEDs
* =================
*/
mSleep (1000);
setLEDs (0b111111);
mSleep (1000);
setLEDs (0b000000);
mSleep (500);
/*
* 4. main loop with light show
* ============================
*/
while(true)
{
j = random () % 64;
setLEDs (j);
mSleep (200);
}

return 0;
}

viele Grüße
Andreas

radbruch
08.08.2011, 19:01
Prima. Schön dass du dich so schnell zurechtfindest.

Gibt es einen speziellen Grund für die englischen Kommentare?

https://www.roboternetz.de/community/showthread.php?47088-RP6Control-M32-Impulsl%E4ngen-Messger%E4t

danimath
09.08.2011, 08:30
Gibt es einen speziellen Grund für die englischen Kommentare?


Mit schlechten Französisch kann ich mich leider nicht rausreden ;)

Im Ernst: reine Gewohnheit. Beruflich schreibe ich 'ne Menge Programme (hier allerdings meistens bash und perl), die auch nicht-deutsche verstehen und verwenden müssen. Und weil auch die Doku in Englisch sein muss, fange ich nach kurzer Zeit an in Englisch zu denken. Aber ich gelobe Besserung!

viele Grüße
Andreas

Ceos
09.08.2011, 10:05
kann ich dani nur beipflichten, da prinzipiell jede lib die ich bisher gesehn habe auf englische Methodennamen setzt, fängt man indirekt auch an seine eigenen Methoden in englisch zu schrieben und dann nach ner weile werden auch die Kommentare englisch ^^

Du schreibst ja auch garantiert auch immer "Computer" statt Datenverarbeitungsanlage (http://dict.leo.org/ende?lp=ende&p=PSyjpkwAA&search=Datenverarbeitungsanlage&trestr=0x8001) ;p

danimath
09.08.2011, 10:22
Genau; sonst kommt Marketing-Gebabbel raus ("Die Challenge der Timeline ist es, die Assets zu deployen" :Haue)

(Und aus Dirks Liste im erwähnten Test trifft am ehesten 4. und 5. zu ;))

best regards ;)
Andreas

danimath
11.08.2011, 19:18
Moin *,

ich recycle mal einfach meinen eigenen Fred, weil immer mehr Fragen auftreten. Bei der Überlegung, welche Erweiterung ich nun mal anschließen soll (M32 oder M128 ) ist mir die Schweine-Idee gekommen, dass ich doch einfach beide nehme (sofern ich das beim Finanzminister durch bekomme :):):) ). Außerdem bin ich über ein schickes 7-Segment-Display (http://www.conrad.de/ce/de/product/198344/IC-BUS-LED-DISPLAY-C-CONTROL-I) gestolpert. Wie baut man das jetzt am besten auf? Also rein von der Anordnung gesehen. Ich möchte mir ja noch weitere Erweiterungen (Snake-View, weiße LEDs als Scheinwerfer, ... und vielleicht mal Kamera und Greifarm) nicht verbauen. Also meine Idee ist folgende:




######## M32 #######

#### EXP ######### ######## M128 ######

vorn ################# Base ################# hinten


Auf EXP sollen dann die beiden LCD-Displays an den Mxx sowie die 7-Segment-Anzeige (für Akku-Spannung) dran. Oder vielleicht doch EXP auf M32, damit eine weitere EXP für weiteres Zeugs vorn drauf kann? OK, OK, OK: vielleicht 'n bisschen viel und wirr für den Anfang, aber nachdem sie ersten Programme für die Base so problemlos gingen, brauche ich neue Herausforderungen :p )

Im Betrieb soll dann M32 der Master werden und die anderen Sachen Slaves.

viele Grüße
Andreas

Crystal Eye
11.08.2011, 20:05
Hallo danimath,

ich kann nur eins sagen, DU SPRICHST MIR AUS DER SEELE!!!
Ich verfolge das jetzt aufmerksam. Mal sehen ob da jemand ein Tipp geben kann ;-)

Beste Grüße

Crystal Eye

SlyD
11.08.2011, 20:35
Im Betrieb soll dann M32 der Master werden und die anderen Sachen Slaves.

Ich weise mal lieber darauf hin, das die M128 eine C-Control PRO M128 ist.
d.h. da läuft der CCPRO Interpreter und der unterstützt nur den I2C Master Modus.
(jedenfalls war das zuletzt der Fall als ich das angeschaut hatte, kann sich natürlich mittlerweile geändert haben)

Andersrum geht es natürlich - also M32 als Slave und M128 als Master.

MfG,
SlyD

radbruch
11.08.2011, 20:47
Hallo

Wenn ich die Wahl hätte, würde ich das m32 verwenden. Seine Lib ist in weiten Teilen mit der Lib des RP6 identisch, das erleichtert die gemischte Programmierung von Base und Erweiterungsmodul enorm. Zwei Erweiterungen dürfte ein Einsteiger zu Beginn überhaupt nicht benötigen.

Gruß

mic

Filou89
11.08.2011, 23:42
Hallo,
Ich kann Radbruch nur nur beipflichten. Mit der M32 Erweiterung hast du möglichkeiten für die nächsten Paar Jahre.
Und wenn du dann alle möglichen Programme mal geschrieben hast, spendiere ich dir eine M128 ;)

Gruss
Filou

danimath
12.08.2011, 08:38
Moin *,

Danke für die Antworten.


Ich weise mal lieber darauf hin, das die M128 eine C-Control PRO M128 ist.
d.h. da läuft der CCPRO Interpreter und der unterstützt nur den I2C Master Modus.

C-_Interpreter_????? (gibt's keinen würg-Smiley? ;)) Das ist das KO-Kriterium (ich bin ein bisschen allergisch gegen Interpreter-Sprachen - perl zur Not, aber wie kann man das schöne C so verhunzen?). Also gut, dann muss ich die Temperatur-Messung doch selber bauen - das stand auf meine Plus/Minus-Liste auf der Plus-Seite. Jetzt verstehe ich auch, warum keine structs und Zeigerarithmetik verwendet können (und beides verwende ich häufig).


Und wenn du dann alle möglichen Programme mal geschrieben hast, spendiere ich dir eine M128

Ich meld' mich nächste Woche, dann habe ich Robby programmieren beigebracht, und der macht das alleine :D:D:D

Aber noch mal 'ne Verständnisfrage: dieses 7-Segment-Display ist ja 'n I2C-Slave, wenn ich das richtig sehe. Also brauche ich das nur an xbus zu klemmen, auf den richtigen Ports die richtigen Bytes hin- und herzuschieben, und ich bekomme dann die Zahlen zu sehen. Ist das so richtig? (OK - stark vereinfacht gesagt, aber für den Betrieb ist alles schon da, Anschluss und I2C-Funktionen in der lib).

viele Grüße
Andreas

radbruch
12.08.2011, 11:36
Hallo

In der Lib des RP6 sind sowohl die I2C-Master sowie auch die Slavefunktionen enthalten. Auch die für I2C benötigten PullUps sind schon vorhanden, deshalb ist der Anschluss von I2C-Erweiterungen fast wie Plug&Play:
Base, arm64 und PCF8574A mit Tastaturmatrix (https://www.roboternetz.de/community/threads/50476-3x4-Matrix-Tastatur-an-I2C?p=487708&viewfull=1#post487708)
Dito. mit LCD (https://www.roboternetz.de/community/threads/37232-LCD-an-RP6-Base?p=488207&viewfull=1#post488207)

Man kann auch ohne Erweiterungsmodule viel experimentieren:
https://www.roboternetz.de/community/threads/45315-RP6-Projekte?p=434440&viewfull=1#post434440

Obwohl es gelegentlich den Anschein hat, dass mein RP6 macht was er will, habe ich es noch nicht so hinbekommen, dass er sich selbst programmiert.

Gruß

mic

danimath
12.08.2011, 11:50
Obwohl es gelegentlich den Anschein hat, dass mein RP6 macht was er will, habe ich es noch nicht so hinbekommen, dass er sich selbst programmiert.


<offtopic>
Wenn ich das jemals schaffen sollte werde ich ihn HAL 2000 umbenennen ;)
</offtopic>

viele Grüße
Andreas

SlyD
12.08.2011, 12:00
C-_Interpreter_?????

Ja das hat sich Conrad so ausgedacht (ich bin unschuldig ;-) ) damit sich das wie die anderen C-Controls über die Conrad eigene IDE in C und BASIC programmieren lässt (die IDE ist ganz brauchbar, mit Debugger, der Interpreter kann auch Multithreading).
Ist nur deutlich langsamer und hat weniger Sprachfeatures als das normale C.

MfG,
SlyD