Instructions
Program 03ampel02 w Scratch steruje sygnalizacją świetlną dla pieszych.
Początkowo jako wyjścia zdefiniowane są piny 12, 7 i 8 dla świateł drogo-
wych oraz 24 i 23 dla sygnalizacji dla pieszych. Pin 21 ustawiony zostaje
jako wejście dla czujnika. ...inpullnone wyłącza rezystor pull-down wbu-
dowany na pinie GPIO, ponieważ zakłócałby on funkcję czujnika.
Następnie włączana jest pozycja podstawowa sygnalizacji świetlnej,
światło zielone dla pojazdów, a czerwone dla pieszych. Pozostałe trzy
diody LED zostają wyłączone. Wyłączenie już na początku nie jest właś-
ciwie konieczne. Służy ono jedynie zapewnieniu, że program zostanie
uruchomiony w jasno określonym stanie.
Teraz, podobnie jak w ostatnim programie, rozpocznie się pętla powta-
rzaj nieprzerwanie, która wysyła zapytanie do styku z plasteliny na
pinie 21 GPIO. Jeśli dostarcza on wartość 0, zostanie on dotknięty i
ściągnięty do poziomu niskiego.
W tym celu używamy bloku w Scratch jeśli, który działa podobnie do
zapytania if w innych językach programowania. Dla samego zapytania
przewidziane jest w bloku jeśli podłużne pole ze spiczastymi końcami.
W tym miejscu należy wstawić blok z zielonej palety bloków Operato-
rzy. Wybierz blok ze znakiem równości i przeciągnij go w miejsce pola
zastępczego w bloku jeśli.
Ten operator jest zawsze wtedy prawdziwy, jeśli obie wartości po lewej
i prawej stronie znaku równości są sobie równe. W naszym przypadku
wartość pinu 21 GPIO powinna wynosić 0. Do odpytywania wejść GPIO
używany jest blok Wartość czujnika z niebieskiej palety bloków Rozpo-
znawanie.
Przeciągnij ten blok w miejsce pola zastępczego po lewej stronie w zielo-
nym operatorze równości. W polu listy niebieskiego bloku wybierz czuj-
nik gpio21. Oprócz niektórych predefiniowanych czujników do wyboru są
wszystkie piny GPIO, które zdefiniowane są jako wejścia. Kliknij teraz raz
na zieloną flagę w prawym górnym rogu, aby rozpocząć jeszcze niedo-
kończony program. Zdefiniuje to piny GPIO, a gpio21 pojawi się w liście
wyboru. Zatrzymaj program za pomocą czerwonego znaku stop. Następ-
nie wprowadź wartość 0 po prawej stronie w zielonym operatorze rów-
ności.
Spowoduje to przełączanie różnych zestawów świateł sygnalizacji jeden
po drugim w odstępach 0,6 sekundy. Gdy światło dla pieszych jest zie-
lone, czas oczekiwania wynosi 2 sekundy. Również minimalny czas trwa-
nia fazy światła zielonego sygnalizacji świetlnej dla pojazdów wynosi 2
sekundy.
DIODY LED MIGAJĄ LOSOWO
Siedem diod LED miga w kolejności losowej, przy czym również kilka z
nich może być jednocześnie włączonych. Działa to tak: Zawsze naprze-
miennie włączana jest losowo wybrana dioda LED, a następnie losowo
wybrana dioda LED jest wyłączana.
Jak powstają liczby losowe?
Powszechnie uważa się, że nic w programie nie może wydarzać
się losowo – jak może więc program być w stanie generować
losowe liczby? Jeśli podzieli się dużą liczbę pierwszą przez dowolną
wartość, otrzyma się od x-tego miejsca po przecinku liczby prawie
nieprzewidywalne. Te liczby zmieniają się również bez jakiejkolwiek
prawidłowości, jeśli zwiększa się regularnie dzielnik. Wynik ten wydaje
się być wprawdzie przypadkowy, można go jednak dowolnie odtwarzać
poprzez identyczny program lub wielokrotne wywołanie tego samego
programu. Jeśli jednak weźmie się liczbę składającą się z niektórych
z tych cyfr, a następnie podzieli się ją przez liczbę, która wynika z
aktualnej sekundy godziny zegarowej lub z zawartości dowolnego
miejsca w pamięci komputera, otrzyma się wynik, którego nie można
odtworzyć i dlatego określony zostaje jako liczba losowa.
KOMPONENTY
1 płytka prototypowa
2 czerwone diody LED z rezystorem ograniczającym
2 żółte diody LED z rezystorem ograniczającym
2 zielone diody LED z rezystorem ograniczającym
1 niebieska dioda LED z rezystorem ograniczającym
8 kabli łączących GPIO
7 diod LED miga.










