ŠKOLA PROGRAMIRANJA
Arduino Uno-F5 / T5 (F/T)
1. LED SVIJETLO (DIGITALNO)18. ULTRAZVUČNI SENZOR - ANALOGNO
2. LED SVIJETLO TIPKALOM (DIGITALNO)19. SERVO MOTOR
3. LED SVIJETLO (ANALOGNO)20. TX - RX KOMUNIKACIJA (UART) (HARD)
4. LED SVIJETLO TIPKALOM (ANALOGNO)21. TX - RX KOMUNIKACIJA (UART) (SOFT)
5. FOTO SENZOR - LED SVIJETLO (DIGITALNO)22. ENKODER MOTOR - KORAK - MANJE PRECIZNO
6. FOTO SENZOR - LED SVIJETLO (ANALOGNO)23. ENKODER MOTOR - POLUKORAK - PRECIZNIJE
7. MOTOR (DIGITALNO)24. KOMUNIKACIJA - NRF24L01
8. MOTOR TIPKALOM - OKRETAJI MOTORA U JEDNU STRANU (DIGITALNO)25. LED svijetlo - Audio senzor
9. MOTOR TIPKALIMA - OKRETAJI MOTORA U OBE STRANE (DIGITALNO)26. GPS + LCD displej 16x2
10. MOTOR - KONTROLA BRZINE OKRETAJA (ANALOGNO)27. GPS + LCD displej 16x2 (2)
11. IR SENZOR - DIGITALNO28. I2C KOMUNIKACIJA
12. IR SENZOR - ANALOGNO29. RAMPA: Foto senzor + tipkalo
13. TOPLINSKI SENZOR - ANALOGNO30. VOZILO + ULTRAZVUČI SENZOR
14. MAGNETSKI SENZOR - DIGITALNO31. I2C - LCD 2 x 16
15. COLOR SENZOR - BOJE32. KORAČNI MOTOR
16. COLOR SENZOR - CRNA CRTA33. LIDAR - laserski senzor udaljenosti
17. ULTRAZVUČNI SENZOR - DIGITALNO34. I2C - ULTRAZVUČNI SENZOR 5v

LED SVIJETLO (DIGITALNO)
Uno_spoj_01.jpg

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

LED SVIJETLO TIPKALOM (DIGITALNO)
Uno_spoj_02.jpg

Pritiskom na tipkalo, pali se LED svijetlo.

LED SVIJETLO (ANALOGNO)
Uno_spoj_03.jpg

Program, polagano, pojačava svijetlost LED diode.

LED SVIJETLO TIPKALOM (ANALOGNO)
Uno_spoj_04.jpg

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

FOTO SENZOR - LED SVIJETLO (DIGITALNO)
Uno_spoj_05.jpg

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

FOTO SENZOR - LED SVIJETLO (ANALOGNO)
Uno_spoj_06.jpg

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

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.

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 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 - 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.

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.

IR SENZOR - ANALOGNO
Uno_spoj_12.jpg

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

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.

MAGNETSKI SENZOR - DIGITALNO
Uno_spoj_15.jpg

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

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.

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.

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.

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.

SERVO MOTOR
Uno_spoj_20.jpg

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

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.

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.

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.

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.

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)

LED svijetlo - Audio senzor
Uno_spoj_26.jpg

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

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).

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.

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.

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.

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.

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.

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.

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.

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.