Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 13

Fakultet inženjerskih nauka Univerziteta u Kragujevcu

STRUČNA PRAKSA
Arduino platforma
modul ESP8266 / senzor DHT11

3D ŠTAMPA

Mentor: Student:
dr prof. Nenad Grujović Milica Petrović, 52/2015
Sadržaj
1.UVOD............................................................................................................................................ 3
2.ARDUINO UNO ............................................................................................................................. 3
3. WIFI MODUL ESP8266................................................................................................................. 4
4.TEMPERATURNI SENZOR DHT11.................................................................................................. 9
5. RAZVOJNO OKRUŽENJE ARDUINO .............................................................................................. 5
5.1.INSTALACIJA .......................................................................................................................... 5
5.2.PODEŠAVANJE OKRUŽENJA ZA PISANJE KODA ..................................................................... 5
6. POVEZIVANJE ARDUINA I WIFI MODULA ESP8266 ..................................................................... 7
6.2.FLESOVANJE WIFI MODULA 8266 ......................................................................................... 8
6.3.POVEZIVANJE TEMPERATURNOG SENZORA I WIFI MODULA ESP8266 .............................. 11
6.4. KONEKCIJA ESP8266............................................................................................................. 9
7. SLEEP MODE ................................................................................. Error! Bookmark not defined.
8.IMPLEMENTACIJA KODA ZA TEMPERATURNI SENZOR DHT11 .................................................. 12
9.PHP PROGRAMSKI JEZIK............................................................................................................. 13
10.PRAVLJENJE SERVERA .............................................................................................................. 13
11.APLIKACIJA .................................................................................. Error! Bookmark not defined.
1.UVOD
Programiranje pojedinih delova i povezivanje u celinu vrši se pomoću Arduino IDE
programskog okruženja. Arduino IDE programsko okruženje koristi programski jezik C.
Najpre je potrebno nabaviti sve potrebne elemente koji će koristiti u realizaciji samog
projekta, nakon čega se pojedinačno spaja element po element uz istovremeno pisanje
koda u Arduino IDE programskom okruženju, a zatim I njegovo testiranje na
eksperimentalnoj pločici. Prilikom završetka spajanja svih potrebnih delova i njihovog
testiranja, potrebno je izraditi završnu verziju programskog koda gde svi delovi rade
sinkronizovano u jednoj celini.

2.ARDUINO UNO

Arduino Uno je mikrokontroler baziran na ATmega328P


I sastoji od softverskog i hardverskog dela. Softverski
deo Arduino UNO razvojnog sistema sastoji se od
programa koji se koriste za prevođenje programskog
jezika C u asemblerski kod. Hardverski deo Arduino UNO
razvojnog sistema sastoji se od razvojne ploče koja
sadrži mikrokontroler ATMEL koji razume samo
asemblerski kod. Nakon prenesenog prevedenog koda u
memoriju mikrokontrolera, on se izvršava sve dok ima
napajanja. Prilikom prekida napajanja ili restartovanja,
programski kod počinje da se izvršava iz početka. Vreme koje je potrebno za obradu
pojedinih podataka unutar mikrokontrolera kraće je od milisekunde, što omogućava
relativno brzu obradu podataka.
Sadrži 14 digitalnih pinova(izlaza/ulaza), 6 analognih ulaza, 16Mhz kvarcnog kristala, ulaz
za USB kabal, ulaz za napajanje, ICSP header i reset dugme.

Lako spajanje novih modula i priključaka je ključna stvar kod Arduina. Dodaci – moduli za
Arduino se nazivaju šildovima (engl.shield ). Kupuju se gotovi ili ih sami pravimo po
potrebi. Svrha šildova je proširenje funkcionalnih mogućnosti. Najpoznatiji šildovi su: GPS,
GSM, bluetooth, ethernet, LCD ekran, RFID,
relay, itd. Gotovi Arduino bordovi dolaze sa
sopstvenim bootloaderom koji omogućava
upload napisanih programa u fleš memoriju
Arduina. Ranije verzije Arduino sistema su
koristile serijski port RS-232 za
programiranje i komunikaciju, a noviji
Arduino sistemi danas rade preko USB-a.
3. WIFI MODUL ESP8266

ESP8266 WIRELESS Modul omogućava spajanje Arduina na internet bežičnom vezom. Pinovi s
modula se spajaju na odgovarajuće pinove na mikrokontrolerom. Potrebno je paziti na
napajanje, kod modula iznosi 3.3V, dok je napajanje Arduina 5V
The ESP8266 WiFi Module is a self contained SOC with integrated TCP/IP protocol stack that can
give any microcontroller access to your WiFi network. The ESP8266 is capable of either hosting an
application or offloading all Wi-Fi networking functions from another application processor. Each
ESP8266 module comes pre-programmed with an AT command set firmware, meaning, you can
simply hook this up to your Arduino device and get about as much WiFi-ability as a WiFi Shield offers
(and that’s just out of the box)! The ESP8266 module is an extremely cost effective board with a huge,
and ever growing, community.
This module has a powerful enough on-board processing and storage capability that allows it to be
integrated with the sensors and other application specific devices through its GPIOs with minimal
development up-front and minimal loading during runtime. Its high degree of on-chip integration allows
for minimal external circuitry, including the front-end module, is designed to occupy minimal PCB area.
The ESP8266 supports APSD for VoIP applications and Bluetooth co-existance interfaces, it contains
a self-calibrated RF allowing it to work under all operating conditions, and
requires no external RF parts.

VCC: Naponski pin preko kojeg se dobija napon.


GND: Uzemljenje.
TKS: Ovaj pin se koristi za prenos serijskih podataka na druge uređaje.
RKS:Koristi se za prijem serijskih podataka sa drugih uređaja.
RST: Reset Pin.(ESP8266 će se resetovati ako RST pin primi low signal).
CH_PD: Ovo je pin za omogućavanje čipa i aktivan je HIGH Pin. Obično je povezan sa 3.3V.
GPIO0: Opcionalni I / O pin ima dve funkcije - jedan za normalni GPIO rad, a drugi za omogućavanje Programskog
režima ESP8266.
4. RAZVOJNO OKRUŽENJE ARDUINO
Open source Arduino software (IDE) olakšava pisanje i aploadovanje koda na ploču. Radi na svim
platformama - Windows, Linux i Mac operativnim sistemima. Okruženje je napisano u JAVA
programskom jeziku. Ovaj softver se može koristiti na svim ARDUINO pločama. Preko ARDUINO
softvera, kod se može pisati na bilo kom programskom jeziku. Takođe, postoje i mnogobrojne
besplatne biblioteke koje se instaliraju kako bi se projekti pisani preko ovog softvera što više
unapredili.

4.1.INSTALACIJA
Arduino softver se instalira tako što se pokrene instalacija za odgovarajući operativni sistem koja
se nalazi na originalnom sajtu Arduina u odeljku SOFTWARE.

Nakon toga se vrsi optimizacija okruzenja u zavisnosti od potrebe projekta koji se preko ovog
okruženja ostvaruje.

4.2.PODEŠAVANJE OKRUŽENJA ZA PISANJE KODA


Da bi se omogućilo pravilno funkcionisanje programa, potrebno je prilagoditi određene
komponente softvera sa potrebama projekta koji se izvršava.
Prvo što treba da se uradi jeste pravljenje novog projekta preko opcije File-New [] i snimanje fajla
preko opcije File-Save as.
Zatim se preko opcija File-Preferences-Settings dolazi do prozora [] gde se u pravougaonik
Aditional Boards Managers URL[] kopira sledeći link:
http://arduino.esp8266.com/stable/package_esp8266com_index.json

Nakon toga se vrši povezivanje odgovarajuće platforme. Fizičko povezivanje preko USB kabla i
programsko preko opcija: Tools-Board gde se iz liste platformi izabere odgovarajuća. Zatim,
potrebno je da se odabere odgovarajući port(Provera se vrši u Device Menager-u), koji se nalazi
u opcijama Tools-Port.
U zavisnosti od platforme koja se koristi, nekada je potrebno instalirati dodatne drivere, ali to
nije čest slučaj. Uglavnom se instalacija istih vrši prilikom fizičkog povezivanja platforme i
računara.
Takođe, u zavisnosti od potreba projekta, odnosno od senzora koji se koriste, potrebno je
instalirati određene biblioteke koje su
besplatne i instaliraju se tako što se preko
opcija Sketch-Include library-Manage
libraries dođe do prozora[] i perko
pretraživača pronađe odgovarajuća I
preko dugmeta install instalira. Nakon
toga potrebno je tu istu biblioteku
uključiti u projekat tako što se preko
opcija Sketch-Include library iz liste
padajućeg menija izabere odgovarajuća
biblioteka.
5. POVEZIVANJE ARDUINA I WIFI MODULA ESP8266
Da bismo omogućili pravilnu implementaciju koda na modul ESP8266, prvo je potrebno odraditi
nekoliko bitnih stavki. Prva stavka je fizičko povezivanje, a zatim i flešovanje samog wifi modula
kao i prilagođavanje radnog okruženja potrebama senzora. Na slici[] se može viditi šema
povezivanja modula sa platformom Arduino Uno. Modul ESP8266 se sastoji od 8 pinova koji se
povezuju sa odgovarajućim ulazima/izlazima arduina. U sledećoj podeli vidimo čemu služe
pinovi koji se nalaze na modulu, a slika [] ih vizuelno prikazuje.

VCC: Naponski pin preko kojeg se dobija napon.


GND: Uzemljenje.
TKS: Ovaj pin se koristi za prenos serijskih podataka na druge uređaje.
RKS:Koristi se za prijem serijskih podataka sa drugih uređaja.
RST: Reset Pin.(ESP8266 će se resetovati ako RST pin primi low signal).
CH_PD: Ovo je pin za omogućavanje čipa i aktivan je HIGH Pin. Obično je povezan sa 3.3V.
GPIO0: Opcionalni I / O pin ima dve funkcije - jedan za normalni GPIO rad, a drugi za
omogućavanje Programskog režima ESP8266.

Povezivanje je sledeće:

VCC – – > 3.3V


GND – – > GND
CH_PD – – > 3.3V
RST – – > Normally Open; GND to Reset
GPIO0 – – > GND
TX – – > TX of Arduino
RX – – > RX of Arduino (through level converter)
5.2.FLESOVANJE WIFI MODULA 8266
Prethodna slika[] prikazuje šematski prikaz fizičkog povezivanja Arduino platforme i modula
ESP8266. Nakon ovog povezivanja potrebno je prilagoditi radno okruženje. Kao testni kod,
odnosno kod za flešovanje ćemo koristiti najednostavniji kod za blinkovanje led lampica na
određen vremenski period, koji se i sam nalazi u listi primera programa Arduina.
Koraci:
1. Pokretanje novog projekta[]
2. Podešavanje porta i platforme, senzora[]
3. Instalacija i uključivanje biblioteke za modul ESP8266[]
4. Implementacija koda[]

Kod za blinkovanje led lampice je sledeći:


void setup() {
pinMode(2, OUTPUT) }
void loop() {
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(2, LOW);
delay(1000); }
Na serial monitoru, koji se nalazi u opciji Tools mozemo pratiti izvrsavanje koda[].

5.3. KONEKCIJA ESP8266 NA INTERNET


Da bi se flešovao wifi modul, nije potrebna celokupna šema koja je prikazana na slici[] ,jer za
flešovanje esp8266, je dovoljan običan kod koji se nalazi u samom okruženju, a to je upravo kod
za pretraživanje dostupnih mreža. Mi smo preikazali flešovanje uz primer za blinkovanje led
lampica jer se tako moze videti konekcija izmedju lampice i modula preko pina GPIO2.
Na slici[] možemo da da vidimo povezivanje arduina i modula Esp8266 za jednostavnije
flešovanje.

 GND-GND
 VCC-3,3v
 GPIO0-GND
 GPIO2-/
 RST-služi za resetovanje
modula.On se po
potrebi uključuje u GND
i isključuje kako bi se
resetovao.
 RX-RX
 TX-TX

6.TEMPERATURNI SENZOR DHT11

DHT-11 je sensor ya merenje temperature I vlažnosti vazduha sa jednožičnim digitalnim


interfejsom. Senzor je fabrički kalibrisan i nisu potrebne dodatne komponente za njegovu
primenu i samim tim se odmah nakon povezivanja i uključivanjem odgovarajuće biblioteke može
upotrebiti za merenja. Sastoji se od kapacitivnog senzora vlažnosti vazduha, termistora za
merenje temperature i elektronike za komunikaciju sa mikrokontrolerom. Sadrži 3 pina preko
kojih se konektuje na izvor napajanja i neke druge uredjaje/senzore ukoliko je potrebno.
Tehničke karakteristike:

 Napajanje: 5V DC
 Potrošnja sturje: 2,5mA(za vreme konverzije)
 Opseg temperature: 0-50C +- 2C
 Opseg vlažnosti:20-80% RH preciznost +-5%RH
 Digitalni interfejs

GND pin se povezuje na uzemljenje, Data pin na****, a VCC na napon.


Da bi sensor funkcionisao kako treba, pored tačno implementiranog koda, potrebno je pre
svega instalirati određenu biblioteku za sensor DHT11 i njeno ubacivanje u kod.
Instaliranje biblioteke se vrši preko opcije Sketch->Include Library->Menage Libraries [], i u
prozoru [] preko search pretražujemo DHT11 i preko dugmeta INSTALL instalirao biblioteku.

Nakon toga, potrebno je da se uključi u kod preko naredbe #include "DHT.h".

6.1.Implementacija koda za temperaturni sensor DHT11


Da bi sensor funkcionisao kako treba, pored tačno implementiranog koda, potrebno je pre
svega instalirati određenu biblioteku za sensor DHT11 i njeno ubacivanje u kod.
Instaliranje biblioteke se vrši preko opcije Sketch->Include Library->Menage Libraries [], i u
prozoru [] preko search pretražujemo DHT11 i preko dugmeta INSTALL instalirao biblioteku.
Nakon toga, potrebno je da se uključi u kod preko naredbe #include "DHT.h".

#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
Void setup(){
dht.begin();}
void loop(){
delay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return; }
send("temperature",t);
send("humidity",h);
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C ");}

6.2.POVEZIVANJE TEMPERATURNOG SENZORA I WIFI MODULA ESP8266


Nakon uspesno povezanog i flesovanog modula ESP8266, da bismo u potpunosti imali sve
potrebne elemente za pravljenje projekta, potrebno je povezati i sensor za merenje
temperature i vlaznosti vazduha sa modulom ESP8266 jer će on čitati podatke sa senzora i slati
na server, odakle će se kroz aplikaciju dobijati vrednosti koje će svako ko ima pristup aplikaciji
moći da koristi.
Fizičko povezivanje se ostvaruje tako što se pin VCC na senzoru povezuje na napon od 3.3 V, a
pin GND na GND. Da bi se ostvarila konekcija izmedju modula ESP8266 senzora DHT11
potrebno je povezati DATA pin temperaturnog senzora sa pinom GPIO2 wifi modula.
Na slici[] možemo videti šematski prikaz povezivanja.

7.IMPLEMENTACIJA KODA ZA TEMPERATURNI SENZOR DHT11 I MODULA


ESP8266-01
Da bi sensor funkcionisao kako treba, pored tačno implementiranog koda, potrebno je pre
svega instalirati određenu biblioteku za sensor DHT11 i njeno ubacivanje u kod.
Instaliranje biblioteke se vrši preko opcije Sketch->Include Library->Menage Libraries [],
I u prozoru [] preko search pretražujemo DHT11 i preko dugmeta INSTALL instalirao biblioteku.

Nakon toga, potrebno je da se uključi u kod preko naredbe #include "DHT.h".


9.PHP PROGRAMSKI JEZIK

10.PRAVLJENJE SERVERA

You might also like