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:
- Ploča sa mikrokontrolerom (hardver)
- Integrisano razvojno okruženje (IDE) u kojem pišete i učitavate kod (softver)
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 i podrška zajednice (alati i kodovi za proširenje funkcionalnosti)
- ✅ Dodaci (senzori, motori, LED diode itd. — opciono, ali često se koriste)
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 Arduino Leonardo.
Arduino Uno je najpopularnija ploča. To je mala ploča sa mikrokontrolerom koja može primati podatke sa spoljašnjih uređaja i upravljati ulazno/izlaznim uređajima.
Druga važna komponenta je Arduino IDE — razvojno okruženje za pisanje programa ili "sketch"-ova. Ovi programi se pišu u programskom jeziku sličnom C ili C++.
Kako Arduino funkcioniše?
Arduino povezuje senzore i aktuatorske uređaje. Ploča prikuplja informacije sa senzora, kao što su fizičke veličine poput temperature, vlažnosti zemljišta, ubrzanja i intenziteta svetla.
Primeri projekata sa Arduino pločom
- Automatsko osvetljenje: LED diode se uključuju kada intenzitet svetla padne ispod određenih granica. Mikrokontroler prikuplja informacije sa svetlosnog senzora i šalje signal za paljenje svetla.
- Termometar: Senzor temperature očitava podatke o temperaturi okoline i prikazuje ih na LCD displeju.
- Pametni alarm: Kada PIR senzor detektuje pokret, aktivira se sirena.
- Joystick mini robot: Robot koristi senzore da izbegne prepreke.
- Pametno zalivanje biljaka: Senzor vlage u zemljištu detektuje kada treba zalivati biljke.
- Kontrola kamere: Servo motor pomera kameru levo ili desno prema podacima sa senzora pokreta.
Delovi Arduino Uno ploče
Arduino Uno se sastoji od mikrokontrolera, digitalnih i analognih pinova, naponskih priključaka, USB porta za povezivanje sa računarom i drugih komponenti koje omogućavaju povezivanje senzora i aktuatora.
Razumevanje Arduino Uno ploče
Arduino Uno je ploča sa mikrokontrolerom zasnovana na čipu ATmega328P. Popularan je izbor za početnike i profesionalce u elektronici, robotici i programiranju. Uno je dizajniran da rad sa mikrokontrolerima učini jednostavnim i pristupačnim. Sastoji se od nekoliko ključnih komponenti, od kojih svaka ima svoju specifičnu funkciju i upotrebu.
Glavne komponente Arduino Uno ploče i njihove funkcije
Pregled ključnih komponenti na Arduino Uno ploči:
- USB konektor (gore levo) – koristi se za programiranje ploče i napajanje sa računara.
- DC konektor (Power Jack) (gore desno) – omogućava povezivanje spoljnog izvora napajanja (7–12 V).
- 5 V i 3.3 V pinovi (desno od power jack-a) – obezbeđuju regulisane napone za napajanje senzora i modula.
- Reset taster (između USB i power jack-a) – resetuje mikrokontroler, prekidajući i ponovo pokrećući program.
- ATmega328P mikrokontroler (centar ploče) – glavni čip koji izvršava vaš program.
- 16 MHz kristalni oscilator (blizu mikrokontrolera) – obezbeđuje taktski signal za rad ATmega328P.
- ICSP pinovi (ispod kristala) – koriste se za in-system programiranje (ISP) mikrokontrolera.
- Digitalni ulazno/izlazni pinovi D0–D13 (gore desni red pinova) – mogu se konfigurisati kao ulazi ili izlazi; neki podržavaju PWM.
- TX i RX pinovi (pinovi 1 i 0) –
- Pin 1 (TX) – slanje podataka
- Pin 0 (RX) – primanje podataka
- TX/RX LED diode (pored digitalnih pinova D0–D1) – pokazuju serijsku komunikaciju (slanje ili prijem podataka).
- Power LED (blizu reset tastera) – pokazuje da je ploča uključena.
- Analogni ulazi A0–A5 (donji levi red pinova) – koriste se za merenje analognih vrednosti (0–5 V).
- AREF pin (pored analognih ulaza) – referentni napon za analogno-digitalni konverter.
- GND pinovi (raspoređeni po ploči) – zajednička nulta tačka (0 V) za sve uređaje.
- Vin pin (blizu GND pinova) – omogućava direktno napajanje ploče istim naponom kao DC konektor.
- Elektrolitski kondenzatori – koriste se za:
- Stabilizaciju napajanja – izravnavaju fluktuacije napona (npr. sa power jack-a)
- Filtriranje šuma – uklanjaju električni šum sa napajanja
- Buforisanje energije – obezbeđuju dodatnu struju pri naglim promenama opterećenja
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?
- Povežite Arduino sa računarom putem USB kabla.
- Otvorite Arduino IDE.
- Idite na File → Examples → 01.Basics → Blink.
- Izaberite ploču: Tools → Board → Arduino Uno.
- Izaberite odgovarajući port: Tools → Port.
- 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 (Arduino.cc), ali je napravljena prema istim specifikacijama i obično funkcioniše na isti način.
Prednosti:
- Znatno je jeftinija od originalne ploče
- Funkcioniše za većinu edukativnih ili hobističkih projekata
Mana ili stvari na koje treba obratiti pažnju:
- Niži kvalitet izrade (lemljenje, konektori, reset taster)
- Mogu koristiti drugačiji USB čip (često CH340 umesto ATmega16U2)
- Možda nisu testirani tako rigorozno kao originali
- Drvajeri se možda neće automatski instalirati
Saveti prilikom korišćenja Clone Arduino Uno R3:
1. Proverite USB-to-Serial čip
- Originali koriste ATmega16U2
- Klonovi često koriste CH340G ili CP2102
- Možda ćete morati ručno instalirati drajvere (posebno za CH340G)
Savet: Pretražite „CH340G driver download“ ako računar ne prepoznaje ploču.
2. Proverite kvalitet izrade
Proverite lemne spojeve, poravnanje pinova i konektore. Slabi konektori se mogu oštetiti pri čestoj upotrebi.
3. Ograničenja napajanja
Neki klonovi možda ne regulišu napon pravilno. Nemojte ih pritiskati blizu 12V ako se pregrevaju.
4. Koristite Arduino IDE normalno
Odaberite "Arduino Uno" u IDE-u i učitavajte sketch-e kao sa originalom.
5. Testirajte bootloader
Neki klonovi mogu imati loš bootloader ili ga možda uopšte nemaju. Ako učitavanje ne uspe, možda ćete morati ponovo zapaliti bootloader koristeći drugi Arduino kao ISP.
6. Izbegavajte kritične primene
Za učenje, hobije ili prototipove: □ Klon je prihvatljiv.
Za profesionalnu ili kritičnu upotrebu: □ Bolje koristiti originalnu Arduino ploču zbog veće pouzdanosti.
Rezime u tabeli:
| Stavka | Original Uno | Klon Uno |
|---|---|---|
| Cena | Viša | Niža |
| USB čip | ATmega16U2 | CH340G, CP2102 |
| Potrebni drajveri | Ne | Ponekad da |
| Kvalitet izrade | Odličan | Varira |
| Kompatibilnost sa Arduino IDE | Potpuna | Potpuna |
| Pogodan za učenje | Da | Da |
| Pogodan za proizvodnju | Da | Sa oprezom |
Povezivanje Arduino-a sa drugim programima – primeri i uvod
Jedna od najvećih prednosti Arduino platforme je mogućnost komunikacije sa drugim softverskim alatima putem serijskog porta (Serial). Ova komunikacija omogućava da se informacije sa senzora i uređaja prikazuju, analiziraju ili vizualizuju u realnom vremenu na računaru. U ovom vodiču fokusiraćemo se na povezivanje Arduino UNO ploče sa programom Processing.
Processing je programski jezik i razvojno okruženje zasnovano na Javi (postoji i JavaScript verzija - p5.js) koje se koristi za:
- Grafičke animacije
- Interaktivne vizualizacije
- Edukativne i umetničke projekte
- Prikaz i obradu podataka u realnom vremenu
Vrlo je jednostavan za učenje, a u kombinaciji sa Arduino-om pruža snažnu osnovu za primenjenu elektroniku, vizualizaciju podataka sa senzora i interaktivne umetničke instalacije.
Kako funkcioniše komunikacija?
Arduino i Processing komuniciraju putem serijskog porta (USB). Procedura je sledeća:
- Arduino šalje podatke sa senzora (npr. temperatura, svetlost, udaljenost) preko serijskog porta.
- Processing čita te podatke i koristi ih za prikaz animacija, crteža ili grafika u realnom vremenu.
Primeri upotrebe
-
Prikaz nivoa svetlosti (LDR senzor)
• Vrednosti svetlosti sa LDR senzora prikazuju se kao interaktivna vizuelna traka ili kružni skali u Processing-u.
• Boja ekrana menja se u zavisnosti od osvetljenja sobe. -
Grafički prikaz temperature u realnom vremenu
• Arduino koristi DHT11 senzor za merenje temperature.
• Podaci se šalju svakih pola sekunde preko serijskog porta.
• Processing prikazuje temperaturu kao pomerajuću linijsku grafiku. -
Interaktivni robot u Processing-u
• Ultrazvučni senzor meri udaljenost.
• Na osnovu udaljenosti, Processing prikazuje grafičkog robota koji se približava ili udaljava od objekta. -
Kontrola igre pokretima
• Arduino koristi žiroskop ili džojstik.
• Pokreti se prenose u Processing i koriste za kontrolu objekata u mini-igri (npr. pomeranje lopte ili automobila). -
Vizualizacija pametne sobe
• Senzori za temperaturu, svetlost i prisustvo u prostoru.
• Processing crta mapu sobe u kojoj se stanje prikazuje vizuelno (npr. svetlo uključeno, prozor otvoren, grejač aktivan...).
Prikaz nivoa osvetljenja (LDR senzor) >|