Semafor za pešce in avtomobile

Naslednja naloga pri projektu prometne signalizacije bo združitev prejšnjih dveh nalog: izdelava semaforja za pešce in avtomobile. To pomeni, da boš na preizkusno ploščico dodal/-a pet LED diod (dve rdeči, oranžno in dve zeleni) ter jih sprogramiral/-a tako, da bodo oponašale delovanje semaforja za pešce in avtomobile.

Strojna oprema

  • 1 Malina
  • 1 preizkusna ploščica (angl. breadboard)
  • 1 zatič oblike T s kablom (angl. T-cobbler with breakout cable)
  • 5 LED diod (2 rdeče, 1 oranžne in 2 zelene barve)
  • 5 uporov 330 Ω
  • vtične žičke moški-moški (angl. jumper wire male-to-male)

Programska oprema

  • Python 3 (prednameščen na Raspbianu)
  • Pythonov modul gpiozero (prednameščen na Raspbianu)
  • Pythonov modul time (prednameščen na Raspbianu)

Navodila

  1. Poveži Malinine GPIO nožice in preizkusno ploščico s pomočjo T-zatiča in kabla.
  2. Poveži zeleni LED diodi z nožico GND in nožicama GPIO 17, GPIO 19 (glej zavihek Vezje).
  3. Poveži rdeči LED diodi z nožico GND in nožicama GPIO 22, GPIO 26 (glej zavihek Vezje).
  4. Poveži oranžno LED diodo z nožico GND in nožico GPIO 27 (glej zavihek Vezje).
  5. Odpri IDLE in ustvari novo datoteko tako, da klikneš File > New file.
  6. Shrani novo datoteko tako, da klikneš File > Save. Datoteki daj ime signalizacija6.py.
  7. V datoteko signalizacija6.py vnesi kodo z zavihka Koda.
  8. Shrani kodo s Ctrl+S in jo nato zaženi s F5.
  9. LED diode bi morale začeti simulacijo semaforja za pešce in avtomobile.


# encoding: utf-8
import gpiozero
import time

# semafor za avtomobile
zelena = gpiozero.LED(17)
rdeca = gpiozero.LED(22)
oranzna = gpiozero.LED(27)

# semafor za pešce
zelena2 = gpiozero.LED(19)
rdeca2 = gpiozero.LED(26)

while True:
    rdeca.on()
    oranzna.off()
    zelena.off()
    zelena2.on()
    rdeca2.off()
    time.sleep(3)

    oranzna.on()
    zelena2.off()
    rdeca2.on()
    time.sleep(1)

    rdeca.off()
    oranzna.off()
    zelena.on()
    time.sleep(3)

    oranzna.on()
    zelena.off()
    time.sleep(1)

Izvorna koda