das problem hat mit den tastern nix zu tun, könnte zufall sein.
eigentlich sollte das programm funktionieren denk cih mal... parobier es mal bei hellem und bei sehr wenig licht, was macht er dann?
Hallo ich habe hier schon lange nichts mehr geschrieben und hatte jetzt Zeit mich mit dem Asuro auseinanderzusetzen. Ich bin auch ein absoluter c-Neuling aber immerhin habe ich aus Beispielen ein kleines Programm zur Linienverfolgung gezimmert(Verfolgt Linien die heller als der Hintergrund sind).Jetzt das seltsame Problem:Code:#include "asuro.h" int main(void){ unsigned int data[2]; Init(); FrontLED(ON); StatusLED(OFF); while(1){ LineData(data); data[0]=data[0]*1.0; MotorDir(FWD,FWD); if (data[0] < data[1]) {BackLED(OFF,ON); MotorSpeed(255,150);} else {BackLED(ON,OFF); MotorSpeed(150,255);}} while(1); return 0; }
Asuro lässt das Prog nur ablaufen, wenn der ganz linke Taster gedrückt ist, das heißt ich habe ein Stück Klebeband dran gemacht um den Taster eben gedrückt zu halten. Was ist an dem Programm falsch?
Eigentlich habe ich im Prog gar keine Taster erwähnt.
Zweites Problem:
Wenn ich an der Stelle"data[0]=data[0]*1.0;" die Zahl veränder auf z.B. 0.9 startet er erst nach ein paar Sekunden und dreht sich dann nur im Kreis. Die Zahl war eigentlich gedacht, um die unterschiedliche Empfindlichkeit der Sensoren auszugleichen.
das problem hat mit den tastern nix zu tun, könnte zufall sein.
eigentlich sollte das programm funktionieren denk cih mal... parobier es mal bei hellem und bei sehr wenig licht, was macht er dann?
Ich habe es eben noch mal bei kompletter Dunkelheit ausprobiert aber es bringt nichts. Die 6 Tasten funktionieren mehr oder weniger Wirkungsvoll aber das ist ja kein Zustand. Ich will vllt auch mal was programmieren was Linienverfolgung und Tasten mit einbezieht.
hmm... dann sieht das nach nem lötfehler aus...
eigentlich haben die beiden elemente nicht besonders viel miteinander zu tun
also dass ich Widerstände vertauscht habe oder kalte Lötstellen oder so...?
vermutlich... die liegen vorn hinter den tastern verdammt dicht beieinander. kann vielleicht auch sein, dass zwei widerstände ein bein vertauscht haben, also sozusagen gekreutzt sind. anstatt so
könnten sie aus versehen auch so eongelötet worden sein:Code:o-o o-o
Code:o o | | o o
Hallo,
solange kein Taster gedrückt wird ist es reichlich egal welcher Widerstand wo eingelötet ist (solange keiner gegen GND liegt).
Ich vermute eher dass durch das Drücken der Taste auf der Platine eine Spannung entsteht und dadurch eine schlechte Lötstelle beeinflußt wird.
Das wirst du mit einer kleinen Rechnung nicht ausgleichen können. Viel Spass beim Tüfteln.Die Zahl war eigentlich gedacht, um die unterschiedliche Empfindlichkeit der Sensoren auszugleichen.
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Ich bin mit dem Lötkolben noch mal alle Lötstellen durchgegangen und das Problem besteht weiterhin unverändert.
Ich vermute, du meinst das Problem mit dem Taster der gedrückt werden muss damit was passiert. Was sagt denn der SelfTest?
Zum Programm und dem endlosen Drehen: Wohin und wie schnell soll er eigentlich fahren wenn beide Seiten gleich hell sind?
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Ja das Tasterproblem
Den Selftest hat er bestanden und verschiedene andere einfache Programme von mir und auch sowas wie mit Geräuscherzeugung hier aus dem Forum laufen problemlos, ohne dass man Tasten drücken muss.
Und beide Seiten sind doch bei 1023 Möglichkeiten für jede Seite fast nie gleich hell( dafür ist nichts definiert).
Lesezeichen