Hallo iedereen,

Het is me nu eindelijk gelukt om een servo aantesturen (nu maar in proton gedaan) maar nu wil ik dat de servo naar links draait 3,5 sec wacht en dan naar rechts, maar ik heb geen idee hoe ik dat moet doen. Heeft iemand een idee??


OPTIMISER_LEVEL = 6		' Set for maximum optimiser level
Device = 16F628A
		
DelayMS 500			' Wait for stabilise
TRISB = %00000000               ' PORTB alle als uitgang

Again: 
 Servo PORTB.3 , 1000           ' Stuur naar links
 DelayMS 20                     ' wacht 20 ms 
 GoTo Again                     ' En begin opnieuw

Alsvast bedankt,
Groeten Martin


OPTIMISER_LEVEL = 6		' Set for maximum optimiser level
Device = 16F628A
xtal = 4
all_digitall = 1
		
DelayMS 500			' Wait for stabilise
TRISB = %00000000               ' PORTB alle als uitgang

Dim x as Word

Main:
    For x = 0 to 175 step 1     ' Loop dit stukje 175x, 175 x 20 ms
                                ' komt ongeveer overeen met 3,5 sec,
                                ' hetzij dat de pulsen niet meegerekend zijn
        Servo PORTB.3 , 500     ' Stuur naar rechts
        DelayMS 20              ' wacht 20 ms 
    Next
    For x = 0 to 175 step 1     ' Loop dit stukje 175x, 175 x 20 ms
                                ' komt ongeveer overeen met 3,5 sec,
                                ' hetzij dat de pulsen niet meegerekend zijn
        Servo PORTB.3 , 1000    ' Stuur naar links
        DelayMS 20              ' wacht 20 ms 
    Next
Goto Main

xtal ed ff goed zetten

[Bericht gewijzigd door elmowww op ]

Main:
Goto Links
DelayMS 3500
Goto Rechts
DelayMS 3500
GoTo Main

en dan in Links en rechts een for loop zetten hoelang het mag duren, ik ken proton helemaal niet maar in andere talen zou je het zo doen...

Op 2 december 2005 00:35:04 schreef Evilest Aedolon:
Main:
Goto Links
DelayMS 3500
Goto Rechts
DelayMS 3500
GoTo Main

en dan in Links en rechts een for loop zetten hoelang het mag duren, ik ken proton helemaal niet maar in andere talen zou je het zo doen...

Mmm, helemaal kloppen doet dit niet. Een servo moet je een continu signaal sturen want als je de puls maar 1 keer stuurt komt ie nimmer aan op zijn eindpositie. Met hardware PWM kan je de servo evt. sturen, maar dat werkt niet goed met hogere kristalfrequenties, of je moet een timer gebruiken.

Ook moet je je goto`s veranderen in gosub`s, anders weet proton niet waar die naar terug moet.

elmowww,

Heel erg bedankt, ik was wel met een loop bezig geweest alleen had geen rekening gehouden met de 20ms.

Groeten Martin

Even uit nieuwgierigheid, Elmowww.
Waarom rechts 500 en links 1000?

Ik heb ook het licht gezien, en sindsdien ben ik me met electronica gaan bezig houden. :)

Op 3 december 2005 01:10:49 schreef evarist:
Ik heb ook het licht gezien, en sindsdien ben ik me met electronica gaan bezig houden. :)

Dat gebeurde bij mij nog voor mijn tweede levensjaar.......

Op 3 december 2005 01:43:31 schreef UFO:
[...]

Dat gebeurde bij mij nog voor mijn tweede levensjaar.......

Ja maar jij bent een ufo...