keiner ne lösung?
also hoffentlich bin ich jetzt hier im richtigen bereich ich schreib jetzt einfach mal los:
also gut bin fleißig drann am programmieren für den L293d
allerdings will dass programm mal wieder net wie ich will. soll jetzt so aussehen:
ein sensor stößt an.
soll er eine sekunde lang stehn. sprich portb.0 und portb.1 sollen beide 1 haben.
1 Sekunde warten.
Portb.0 = 0 also aus und Portb.1 =1 also ein.
3 Sekunden warten
Portb.0 = 1 und Portb.1 auch damit er ja steht.
1 sekunde warten.
und dann wieder portb.0 =1 und portb.1 =0
und dass soll er jedesmal machen wenn er irgendwo anstößt.
wie realisiere ich dass?
Hab jetzt hier mal was angefangen aber is echt schlecht könnt ihr ja sagen:
$regfile = "m8def.dat"
$crystal = 1000000
$baud = 9600
Config Portb.0 = Output
Config Pinc.0 = Input
Config Portb.1 = Output
Config Pinc.1 = Input
Config Pinc.2 = Input
Portc.0 = 1
Portc.1 = 1
Portc.2 = 1
Do
If Pinc.0 = 1 Then
Portb.0 = 1
Else
Portb.0 = 0
Wait 1
End If
Loop
End
bislang schalter halt nur die led für ne sekunde ab und weiter weiß ich net. wenn ich jetzt da nach wait:
portb.0 =0
portb.1 =1
eingebe bleiben hinterher beide an.
vll weiß ja jemand was von euch.
keiner ne lösung?
so hab jetzt mal was aber wie bekomme ich es hin dass das programm nur bei tastendruck durchläuft und nicht immer so läufts immer durch.
Config Portb.0 = Output
Config Pinc.0 = Input
Config Portb.1 = Output
Config Pinc.1 = Input
Config Pinc.2 = Input
Portc.0 = 1
Portc.1 = 1
Portc.2 = 1
Do
If Pinc.0 = 1 Then
Portb.0 = 1
Portb.0 = 1
Wait 1
Portb.0 = 0
Portb.1 = 1
Wait 3
Portb.0 = 1
Portb.1 = 1
Wait 1
Portb.0 = 1
Portb.1 = 0
Else
Portb.0 = 0
Portb.1 = 0
Wait 1
Portb.0 = 1
Portb.1 = 0
Wait 3
Portb.0 = 0
Portb.1 = 0
Wait 1
Portb.0 = 0
Portb.1 = 1
End If
Loop
End
außerdem soll es dann wieder am ende bei der letzten angabe bleiben sprich portb.0 =1 und portb.1 =0
so habs:
$regfile = "m8def.dat"
$crystal = 1000000
$baud = 9600
Config Portb.0 = Output
Config Pinc.0 = Input
Config Portb.1 = Output
Config Pinc.1 = Input
Portc.0 = 1
Portc.1 = 1
Do
If Pinc.0 = 1 Then
Portb.0 = 1
Portb.1 = 0
Portb.1 = 0
Else
Portb.0 = 0
Wait 2
Portb.1 = 1
Wait 5
Portb.1 = 0
Wait 2
End If
If Pinc.1 = 1 Then
Portb.2 = 1
Portb.3 = 0
Portb.3 = 0
Else
Portb.2 = 0
Wait 2
Portb.3 = 1
Wait 5
Portb.3 = 0
Wait 2
End If
Loop
End
so jetzt möchte ich dass dieses programm per tasterdruck 5 minuten durchläuft wie mache ich denn dass?
das habe ich mal bei mir überlegt in den bot einzubauen (als programm).Zitat von xbgamer
hab ich dann nichtmehr weiter verfolgt und weiß es deswegen auch nicht.
jon
Nice to be back after two years
www.roboterfreak.de
Hi!
Du musst das mit einem Timer machen, indem du bei jedem TimerÜberlauf hochzählst und schaust, wie oft er übergelaufen ist. Ist er so oft übergelaufen, dass 5 min vorbei sind, setzt du deine Ports entsprechend, dass er stehen bleibt und wartet bis wieder dein Tastendruck kommt.
Such einfach im Forum nach Timern. Da gibts einiges zu.
Gruß
danke schon mal. ich möchte noch einen bodenabtastung drann machen. auf dem prinzip von der oberen schaltung.
wenn ich nun aber nun
pinc.2 und pinc.3 als eingang konfiguriere
und dann anstatt der stellen
if pinc.0 =1
zb if pinc.2 =0
schreibe klappt es net.
ich möchte es ja so haben dass wenn der sensor der auf den boden gerichtet ist 0 wird dass das programm abgespielt wird und net wenn er 1 wird
weiß jemand was?
Lesezeichen