kk logo

Die SCoop Task Blöcke sind einfach gesagt Blöcke bei denen man ohne Delay Schleifen auskommt und Taster nicht entprellt werden müssen. Das funktionier so weit sehr gut. Allerdings kommt es mit anderen Blöcken manchmal zu Schwierigkeiten zum Beispiel wenn Displays verwendet werden. Da der SCoop Block andere Baut raten verwendet wie andere Blöcke. Die SCoop Blöck sind aber wem das nichts ausmacht eine echt super Möglichkeit Taster, blinkende LEDs usw. zu programmiere ohne den Delay Block zu verwenden.

 Die Blöcke finden sich in im blauen Feld SCoop (multitask). Allerdings brauchen die SCoop Blöcke verschiedenen Treiber, diese habe ich bis zum Schluss nicht gefunden. In der Version von DUINOEDU, sind diese bereits in der zip Datei vorhanden. Deshalb bitte diese Version verwenden.

A ardublock scoop multitask event

Es gibt drei Grundsätzliche Blöcke von Scoop, mit denen wir programmieren können.

1: SCoop Sleep

Dieser Block ist der gleiche Delay Block wie seine gelbes Ebenbild. Wird dieser Block gesetzt dann macht der Arduino eine Pause und macht nichts anderes.

 2: SCoop Event

Mit diesem Block können alle digitalen Pins des Arduino abgefragt werden. Einfach in das Feld PIN den verwendeten Anschluss eintragen.
Dieser Block wird ausgeführt sobald der Taster gedrückt wird. Ein entprellen ist dabei nicht nötig. Egal wie lange der Taster gedrückt wird, das Programm zählt nur einen Tasterdruck und läuft auch bei gedrücktem Taster weiter. Erst wenn der Taster wieder los gelassen wird und erneut gedrückt wird, zählt das Programm einen Tasterdruck.

 3: SCoop Loop

Dieser BLock ist wie der Loop Teil im gelben Block, nur dass er Parallel zum gelben Loop Block arbeitet. Auch wenn, wie im Bild oben zwei Delay Zeiten im Programm sind und die LEDs passend dazu blinken. Wird im serial Monitor der Zustand des Poti permanent gezeigt. Wir haben so gesehen zwei parallel arbeitende Loop Blöcke und die im gelben Teil verwendeten Delay Zeiten haben keinen Einfluss auf den blauen Loop teil.

C ardublock scoop multitask event

 Im gelben Loop Teil sollten also alle Delay Zeiten für blinkende LEDs usw. untergebracht werden. Taster, Analoge Eingänge oder Rechenoperationen sollten allerdings hier nicht programmiert werden. Da sie nur zwischen den Delay Zeiten abgefragt werden. 

D ardublock scoop multitask event

 Mit dem SCoop Event Pin sollten alle digitalen Pins abgefragt werden. Dabei kann ausgewählt werden ob der Block auf ein HIGH, LOW usw. Signal reagieren soll. In den Event Block gehören auch keine Delay Zeiten. Hier sollten entweder PINs geschaltet oder Variablen gezählt werden. Alles andere gehört in den LOOP Teil.

E ardublock scoop multitask event

 Im Serial Monitor schön zu sehen, obwohl keine Delay Zeit im Programm ist oder Taster mit anderen Blöcken entprellt ist, Zählt jeder Tasterdruck als ein Druck und nicht als 20.

J ardublock scoop multitask event

Im SCoop Loop Block sollte nun das eigentliche Programm, wie die Abfrage von Potis, das fahren von Servos oder das zählen von Variablen stattfinden. 

F ardublock scoop multitask event

Im Serial Monitor schön zu sehen, trotz der Delay Zeiten im gelben Loop Teil und der Taster Abfrage im Event Block, ist im Serial Monitor nur die abgefragte Variable zu sehen.

H ardublock scoop multitask event

 

Wird im blauen Loop Teil allerdings eine Delay Schleife eingebaut, dann wartet das Programm auch hier für die eingetragenen Zeit. Deshalb sollte hier auf eine Delay Zeit verzichtet werden.

G ardublock scoop multitask event

 

by grace

By grace alone somehow I standWhere even angels fear to treadInvited by redeeming loveBefore the throne of God aboveHe pulls me close with nail-scarred handsInto His everlasting arms

Ronnie

schwäbischer tüftler und bastler, kraftsportler, 41 Jahre, 1 Frau, 5 Kinder und 1003 Ideen. 

ronnie berzins at mee