Upravljačka elektronika za ”Pametnu kuću M1:50” Cilj radionice:
Izraditi upravljačku elektroniku za maketu kuće čijom rasvjetom se upravlja uz pomoć mobilnog uređaja Android te napisati pripadajući softver za mikrokontroler i mobilni telefon Android.
Ishodi učenja:
Usvojena tehnika rada s lemilicom i pripadajućim priborom. Usvojena tehnika čitanja električne sheme te povezivanja u funkcionalni sklop.
Zadaci radionice:
• primjena tehničkog razmišljanja i djelovanja • razvijanje vještina i motoričkih sposobnosti pri radu s lemilicom • ispitivanje funkcionalnosti sklopa • programiranje mikrokontrolera u BascomAVR • programiranje aplikacije Android koristeći softver Roboremo
Materijal i pribor za rad:
Nakon toga krenulo se s izradom hardverskog dijela. Prvi je korak bio izraditi konektor za osam izlaza te ugraditi tranzistorske sklopke. Za sklopke su korišteni npn-tranzistori BC337 (https://www.fairchildsemi. com/datasheets/BC/BC337.pdf) čija je maksimalna struja 800 mA, što je više nego dovoljno za upravljanje LED-trakom u pojedinoj prostoriji. Sklopkama se upravlja digitalnim izlazima mikrokontrolera ATMega8A prema sljedećoj shemi: Logička jedinica na izlazu mikrokontrolera uključuje trošilo, dok ga logička nula isključuje. Sljedeća je faza lemljenje konektora za temperaturni senzor. Za senzor je odabran popularni i rasprostranjeni DS18B20 (https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf). To je digitalni senzor koji koristi 1-wire-protokol, što omogućava jednostavno povezivanje s mikrokontrolerom. 1-wire-protokol omogućava spajanje više senzora na istu komunikacijsku liniju tako da na pločici postoje dva konektora za priključak senzora.
• univerzalna tiskana pločica 80x60 mm • tranzistori BC337 (10 kom.) • mikrokontroler ATMega8A • istosmjerni izvor napajanja 12V/1A • Bluetooth-modul HC-05 • regulatori napona • LED-traka • temperaturni senzor DS18B20 • pasivne komponente prema električnoj shemi • lemilica i prateći pribor (pumpica, kliješta, pinceta...) • programator USBASP
Tijek rada:
Sklop napajamo iz vanjskog istosmjernog izvora 12V/1A, jer LED-trake koriste taj napon. Mikrokontroler radi na 5 V, a modul Bluetooth na 3,3 V. Ti naponi dobiveni su pomoću regulatora napona LM7805 i AMS1117-3.3.
Početak rada bio je upoznavanje s blok-shemom uređaja koji je potrebno izraditi.
Napajanje 3V3 Bluetooth Modul HC05
12V
5V MCU
RS232
digitalni izlazi
Senzor temperature DS18B20
Tranzistorski izlazi
Nakon temperaturnog senzora lemi se konektor za fotootpornik koji omogućava da se vanjska rasvjeta uključuje po mraku. Trenutak uključenja moguće je softverski podešavati. Fotootpornik i otpornik R15 čine naponsko djelilo koje mijenja napon ovisno o vanjskom osvjetljenju. Signal s djelila napona dovodi se na analogni ulaz mikrokontrolera.
ulaz
analogni
ATMega8
1-wire
PRILOG ČASOPISA “ABC tehnike” BR. 3 (599), ŠK. GOD. 2016./2017.
MODELARSTVO
Na kraju je potrebno zalemiti konektor za spajanje modula Bluetooth. Nakon što zalemimo sve komponente, slijedi softverski dio posla. Za programiranje mikrokontrolera korišten je kompajler BASCOM-Avr koji je besplatno dostupan u demoverziji na mrežnoj stranici http://www.mcselec.com/index. php?option=com_docman&task=cat_view&gid=99&Itemid=54 Na početku programa potrebno je «reći» kompajleru s kojim mikrokontrolerom radimo, koja je frekvencija radnog takta te brzina komunikacije s modulom Bluetooth:
LDR Hardver
Softver Roboremo
Zatim definiramo potrebne izlaze na mikrokontroleru:
BascomAVR
Sljedeći korak je lemljenje podnožja za mikrokontroler i konektora za programiranje. Za programiranje se koristi serijski programator USBASP koji spajamo na pripadajući konektor. Ideja je da se napravljena elektronika osim za Pametnu kuću može iskoristiti i za neke druge projekte. Budući da se mikrokontroler može programirati na pločici, upis novog programa vrlo je jednostavan.
Slijedi definiranje korištenih varijabli u programu:
PRILOG ČASOPISA “ABC tehnike” BR. 3 (599), ŠK. GOD. 2016./2017.
https://drive.google.com/file/d/0ByP83LlPYoECa3FFdTY0ZndVek0/ view?usp=sharing Kada skinete datoteku final.hex možete programirati mikrokontroler koristeći BASCOM-AVR. pa deklaracija potprograma:
Za uključenje/isključenje svjetla u pametnoj kući najprikladnije je koristiti tipke. Za svaku prostoriju potrebno je staviti posebnu tipku.
Za korištenje analogno-digitalnog pretvornika u mikrokontroleru potrebno ga je inicijalizirati: Serijska komunikacija s modulom Bluetooth odvija se u prekidnoj rutini koju inicijaliziramo na sljedeći način:
Pokrenite program te odaberite Options (Alt+o) te u padajućem izborniku odaberite Programmer. Sada za programator odaberite USBASP kao na slici i potvrdite s OK.
Sada slijedi glavni dio programa koji se izvršava u beskonačnoj petlji Do...Loop. Unutar te petlje mikrokontroler radi: a) poziva potprogram za očitanje temperature (podatak o temperaturi dostupan je svake sekunde) b) očitane podatke senzora šalje preko modula Bluetooth c) mjeri napon na analognom ulazu te ovisno o njegovom stanju uključuje/isključuje pripadajuće izlaze.
Kao što je vidljivo na slici, tipke možete povećavati ili smanjivati ako ih primite za donji desni kut, dok ih pomičete po zaslonu koristeći gornji lijevi kut. Sada je potrebno po želji razmjestiti pet tipki.
Glavni program izgleda ovako:
Pritiskom na F4 otvara se prozor u kojem je potrebno učitati hex-datoteku:
Naredba mikrokontroleru šalje se pritiskom na pojedinu tipku. Svaka tipka mora slati različiti kod. Zbog jednostavnosti ovdje se šalju brojevi od 0 do 4. Ono što želimo da tipka odašilje definira se na sljedeći način. Pritiskom na neku tipku otvara se meni u kojem odaberemo set press action,
Učitana hex-datoteka izgleda ovako:
Pet izlaza koristi se za uključenje/isključenje svjetla u pojedinim prostorijama. Nalog za uključenje/isključenje svjetala šalje mobilni telefon preko modula Bluetooth. Prekidna rutina za prihvaćanje naredbi izgleda ovako:
nakon čega upišemo koji će znak (ili više znakova) biti odaslan pritiskom tipke. U ovom primjeru to će biti znak 0. Na isti način definiramo i preostale tipke. U aplikaciji za pametnu kuću koriste se i tekstna polja u kojima se ispisuje očitana temperatura u kući. Gotovo sučelje aplikacije izgleda ovako: Pritiskom na tipku za programiranje, mikrokontroler je spreman za rad. Zadnji korak izrade je izraditi aplikaciju za mobilni telefon. Za programiranje se koristi jednostavan programčić koji je dostupan na https://play.google.com/store/apps/details?id=com.hardcodedjoy.roboremo ili jednostavno odete na Trgovina Play te u pretraživač upišete roboremo free. Program je potrebno skinuti i instalirati. (Program je dostupan samo za platformu Android.)
Hex-datoteka za programiranje mikrokontrolera dostupna je na mrežnoj stranici:
Nakon što pokrenete program otvara se radni prostor u kojem možete dodavati razne objekte: tipke (button), klizače (slider), tekstna polja (text field) itd.
Budući da je program jednostavan, svatko može prilagoditi sučelje po želji. Navedena aplikacija je dostupna na https://drive.google.com/file/ d/0ByP83LlPYoECSDVUUmZ2bW4zRHc/view?usp=sharing Robert Herčeki, dipl. ing. el.