PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : zubehör teile fürn asuro + meine ersten Programme



Merew
04.12.2006, 18:15
bei conrad sind zubehör teile angegeben, brauch ich die:
"
USB IR-ADAPTER FÜR ASURO UND YETI
EXPERIMENTIERSATZ F ASURO ROBOTER 191164
und batterien/akkus aber ich hab die passenden.
"
?

EDH
04.12.2006, 18:21
(1) den usb adapter brauchst du nicht. rs232 ist besser
(2) das ist die erweiterungsplatine, die auch beim buch mehr spaß mim asuro dabie ist
mit der kann man zum beispiel eine ultraschall erweiteung bauen

Merew
04.12.2006, 18:26
also wäre die platine empfehlenswert und zum usb adapter gibts eine bessere variante. nu is die frage: woher krieg ich das bzw ist das schon mit dabei? *gg*

Merew
04.12.2006, 19:24
plz help muss gleich raus... wollt das noch wissen damit ich den asuro heut noch bestellen kann

EDH
04.12.2006, 19:33
hast du mit robotern schon ein wenig erfahrung? wenn nicht
kauf dir m besten gelich das buch "mher spas mit asuro" da ist zwar relativ wenig drinn, aber das wenig ist ziemlich nützlich (progrmmierung hardware etc) und die erwetierungsplatine samt anleitung ist auch drinn.
isbn: 90-809392-1-8
ichglaub des gibts bei conrad net.
nur bei wissenschaft online oder wie die heisen

Merew
04.12.2006, 19:35
ich geh innen buchladen und lass mir das bestellen^^ danke für die isbn

damaltor
04.12.2006, 20:08
ich habs im buchladen nicht bekommen.

die platine ist in ordnung, aber auch beim buch dabei (ist aber trotzdem gut mehrere zu haben)

ich persönlich finde den usb transeiver um längen besser als diese blöde rs232 krücke. mit dem ding gibts nur probleme, und bei falschem zusammenbau gefährdet man sich ausserdem den pc. vom hersteller wurde ein kondensator (hätte parallel zur diode gemusst) weggelassen bzw vergessen, dadurch ist bei vielen kein flashen möglich. das nächste problem ist die manuelle abstimmung der frequenz (mittels eines trimmpotis): eine krankheit.

ich benutze den usb transceiver, und ich bin absolut begeistert. einfach, genial, und beim flashen mehr als doppelt so schnell. während der ganzen übertragung passiert maximal 1-2 fehler (ganz am anfang) und dann beim rest nix mehr.

das ding ist zwar mit 20 euro ganz schön teuer, aber ich empfehle es DRINGEND zu bestellen.

EDH
04.12.2006, 20:15
naja... wenn man bedengt das der usb transceiver schon aus technischen gründen nicht so rehcth hinnhaut (über die usb schnittstlelle kommen keine 12V sonundsoviele milliampere)
aber der rs232 transceiver geht genauso. und man hat keine probleme mit treibern. (selbst bei windows 98 )
allerdings sollte man das ding lieber schon ausfühtrlich getestet haben bevor man es mal an den pc hinlässt den man im täglichen gebracuh verwendet

damaltor
04.12.2006, 20:21
genau das ist das problem: warum sollte man sich von der 12V stromversorgung der schnittstelle abhängig machen (die mit adaptern gar nicht, mit notebooks meistens ncht und an normalen pcs gelegentlich nicht erreicht wird) obwohl der sende-LED 1,5V zum senden reichen?

rs232 schnittstellen sind an jedem rechner anders, deshlab gibt es oft probleme. usb ist genormt, alle schnittstellen sind gleich, und dir 5V sind einwandfrei zur versorgung des Atiny und der sendediode... und wenn bei dem rs232 ding die 12V nicht ganz erreicht werden (mein pc hat 11,5V) dann sendet der rs232 nur noch gülle an den asuro.

die 12V werden also nicht zum senden gebraucht, sondern werden größtenteils von widerständen gefressen, da die meisten (!) rs232 schnittstellen 12V haben. eine versorgung von 3V wäre wahrscheinlich völlig ausreichend.

zum thema Treiber: der usb transceiver läuft bei mir problemlos unter winXP, win2000, win98, und Debian.

EDH
04.12.2006, 20:27
im wesentlich ist das dann aber doch geschmackssache.
ich hab mehr schelchtes über den usb transceiver gehört und nehme den rs232 transceiver her. und es funktioniert wunderbar.
da hast dich wohl über den rs232 transceiver geärgert und nmimmst den usb transceiver.

aber trotzdem: treiberprobleme giebts beim rs232 transceiver nicht. das ist ein eindeutiger vorteil

damaltor
04.12.2006, 20:31
was denn für treiberprobleme? hab noch nie was von gemerkt.

aber mit dem rs232 transceiver hatte ich an 4 verschiedenen rechnern noch keinen erfolg (ebenfalls unter oben genannten betriebssystemen) und es ging NICHTS. und der usb transceiver funktioniert einfach... und die treiber... naja installieren und gut is wa?

Merew
04.12.2006, 21:01
najut ich denke ma ich nehm den usb... da ich nich weiss was rs232 ist hat das nur vorteile... hab ja nichma nen COM1 geschweige denn COM2 anschluss Oo

damaltor
05.12.2006, 14:59
gut geraten =)

rs232 sind die beiden com-anschlüsse.

der rs232 transceiver ist beim asuro dabei, ebenfalls als bausatz. den usb transceiver bekommst du als komplett aufgebautes teil wenn du es bestellst.

um den rs232 transceiver zu benutzen benötigst du einen den normen entsprechenden com-anschluss. wenn du den nicht hast, musst du zwangsweise auf einen anderen rechner oder den usb transceiver ausweichen.

Merew
05.12.2006, 15:11
^^ hab mir schon gedacht das es die COM anschlüsse sind, allein deshalb schon weil ich sie nicht hab xD
naja die sachen sind schon bestellt d.H. ASURO, USB trasceiver und Erweiterungs Platine... Batterien habsch schon inner ecke liegen tjoa jetzt dauerts nochn paar tage... *topic titel editier und danach diesen post weiterschreib*







so das hab ich mir zusammen gebastelt:


#include "asuro.h" //lib einfügen

int main(void)
{
//HEADER
int i; //variable i
Init(); //schätze ma das braucht man :P
StartSwitch(); //"Switch aktivieren"
StatusLED(GREEN); //LED Grün
switched = 0; //ne taster is nich gedrückt

while(1){ //das soll immer sein^^
if (switched){ //is taster gedrückt?
StatusLED(RED); //wenn ja: LED Rot
for (i=0;i<333;i++){ //das wird 333 mal wiederholt...
Sleep(255); //3ms warten
StatusLED(GREEN); //LED Grün
}
}
} else { //wenn nein:
StatusLED(GREEN); //LED Grün
}

return 0; //weiss nich wozu is das?
}

bitte sagen wenn was falsch ist und bitte sagen wozu return 0; ist... schätze das is um an den anfang des programmes zu springen oder? jedenfalls wenn ein taster gedrückt wird soll die LED(s) ROT leuchten...

P.S. ich krieg ASURO erst in 2 tagen also kann ichs nit testen^^

damaltor
05.12.2006, 15:44
naja so grob hauts hin. du musst nur darauf achten dass du dafür sorgst, dass nur das sleep in der for schleife steht.

ausserdem musst du die variable switched von hand wieder auf 0 setzen. diese wird 1 wenn ein taster gedrückt wurde, und bleibt es solange bis sie wieder 0 gesetzt wird.

return 0:

da muss man etwas weiter ausholen. eine (integer)variable definierst du ja mit int. is klar.

dass heist jedes ding, welches ein "int" ist, gibt wenn es abgefragt wird einen bestimmten wert zurück.
auch die main funktion ist aber ein int:
int main(void)...
auch diese muss also einen wert haben. dieser steht hinter return.
main(void) hat also den wert 0.
benötigt wird dieser wert nicht im programm, aber die meissten compiler bestehen darauf.

hintergrund:

stell dir vor du hasst eine andere, selbstgeschreibene funktion. wenn diese einwandfrei abgelaufen ist, steht am ende ein return 0 und ihr wert ist 0.

sollte aber ein fehler passiert sein (warum auch immer) und du hast an entsprechender stelle ein return 1 oder irgend ne andere zahl hingeschrieben, dann gibt die funktion nicht 0, sondern den entsprechenden wert zurück.

so kannst du z.B. auswahlen, fehlernachrichten uvm programmieren. ist gut für leute die ihren code in viele kleone häppchen aufteilen und oft funktionen schreiben (was der übersicht und dem speichersparen dient).

EDH
05.12.2006, 15:48
(1) die klammer bei else kannst du weglassen
(2) am ende des programms fehlt eine klammer

(3)


stell dir vor du hasst eine andere, selbstgeschreibene funktion. wenn diese einwandfrei abgelaufen ist, steht am ende ein return 0 und ihr wert ist 0.

sollte aber ein fehler passiert sein (warum auch immer) und du hast an entsprechender stelle ein return 1 oder irgend ne andere zahl hingeschrieben, dann gibt die funktion nicht 0, sondern den entsprechenden wert zurück.

so kannst du z.B. auswahlen, fehlernachrichten uvm programmieren. ist gut für leute die ihren code in viele kleone häppchen aufteilen und oft funktionen schreiben (was der übersicht und dem speichersparen dient).


stimmt vom prinzip her schon, aber: man kann jeden beliebigen werte oder string oder was es halt alles giebt zurück geben

http://www.galileocomputing.de/openbook/c_von_a_bis_z/c_011_014.htm#RxxobKap011014040027751F02318C

hier ist beschrieben was man mit return machen kann

Merew
05.12.2006, 15:49
die klammer vor else wird doch gebraucht um die if anweisung zu beenden oder? man könnte ja auch
if (blabla){bla}else{bla}
oder so wie ich es hab
if (bklabla){
bla
}else{
bla
}


wo fehlt da ne geschweifte klammer?

EDH
05.12.2006, 15:52
hast du den avr-gcc, und die demo programme von der luib, und das passende makefile?
dann kannst du die programme testeweise kompilieren.
dadurch kannst du dann zumindest syntaktische fehler ausschliesen.



#include "asuro.h" //lib einfügen

int main(void)
{
//HEADER
int i; //variable i
Init(); //schätze ma das braucht man :P
StartSwitch(); //"Switch aktivieren"
StatusLED(GREEN); //LED Grün
switched = 0; //ne taster is nich gedrückt

while(1){ //das soll immer sein^^
if (switched){ //is taster gedrückt?
StatusLED(RED); //wenn ja: LED Rot
for (i=0;i<333;i++){ //das wird 333 mal wiederholt...
Sleep(255); //3ms warten
StatusLED(GREEN); //LED Grün
}

} else { //wenn nein:
StatusLED(GREEN); //LED Grün
}

return 0; //weiss nich wozu is das?
}
}

eine klammer gelscht und eine hinzugefügt. und error meldungen giebts jetzt keine mehr

Merew
05.12.2006, 15:54
*raüusper*


P.S. ich krieg ASURO erst in 2 tagen also kann ichs nit testen^^

EDH
05.12.2006, 16:00
avr-gcc kansst du jetzt schon runterlöaden, und die demos + makefile auch...
gibts bei sourceforge (den genauen link hab ich grad net zur hand)

Merew
05.12.2006, 16:03
ähm warum soll nur das sleep in der for schleife stehen? es macht doch nichts aus wenn die LED von Grün auf GRÜN gesetzt wird und das 333 mal oder?

P.S. ahja so meinst du das mit den klammern^^ ok ich hab gesehn warum es so muss^^


ehrm hat eienr den link?







bin eben auf ne idee fürn programm gekommen^^


#include "asuro.h"

int main(void)
{
int i;
int j;
init();
StartSwitch();
StatusLED(GREEN);
switched = 0;

while(1){
if (switched){
for(j=0;j<1;j++){
set j, 0; //ich hoffe mal es ist richtig so... habs geraten^^
StatusLED(RED);
for(i=0;i<123;i++){ /* weiss nich wie lang das is... sollte etwa ne halbe sec sein^^ */
wait(255);
}
StatusLED(GREEN);
for(i=0;i<123;i++){
wait(255);
}}
}else{
StatusLED(GREEN);
}}
}
//so switched = 0 (am ende) brauchen wir diesmal ja nich^^

EDH
05.12.2006, 16:13
den compiler für windows un linux giebts hier:
http://www.arexx.com/arexx.php?cmd=goto&cparam=p_asuro_downloads.dat

die lib kann man hier runterladen:
http://sourceforge.net/projects/asuro

Merew
05.12.2006, 16:22
ähm wie heisst der compiler auf der seite? hrhrm und ähm ich habn neues programm geschrieben diesmal soll(en) die LED(s) blinken...

EDH
05.12.2006, 16:31
der compiler heist gcc-avr. das was du noch brauchst ist winavr

aber vielicht ist es einfacher, wenn du dir dieses programm von osser runterlädtst.

Merew
05.12.2006, 16:34
ähm winavr ist da aber gcc-avr find ich nich...
ok gcc-avr oder avr-gcc wie auch immer hab ich gefunden... aber das is doch für linux möpp hab win xp (linux habsch auch aber nich installiert^^)

EDH
05.12.2006, 16:42
der compiler ist bei winavr glaub ich sogar schon dabei

PS: nimm lieber linux her. spätestens wenn du ein mal vista gesehen hast weist du warum.

Merew
05.12.2006, 16:46
ich hab vista gesehen^^ aber ich weiss trotzdem nich warum... höchstens das vista fast das selbe sit wie win xp Oo zumin aufn ersten blick ich hab das nich... naja egal ich hab nemme alle cds von meinem suse linux... weiss einer vill wo man (kostenlos) DEBIAN herkriegt? hab gehört suse soll nich so gut sein... hab aber auch nich alzu lange damit gearbeitet man kann nich soviel machen *gg*

wie siehts mit dem neuen proggi aus? alles so in ordnung? möpp

EDH
05.12.2006, 16:55
set j, 0; //ich hoffe mal es ist richtig so... habs geraten^^

also das ist schwachsinn. du meinst warscheinblich j=0
statt diesem komischen for konstruklt kannst du aber auch einfach while(1) schrieben.

es heist Init() nicht init()



an vista ist nix neues auser der bnlöden 3d oberflöche. auserdem ist es völliug überteuert.
kennst du dich schon mit linux aus. das ist absolute vorraussetzung für debian. da darfst du dir nämlich alles selbst einrichten (x , kde etc)

ansonsten könntest du kanotix nehemen. (das ist debian sid mit ner vdr). gibts auf www.kanotix.de

das ist sehr einsteigerfreundlich

Merew
05.12.2006, 16:59
hab mal kurtze zeit mit suse gearbeitet... also j=0; ...
hmm ich wollte das erst auch ohne for machen aber hab dann vergessen wie ichs machen wollte^^ stimmt mit while(1) ja^^

Merew
05.12.2006, 18:04
welche taster werden eigendlich abgefragt bei switched? alle? kollisionstaster? andere???

damaltor
05.12.2006, 18:33
tjo... erzähl doch mal was dein neues programm machen soll und wie es funktioniert =) nur nen code kann richtig oder falsch sein, je nach aufgabe des programms... was ist das?
set j, 0; //ich hoffe mal es ist richtig so... habs geraten^^
das versteh ich nich

Merew
05.12.2006, 19:02
xD neuste version:


#include "asuro.h"

int main(void)
{
int i;
int j;
Init();
StartSwitch();
StatusLED(GREEN);
switched = 0;

while(1){
if (switched){
StatusLED(RED);
for(i=0;i<223;i++){
Sleep(255);
}
StatusLED(GREEN);

for(i=0;i<123;i++){
Sleep(255);
}
}else{
StatusLED(GREEN);
}}
return 0; //is das überhaupt notwendig hier? Oo
}

die status LED soll rot/grün blinken wenn man gegen einen taster kommt^^

mit motoren fang ich besser erst an wenn ich den asuro habe^^ dann kann ichs ja au selber testen^^

EDH
05.12.2006, 19:28
es heist Init() nicht init()

und die funkltion wait() gibt es nicht.
stattdessen Sleep()

Merew
05.12.2006, 19:29
hmm okok vergess ich immer xD
EDITED