-
Hilfe bei Zeitsteuerung
Hi,
ich bräuchte Hilfe bei der Umsetzung einer Zeitsteuerung.
Also Hardware habe ich den Mega 16.
Folgendes sollte umgesetzt werden:
Jedem Kanal soll eine Zeitmarke nach Start zugewiesen werden. Sprich man Startet das Programm und nach dem Starten soll z.B. nach 1,2sek der 1. Kanal angesteuert werden. Kanal 2 dann z.B. 2 min nach Start.
Wie ist das umsetzbar ?
mfg Yannic
-
was verstehst du unter kanal bitte port pwm pder was
hellseher gibts hier keine
-
Die Ausgänge PA, PB , PC und PD
-
also damit ich das richtig verstehe
wenn pa high wird dann start
nach zeit pb high nach zeit pc high
und wie geht das ganze wieder zurück
sehr konfuss die beschreibung
-
Okay nochmal.
PA1 high Programm startet.
nach 1min PA2 high für 1 sek.
nach 1,20min PA3 high für 1 sek.
nach 1,30min PA4 high für 1 sek.
usw. Am Ende soll sich das Programm selber wieder auf reset stllen.
-
am einfachsten ist dies mit wait und waitms zumachen,eleganter
und genauer mit timern.ein timer zählt z.b. im sekundentakt
und ein zähler wird hochgezählt.der zählerstand abgefragt und bei
erreichen der jeweiligen zeit ,eine sekunde der port ein und wieder ausgeschalten.
am ende ein reset durch zurücksetzten des zählers und warten auf
den startimpuls.
-
https://roboternetz.de/phpBB2/viewtopic.php?t=27392
hoffe der link funzt.habe hübi da auch mal geholfen.das programm
ist so ähnlich wie du es möchtest,musst nur deine zeitabfragen
einbringen.
-
@helimike
könntest du dazu ein codebeispiel geben ?
-
was soll den genau passieren,habe den mega16 leider nicht.
aber der code aus dem link müsste wenn du das $regfile vom
mega16 nimmst,laufen.frage dann einfach nach deiner zeit (in sekunden)
den zähler ab und schalte deinen jeweiligen port-pin ein und wieder aus.
der zähler in dem link wird im sekundentakt incrementiert (hochgezählt).
-
Kann man den Zähler auch in Minuten:Sekundn:Millisekunden laufen lassen ?