Video: Arduino vs. Raspberry Pi // Bits 2025
Die PBASIC FOR-Schleife bewirkt, dass der BASIC Stamp in Ihrem Elektronikprojekt eine Schleife eine bestimmte Anzahl von Malen ausführt. Es ist auch ein großartiges Programmierwerkzeug zum Ausführen einer Aktion an mehreren I / O-Pins. Somit ist eine FOR-Schleife die ideale Möglichkeit, ein LED-Flasher-Programm zu implementieren.
Die Grundstruktur einer FOR-Schleife sieht folgendermaßen aus:
FOR Zähler = Startwert TO Endwert Anweisungen … NEXT
Hier ist ein Beispiel, bei dem die LED zehn Mal auf Pin 0 blinkt:
X VAR BYTE FÜR X = 1 BIS 10 HOCH 0 PAUSE 500 LOW 0 PAUSE 500 NEXT
In diesem Beispiel wird die Schleife zehnmal ausgeführt. Der Wert der Variablen X wird jedesmal um 1 erhöht.
Im obigen Beispiel verwendete das Programm die Zählervariable nicht. Das ist in FOR-Schleifen üblich; Manchmal ist der einzige Zweck für die Zählervariablen, zu steuern, wie oft die Schleife ausgeführt wird. Aber Sie können die Zählervariable innerhalb der Schleife verwenden. Hier ist zum Beispiel eine Schleife, die jeden E / A-Pin auf der Stamp HIGH für eine Zehntelsekunde macht:
IO_Pin VAR BYTE FÜR IO_Pin = 0 bis 15 HOCH IO_Pin PAUSE 100 LOW IO_Pin NEXT
Normalerweise wird die Zählervariable bei jedem Durchlauf durch die Schleife um eins erhöht. Sie können das Schlüsselwort STEP verwenden, um einen anderen Schrittwert anzugeben. Wenn Sie das Schlüsselwort STEP verwenden, sieht die Grundstruktur der FOR-Anweisung wie folgt aus:
FOR Zähler = Startwert TO Endwert SCHRITT step-value Anweisungen … NEXT
Sie könnten zum Beispiel LEDs nur auf den gerade nummerierten Pins blinken lassen:
LED VAR Byte FÜR LED = 0 BIS 10 SCHRITT 2 HIGH Led PAUSE 100 LOW Led NEXT
Ein weiteres interessantes Merkmal von FOR-Schleifen ist, dass sie rückwärts zählen können. Sie müssen lediglich einen Startwert angeben, der größer ist als der Endwert, wie folgt:
LED VAR Byte FÜR LED = 10 BIS 0 SCHRITT 2 HOCH Led PAUSE 100 LOW Led WEITER
Diese Version der LED Flasher Das Programm verwendet ein Paar von FOR-Schleifen, um die LEDs zuerst in eine Richtung und dann in die entgegengesetzte Richtung zu blinken. Die erste FOR-Schleife blinkt die LEDs an den Pins 0, 2, 4, 6 und 8. Dann blinkt die zweite FOR-Schleife die LEDs an den Pins 10, 8, 6, 4 und 2. Beide FOR-Schleifen sind in einem DO enthalten Schleife, die die LEDs auf unbestimmte Zeit hin und her hüpft.
'LED-Blinkerprogramm' Doug Lowe '10. Juli 2011 "Dieses Programm blitzt die LEDs, die mit den Pins 0, 2, 4, 6, 8 und 10' verbunden sind, wie Zylonenaugen hin und her. "Diese Version des Programms verwendet FOR-Schleifen.'{$ STAMP BS2}' {$ PBASIC 2. 5} LED VAR Byte Haupt: FOR Led = 0 BIS 8 SCHRITT 2 HOCH Led PAUSE 100 LOW Led WEITER FÜR LED = 10 BIS 2 SCHRITT 2 HOCH Led PAUSE 100 LOW Led WEITER GOTO Main
Wenn FOR-Schleifen verschachtelt sind, vervollständigen die innerste (n) Schleife (n) ihren gesamten Zyklus jedes Mal durch die äußere Schleife. Wenn eine FOR-Schleife, die zehnmal wiederholt wird, innerhalb einer äußeren Schleife platziert wird, die zehn Mal wiederholt wird, werden die Anweisungen innerhalb der innersten Schleife insgesamt 100 Mal ausgeführt - zehn Mal für jede der zehn Wiederholungen der äußeren Schleife.
Dieser verwendet eine äußere FOR-Schleife, die die Verzögerungszeit für die PAUSE-Anweisungen variiert. Das Ergebnis ist, dass die LEDs zuerst sehr schnell wobbeln, aber bei jeder Wiederholung der äußeren Schleife um 10 ms langsamer werden, bis die Verzögerung eine Sekunde pro LED erreicht.
'LED-Blinkerprogramm' Doug Lowe '10. Juli 2011 "Dieses Programm blitzt LEDs, die wie die Zylonenaugen mit den Pins 0, 2, 4, 6, 8 und 10' verbunden sind, hin und her." Diese Version des Programms verwendet verschachtelte FOR-NEXT-Schleifen, um die Sweep-Bewegung der LEDs zu verlangsamen. '{$ STAMP BS2}' {$ PBASIC 2. 5} LED VAR Byte Geschwindigkeit VAR Word FOR Geschwindigkeit = 10 bis 1000 STEP 10 für LED = 0 bis 8 STEP 2 HIGH Led PAUSE Geschwindigkeit LOW Led NEXT FOR LED = 10 TO 2 STEP 2 HIGH Led PAUSE Geschwindigkeit LOW Led WEITER WEITER
