You are on page 1of 18

UNIVERZITET U BIHAĆU

TEHNIČKI FAKULTET
Odsjek: Elektrotehnika
Smjer: Informatika

Seminarski rad iz predmeta


PROJEKTOVANJE MIKROPROCESORSKIH
SISTEMA
Tema:
KORIŠTENJE ARDUINA ZA UPRAVLJANJE SMART
KUĆOM PREKO GLASOVNIH INSTRUKCIJA

Predmetni nastavnik: red.prof.dr. Zlatko Bundalo Studenti: Suljo Mujkić i Amar Hodžić

Predmetni asistent: mr. Amel Toroman, dipl.ing.el. Broj indeksa: 744 i 745

Akademska godina: 2017/2018.


KORIŠTENJE ARDUINA ZA UPRAVLJANJE SMART
KUĆOM PREKO GLASOVNIH INSTRUKCIJA

Suljo Mujkić i Amar Hodžić


Tehnički fakultet Bihać, suljomujkic@hotmail.com amar_hodzic1@hotmail.com

Ključne riječi: Smart kuća, Arduino, mikrokontroler, servo motor, glasovne instrukcije

SAŽETAK
U ovom radu opisan je sistem upravljanja Smart kućom putem glasovnih instrukcija
korištenjem mikrokontrolera ATMega328p integrisanog na Arduino Uno ploči. Preko
glasovnih instrukcija vrši se otvaranje/zatvaranje vrata kao i paljenje/gašenje LED
osvjetljenja. Instukcije su spremljene u modulu za prepoznavanje govora (Voice Recognition
Module) na koji se povezuje mikrofon. Instrukcije se prethodno definišu na računaru
upotrebom Access Port softvera, te se njihove HEX vrijednosti konvertuju u TTL izlaz pomoću
USB To TTL/COM konvertera preko kojeg se zatim instrukcije prosljeđuju modulu za
prepoznavanje govora. Nakon što se izgovori neka od definisanih instrukcija,, modul aktivira
servo motor koji otvara/zatvara vrata kuće, ili se pali/gasi LED sijalica, u ovisnosti od zadane
instrukcije. Sistem se napaja USB napajanjem od 5V.

Keywords: Smart home, Arduino, microcontroller, servo motor, voice recognition

ABSTRACT
This paper describes a Smart home automation system via voice recognition instructions
using an ATMega328p microcontroller integrated on the Arduino Uno board. Using the voice
intructions results in opening or closing the door and also turning the LED lights on or off.
The instructions are saved in the Voice Recognition Module which is connected to the
microphone. Previously, the instructions are defined on the computer with the use of Access
Port software, which then sents the HEX commands of the instructions to the USB To
TTL/COM Converter Module. This module converts the HEX comands to the TTL interface
output and forwards the instructions to the Voice Recognition Module. When the instruction is
given, the module executes it by activating the servo motor which opens/closes the door, or
by turning the LED lights on/off, depending on the used instruction. The system uses a 5V
power supply.
SADRŽAJ
UVOD ........................................................................................................................................ 1
1. MIKROPROCESORSKI SISTEMI ....................................................................................... 2
2. ARDUINO ............................................................................................................................. 3
3. PRAKTIČNA REALIZACIJA .............................................................................................. 4
3.1 Komponente potrebne za praktičnu realizaciju ................................................................ 4
3.1.1 Arduino Uno R3 ........................................................................................................ 4
3.1.2 USB to TTL/COM Module CP2102 ......................................................................... 6
3.1.3 Voice Recognition Module ....................................................................................... 6
3.1.4 Servo motor ............................................................................................................... 7
3.1.5 Eksperimentalna pločica ........................................................................................... 8
3.1.6 LED diode ................................................................................................................. 9
3.1.7 Kablovi za spajanje ................................................................................................. 10
3.2 Opis projekta .................................................................................................................. 11
ZAKLJUČAK .......................................................................................................................... 12
LITERATURA ......................................................................................................................... 13
PRILOZI................................................................................................................................... 14
POPIS SKRAĆENICA
Skraćenica Puni naziv Značenje
AVR Advanced Virtual RISC Napredni virtualni procesor sa
smanjenim skupom naredbi
COM Communication Port Komunikacijski port
EEPROM Electrically Erasable Programmable Električno izbrisiva programabilna
Read Only Memory ispisna memorija
GND Ground Uzemljenje
HEX Hexadecimal Heksadecimalni sistem
LED Light Emitting Diode Svjetleća dioda
RS Recommended Standard Preporučeni standard
RXD Receive Data Prijemnik
SRAM Static Random Access Memory Statička memorija s nasumičnim
pristupom
TTL Transistor-transistor logic Tranzistor-tranzistor logički sklop
TXD Transmitt Data Transmiter
UART Universal Asynchronous Univerzalni asinhroni prijemnik /
Receiver/Transmitter transmiter
USB Universal Serial Bus Univerzalna serijska sabirnica
VCC Voltage at the Common Collector Pozitivni terminal izvora napajanja
UVOD

Brzi napredak računarskih tehnologija otvorio je vrata sve lakšoj integraciji


računarskih komponenti u svakodnevni život. Uređaji koji su se nekad isključivo ručno
aktivirali i programirali danas sve više dolaze s ugrađenim računarskim komponentama koje
mogu donositi odluke umjesto čovjeka. Na taj način ljudima omogućuju jednostavniju,
fleksibilniju i napredniju upotrebu istih.

Pojava kućnih mreža jedan je od glavnih faktora koji su omogućili pojavljivanje takvih
sistema i njihov brzi napredak. Već danas se mogu pronaći gotova rješenja koja integrišu više
različitih uređaja u cjeline s naprednim mogućnostima koje nije moguće postići s istim
uređajima koji su neovisni. Takvi sistemi, iako napredni, i dalje su zatvoreni u odnosu na
interakciju s drugim takvim sistemima. Logični slijed je omogućiti interakciju više tih sistema
u jedinstvenu cjelinu na razini kuće. Taj koncept zove se pametna kuća.

Ovaj rad prezentuje jedno od čestih praktičnih rješenja pametne kuće a to je


automatsko paljenje/gašenje svjetla, kao i otvaranje/zatvaranje vrata. U ovom projketu
navedeno se izvršava na osnovu glasovnih instrukcija. Popis komponenti kao i njihov način
rada će biti slikovito prikazan.

1
1. MIKROPROCESORSKI SISTEMI

Mikroprocesor je elektronički sklop unutar računara, integrisani krug koji obavlja


funkciju centralne jedinice. Prije pojave mikroprocesora centralne jedinice računara su bile
napravljene od diskretnih integrisanih krugova, tranzistora ili elektronskih cijevi.

Spremnici u mikroprocesoru:

 Adresni međuspremnik - služi za adresiranje memorije, ali i za adresiranje ostalih


dijelova računala.
 Podatkovni međuspremnik - posrednik za razmjenu sadržaja između obradnika i ostalih
dijelova računala. Svi podaci koji se žele prenijeti iz procesora na sabirnicu prolaze kroz
podatkovni međuspremnik.
 Instrukcijski međuspremnik - u njega se prenosi naredbe dobavljene iz
memorije. Bitovi naredbe dovode se na upravljačku jedinicu koja iz njih ustanovljuje
radnje koje procesor treba obaviti.
 Programsko brojilo - spremnik koji sadrži adresu sljedeće naredbe koju treba obaviti.
Njega upravljačka jedinica automatski povećava tako da se naredbe pohranjene u
memoriji izvode po redu.
 Spremnik stanja procesora - njegovi bitovi služe za zapisivanje različitih zastavica koje
označavaju ispravnost ili neispravnost rezultata i radda ili neke druge pojave. Vrijednosti
tih zastavica su uvjeti na temelju kojih upravljački sklop određuje daljnji tijek
odvijanja programa.
 Skupina općih spremnika - služi za pohranjivanje operanada i rezultata, te za
pripremanje adresa budućih pristupa do spremnika.

Mikrokontroler je digitalna elektronska naprava u obliku integrisanog kola. Namjena


mikrokontrolera je upravljanje uređajima i procesima, pa u sebi ima integrisan mikroprocesor,
memoriju, digitalne i analogne ulaze i izlaze, digitalne satove („tajmere“), brojače, oscilatore,
komunikacione sklopove („interfejse“) i druge dodatke za koje je nekada bio potreban niz
posebnih integralnih kola („čipova“). Mikrokontroler normalno radi u kontrolnoj petlji, dakle
očitava ulaze i zatim podešava izlaze u skladu sa svojim programom. Petlja se stalno ponavlja
dok traje kontrola procesa.
Glavna razlika između modernih mikroprocesora i mikrokontrolera je da su prvi optimizirani
za brzinu i performanse kod računarskih programa, dok su mikrokontroleri optimizirani u
pravcu integracije većeg broja kola, upravljanja procesima u stvarnom vremenu (real-time
control), masovnu proizvodnju, nisku cijenu, i malu potrošnju struje.
Mikrokontroleri su otporniji i na varijacije napona, temperature, vlažnosti, vibracije itd.

2
2. ARDUINO

Tehnički, Arduino je programabilni logički kontroler, a službeno je open-source


platforma koja se temelji na jednostavnom korištenju hardvera i softvera, te je namjenjena za
izradu raznih interaktivnih projekata.

Ono što je Arduino učinilo svjetski poznatim su tzv. Arduino ploče koje imaju sposobnost
registrirovati bilo kakav input i pretvoriti ga u output, na primjer, objavljivanje poruke na
Twitteru online, aktiviranje motora pritiskom prsta na taster, uključivanje LED sijalica. Sve to
čini skup uputa koje se programiraju kroz IDE (Arduino software). Arduino se temelji na
malom crnom čipu koji se zove mikrokontroler koji je srce i mozak Arduina. Postoje mnoge
podvrste Arduino mikrokontrolera, ali oni u principu svi imaju iste funkcije. Trenutno
najpopularniji je ATmega328.

Stvoren u Institutu interakcijskog dizajna u Ivrea-u u Italiji 2005. godine, jednostavan


je alat za izradu raznih prototipova te je najkorisniji onima koji nemaju nikakvog znanja o
programiranju i elektronici. Čim je postigao svjetsku popularnost i dobio širu publiku,
Arduino ploče dobile su i nove modele, od jednostavnih 8-bitnih ploča do modela za 3D
printanje i IoT aplikacije. Do danas je prodano više od milion ploča što govori o njegovoj
kvaliteti i potrebi.

Kao komad hardvera Arduino može raditi samostalno (ima robotske karakteristike),
spojen na računar koji ima pristup podacima i može pružiti povratne informacije, ili povezati
se s drugim Arduino platformama te drugim elektroničkim uređajima i kontrolerima.

Slika 2.1. Logo arduina

IDE Arduino software podržava Windows, Machintosh OSX i Linux. Proširiv je kroz C++
biblioteke te su moguća dodavanja AVR-C kodova na kojim je bazirana Arduinova platforma.

3
3. PRAKTIČNA REALIZACIJA

3.1 Komponente potrebne za praktičnu realizaciju

Za izradu projekta je korišteno nekoliko komponenata. Jedna od najzahtjevnijih


kompenenti je modul za komunikaciju glasom. Taj modul je potrebno naučiti da razumije
glasovnu komandu, o čemu će biti rečeno nešto više u nastavku.

Osnovne komponente za izradu:

 Arduino Uno R3
 USB to TTL/COM Module CP2102
 Voice Recognition Module
 Servo Motor
 Led diode
 Eksperimentalna pločica
 Kablovi za eksperimentalnu pločicu

U nastavku su opisane sve navedene komponente, korištene za izradu Smart kuće.

3.1.1 Arduino Uno R3

Pomoću Arduino platforme otvorenog koda (engl. Open Source) mogu se realizovati
razni uređaji koji se koriste u proizvodnji, nadzoru te ostalim dijelovima postrojenja. Pomoću
nje vrlo je lako realizovati gotovo svaku ideju koja je potrebna korisniku. Mana ove platforme
je ograničenje memorije. Postoji više vrsta Arduino pločica, ovisno o težini projekta (u ovom
projektu je korišten Arduino Uno R3 koja se zasniva na ATmega328).

Arduino UNO R3 popularna je razvojna platforma za mnoge programere koji se bave


automatizacijom. Postala je popularna zbog jednostavnosti korištenja te velike zastupljenosti
biblioteka za pojedine dodatne module koji se mogu spojiti na osnovnu pločicu kao što su
senzori, sklopke, releji, Shieldovi itd. Ova platforma je kompletno razvojno okruženje tj.
hardver + softver.
Pogodan je za početnike i profesionalce iz razloga jer se na Internetu može naći puno
korisnih informacija o programiranju i implementaciji dodatnih modula. Napajati ga se može
računarom preko USB konektora ili zasebnog izvora poput baterije ili ispravljača napona 6-
20V. USB konektor ujedno se koristi za komunikaciju s okolinom. Praćenje i nadzor prijenosa
podataka moguć je integrisanim alatom koji se zove Serial Monitor.

4
Tehničke karakteristike i najvažniji dijelovi Arduina Uno R3 prikazani su u nastavku.

Tabela 3.1. Tehničke karakteristike Arduino UNO R3


Mikrokontroler ATMega 328p
Radni napon mikrokontrolera 5V
Preporučeni ulazni napon 7-12 V
Granice ulaznog napona G-20 V
Digitalni ulazno-izlazni pinovi 14 (od kojih 6 ima pulsno-širinsku modulaciju)
Analogni ulazni pinoi 6
Istosmjerna struja za pinove 20 mA
Istosmjerna struja za 3.3V pin 50 mA
Flash memorija 32KB (Bootloader koristi 0.5 KB)
SRAM memorija 2KB
EEPROM memorija 1KB
Frekvencija oscilatora 16 MHz

Prema specifikacijama, potrebno je pripaziti na jačinu struje i napone koji se dovode na


pinove kako ne bi premašile one koje Arduinovi pinovi mogu podnijeti jer bi moglo doći do
trajnih oštećenja mikrokontrolera zbog pregaranja.

Slika 3.1. Izgled Arduino Uno R3 uređaja

5
3.1.2 USB to TTL/COM Module CP2102

USB to TTL/COM Module CP2102 sastoji se od ugrađenog USB priključka


povezanog na RS232 transfer čip. Služi za serijsku komunikaciju između računara i
mikrokontrolera. Ovaj modul podatke sa računara konvertuje u TTL izlaz odnosno
prilagođava ih za elektroničku upotrebu. Također, može biti korišten za kreiranje virutalnog
COM porta na računarima koji ne podržavaju standardnu serijsku komunikaciju.

Ovaj modul sadrži 5 pinova i to:

 TXD pin – povezuje se na RXD pin mikrokontrolera


 RXD pin – povezuje se na TXD pin mikrokontrolera
 GND – treba da bude jednaka sa GND mikrokontrolera
 3V3 – izlaz za napajanje koji daje struju do 50mA
 5V – izlaz za napajanje koji daje struju do 500mA.

Slika 3.2. USB To TTL/COM Module CP2102

3.1.3 Voice Recognition Module

Voice Recognition Module može da prepoznaje govor. Na osnovu serijskog porta


modul prima ili odgovara na konfiguracijske instrukcije. U stanju je da primi do 15 govornih
instrukcija što je uglavnom dovoljno za namjene u kojima se koristi. Tih 15 instrukcija je
podijeljeno u 3 grupe, a svaka grupa može da sadrži do 5 instrukcija. Instrukcije se snimaju
posebno za svaku grupu.

Tehnički parametri modula:

 Napon: 4.5 – 5.5V


 Struja: <40mA
 Digitalni interfejs: 5V TTL nivo UART
 Analogni interfejs: 3.5mm mono-kanalni konektor za mikrofon + pin
 Tačnost prepoznavanja: 99% (u idealnim uslovima okruženja).

6
Slika 3.3. Voice Recognition Module

3.1.4 Servo motor

RC servo motori su sastavljeni od DC motora koji je povezan na potenciometar. PWM


signal koji se šalje servo motoru se pretvara u komandu za poziciju preko elektronike
smještene u kućištu motora. Kad mu se zada komanda rotacije on se rotira u zadanom smjeru
dok potenciometar ne dostigne određenu vrijednost za tu poziciju. Kontrolišu se preko tri
signala, VCC, GND i komande.

RC servo motori su sastavljeni iz tri dijela: motora sa reduktorom, uređaja povratne


sprege i upravljačke ploče. Kod RC servo motora, uređaj povratne sprege čini najčešće
potenciometar. Motor, preko niza zupčanika (koji čine reduktor), okreće izlaznu osovinu i
potenciometar istovremeno. Upravljački modul “očitava” otpornost potenciometra i na taj
način utvrđuje trenutnu poziciju izlazne osovine.
Šematski prikaz strukture RC servo motora prikazan je na slici 3.4.

Slika 3.4. Šematski prikaz Servo motora


7
Servo očekuje puls svakih 20ms u cilju dobijanja tačne informacije o uglu zakretanja. Širina
impulsa diktira opseg ugaonog kretanja. Fizičke granice i širina pulsa varira u zavisnosti od
proivođača, ali uglavnom se ugaona kretanja kreću u rasponu od 180°-210°.
Širina impulsa je najčešće 1 do 2 ms za kretanje osovine od 90°, mada mnogi servo motori
mogu i preko toga. Sredina opsega kretanja osovine je najčešće na 1,5 ms. Kraći impulsi
okreću osovinu u smjeru kazaljke na satu.

Slika 3.5. Servo motor

Na slici 3.5. prikazan je servo motor koji je korišten u ovom radu. Servo motor ima tri
priključne žice. Dvije su za napajanje a treća je za upravljanje. U realizaciji projekta servo
motor je korišten za otvaranje i zatvaranje vrata. Glasovnom naredbom otvori vrata se
otvaraju, dok glasovnom naredbom zatvori vrata se zatvaraju.

3.1.5 Eksperimentalna pločica

Eksperimentalna pločica (engl. solderless breadboard) je korisna komponenta pri


spajanju privremenih električnih strujnih krugova. Dolazi u različitim dimenzijama i oblicima,
ali su u osnovi sve jednake.

8
Slika 3.6. Eksperimentalna pločica

Kao što se vidi na slici, sastoji se od plastičnog kućišta na čijoj se gornjoj strani nalazi
mnoštvo rupica namijenjenih za umetanje nožica različitih komponenti. Međusobni razmaci
među dvije rupice su standardizirani i iznose 2.5 mm.
Osim toga razmak je usklađen s razmakom među nožicama većine integriranih krugova i
komponenti. Rupice su u unutrašnjosti pločice međusobno povezane prema određenom
pravilu.

3.1.6 LED diode

Svjetleća dioda ili LED (engl. Light Emitting Diode) je poluprovodnički elektronički
element koji pretvara električni signal u optički (svjetlost). Propusno polarizovana svjetleća
dioda emitira elektromagnetsko zračenje na način spontane emisije uzrokovane
rekombinacijom nosilaca električnog naboja (elektroluminiscencija).
Na slici je prikazan izgled LED diode:

Slika 3.7. LED diode

9
Elektroni prelazeći iz vodljivog u valentni pojas, oslobađaju energiju, koja se dijelom očituje
kao toplina, a dijelom kao zračenje. Boja emitiranog svjetla ovisi o poluprovodniku, kao i o
primjesama u njemu i varira od infracrvenog preko vidljivog do ultraljubičastog dijela
spektra.
Primjenjuje se najčešće kao indikator, na primjer na komandnim i signalnim
pločama uređaja ili kao alfanumerički pokazivač na zaslonima džepnih kalkulatora, zatim za
ukrasno osvjetljenje, te u industriji zabave, za signalnu rasvjetu, za bicikle, automobilska
svjetla, kao dijelovi za daljinski prijenos signala u upravljačkim krugovima, na primjer, kod
televizorskih daljinskih upravljača. Veliko područje primjene imaju i u optičkim
komunikacijama, gdje služe za prijenos podataka na kraće udaljenosti multimodnim optičkim
vlaknom.
U ovom radu LED diode su korištene za rasvjetu, gdje glasovnim naredbama se pale i gase
svjetla u određenim dijelovima kuće.

3.1.7 Kablovi za spajanje

Za povezivanje elemenata na eksperimentalnu pločicu koriste se tanki kablovi koji se


mogu svrstati u 3 tipa, a to su:
 F-F
 F-M
 M-M.
Uobičajeno, ovi kablovi se koriste za testiranje sklopa, jer nisu baš prikladni za trajnu
upotrebu iz razloga što su nepregledni, posebno kod većih sklopova, a također nisu pretjerano
stabilni.

Slika 3.8. Tri vrste kablova za spajanje


U ovom radu najviše je korištena treća vrsta, odnosno M-M konektor.
10
3.2 Opis projekta

Prvi korak kod izrade projekta je crtanje odgovarajuće šemu po kojoj će se kasnije
realizirati sklop. Šema projekta urađena u Fritzingu prikazana je na slici 3.9.

Slika 3.9. Shematski prikaz

11
ZAKLJUČAK

12
LITERATURA

13
PRILOZI

14

You might also like