UVOD:

U ovoj lekciji naučiti ćemo kako koristiti LCD1602 na Arduino platformi. Najprije ćemo na ekranu LCD1602 prikazati putujući tekst “Pozdrav svima!”, a nakon toga prikazati ćemo statični tekst “MERLIN10” i “www.merlin10.com”. Naravno da je moguće promijeniti ovaj tekst.

MATERIJAL:

1x Arduino Uno
1x USB kabel
1x LCD1602
1x potenciometar 10k
1x Prototipna pločica
– Nekoliko žica za spajanje

Kôd programa:

 

 

SHEMA:

Princip rada:

LCD1602 je,očigledno, vrsta LCD ekrana. LCD ima paralelno sučelje, što znači da mikrokontroler istovremeno mora upravljati sa nekoliko pinova na sučelju da bi mogao upravljati prikazoma na ekranu. Sučelje sadrži sljedeće pinove:

– (RS) Register select pin koji upravlja gdje će se u memoriji LCD-a zapisati podaci. Možete odabrati ili podatkovni register, koji zadržava ono što ide na ekran, ili instrukcijski register koji “govori” kontroleru LCD-a gdje da traži instrukcije za sljedeći korak
– (R/W) Read/Write pin koji određuje mod čitanja ili mod zapisivanja podataka
– “Enable” pin koji omogućava zapisivanje u registre
– 8 podatkovnih pinova (D0-D7). Stanje ovih pinova (uključeno ili isključeno) su bitovi podataka koji zapisujete u register kada zapisujete, ili neka vrijednost podatka kada isčitavate podatke.
– Imamo još (Vo) pin za kontrolu kontrasta ekrana, pinove za napajanje (+5V i Gnd) i pinove za pozadinsko osvljetljenje ekrana (Bklt+ i Bklt-).

Proces upravljanja ekranom uključuje slanje podataka koji čine sliku onoga što želimo prikazti na ekranu. Ti podaci šalju se u registar podataka,a zatim se šalju instrukcije u registar instrukcija. LiquidCrystal library vam pomaže u tome i čini ovaj postupak jednostavnijim, tako da ne morate znati “low-lwvwl” instrukcije.

Hitachi kompatibilni LCD ekrani mogu biti upravljani u dva moda: 4-bitni ili 8-bitni. 4-bitni mod zahtjeva sedam ulazno-izlaznih pinova na Arduinu, dok 8-bitni mod zahtjeva 11 pinova. Za prikaz praktički bilo kakvog teksta na ekranu dovoljan vam je 4-bitni mod, tako da će i naš primjer prikazati kako upravljati 2×16 LCD-om u 4-bitnom modu.

Potenciometar je vrsta otpornika sa tri kontakta, sa kliznim ili rotirajućim kontaktom koji radi kao podesivi djelitelj napona. Ako koristimo samo dva kontakta(jedan fiksni i klizač), tada potenciometar radi kao promijenjivi otpornik ili reostat. Na slikama ispod možete vidjeti najčešće oblike potenciometara koji se danas susreću.

xxxxxslike potencometaraxxxxxx

Funkcije:
-begin()
Određuje dimenzije (širina i visina) ekrana/displeja

Sintaksa:
lcd.begin(cols,rows)

Parametri:
lcd: varijabla vrste LiquidCrystal
cols: broj stupaca koje ima ekran
rows: broj redova koje ima ekran

setCursor()
Pozicionira kursor na LCD-u; odrđuje položaj na ekranu gdje će tekst biti prikazan.

Sintaksa:
lcd.setCursor(col, row)

Parametri:
lcd: varijabla vrste LiquidCrystal
col: stupac na kojem će se pozicionirati kursor (0 je početak prvog stupca)
row: red u kojem će se pozicionirati kursor (0 je početak prvog reda)

scrollDisplayLeft()
Skrola (pomiče) sadržaj ekrana (tekst i kursor)za jedno mjesto u lijevo.

Sintaksa:
lcd.scrollDisplayLeft)

Parametri:
lcd: varijabla vrste LiquidCrystal

Primjer:
scrollDisplayLeft() i scrollDisplayRight()

Pogledajte i scrollDisplayRight()

print()
Ispisuje tekst na LCD-u

Sintaksa:
lcd.print(data)
lcd.print(data, BASE)

Parametri:
lcd: varijabla vrste LiquidCrystal
data: podaci za ispis (char, byte, int, long, ili string)
BASE: (opcionalno): baza za ispis brojeva : BIN za binarno (baza 2), DEC za decimalno (baza 10), OCT za oktalno (baza 8), HEX za heksidecimalno (baza 16).

Returns:
byte
print() će vratiti broj zapisanih bajtova, što je opcionalno

clear()
Čisti ekran i postavlja kursor u gornji lijevi kut

Sintaksa:
lcd.clear()

Parametri:
lcd: varijabla vrste LiquidCrystal

Video:

UVOD:

U ovoj lekciji, programirati ćemo Arduino za upravljanje pasivnom zujalicom (buzzerom). Posljedično, zujalica će proizvesti zvuk, melodiju, odnosno reproducirati određene tonove. Molim vas da ovakvu vrstu reprodukcije ne zamjenjujete sa MP3 formatom, jer u ovom slučaju to nije MP3 ili neki drugo audio format.

 

MATERIJAL:

1x Arduino Uno
1x USB kabel
1x NPN tranzistor (8050)
1x otpornik 1k
1x otpornik 220R
1x pasivna zujalica
1x LED
1x Prototipna pločica
– Nekoliko žica za spajanje

Kôd programa:

 

SHEMA:

Princip rada:

Štreberski opis principa rada pasivne zujalice ide otprilike ovako: sve dok pasivnoj zujalici šaljete pravokutni signal različite frekvencije, zujalica će proizvoditi različite zvukove.
Ključne funkcije:

– tone()
Generira pravokutni signal određene frekvencije (ciklus od 50%) na određenom pinu. Trajanje može biti određeno, inače se signal ponavlja sve do pozivanja funkcije noTone(). Na pin možemo spojiti piezo zujalicu ili neki drugi odgovarajući zvučnik za reprodukciju tonova.

Istovremeno možemo generirati samo jedan ton. Ako se na nekom drugom pinu već reproducira ton, tada pozivanje funkcije tonne() neće imati efekta. Ukoliko se ton izvodi na istom pinu pozivanje funkcije će podesiti njegovu frekvenciju.

Korištenje funkcije tone() će interferirati sa PWMmpinovima 3 i 11 (na svim pločama osim Mega ploče).

NAPOMENA:
Ukoliko želite izvoditi različite visine tonova na više pinova, tada morate pozvati funkciju noTone() na pinu prije pozivanja funkcije tone()na slijedećem pinu.

Sintaksa:
tone(pin, frequency)
tone(pin, frequency, duration)

Parametri:
pin: pin na kojem će se generirati ton
frequency: frekvencija tona u hercima – unsignet int
duration: trajanje tona u milisekundama (opcija) – unsignet long

Returns:
ništa

noTone()
Zaustavlja generiranje pravokutnog signala pokrenutog funkcijom tone(). Ova funkcija neće imati nikakav efekt,ako nije generiran niti jedan ton.

NAPOMENA:
Ukoliko želite izvoditi različite visine tonova na više pinova, tada morate pozvati funkciju noTone() na pinu prije pozivanja funkcije tone()na sljedećem pinu.

Sintaksa:
noTone(pin)

Parametri:
pin: pin na kojem će se zaustaviti generiranje tona

Returns:

ništa

Video: