Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

TI-84 Plus wachtpauze, delay

Pagina: 1
Acties:

  • Saturnus
  • Registratie: Februari 2005
  • Niet online
Gister is het gelukt om het "Bulb trigger" programma van Gajescheren aan te passen zodat ik 2 sluitertijden kan invoer die na elkaar worden uitgevoerd. Ook is het gelukt om de eerste sluitertijd "veel" te vertragen, en de tweede "weinig" te vertragen zodat het fototoestel tussen de foto's in wel zijn spiegel weer dicht kan klappen voordat het volgende signaal binnen komt.

De tweede pauze bestaat uit:
code:
1
2
3
4
5
DelVar K
700->X

For(K,1,X)
End


De eerste pauze is:
code:
1
2
3
4
5
6
DelVar S
'getal'->Y
'getal'->S

For(S,1,Y)
End


Dat de tweede tijd niet variabel wordt maakt niet uit, omdat deze maar een (niet variabel) doel heeft.

De eerste pauze wil ik echter zelf gaan instellen. Ik weet aan de hand van de code van Gajescheren hoe dat moet, maar ik krijg door het spelen met de S en Y geen stabiele tijd. Toen ik een wachttijd van 15 seconden had en de variabelen S en Y door 10 deelde was de pauze weg. Of in hetzelfde geval de Y variabele verdubbelen kwam geen 30 seconden pauze uit, maar eerder een marginaal langere pauze dan de 15 seconden die er al stonden. Alsof de formule een exponentiële functie moet zijn om te werken.


De code komt van http://www.devhardware.co...program-delay-327413.html alhoewel het op meerdere sites en ook het eerder genoemde GoT topic staat.
Het tweede script van die externe site werkt überhaupt niet, geen error, maar gewoon geen pauze.

Zie ik hier iets over het hoofd? :?

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Waarom zou je überhaupt op de éérste positie van de for-loop een zelf-predefined variabele neerzetten?

In de variabele die je opgeeft als eerste in de for-loop komt zeg maar de "huidige" iteratie van de loop te staan. De 2e geeft het startpunt aan, het derde het eindpunt.

Dus dan 'set' je iets in var S, vervolgens ga je met die for-loop beginnen waarna hij simpelweg 'overschreven' wordt door die for-loop zelf.

  • Saturnus
  • Registratie: Februari 2005
  • Niet online
Aha. Nu snap ik het. Ik dacht dat die (in mijn geval) S een snelheids variabele was die je per TI moet berekenen afhankelijk van batterijen enz.
Maar die variabele die je uit moet zoeken is natuurlijk het getal dat je maal het aantal ingevoerde seconden vermenigvuldigt waarna je Y krijgt.

Thanks.

[ Voor 24% gewijzigd door Saturnus op 04-08-2012 19:26 ]


Verwijderd

Met
code:
1
RAND {99

(volgens mij, het is al even geleden) kan je een lijst met random getallen genereren. Dat duurt erg lang en is geschikt als delay.

Zie http://tibasicdev.wikidot.com/rand.

[ Voor 12% gewijzigd door Verwijderd op 04-08-2012 19:30 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Er is, bij mijn weten, in elk geval geen echte manier om een stabiele sleep te doen in TI-BASIC.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • KopjeThee
  • Registratie: Maart 2005
  • Niet online
NMe schreef op zaterdag 04 augustus 2012 @ 20:20:
Er is, bij mijn weten, in elk geval geen echte manier om een stabiele sleep te doen in TI-BASIC.
Misschien deze commands gebruiken:
http://tibasicdev.wikidot.com/time-and-date

Dus:
  1. Clock status opvragen (aan/uit) en onthouden (isClockOn)
  2. Als de clock niet aanstaat, dan aanzetten (ClockOn)
  3. StartTmr opvragen en onthouden
  4. In een loop CheckTmr doen, totdat gewenste aantal seconden verstreken is.
  5. Als de clock oorspronkelijk uit stond (zie waarde stap 1), dan clock weer uitzetten (ClockOff)
Disclaimer: Ik heb nog nooit iets met TI-Basic gedaan. Dus misschien schrijf ik complete onzin op.

Verwijderd

Dat kan ja. Maar de klok heeft een precisie van 1 seconde. Daar valt niet fatsoenlijk mee te werken als je 2 seconden wilt wachten: in de praktijk wacht je dan tussen de 1 en 2 seconden afhankelijk van je geluk. Dan kan je beter RAND gebruiken.

  • KopjeThee
  • Registratie: Maart 2005
  • Niet online
Verwijderd schreef op maandag 06 augustus 2012 @ 10:55:
Dat kan ja. Maar de klok heeft een precisie van 1 seconde. Daar valt niet fatsoenlijk mee te werken als je 2 seconden wilt wachten: in de praktijk wacht je dan tussen de 1 en 2 seconden afhankelijk van je geluk. Dan kan je beter RAND gebruiken.
Ja, voor zover ik zie, gaat het niet nauwkeuriger dan 1 seconde worden. Maar ik begrijp uit het verhaal dat er met sluitertijden gewerkt wordt van +/- 30 seconden. Dan maakt 1 seconde niet zoveel meer uit. Deze functie geeft je in ieder geval nog de garantie van een nauwkeurigheid van 1 seconde. Het gebruik van de Rand functie geeft je überhaupt geen garantie over de nauwkeurigheid.

Het kan trouwens wel veel nauwkeuriger, maar niet meer in TI-Basic:
http://wikiti.brandonw.net/?title=83Plus:Ports:30

Verwijderd

Weet ik. Ik heb ooit supaplex geport naar de TI-84+ :P

  • P-Storm
  • Registratie: September 2006
  • Laatst online: 15:26
offtopic:
Supaplex, dat is echt een nice port _/-\o_

  • KopjeThee
  • Registratie: Maart 2005
  • Niet online
Verwijderd schreef op maandag 06 augustus 2012 @ 12:28:
Weet ik. Ik heb ooit supaplex geport naar de TI-84+ :P
Leuk! :) Dan wil je de timing inderdaad ook wat nauwkeuriger in de gaten houden om de snelheid wat te controleren :)
Pagina: 1