SOS oddajnik

Naslednja naloga pri projektu Morsejeve kode bo izdelava SOS oddajnika. Na preizkusno ploščico boš dodal/-a brenčač in LED diodo ter sprogramiral/-a program, ki bo samodejno začel oddajati signal SOS oziroma klic na pomoč.

Strojna oprema

  • 1 Malina
  • 1 preizkusna ploščica (angl. breadboard)
  • 1 zatič oblike T s kablom (angl. T-cobbler with breakout cable)
  • 1 LED dioda
  • 1 upor 330 Ω
  • 1 aktivni brenčač (angl. active buzzer)
  • 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)

Navodila

  1. Poveži Malinine GPIO nožice in preizkusno ploščico s pomočjo T-zatiča in kabla.
  2. Poveži LED diodo z nožico GND in nožico GPIO 27 (glej zavihek Vezje).
  3. Poveži aktivni brenčač z nožico GND in nožico GPIO 4 (glej zavihek Vezje).
  4. Odpri IDLE in ustvari novo datoteko tako, da klikneš File > New file.
  5. Shrani novo datoteko tako, da klikneš File > Save. Datoteki daj ime telegraf3.py.
  6. V datoteko telegraf3.py vnesi kodo z zavihka Koda.
  7. Shrani kodo s Ctrl+S in jo nato zaženi s F5.
  8. Ob pritisku na gumb bi moral/-a zaslišati zvoke brenčača in videti prižgano LED diodo.


# encoding: utf-8
import gpiozero
import time

def prizgi():
    aldis.on()
    zvok.on()

def ugasni():
    aldis.off()
    zvok.off()

zvok = gpiozero.Buzzer(4)
aldis = gpiozero.LED(27)

enota = 0.1 # privzeta enota je desetinka sekunde

while True:
    for znak in '...---...':
        prizgi()
        if znak == '.':
            time.sleep(enota)
        if znak == '-':
            time.sleep(3 * enota)
        ugasni()
        time.sleep(enota)
    time.sleep(2 * enota)

Izvorna koda