ŠKOLA PROGRAMIRANJA
Arduino Uno-F5 / T5 (F/T)
1. I2C - ULTRAZVUČNI SENZOR 5v18. ULTRAZVUČNI SENZOR - DIGITALNO
2. LIDAR - laserski senzor udaljenosti19. COLOR SENZOR - CRNA CRTA
3. KORAČNI MOTOR20. COLOR SENZOR - BOJE
4. I2C - LCD 2 x 1621. MAGNETSKI SENZOR - DIGITALNO
5. VOZILO + ULTRAZVUČI SENZOR22. TOPLINSKI SENZOR - ANALOGNO
6. RAMPA: Foto senzor + tipkalo23. IR SENZOR - ANALOGNO
7. I2C KOMUNIKACIJA24. IR SENZOR - DIGITALNO
8. GPS + LCD displej 16x2 (2)25. MOTOR - KONTROLA BRZINE OKRETAJA (ANALOGNO)
9. GPS + LCD displej 16x226. MOTOR TIPKALIMA - OKRETAJI MOTORA U OBE STRANE (DIGITALNO)
10. LED svijetlo - Audio senzor27. MOTOR TIPKALOM - OKRETAJI MOTORA U JEDNU STRANU (DIGITALNO)
11. KOMUNIKACIJA - NRF24L0128. MOTOR (DIGITALNO)
12. ENKODER MOTOR - POLUKORAK - PRECIZNIJE29. FOTO SENZOR - LED SVIJETLO (ANALOGNO)
13. ENKODER MOTOR - KORAK - MANJE PRECIZNO30. FOTO SENZOR - LED SVIJETLO (DIGITALNO)
14. TX - RX KOMUNIKACIJA (UART) (SOFT)31. LED SVIJETLO TIPKALOM (ANALOGNO)
15. TX - RX KOMUNIKACIJA (UART) (HARD)32. LED SVIJETLO (ANALOGNO)
16. SERVO MOTOR33. LED SVIJETLO TIPKALOM (DIGITALNO)
17. ULTRAZVUČNI SENZOR - ANALOGNO34. LED SVIJETLO (DIGITALNO)

I2C - ULTRAZVUČNI SENZOR 5v
Uno_spoj_35.jpg

I2C ultrazvučni senzor spojen na 5V. Senzor mjeri udaljenost u milimetrima. Primjer pali LED svijetlo kad senzor detektira prepreku na uldaljenosti manjoj od 100 mm.

LIDAR - laserski senzor udaljenosti
Uno_spoj_34.jpg

LIDAR - laserski senzor za očitanje udaljenosti. Laserski senzor je precizniji od ultrazvučnog. Udaljenosti se mogu mjeriti u milimetrima. Primjer detekcije udaljenosti manje od 100 mm paljenjem crvene LED diode.

KORAČNI MOTOR
Uno_spoj_33.jpg

Primjer upravljanja koračnim motorom u FULL step modu (KORAK) i HALF step modu (POLU-KORAK). Brzina se podešava naredbom delay. Za ovaj primjer smo koristili motor koji radi na 5V i podržava maksimalno 180 koraka za puni okretaj. Za točnu kontrolu u programu treba staviti brojač koraka. Koračni motori su veliki potrošači i treba obratiti pažnju da ne vuku previše struje jer će se driveri jako zagrijavati. Za napajanje shielda i Una koristimo napon od 5V.

I2C - LCD 2 x 16
Uno_spoj_32.jpg

Prikaz podataka na LCD displeju. Za komunikaciju sa koristimo library za LCD. Kao primjer napravili smo mjerenje vremena, s prikazom minuta i sekundi.

VOZILO + ULTRAZVUČI SENZOR
Uno_spoj_31.jpg

Vozilo obilazi prepreke putem ultrazvučnog senzore. Smjer skretanja, lijevo ili desno se odlučuje putem RANDOM komande. Motori se kontroliraju putem PWM komandi ( analogwrite() ). Desni motor ( gledano od pozadi ) je spojen na izlaze 10 i 11. Lijevi motor je spojen na izlaze 6 i 9. Crveno svijetlo na izlaz 3 i zeleno na izlaz 5. Ultrazvučni senzor je spojen na napajanje 5V, te na ulaze 0 (crna) i 1 (plava). Kod Uno-F5 sučelja Ultrazvučni senzor je spojen ulaze 2 (crna) i 7 (plava). Ako koristite Uno-F5 promijenite navedene brojeve ulaza u programu.

RAMPA: Foto senzor + tipkalo
Uno_spoj_30.jpg

Rampa se otvara prekidom svijetla prema foto senzoru. Nakon dvije sekunde rampa se automatski zatvara. DC motor je spojen na izlaze 3 i 5. Svijetlo za senzor na izlaz 9. Foto senzor je spojen na ulaz A5. Tipkalo ispod motora na ulaz A0, a tipkalo ispod rampe na ulaz A2.

I2C KOMUNIKACIJA
Uno_spoj_29.jpg

U ovom primjeru koristimo PCF8574 8 bit I/O modul za očitavanje signala. Ako PCF8574 koristimo kao ulazni modul, putem osam I/O pinova signali se pretvaraju u jednu 8 bitnu vrijednost koju možemo očitati. Druga mogućnost je da ga koristimo kao izlazni modul, ali to će biti prikazano u drugom primjeru. Adresa modula je 0x20. Vrijednosti koje očitavamo (preračunato) su 1 i 2. Tipkalo daje vrijednost 1, a foto senzor 2.

GPS + LCD displej 16x2 (2)
Uno_spoj_28.jpg

GPS modul je spojen na Uno-F5. Modul je spojen na izlazno napajanje 5V. Komunikacija je serijska (TX-RX) 9600 bps. Prikazani primjer prikazuje GPS poziciju (longitude, latitude). GPS modul osim podataka o poziciji šalje i trenutačno vrijeme.

GPS + LCD displej 16x2
Uno_spoj_27.jpg

GPS modul je spojen na Uno-F5. Modul je spojen na izlazno napajanje 5V. Komunikacija je serijska (TX-RX) 9600 bps. Prikazani primjer prikazuje GPS poziciju (longitude, latitude).

LED svijetlo - Audio senzor
Uno_spoj_26.jpg

Primjer pokazuje kontrolu LED svjetla putem zvučnog signala ( zvužduk, pljesak ruku,...).

KOMUNIKACIJA - NRF24L01
Uno_spoj_25.jpg

Slanje i primanje podataka putem modula NRF24L01 između dva Arduino UNO sučelja. Ako koristite Uno-F5 sučelje, u programu "SEND" potrebno je promijeniti brojeve ulaza na koje su spojena tipkala (tipkalo). Programski primjer je za dva tipkala koja pale dvije LED diode (crvenu i zelenu)

ENKODER MOTOR - POLUKORAK - PRECIZNIJE
Uno_spoj_24.jpg

Brojimo promjene stanja (vrijednost 1 i 0). Ova metoda je bolje precizna od prethodne (KORAK). Broj impulsa koje ćemo prebrojati zavisi od samog programa. Ako program samo kontrolira motor, ili još izvršava neke druge operacije. U drugom slučaju,naročito kod veće brzine rotacije motora, program neće stići očitati sve impulse.

ENKODER MOTOR - KORAK - MANJE PRECIZNO
Uno_spoj_23.jpg

Brojimo samo impulse (vrijednost 1). Zato moramo staviti malu pauzu da ne bi došlo do višestrukog očitanja senzora. Ova metoda je manje precizna. Broj impulsa koje ćemo prebrojati zavisi od samog programa. Ako program samo kontrolira motor, ili još izvršava neke druge operacije. U drugom slučaju,naročito kod veće brzine rotacije motora, program neće stići očitati sve impulse.

TX - RX KOMUNIKACIJA (UART) (SOFT)
Uno_spoj_22.jpg

U ovom primjeru koristimo softwersku serijsku komunikaciju. Za komunikaciju možemo koristiti bilo koje "ULAZNE" pinove. Softwerska komunikacija ne stvara smetnje prilikom učitavanja programa. Ne zaboraviti, osim povezivanja TX -> RX i RX -> TX izlaza na sučeljima, spojiti i GND -> GND. U primjeru se nalaze dva programa, jedan za slanje, a drugi za prijem podataka.

TX - RX KOMUNIKACIJA (UART) (HARD)
Uno_spoj_21.jpg

U ovom primjeru koristimo serijsku komunikaciju (0 i 1) koju koristi i Arduino UNO za učitavanja (Upload) programa. To znači da naša veza mora biti prekinuta u vrijeme učitavanja programa. U protivnom će učitavanje biti onemogućeno. Ne zaboraviti, osim povezivanja TX -> RX i RX -> TX izlaza na sučeljima, spojiti i GND -> GND. U primjeru se nalaze dva programa, jedan za slanje, a drugi za prijem podataka.

SERVO MOTOR
Uno_spoj_20.jpg

Primjer kontrole servo motora. Zakretanje poluge servo motora za 45 i 90 stupnjeva.

ULTRAZVUČNI SENZOR - ANALOGNO
Uno_spoj_19.jpg

Pomoću ultrazvučnog senzora možemo izmjeriti udaljenost do objekta koji se nalazi ispred senzora. Ovisno o senzoru, mogu se očitati veće ili manje maksimalne udaljenosti. LED svijetlo slabije svijetli ako je udaljenost od senzora do objekta manja i obratno.

ULTRAZVUČNI SENZOR - DIGITALNO
Uno_spoj_18.jpg

Uz pomoć ultrazvučnog senzora možemo detektirati neki objekt kada se nađe na udaljnosti manjoj od postavljene u programu (pali se LED svijetlo). Ako je objekt na večoj udaljenosti program ga neće registrirati.

COLOR SENZOR - CRNA CRTA
Uno_spoj_17.jpg

Očitane vrijednosti za bijelu i crnu boju su najčešće dovoljno različite, tako da se uz pomoć dva kolor senzora može napraviti robotsko vozilo koji prati crnu crtu.

COLOR SENZOR - BOJE
Uno_spoj_16.jpg

Kolor senzor očitava boje kao vrijednosti (analogno). Prema očitanoj vrijednosti boje, pali se određena boja LED diode. Očitane vrijednosti JAKO zavise o uvjetima (osvijetljenje) i mogu se razlikovati iako su uzorci boja isti.

MAGNETSKI SENZOR - DIGITALNO
Uno_spoj_15.jpg

Magnetski senzor detektira magnetsko polje. Približavanjem senzora magnetskom polju ( permanentnog ili elektromagneta) pali se LED svijetlo.

TOPLINSKI SENZOR - ANALOGNO
Uno_spoj_13.jpg

Zagrijavanjem termo senzora do određene temperature pali se LED dioda. Termo senzor zagrijavamo žaruljicom koja se jako grije dok je upaljena.

IR SENZOR - ANALOGNO
Uno_spoj_12.jpg

Analognim očitanjem IR senzora možemo detektirati bijelu površinu na udaljenosti od nekoliko centimetara.

IR SENZOR - DIGITALNO
Uno_spoj_11.jpg

Ovisno o očitanju IR senzora, pale se LED svijetla. Bijela površina daje očitanje 1, a crna (linja) 0.

MOTOR - KONTROLA BRZINE OKRETAJA (ANALOGNO)
Uno_spoj_10.jpg

Program, mijenja brzinu okretaja DC motora . Manja brzina okretaja motora, najčešće znači i manja snaga motora.

MOTOR TIPKALIMA - OKRETAJI MOTORA U OBE STRANE (DIGITALNO)
Uno_spoj_09.jpg

Pritiskom na tipkala A i B, DC motor mjenja smjer rotacije ( oba smijera ).

MOTOR TIPKALOM - OKRETAJI MOTORA U JEDNU STRANU (DIGITALNO)
Uno_spoj_08.jpg

Pritiskom na tipkalo DC motor započinje sa rotacijiom u jednom smjeru.

MOTOR (DIGITALNO)
Uno_spoj_07.jpg

DC motor započinje rotaciju u jednom smijeru u trajanju od 100 ms. Zaustavlja se u trajanju od 2 sekunde, a zatim ponavlja radnju.

FOTO SENZOR - LED SVIJETLO (ANALOGNO)
Uno_spoj_06.jpg

LED diode se pale zavisno o vrijednosti koju očitava FOTO senzor.

FOTO SENZOR - LED SVIJETLO (DIGITALNO)
Uno_spoj_05.jpg

Svijetlo LED diode se pali, kad je FOTO senzor dovoljno osvijetljen.

LED SVIJETLO TIPKALOM (ANALOGNO)
Uno_spoj_04.jpg

Pritiskom na tipkalo, svijetlo LED diode sve jače svijetli.

LED SVIJETLO (ANALOGNO)
Uno_spoj_03.jpg

Program, polagano, pojačava svijetlost LED diode.

LED SVIJETLO TIPKALOM (DIGITALNO)
Uno_spoj_02.jpg

Pritiskom na tipkalo, pali se LED svijetlo.

LED SVIJETLO (DIGITALNO)
Uno_spoj_01.jpg

LED svijetlo se pali i gasi u intervalima od pola sekunde.