Radionica 4.1. - Semafori
Križanja i semafori – učimo kroz igru
Križanja su mjesta gdje se ceste sastaju. Na križanjima auta mogu skrenuti lijevo, desno ili nastaviti ravno, a pješaci prelaze cestu. Zbog toga je važno da svi znaju pravila – tada smo sigurni u prometu.
Križanja mogu imati semafore, koji pokazuju kad smijemo ići, a kad moramo stati. Na križanju sa semaforom svi znamo svoj red: zeleno svjetlo znači “idemo!”, crveno znači “stani!”, a žuto nas upozorava da budemo spremni. Semafori čuvaju nas – pješake i vozače – i smanjuju mogućnost nesreća. Ako nema semafora, moramo više paziti na prometna pravila i znakove, ali uvijek prvo promatramo i procijenimo je li sigurno prijeći cestu.
Što je to semafor?
Semafor je elektronički uređaj koji upravlja prometom tako što izmjenično pali svjetla različitih boja – crveno, žuto i zeleno – dajući pritom jasno vidljive upute vozačima i pješacima.
Semafor za pješake
Semafor za pješake je prometni uređaj koji pješacima jasno pokazuje kada mogu sigurno prijeći cestu, a kada moraju pričekati. Sastoji se od svjetlosnih signala – u pravilu su to dvije boje: crvena i zelena. Crveno svjetlo znači da pješak ne smije prelaziti cestu, dok zeleno svjetlo označava da je prelazak dopušten i siguran.
Semafori za pješake koriste se na prometnim križanjima, posebno na mjestima s velikim brojem pješaka poput škola, vrtića, bolnica i prometnih gradskih ulica. Njihov osnovni cilj je povećati sigurnost prilikom prelaska ceste te smanjiti broj prometnih nesreća u kojima su ugroženi pješaci.
Glavna razlika između semafora za pješake i onih za vozila je u trajanju i ritmu signala te prikazu simbola – često su na semaforu za pješake jasno prikazane figure pješaka u crvenoj i zelenoj boji. Također, semafori za pješake često su opremljeni zvučnim ili taktilnim signalima kako bi ih lakše uočile osobe s oštećenjima vida.
• Umjesto crvenog i zelenog svjetla, prikaži slike pješaka koji stoji i pješaka koji hoda.
Dodatna pitanja i zadaci (1):
- Osim klasičnih, danas se razvijaju i napredni, tzv. pametni semafori za pješake koji uz standardno osvjetljenje očitavaju i ponašanje pješaka (primjerice gledaju li u mobitel), te dodatno upozoravaju projiciranjem svjetla na pločnik ispred prijelaza. Na taj način pomažu u prevenciji nezgoda modernim tehnologijama i još više podižu sigurnost. Razmisli kako bi to napravio.
Redoslijed paljenja i gašenja svjetala
Redoslijed rada semafora odgovara pravilima cestovnog prometa i zasniva se na programiranom slijedu uključivanja svjetala u točno određenim vremenskim intervalima.
- Crveno svjetlo – “Stani!” – vozila moraju zaustaviti prolazak.
- Crveno i žuto svjetlo zajedno – “Priprema za polazak”.
- Zeleno svjetlo – “Slobodan prolazak”.
- Žuto svjetlo – “Priprema za zaustavljanje”.
Nakon toga ciklus se ponovno ponavlja.
Taj redoslijed određujemo u programu koji upravlja mikrokontrolerom (npr. micro:bitom), koristeći niz naredbi koje uključuju i isključuju diode nakon točno definiranog trajanja. Time se postiže stvarni učinak rada semafora, gdje svako svjetlo traje nekoliko sekundi prije nego što se promijeni.
- Koliko traje pojedino svjetlo?
- Zašto toliko traje?
Na slikama je primjer u kojemu se vidi da crveno i zeleno svjetlo traju po 5 sekundi, dok žuto svjetlo traje 1.5 sekundu.
U našem slučaju, semafor ćemo napraviti pomoću LED‑dioda koje će predstavljati ta svjetla.
Dodatna pitanja i zadaci (2):
- Napravi da se zeleno svjetlo pali i gasi tri puta, prije nego se ugasi.
- Neka vrijeme treptanja bude 400 ms za upaljeno svjetlo i 400 ms za ugašeno.
Dodatna pitanja i zadaci (3):
- Pronađi dijelove programa koji se često ponavljaju! Možemo li ih nekako uljepšati i skratiti, tako da program bude razumljiviji?
Umjesto da za svako paljenje svjetla na semaforu stalno pišemo iste blokove naredbi, možemo napraviti funkciju pod imenom Svjetla koja će to obaviti svaki put kad je pozovemo.
Vrijednost 1 će na zadanom pinu micro:bita postaviti 3.3 V i upaliti LED, a vrijednost 0 će postaviti 0 V i tako ugasiti LED.
Parametri funkcije su posebne vrijednosti koje funkciji šaljemo kao objašnjenje što da napravi. To su kao male poruke ili upute koje funkcija primi kad je pozovemo.
Na primjer, funkcija Svjetla(crveno, žuto, zeleno, pauza) može imati parametar crveno = 1, žuto = 0, zeleno = 0, pa će upaliti ona svjetla koja na sebi imaju vrijednost 1.
Dodatna pitanja i zadaci (4):
- Dodaj zvučni signal za semafor. Neka bude 1 cijela nota za crveno, 1 osminka za zeleno svjetlo i bez zvuka za trepćeće zeleno i žuto svjetlo.
Zamisli da micro:bit može raditi dvije stvari odjednom, kao kad ti istovremeno hodaš i pjevaš.
U našem semaforu, jedan forever blok stalno mijenja svjetla (crveno, žuto, zeleno), a drugi forever blok u isto vrijeme pušta zvučni signal koji pomaže pješacima sa slabim vidom.
To zovemo paralelno izvršenje – micro:bit istovremeno izvodi više dijelova programa, pa svjetla i zvuk rade zajedno, svaki u svom ritmu, kako smo mi to odredili.
Dodatna pitanja i zadaci (5):
- Što treba napraviti da bi se čuo zvuk iz Micro:bita u prethodnom zadatku?
- Kako bi mogli dalje razvijati naš semafor?
- Što nam još treba kako bi ovakav semafor mogao regulirati promet na maketi nekog križanja?
Što smo naučili?
- Naučili smo da program mora imati jasan slijed događaja, kao što se i svjetla semafora pale točno određenim redom i trajanjem. Kako bi to kvalitetno napravili, naučili smo praviti plan redoslijeda izvršenja.
- Koristili smo repeat blok kako bismo ponovili iste naredbe više puta bez ponavljanja koda, što olakšava rad i čini program kraćim.
- Naučili smo da funkcije okupljaju više često izvršavanih naredbi pod jednim imenom, pa program postaje uredniji i lakši za razumijevanje i promjene.
- Upoznali smo se s tim da micro:bit može istovremeno raditi više stvari (paralelno izvršenje), pa svjetla na semaforu i zvučni signal mogu raditi zajedno u različitim forever blokovima.





