In der Anleitung sind doch die verschiedenen Funktionen beschrieben, unter anderem auch "SerWrite("Text", 4);" Seite 64!
Außerdem hindert dich nix daran in in Basic (Bascom) zu Programmieren.
Fragen dazu?
MFG Moritz
Hallo zusammen,
ich bin gerade dabei meinem Asuro das Folgen von Linien beizubringen. Auf dem Level der Programmierbeispiele funktioniert schon alles wie es soll.
Den Code finde ich aber noch verbesserungswürdig( soll ja schließlich auch nur Beispiel seien, mehr nicht).
Mein Ansatz:
- Wenn [0]==[1] fährt er gerade aus. Weil der Untergrund aber nie wirklich == wiedergibt fährt er immer nach rechts.. vielleicht ist die rechte Fotozelle einfach bischen anders gebogen o.ä.
Ich möchte also eine Art Toleranz einbauen, die z.B. mit einer Schneise von +-200 als == interpretiert.
-Um eben diese Werte "einstellen" zu können, würde ich gerne die Werte der FZellen per IR an das Hyperterminal schicken.
Leider bin ich in C noch nicht so gut, um zu wissen, wie das genau geht.
Kann mir viellecht jemand einen Tip gehen? - Das mit dem Wert versenden wäre fast das wichtigere, weil ich dann wenigstens sehe, wie stark der Papkarton(untergrund) "unterschiedlich" ist.
mein bisheriger Code:Code:#include "asuro.h" int main(void) { unsigned int data[2]; Init(); FrontLED(ON); while(1){ LineData(data); if(data[0] > data[1]){ MotorDir(FWD,FREE); MotorSpeed(180,180); StatusLED(RED); BackLED(OFF,ON); } if(data[0] < data[1]){ MotorDir(FREE,FWD); MotorSpeed(180,180); StatusLED(YELLOW); BackLED(ON,OFF); } if(data[0] == data[1]){ MotorDir(FWD,FWD); MotorSpeed(180,180); StatusLED(GREEN); BackLED(ON,ON); } else; } return 0; }
mfg und fröhliches Asuro Gassi-gehen
Maximatic
In der Anleitung sind doch die verschiedenen Funktionen beschrieben, unter anderem auch "SerWrite("Text", 4);" Seite 64!
Außerdem hindert dich nix daran in in Basic (Bascom) zu Programmieren.
Fragen dazu?
MFG Moritz
Edit:
Hab gefunden was du gemeint hast, thx. Aber ein Problem hab ich immer noch. Er scheint zwar die daten zu senden, aber das Hyperterminal entpfängt nur Müll.
---´º---´Ó---¡---¯---´---´¦---Ž¡---¯---`Y---¡¯---¡¯---¡¯---¯---¡¯---´´---
´‚---R¡---¯---¡¯---ö¡--- ¡---¡---¡¯---¯---´ ---´’---^¡---¯------â¡---Ä¡--
-l¡---¡---¡¯---´´---´´---´µ---¯---¡¯---´´---ERO-------ƒE-----{---VL----------
--------------------------------------CK---VL---VL---OK---ROK---OK---VL---VL---O
K---ROK---OKC---VL---ERO---åER---…ER---ERO---`Y‚---<---<---<€---<€------¯---¯--
----------<---<€---<€------------<€---ERO----
etc... die "---" hab ich zwischen jeden Wert gesetzt.
Irgendeine Idee?
Hätte ich nach einer Basic-Lösung gesucht, hätte ich die Frage wohl nicht im C Forum gestellt. Ich möchte aber auf jedenfall bei C bleiben, weil ich in der Uni auch nur damit arbeite und sich so hobby und lernen gut ergänzt.[/code]
das sieht stark nach falscher Baudrate aus -- hast du die mal durchprobiert? Ich hab auch die Erfahrung gemacht dass Microschrott's Hüperterminal totaler Schrott ist, ich würde dir empfehlen dir was besseres im Internet zu besorgen. Ich hab hier "Terminal" von "Br@y". Relativ leicht zu finden.
@RCO: warum würde er denn dann im C-Forum schreiben? Ich verstehe wirklich nicht wir man überhaupt _freiwillig_ einen AVR in Basic programmieren (auch nur) _will_.Außerdem hindert dich nix daran in in Basic (Bascom) zu Programmieren.
Immer locker!Ich verstehe wirklich nicht wir man überhaupt _freiwillig_ einen AVR in Basic programmieren (auch nur) _will_.
Maximatic meinte:
Es hätte ja sein können, dass er Basic besser kann aber nicht weiß, dass es auch möglich ist, ihn damit zu proggen.Leider bin ich in C noch nicht so gut, um zu wissen, wie das genau geht.
Was meint ihr denn, ist besser an C?
Also ein Vorteil ist, denke ich:
C ist Assembler-ähnlicher und damit weit näher am wirklichen Geschehen im AVR als Basic.
Aber als ich angefangen habe, kam mir Basic nun einfach mal simpler und einstiegsfreundlicher vor. Mittlerweile denke ich auch ein bisschen anders darüber, würde aber wenn vermutlich direkt auf ASM umsteigen.
MFG Moritz
Ich glaube kaum, dass Du als Basic fan direkt auf ASM umsteigst !?
Basic-Fan bin ich ja nicht. UNd soweit ich weiß, bietet Bascom die möglichkeit Basic-Code einzubinden, also auch in das Basic-Programm.
Was dann schon mal ein erster SChritt in die Richtung wäre.
MFG Moritz
hallo, ich binde für die programmierung des küchenbrettroboters auch "asm-schnipsel" in Bascom ein, ist eine tolle sache. es gibt nicht sehr viele routinen im AVR die zeitkritisch für die verwendeten baugruppen sind, sei es rc5,srf04,srf08,compass-sensor. gerade im roboterbau wird meistens eine schnelligkeit gefordert, die keinenfalls für die durchführung erforderlich ist. die meiste zeit bleibt die auslastung des AVR im unteren bereich. gerade bei der fehlersuche habe ich in Bascom überhaupt keine probleme. auch kann ich im programm zu 100% nachvollziehen, was das Bascom gerade macht. ich habe hier im forum vor einpaar tagen mal um eine lösung gebeten, für die anbauteile meines küchenbrettroboters in c.
meine forderung war doch zu hoch, es war ein schlamützel, es gab keine einigkeit in der lösung, nach der 4. -5. nachricht war das thema schon gewechselt worden, schade.
mfg pebisoft
Also Hyperterminal ist sicher nicht das non plus ultra aber
ich habe bios jetzt noch nie probelme mit.
die Ausgabe sieht wirklich nach de falschen baud rate aus
aber den code hast du ja nicht dabei. Hast du dich vielleicht
verechnet CPU takt ?
Gruß
P: Meine Tochter (06.11.07) und https://www.carnine.de
M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken
Lesezeichen