Also ich finde keinen Fehler. Ich hab nur einen Vorschlag, nämlich du solltest die Asuro Lib benutzen, dann könntetst du zum Beispiel die Sleep-Schleife durch Msleep.
mfg liggi
Hallo!
Bin ein neuer Asurobastler.
Zusammenbau hat soweit funktioniert, asuro hat selbsttest bestanden.
jetzt habe ich ein erstes kleines Programm geschrieben, bei dem er nachdem der Taster mit Wert 2 aktiv geht umdrehen soll und dann wieder vorwärts vor sich hinfahren soll.
Problem: Der Asuor dreht teilweise schon ohne hindernis um.
Kann das an den von den anderen beschriebenen Problemen mit den Tastern liegen oder habe ich im Programm einen Fehlen?
Bitte um Kontrolle
DankeCode:#include "asuro.h" void main() { int zaehler; Init(); while(1) { if (PollSwitch() == 2) { StatusLED (YELLOW); MotorDir(RWD,RWD); MotorSpeed(100,200); for(zaehler=0; zaehler < 800; zaehler++) { Sleep(255); } } else { StatusLED (GREEN); MotorDir(FWD,FWD); MotorSpeed(120,120); } } }
Mfg
Roland
Also ich finde keinen Fehler. Ich hab nur einen Vorschlag, nämlich du solltest die Asuro Lib benutzen, dann könntetst du zum Beispiel die Sleep-Schleife durch Msleep.
mfg liggi
Ich denke auch, dass kein Hardware-Fehler vorliegt. Ruf die Funktion PollSwitch() einfach mehrmals auf.
Durch das öftere Aufrufen wird der Kondi C7 entladen und liefert genauere Werte.Code:#include "asuro.h" void main() { int zaehler; Init(); while(1) { if (PollSwitch() == 2) { if(PollSwitch()==2) { if(PollSwitch()==2) { StatusLED (YELLOW); MotorDir(RWD,RWD); MotorSpeed(100,200); for(zaehler=0; zaehler < 800; zaehler++) { Sleep(255); } }}} else { StatusLED (GREEN); MotorDir(FWD,FWD); MotorSpeed(120,120); } } }
Gruß farratt
den kondensator kann man auch entfernen, seitdem geht bei mir alles. aber such mal ein wenig nach tastern im forum, da gibt es sehr viele ansätze. für den anfang reicht es meist schon die funktion mehrfach aufzurufen.
einfacher, als alles zu verschachteln, geht folgendes:
a=PollSwitch();
b=PollSwitch();
c=PollSwitch();
if((a == b)&(b == c)){ ....
werde bei gelegenheit mal einen kleineren Ko verwenden und das tau kleiner machen
öhm... was meinst du?
tau ist IMHO die Zeitkonstante/Halbwertszeit
in diesem speziellem Fall wohl die des Kondensators, also ein kleinerer Kondensator
lol... ja ein kleinerer konsensator könnte wohl helfen. an dieses tau hab ich gar nicht gedacht =) ich habe ihn einfach nicht eingelötet, es geht perfekt.
tau ist die Zeitkonstante die sich aus RxC zusammensetzt.
Für mich stellt der Kondensator eine Buffer dar, falls sich etwas einkoppen sollte um den Eingang des IC´s zu schützen (eventuell EMV maßnahme???)
Aber Funktion hat dieser C wohl keine, da sich die Spannung die bei gedrücktem Taster sowieso aufgrund des Spannungsteilers zusammensetzt, außer dass bei loslassen des Tasters der Eingang nicht sofort auf "1" geht, oder hat da wer ne andere Idee??
*doppelpost*
15 zeichen
Lesezeichen