Uvod u Arduino


Arduino je open-source platforma za elektroniku zasnovana na jednostavnom hardveru i softveru. Cilj joj je da elektroniku učini pristupačnijom za hobiste, studente, umetnike, inženjere i sve koji žele da kreiraju interaktivne uređaje.

U svojoj suštini, Arduino se sastoji od dve glavne komponente:

  • Hardver — ploča sa mikrokontrolerom
  • Softver — Arduino IDE u kojem pišete i učitavate kod
Arduino Uno ploča

Arduino Uno

Najpopularnija ploča za početnike i učenje osnova.

Arduino Nano ploča

Arduino Nano

Kompaktna verzija pogodna za male projekte.

Arduino Mega ploča

Arduino Mega

Napredna ploča sa više pinova za kompleksnije projekte.

Arduino vam omogućava da kontrolišete svetla, motore, senzore, displeje i mnogo toga drugog, na osnovu uslova koje sami programirate.


Komponente Arduino sistema

  • ✅ Arduino ploča (npr. Uno, Mega, Nano — različiti modeli)
  • ✅ Arduino IDE (softver za pisanje i učitavanje koda)
  • ✅ Biblioteke (gotove funkcije koje olakšavaju rad)
  • ✅ Dodaci (senzori, motori, LED diode itd.)
Važno:

Arduino je most između softvera i fizičkog sveta — programiraš pravila, a ploča ih izvršava u realnom okruženju.

Najčešće Arduino ploče i rad sa IDE-om

Najčešće korišćene ploče su Arduino Uno, zatim Arduino Nano, a potom i Arduino Leonardo.

Arduino Uno je najpopularnija ploča — idealna za početnike. Može primati podatke sa senzora i upravljati različitim uređajima kao što su LED diode, motori i displeji.


Arduino IDE (okruženje za programiranje)

Druga ključna komponenta je Arduino IDE — razvojno okruženje u kojem pišete programe (tzv. sketch).

Programi se pišu u jeziku sličnom C/C++, a zatim se jednim klikom učitavaju na ploču.

Arduino IDE okruženje

Arduino IDE

Okruženje za pisanje i upload koda na ploču.


Kako Arduino funkcioniše?

Arduino povezuje senzore i izvršne uređaje (aktuatora) u jednostavan sistem:

  • Ulaz (Input) — senzori prikupljaju podatke
  • Obrada (Processing) — mikrokontroler obrađuje podatke
  • Izlaz (Output) — uređaji reaguju (LED, motor, zvuk...)
Jednostavno pravilo:

ULAZ → OBRADA → IZLAZ
Arduino input output dijagram

Kako Arduino radi

Senzori šalju podatke, Arduino ih obrađuje i upravlja uređajima.


Primeri projekata sa Arduino pločom

  • Automatsko osvetljenje: LED se uključuje kada padne nivo svetla.
  • Termometar: temperatura se meri i prikazuje na displeju.
  • Pametni alarm: detekcija pokreta aktivira zvuk.
  • Mini robot: izbegava prepreke pomoću senzora.
  • Pametno zalivanje: biljke se zalivaju kada je zemlja suva.
  • Kontrola kamere: servo motor pomera kameru.
Primeri Arduino projekata

Arduino projekti

Različite primene: automatizacija, robotika i pametni sistemi.


Delovi Arduino Uno ploče


Arduino Uno se sastoji od mikrokontrolera, digitalnih i analognih pinova, naponskih priključaka i USB porta za povezivanje sa računarom.

Delovi Arduino Uno ploče

Delovi Arduino Uno

Prikaz osnovnih komponenti na ploči.

Savet:

Ne moraš odmah zapamtiti sve delove ploče — najvažnije je da razumeš kako se koriste kroz praksu.
Slika 1 prikazuje arduino UNO ploču sa njenim komponentama. Možete videti kloniranu varijantu Arduino UNO.

Razumevanje Arduino Uno ploče

Arduino Uno je ploča sa mikrokontrolerom zasnovana na čipu ATmega328P. To je najčešći izbor za početnike jer je jednostavan za korišćenje, ali dovoljno moćan za ozbiljne projekte.

Važno:

Arduino Uno je “mali računar” koji izvršava tvoj program i upravlja uređajima.

Arduino Uno sa označenim delovima

Arduino Uno — pregled

Označeni osnovni delovi ploče.


□ Napajanje i kontrola

  • USB konektor – programiranje i napajanje preko računara
  • DC konektor (7–12 V) – spoljašnje napajanje
  • Vin pin – alternativni ulaz za napajanje
  • 5 V / 3.3 V pinovi – napajanje senzora i modula
  • GND – zajednička masa (0 V)
  • Reset dugme – ponovno pokretanje programa

□ Glavni deo (procesiranje)

  • ATmega328P – izvršava program
  • 16 MHz oscilator – određuje brzinu rada
  • ICSP pinovi – napredno programiranje mikrokontrolera
Možeš ga zamisliti kao “mozak” koji stalno čita ulaze i odlučuje šta da radi.

□ Ulazi i izlazi (komunikacija sa svetom)

  • Digitalni pinovi (D0–D13) – ON/OFF signali
  • PWM pinovi (~) – simulacija analognih vrednosti (npr. jačina LED)
  • Analogni pinovi (A0–A5) – očitavanje senzora (0–5 V)
  • TX/RX (0 i 1) – serijska komunikacija
Primer:

Senzor → A0 → Arduino → LED na D13

□ Signalizacija i stabilnost

  • Power LED – ploča je uključena
  • TX/RX LED – komunikacija u toku
  • Kondenzatori – stabilizuju napon i uklanjaju šum

Česta greška:

Ne povezuj uređaje bez GND veze — bez zajedničke mase sistem neće raditi pravilno.

Prvi test Arduino ploče – Blink primer

Najjednostavniji način da proverite da li vaš Arduino radi ispravno jeste pokretanje poznatog primera Blink. Ovaj program uključuje i isključuje LED diodu u određenim vremenskim intervalima.

Šta je Blink?

Blink je osnovni primer koji dolazi uz Arduino IDE. On treperi ugrađenom LED diodom na pinu 13 (na Arduino Uno ploči). Ako LED počne da treperi – vaša ploča, USB konekcija i IDE su pravilno podešeni.

Kako pokrenuti Blink primer?

  1. Povežite Arduino sa računarom putem USB kabla.
  2. Otvorite Arduino IDE.
  3. Idite na File → Examples → 01.Basics → Blink.
  4. Izaberite ploču: Tools → Board → Arduino Uno.
  5. Izaberite odgovarajući port: Tools → Port.
  6. Kliknite na dugme Upload.

Primer koda:


void setup() {
  pinMode(13, OUTPUT);   // Podesi pin 13 kao izlaz
}

void loop() {
  digitalWrite(13, HIGH);  // Uključi LED
  delay(1000);             // Sačekaj 1 sekundu
  digitalWrite(13, LOW);   // Isključi LED
  delay(1000);             // Sačekaj 1 sekundu
}
  

Kako funkcioniše kod?

  • setup() – izvršava se samo jednom pri pokretanju.
  • loop() – izvršava se neprekidno u petlji.
  • pinMode() – definiše da li je pin ulaz ili izlaz.
  • digitalWrite() – postavlja pin na HIGH (5V) ili LOW (0V).
  • delay() – pravi pauzu u milisekundama (1000 ms = 1 sekunda).

Ako Blink ne radi:

  • Proverite da li ste izabrali pravi COM port.
  • Proverite da li je instaliran drajver (posebno kod klonova sa CH340 čipom).
  • Pokušajte da pritisnete RESET dugme pre upload-a.

✔ Ako LED dioda treperi – vaš Arduino je spreman za dalje eksperimente!

Šta je Clone Arduino Uno R3?

Klonska ploča nije proizvedena od strane originalnog Arduino tima, ali je napravljena prema istim specifikacijama i u većini slučajeva funkcioniše isto.

Arduino original i klon poređenje

Original vs Klon

Vizuelne razlike između originalne i klonske ploče.


✅ Prednosti klonova

  • Znatno niža cena
  • Odlični za učenje i hobističke projekte
Ako tek počinješ — klon je potpuno OK izbor.

⚠️ Na šta treba obratiti pažnju

  • Kvalitet izrade može varirati
  • Različiti USB čipovi
  • Ponekad je potrebna ručna instalacija drajvera

□ USB čip (najvažnija razlika)

  • Original: ATmega16U2
  • Klon: CH340G ili CP2102
CH340 USB čip na Arduino klonu

CH340 čip

Najčešći USB-serial čip kod klonova.

Važno:

Ako računar ne prepoznaje Arduino — najčešći razlog je nedostatak CH340 drajvera.

Savet: Pretraži: CH340 driver download


□️ Saveti za korišćenje

1. Proveri drajvere

Ako Arduino nije prepoznat u IDE-u, instaliraj odgovarajući drajver.

2. Obrati pažnju na kvalitet

Proveri konektore i pinove — jeftiniji modeli mogu biti osetljiviji.

3. Napajanje

Izbegavaj visoke napone ako ploča deluje nestabilno.

4. Arduino IDE

Izaberi "Arduino Uno" — radi isto kao original.

5. Bootloader

Ako upload ne radi, možda treba ponovo instalirati bootloader.


⚖️ Kada koristiti klon?

✔ Učenje i projekti → klon je odličan izbor

⚠ Profesionalni sistemi → bolje original

Rezime u tabeli

Stavka Original Uno Klon Uno
Cena Viša Niža
USB čip ATmega16U2 CH340G, CP2102
Drajveri Automatski Ponekad ručno
Kvalitet Stabilan Varira
Kompatibilnost Potpuna Potpuna
Za učenje Da Da
Za ozbiljne projekte Da Uz oprez

Problem:

Arduino se ne vidi u Port listi?
→ Instaliraj CH340 drajver

Povezivanje Arduino-a sa drugim programima

Jedna od najvećih prednosti Arduino platforme je komunikacija sa drugim programima putem serijskog porta (Serial).

To znači da Arduino može slati podatke sa senzora, a drugi program ih može prikazati, analizirati ili pretvoriti u grafiku u realnom vremenu.

Ideja:

Arduino meri → šalje podatke → računar prikazuje

Processing — vizuelni deo sistema

Processing je programski jezik zasnovan na Javi, namenjen za:

  • grafičke animacije
  • interaktivne vizualizacije
  • rad sa podacima u realnom vremenu
Processing vizualizacija podataka

Processing vizualizacija

Podaci sa Arduino pretvoreni u grafiku.

U kombinaciji sa Arduino-om, omogućava pravljenje interaktivnih aplikacija i vizuelnih sistema.


Kako funkcioniše komunikacija?

  • Arduino prikuplja podatke sa senzora
  • Podaci se šalju preko USB kabla (Serial)
  • Processing čita podatke i prikazuje ih
Arduino i Processing komunikacija dijagram

Komunikacija

Arduino → Serial → Processing


Primeri upotrebe

□ Nivo svetlosti

LDR senzor → vizuelna traka ili promena boje ekrana

□ Temperatura

Real-time grafikon temperature sa senzora

□ Interaktivni robot

Udaljenost → kretanje objekta na ekranu

□ Kontrola igre

Joystick ili pokret → kontrola objekta

□ Pametna soba

Vizuelni prikaz stanja senzora u prostoru

Primeri Arduino i Processing projekata

Primeri projekata

Interaktivni sistemi i vizualizacije.


Zašto je ovo važno?

Ovo je prvi korak ka:
  • IoT projektima
  • pametnim sistemima
  • interaktivnim aplikacijama

Praktičan primer: Arduino + Processing komunikacija

U ovom primeru Arduino šalje vrednosti sa senzora (ili simulirane vrednosti), a Processing ih prikazuje kao grafikon u realnom vremenu.

Cilj:

Arduino šalje broj → Processing ga prikazuje kao linijski grafikon

Arduino kod (slanje podataka)


void setup() {
  Serial.begin(9600);
}

void loop() {
  int vrednost = analogRead(A0); // očitavanje sa senzora

  Serial.println(vrednost); // slanje podatka

  delay(100);
}
Arduino šalje vrednosti između 0 i 1023 preko serijskog porta.

Processing kod (prikaz podataka)


import processing.serial.*;

Serial port;
int vrednost;

void setup() {
  size(600, 400);

  println(Serial.list()); // prikaz portova

  port = new Serial(this, Serial.list()[0], 9600);
}

void draw() {
  background(0);

  if (port.available() > 0) {
    String data = port.readStringUntil('\n');

    if (data != null) {
      vrednost = int(trim(data));
    }
  }

  float visina = map(vrednost, 0, 1023, 0, height);

  fill(0, 255, 0);
  rect(50, height - visina, 100, visina);
}

Rezultat

Šta vidiš na ekranu
Zelena traka koja raste i opada u zavisnosti od vrednosti senzora.
Processing grafikon Arduino podataka

Vizualizacija podataka

Real-time prikaz vrednosti sa Arduino ploče.


Kako ovo funkcioniše?

  1. Arduino čita vrednost sa senzora
  2. Šalje vrednost preko Serial porta
  3. Processing prima podatke
  4. Pretvara ih u grafiku
Arduino ne šalje grafiku — šalje samo brojeve.
Processing pretvara te brojeve u vizuelni prikaz.

Važne napomene

Problem sa portom:

Ako ne radi, promeni:

Serial.list()[0]
na odgovarajući port (npr. [1], [2]...)

Ne otvaraj Serial Monitor u Arduino IDE-u

Processing i Arduino IDE ne mogu koristiti isti port u isto vreme.

Eksperiment

  • Umesto senzora, koristi potenciometar
  • Promeni boju pravougaonika
  • Prikaži krug umesto trake
  • Povećaj brzinu (smanji delay)

Mini izazov

Napraviti linijski grafikon (kao EKG):
  • čuvaj prethodne vrednosti u nizu
  • crtaj liniju umesto pravougaonika

Sledeće
Prikaz nivoa osvetljenja (LDR senzor) >|