Moramo si priznati, da smo z Raspberry Pi-jem že dobri prijatelji. Da bomo še boljši, smo se odločili, da vam pripravimo „modul“, ki nam bo zelo olajšal komunikacijo z LCD zaslonom. Potem pa se bomo lotili izpopolnjevanja tega modula. Kaj sploh so moduli? Tudi to bomo omenili in jih opisali. Sledilo bo programiranje inkrementalnega dajalnika impulzov ali bolj domače enkoder-ja, s katerim pa bomo naredili zelo zanimivo aplikacijo.
Znakovni LCD – nadaljevanje

Najprej bi radi naredili naš modul malo bolj univerzalen. Priključke LCD-ja smo namreč vnesli kar direktno v spremenljivke. Te spremenljivke bomo naredili zasebne in jih bomo lahko spreminjali preko funkcije, s katero bomo lahko določili, katere priključke smo na RPi-ju uporabili za komunikacijo z LCD-jem. Funkcija je naslednja:
def set_io(RS, EN, D4, D5, D6, D7):
„““Nastavi vrednosti prikljuckov na RPi“““
global _LCD_RS, _LCD_EN, _LCD_D4, _LCD_D5, _LCD_D6, _LCD_D7
_LCD_RS = RS
_LCD_EN = EN
_LCD_D4 = D4
_LCD_D5 = D5
_LCD_D6 = D6
_LCD_D7 = D7

Poglejmo si še, kako bi to funkcijo klicali v programu, v katerega smo uvozili naš modul „alnu_lcd_module“. Denimo da imamo LCD priključen tako, kot je na shemi razvojne plošče AX:
alnu_lcd_module.set_io(12,16,18,22,24,26)
Modul je sedaj skorajda pripravljen za vse splošno uporabo. Ne glede na to, katere priključke RPi-ja bo uporabnik povezal, ga bo lahko uporabil. No, pa povejmo še kaj o modulih. Uporabljamo jih, ko se pojavijo bolj kompleksni programi, katere bi težko obvladali v eni datoteki ali pa želimo uporabljati določeno funkcijo v več programih, ne da bi jo kopirali. Module lahko uvažamo v druge module ali v glavni program, v katerem so nam nato hierarhično na voljo vse spremenljivke in metode. Module je torej, kot ste verjetno že ugotovili, skupek definicij in izjav, ki nam je na voljo v datoteki s končnico „.py“. Tako datoteko uvozimo v naš program z ukazom „import“:
import nasModule
kjer je „nasModule“ ime našega modula, ta pa naj bo v isti mapi kot program, v katerega uvažamo. Python ima sicer tudi nastavljene posebne poti, kjer preverja module možne za uvoz, pa to sedaj pustimo na strani.
Z uvozom modula funkcij definiranih v „nasModule“ ne vnesemo direktno v naš program, vendar lahko s pomočjo tega dostopamo do njih na naslednji način:
nasModule.nasaFunkcija()
Raspberry Pi in Python za začetnike (4)
AX elektronika d.o.o.
2014_SE221_26

