Hallo,
ich sehen den aber immer, egal ob ein- oder ausgeloggt !Zitat von stochri
Hallo Miteinander,
hier mal eine kleine Codevorlage für die ASURO-Beginner für den 2ten Wettbewerb ( wie immer nur sichtbar, wenn man einge-logged ist):
link:Code:#include "asuro.h" /*************************************************************************** * * * This program is made for the ASURO Robot * * * * first part of the second competition: get the treasure back ! * * * ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * any later version. * ***************************************************************************/ /*************************************************************************** * * void SetMotor(unsigned char left_speed, unsigned char right_speed ); * * Range of speed: -7-0-7; * * function to control the motors * Direction and speed can be set with on parameter * * Copyright: Stochri 2005 * ****************************************************************************/ unsigned char speedtable[8]={0,100,120,140,160,180,200,250}; void SetMotor(int leftspeed, int rightspeed ) { unsigned char left,right; if (leftspeed<0) left=RWD; // Test if leftspeed is negativ else left=FWD; if (leftspeed==0) left=BREAK; if (rightspeed<0) right=RWD; // Test if leftspeed is negativ else right=FWD; if (rightspeed==0) right=BREAK; leftspeed=abs(leftspeed); rightspeed=abs(rightspeed); if (leftspeed>7) leftspeed=7; if (rightspeed>7) rightspeed=7; MotorSpeed(speedtable[leftspeed],speedtable[rightspeed]); MotorDir(left,right); } // delay in 1/10 seconds void wait(int zehntel) { int i,temp2; for(i=0;i<zehntel;i++) for(temp2=0;temp2<100;temp2++) Sleep(72); } void aerger(void) { char n; for(n=1;n<20;n++) { StatusLED(RED); wait(1); StatusLED(GREEN); wait(1); } } void chillout(void) { while(1) { StatusLED(YELLOW); wait(5); StatusLED(GREEN); wait(5); } } /*************************************************************************** * * main * ****************************************************************************/ #define vorkurz {SetMotor(6,6);wait(3);SetMotor(0,0);}; #define vorlang {SetMotor(6,6);wait(10);SetMotor(0,0);}; #define links90grad {SetMotor(-2,2);wait(6);SetMotor(0,0);}; #define rechts90grad {SetMotor(2,-2);wait(6);SetMotor(0,0);}; #define aus SetMotor(0,0); unsigned int uiBuffer[2]; int main(void) { int nullwert=21; Init(); LineData(uiBuffer); nullwert=uiBuffer[0]; StatusLED(GREEN); while(uiBuffer[0]<(nullwert+20)) { LineData(uiBuffer); }; aerger(); StatusLED(RED); links90grad; vorkurz; rechts90grad; vorlang; rechts90grad; vorkurz; rechts90grad; vorlang; chillout(); return 0; }
2.ter ASURO Wettbewerb
https://www.roboternetz.de/phpBB2/viewtopic.php?t=10575
Zum 1.ten Teilwettbewerb:
Für das Test-Setup des ersten Teilwettbewerbs schlage ich folgendes vor:
- eine 60cm lange Linie Isloierband auf hellerem Hintergrund
- der Asuro befindet sich an einem Ende der Linie, der Schatz vor ihm
- man nimmt den Schatz weg, der Asuro merkt es, man setzt ihn irgendwo auf der Linie ab, der Asuro bringt das Ganze wieder in die Startposition inclusive sich selbst
vermutliche Schwierigkeiten:
- wie merkt der Asuro, dass der Schatz fehlt ?
- beim Zurückbringen: die exakte Positionierung des Schatzes auf der Anfangsposition
- die exakt Positionierung des ASURO auf seiner Startposition
- die Geschwindigkeit
( Man bedenke bei den Lösungen, dass Sie auch für den großen Wettbwerb gebraucht werden )
gruss,
stochri
Hallo,
ich sehen den aber immer, egal ob ein- oder ausgeloggt !Zitat von stochri
Ähh, ja scheint mir auch so. Ist wohl nur bei den Bildern so, dass man die nicht sieht.
Aber was anderes: um das Programm zu kompilieren, muss man einfach den Programmtext von test.c im Ordner FirstTry durch den Programmtext oben ersetzten, dann kann man es kompilieren und ausprobieren.
Wie sieht's eigentlich bei Dir aus linux_80, schafst Du es dieses mal zeitlich ?
Gruss,
stochri
Ich will ja nix versprechen, weder so noch so, hab bis jetzt noch nix gemacht
Hab letzte Woche ein haufen zeugs von Reichlt und Robotikhardware bekommen, u.a. einen Sharp-IR Sensor. Kann ich den hernehmen zum Gegenstand suchen ? (sofern ich das hinkriege mit dem was anzufangen)
Bauteile für das US hätte ich auch rumliegen, das werd' ich aber noch weniger schaffen, da ich die Platine noch nicht hab. Hätte ja vor 3 Wochen dieses Buch-Heftl bestellt "Asuro, spass usw." aber kommt nix an.
schau ma mal ...
PS: ausserdem hab ich heute Tanken müssen, und das muss erstmal seelisch verkraftet werden [-o<
Hallo linux_80,
den Sharp-Sensor wollte ich auch schon anschließen. Wenn man den analogen hat, dürfte es am einfachsten sein, das Signal an Pin 28 anzulegen, das ist der Spannungsteiler für die V+ Messung, die ja sowieso fast niemand benutzt.
Allerdings hat mich irgend jemand in einem Thread darauf hingewiesen, dass die Stromaufnahme zu hoch sein könnte und das den ASURO stört. Glaube ich aber nicht, probieren geht über studieren.
Wenn es Dir Spass macht, verwende den Sensor doch einfach, gibt auf jeden Fall ein interessantes Ergebnis.
Viele Grüße,
stochri
Hallo,
die letzten zwei Tage hab ich etwas Zeit gehabt und eine Konstruktion für den Sharpsensor auf den Asuro gebaut.
Mit dem Pin 28 haut es nicht hin, denn da misst das BootPRG die Spannung, und startet erst garnicht wenn das nicht passt !
Also Widerstände wieder reingebaut, und diesmal die Tasten deaktiviert, hab R23 raus und da den Sensor angeklemmt, funktioniert soweit.
Er dreht im Zimmer seine Runden bis er dochmal mit der Hinterachse irgendwo hängenbleibt, was ich nicht verhindern kann, da ich nur einen Sensor habe der gerade nach vorne schaut.
Jetzt weiss ich nicht wie weit ich hier noch was intelligentes zusammenbringe, denn morgen(mmh heute ) nachmittag bin ich ned da
mfG
> Mit dem Pin 28 haut es nicht hin, denn da misst das BootPRG die Spannung, und startet erst garnicht wenn das nicht passt !
Oh, sehr interessant. Ich wusste nicht, dass der ASURO beim booten seine Spannung misst. Wie hast Du denn das rausgekriegt ? =D>
> Also Widerstände wieder reingebaut, und diesmal die Tasten deaktiviert, hab R23 raus und da den Sensor angeklemmt, funktioniert soweit.
Wieso hast Du den R23 rausgenommen ? Der hat doch 1MOhm und hätte den Sharpsensor mit Sicherheit nicht gestört. Meiner Meinung nach müsste es eigentlich reichen das Signal des Sensors einfach auf PIN 27 zu hängen.
> Jetzt weiss ich nicht wie weit ich hier noch was intelligentes zusammenbringe, denn morgen(mmh heute ) nachmittag bin ich ned da
Oh, wie schade. Aber es ist ja auch schon wieder so gutes Wetter.
Gruss,
stochri
Hi,
ja ausprobiert, R12 und R13 rausgemacht, und dann ging er nimmer.Zitat von stochri
ich brauchte Platz für das neue Kabel.Zitat von stochri
Aber noch was anderes,
ich hab Probleme mit den Liniensensoren, wenn ich den Asuro auf ein weisses Blatt stelle, bekomme ich nur magere Werte um die 50 vom ADC !
erst wenn ich mit der Lampe direkt in die Sensoren leuchte gehts auch bis an die 1023.
Ich hab jetzt mal eine grössere LED für D11 eingebaut, jetzt hab ich immerhin mal Werte bis max. 100, das ist (mir) aber immer noch zu ungenau um eindeutig zwischen schwarz und weiss zu unterschieden !
Was hast Du da für Werte ?
Hei! Cooles Programm. Ist dass nciht dasselbe wie auch auf dieser einen Seite. Was war dass doch ncoh gleich? Ist das LabView?
Naja, was ich aber eigentlich wissen will ist wie das ausliest. Aber ich denke mal hier im Thread ist das ziemlich offtopic. Naja, kannste ja mal vielleicht schreiben wenn du lust hast.
Aber jetzt auch was zum Thema:
Was hier glaub ich schon mal angesprochen und was ich eigentlich auhc noch machen will ist, den Sensor 1. so tief zu legen, dass er wirklich auf den Boden kommt und 2. gegen Umgebunslicht abzuschotten.
Obwohl . . .mh. . dass hast du ja warhscheinlich schon, oder? Sonst kommen ja nicht so niedrige Werte raus.
Ach, jetzt hab ich eigentlich keine Ahnung mehr, was ich schreiben wollte.
Andun
www.subms.de
Aktuell: Flaschcraft Funkboard - Informationssammlung
Lesezeichen