Arduino® » Praktični mikroupravljač za individualne uklopne i upravljčke zadatke
Objavljeno: 17. siječanj 2024 | Trajanje čitanja: 12 minut
Od kolovoza 2021 Conrad Electronic je službeni distribucijski partner za Arduino®. Tako imamo najbolje uvjete za optimalnu i kontinuiranu dostupnost.
To znači da dobivamo trenutni asortiman, najnovije proizvode i zanimljive informacije izravno iz prve ruke. I svi koji već uspješno koriste Arduino i oni koji ga žele koristiti u budućnosti imaju koristi od ovoga.
Jednom osnovana kao jednostavno dostupna platforma za početnike, ljubitelje elektronike, umjetnike, dizajnere i druge nestručnjake, Arduino se brzo proširio zahvaljujući odluci da softver i hardver objavi kao otvoreni izvor te je vrlo dobro prihvaćen od stručnjaka.
Upotrebljivost integriranog razvojnog okruženja (IDE) i mogućnost brzog prototipa posebno su atraktivni za stručnjake iz različitih područja koji trebaju brzo stvoriti prototipove i testirati ideje. Osim toga, platforma je izuzetno fleksibilna i proširiva zbog velikog broja dostupnih senzora i aktivatora.
Stoga ne bi bilo iznenađujuće da su mnogi već prije čuli ime Arduino - čak i ako svima možda nije jasno što je skriveno iza njega. Ako se pojavljuju pojmovi poput mikroupravljača, projekta, platforme, skice, shielda i senzora, ne stvaraju baš više jasnoće. Iz tog razloga, željeli bismo objasniti jednostavno i jasno što je Arduino mikroupravljač i pokazati različite mogućnosti primjene. Najbolja stvar u njemu: manje je komplicirana nego što može izgledati na prvi pogled.
Jednostavno rečeno, Arduino je sustav koji može međusobno spajati različite elektroničke komponente kao što su senzori, aktivatori i moduli te se njima može upravljati. Programiranje Arduino ploča određuje kako reagira na određene ulazne signale (Inputs) i koje radnje (Outputs) u skladu s tim izvršava.
Takvi ulazi mogu biti, na primjer, svjetlost na senzoru, pritisak na gumb ili Twitter poruka – reakcija na to (Output) tada bi, na primjer, bila aktivacija motora, uključivanje LED diode ili za objavljivanje nečega online. Ovaj pristup omogućuje vam implementaciju širokog spektra projekata i automatizacije od jednostavnog LED sklopa do složenog upravljanja strojem.
Primjer takve funkcije mogao bi biti stroj za kavu u kojem određeni procesi ovise o vrijednostima senzora: prije nego što se pojavi izbornik, skener kartice ili senzor u ispitivaču kovanica treba dopustiti korištenje. Međutim, željena mliječna kava može se odabrati samo ako senzor za zrna kave i senzor u posudi za mlijeko potvrdi da spremnici nisu prazni.
U principu, ono što zvuči prilično jednostavno je to i u osnovi. Potreban vam je samo Arduino mikroupravljač i neko tehničko znanje za programiranje željenih funkcionalnosti. Spektar tehničkog zahtjeva je izuzetno širok – od korisničke platforme za početnike do jake kutije s alatom za iskusne izumitelje i inženjere koji žele implementirati složene elektroničke projekte.
Zanimljiva informacija:
Naziv "Arduino" dolazi iz imena talijanskog kralja i kasnijeg nacionalnog junaka, Amedea Avogadroa. Prema njemu je nazvan kafić u Ivrei, gradu na sjeveru Italije, u kojem su se redovito susretali osnivači Arduina (Massimo Banzi i David Cuartielles): "Bar di Re Arduino" (kafić kralja Arduina). Kaže se da su tijekom sastanka u ovom kafiću odabrali ime – također zato što se lako izgovara i jedinstveno je.
Arduino se u osnovi sastoji od dvije komponente: hardver i softver (Arduino IDE), a obje su otvoreni za "sustave otvorenog koda", zbog čega se korisnici mogu pojedinačno prilagoditi svojim potrebama.
Hardver
Hardver se sastoji od takozvanih Arduino ploča koje sadrže mikroupravljače. Mikroupravljač je u osnovi malo računalo na čipu koji se koristi za upravljanje različitim elektroničkim komponentama. Najpoznatija Arduino ploča je Arduino Uno, ali postoje mnogi drugi modeli s različitim funkcijama.
Softver
Softverska strana uključuje Arduino integrirano razvojno okruženje (IDE), programsko okruženje koje korisnicima omogućuje dobivanje koda za svoje projekte – dakle za pisanje pojedinačnih programa za uklapanje ili upravljanje (skica) i učitavanje na Arduino ploču. Programiranje se odvija u pojednostavljenoj verziji programskog jezika C ++.
Međutim, ne postoji samo određena ploča ili određeni upravljač. Umjesto toga, Arduino opisuje kompletnu obitelj proizvoda ili marku. Na temelju Arduina Una, možda najpoznatije Arduino ploče, željeli bismo malo detaljnije objasniti strukturu:
Bitne sastavni dijelovi Arduino ploče:
1. USB utičnica
USB kabel je spojen na ovu utičnicu za prijenos pojedinačnog upravljačkog programa na Arduino.
2. Gumb za resetiranje
Ovim se gumbom Arduino može resetirati ručno ako više ne radi automatski zbog poremećaja.
3. ICSP sučelje (USB sučelje)
S ICSP sučeljem (In Circuit Serial Programming) logički sklop može se programirati izravno u operativnom sustavu.
4. I²C sabirnica
Kod I²C sabirnice, podaci se prenose putem vodova SCL (serijski sat) i SDA (serijski podaci) iz glavnog u sporedne dijelove.
5. Ugrađene LED
LED „L“ je interno spojena pinom 13 i služi u svrhu testiranja.
6. Digitalni ulazi/izlazi
Ovi I/O pinovi mogu se konfigurirati kao digitalni ulazi ili izlazi. Šest od njih radi po potrebi kao modulirani PWM-izlazi.
7. Prikaz LED dioda
LED diode „RX“ i „TX“ pokazuju optički prijenos podataka od PC-a do Arduino UNO.
8. LED pogonskog napona
LED „ON“ signalizira opskrbu naponom mikroupravljača ploče. Svijetli kaje ploča pod naponom.
9. Oscilatorski kvarc (upravljač)
Kvarc osigurava da oscilator u upravljaču oscilira stabilno i s uvijek konstantnom frekvencijom.
10. ICSP sučelje (upravljač)
Upravljač može biti programiran pomoću ovog sučelja ako je potrebno. Međutim, budući da je to već učinjeno u tvornici, to obično nije potrebno.
11. Mikroupravljač
Mikroupravljač je poluvodički čip u kojem su procesor, periferija i memorija ujedinjeni. Ponekad se nazivaju i SOC (System-on-a-Chip).
12. Analogni ulazi
Ako su kao ulazne vrijednosti dostupne analogni naponi od npr. senzora treba koristiti ovih šest ulaza.
13. Strujni pinovi
Naponi se mogu dovoditi na ploču mikroupravljača na ovim pinovima ili se mogu istrošiti naponi poput 3,3 V ili 5 V.
14. Ispravljačka dioda
Ispravljačka dioda je prisutna tako da se i istosmjerni i izmjenični napon mogu spojiti na utičnicu napajanja.
15. Kondenzatori za punjenje
Kondenzatori za punjenje izglađuju napon napajanja. Ispred stabilizatora napona od 5 V spojen je kondenzator, a iza njega kondenzator.
16. Priključak za napajanje
Kako bi ploča mikroupravljač nakon programiranja mogla raditi bez USB ulaza, treba se napajati preko vanjskog izvora.
17. Stabilizator napona
Stabilizator napona stvara stabilan napon od 5 V iz napona napajanja, koji bi trebao biti između 7 i 12 V (AC ili DC).
18. Oscilatorski kvarc (USB upravljač)
Kvarc osigurava da oscilator u USB upravljaču oscilira stabilno i s uvijek konstantnom frekvencijom.
19. USB sučelje
USB sučelje pretvara signale koji se pohranjuju preko njega u format koji odgovara upravljaču.
U principu, svaka Arduino ploča ima upravljač s različitim ulazima i izlazima. Ovisno o tome koji se upravljač koristi, postoji veći ili manji broj izlaza i ulaza odnosno mogućnosti povezivanja. Uz to, ploče Arduina strukturirane su na takav način da se dodatne ploče (Shields) još uvijek mogu uključiti putem utičnice (Header). Ovime se postiže sustav koji se može izgraditi bez puno napora za ožičenje.
Informacija: Ulazi i izlazi kod Arduino ploča
Senzori ili drugi izvori informacija (ulazi) daju podatke Arduino ploči na temelju kojih ploča tada može upravljati aktivatorima ili drugim komponentama (izlazi) za izvođenje određenih radnji.
Može se napraviti razlika između digitalnog i analognog, pri čemu je glavna razlika vrsta informacije koja se prenosi ili obrađuje:
- Digitalni ulazi i izlazi prihvaćaju odnosno proizvode samo dva stanja: HIGH (1) ili LOW (0) – jednostavno rečeno: ili-ili, uključ.-isključ. >> Na primjer, digitalni ulaz je infracrveni senzor koji šalje digitalne signale Arduino ploči kada detektira prepreke. Odgovarajući izlaz mogao bi biti LED koji se pali ili gasi kako bi vizualno pokazao kada infracrveni senzor otkrije prepreku. Alternativno, može se koristiti zujalica za aktiviranje zvučnog alarma.
- Analogni ulazi i izlazi, s druge strane, prihvaćaju ili generiraju kontinuirani raspon vrijednosti. >> Digitalni unos je, na primjer, senzor svjetlosti koji pruža analogne vrijednosti Arduino ploči na temelju svjetline okoline. Odgovarajući izlaz mogao bi biti LED koji svijetli svjetliji ili tamniji, ovisno o svjetlini okoline.
Najpopularnija Arduino platforma među početnicima i iskusnim korisnicima je Arduino Uno ploča. Jednostavna je za korištenje, a zbog čiste raspodjele pinova i pristupačne strukture, idealan za projekte početne razine. Istodobno, dovoljan broj digitalnih i analognih pinova čini ga izuzetno svestranim, za širok raspon projekata – od jednostavnih LED sklopova do složenijih projekata koji uključuju senzore, motore i bežičnu komunikaciju.
No, uz Arduino Uno, postoje i mnoge druge ploče mikroupravljača iz Arduina. Budući da su raznoliki kao različiti scenariji primjene, raznolikost proizvoda također je i za Arduino mikroupravljače. Za jednostavan pregled saželi smo neke trenutne i popularne modele u tablici:
Pregled tablice najpopularnijih Arduino ploča
Mikrokontroler | CPU | Analogni ulazi | Digitalni ulazi/izlazi | Memorija flash | Radni napon | Dimenzije (D x Š) | |
---|---|---|---|---|---|---|---|
Arduino Zero | ATSAMD21G18 | 32-bit | 6 | 20 (uključujući 10 PWM) | 256 kB | 3,3 V | 68,6 x 53,4 mm |
Arduino Uno R3 | ATmega328P | 8-bit | 6 | 14 (uključujući 6 PWM) | 32 kB | 5 V | 68,6 x 53,4 mm |
Arduino Due | ATmelSAM3X8E | 32-bit | 12 | 54 (uključujući 12 PWM) | 512 kB | 3,3 V | 101,5 x 53,3 mm |
Arduino Mega 2560 | ATmega2560 | 8-bit | 16 | 54 (uključujući 15 PWM) | 256 kB | 5 V | 101,5 x 53,3 mm |
Arduino Leonardo | ATmega32u4 | 8-bit | 12 | 20 (uključujući 7 PWM) | 32 kB | 5 V | 68,6 x 53,4 mm |
Arduino Micro | ATmega32u4 | 8-bit | 12 | 20 (uključujući 7 PWM) | 32 kB | 5 V | 48,3 x 17,8 mm |
Arduino Nano | ATmega328 | 8-bit | 8 | 22 (uključujući 6 PWM) | 32 kB | 5 V | 45 x 18 mm |
Također postoje različite verzije svake vrste koje se razlikuju po dizajnu i funkcijama. Na primjer, Arduino Uno dostupan je u SMD verziji ili s WiFi modulom. Osim toga, postoje različite verzije Micro i Nano s različitim specifikacijama.
Naša preporuka
Arduino MKR
Arduino je s Arduino MKR-om razvio vlastitu Arduino seriju, posebno za dizajnere: kompaktni dizajn, energetski učinkovit, sa specifičnom funkcionalnošću, kao i fleksibilnim i svestranim za brojne aplikacije
Uz različite komutacijske i upravljačke zadatke, fokus Arduino MKR je na komunikacijskim mogućnostima ploča i shield ploča.
Oni se kreću od Sigfoxa za IoT primjena i WiFi za integraciju bežične mreže do upotrebe GSM mreže.
Arduino PRO
S Arduino Pro Arduino je izdao učinkovit sustav koji je dizajniran, između ostalog, za složenije industrijske primjene, robotiku i pametne upravljače strojeva.
Srce serije je serija Portenta za zahtjevne IoT projekte kao što su AI algoritmi ili strojno učenje. Ploče su odgovarajući složene i snažne, poput multitasking talenta Portenta X8 (primjene u stvarnom vremenu + procesi visokih učinka na Linux jezgrama u isto vrijeme) ili Portenta H7 s dvojezgrenim procesorom koji može obraditi složene zadatke u stvarnom vremenu.
U kombinaciji s Arduino IoT oblakom, središnje je upravljanje lako moguće bez problema.
Arduino Education
S Arduino® Education Arduino je razvio koncept za učenje koja je posebno prilagođena potrebama škola i obrazovnih ustanova. Uključuje posebne hardverske komplete za nastavnike i studente, nastavne materijale, upute za projekte i nastavne programe, kao i programe certificiranja i tečajeve za obuku nastavnika.
Arduino Education trebaju podržati pedagoge u prijenosu znanja o programiranju, elektronici, elektrotehničkom inženjerstvu i mehatronici: različiti projekti omogućuju brzi i jednostavan uvod u programiranje Arduino ploča, što početnicima olakšava razvoj elektroničkih prototipa i implementaciju kreativnih ideja.
Arduino ID softver potreban je za programiranje ploče Arduino. Ovo ima više prednosti: s jedne strane, posebno je prikladan za početnike s njegovim jednostavno dizajniranim korisničkim sučeljem. Osim toga, ona je neovisna o platformi, nudi bogatstvo resursa (knjižnice, primjeri kodova, forumi) i posebno su fleksibilni podržavajući razne Arduino ploče – što ih također čini privlačnim za iskusne programere koji žele primijeniti složenije projekte. Softver je dostupan za preuzimanje na službenoj Arduino web stranici za Windows, iOS ili Linux. Alternativno, dostupna je i opsežna specijalistička literatura.
Primjer: trčeće svjetlo s 10 LED-ova
Kako bismo pokazali kako se lako može primijeniti i detaljnije ući u funkcije softvera Arduino Desktop IDE, želimo stvoriti mali i jednostavan Arduino program (skica) u nastavku. Cilj je stvoriti automatsko trčeće svjetlo s 10 LED-ova. Zbog automatskog početka, nije potrebno odabrati jedan od ulaza.
1. Konstrukcija ispitnog sklopa
Prije nego što programiranje krene, hardver treba biti postavljen. Arduino Mega 2560 služi za naš ispitni primjer. Ali i svaka druga ploča bi radila. Digitalni ulaz/izlazi 2-11 koriste se za upravljanje 10 LED dioda.
Mala utična ploča se pokazala kao idealnom za fizičku strukturu sklopa. Budući da LED diode nisu dizajnirane za radni napon od 5 V, otpor od 220 Ω treba se serijski spojiti na svaku LED kako bi se ograničila struja, a time i napon za LED. Nije važno je li otpor instaliran ispred ili iza LED diode.
Potrebno je samo osigurati da je anoda LED dioda povezana s digitalnim ulazom/izlazom ploče. Uobičajeno uzemljenje povezano je s GND priključkom ploče. Struktura ispitnog sklopa već je gotova.
Budući da se napajanje odvija putem USB priključka, za naš ispitni sklop ne treba biti spojeno vanjsko napajanje.
2. Stvaranje upravljačkog programa
Postavljanje softvera
Nakon instaliranja softvera, sadašnja ploča i korišteno sučelje trebaju biti podešeni u stavci izbornika "Alati".
U izborniku "Datoteka", neke se skice mogu naći u mapi "Primjeri" koja se može očitat po potrebi i prenijeti na ploču Arduino.
U našem primjeru, s druge strane, radi se o stvaranju malog programa.
Potrebne naredbe i pridružena objašnjenja mogu se naći na stranici Arduino.
Definicija izlaza
U prvom je retku definirano broj LED dioda kojima treba upravljati i koji se fizički priključci (pinovi) koriste za upravljanje.
U našem su slučaju spojeni priključci 2 – 11.
Sljedeće se područje sastoji od dvije osnovne funkcije, postavke i petlje.
Područje postavljanja čita se i izvršava samo jednom kada program započne.
S druge strane, sljedeće područje petlje provodi se u stalno ponavljajućem sljedu.
Setup
Arduino IDE područje podešavanja
U području podešavanja skice treba definirati da pinovi od 2 do 11 djeluju kao izlazni i stoga za 10 LED dioda (s oznakom 0 – 9) treba izdati napon.
To se može napraviti naredbama:
pinMode (LEDPins[0],Output); za 1. LED
pinMode (LEDPins[1],Output); za 2. LED
...
pinMode (LEDPins[9],Output); za 10. LED
Budući da je ovo previše naporno, stvorena "pred"-petlja, u kojoj je varijabla "i" za indeks definirana s početnom vrijednošću nula i uvjetom prekida malim 10. Vrijednost i++ osigurava da se vrijednost "i" poveća za jednu petlju. Nakon toga potreban je samo jedan redak u kodu za dodjelu deset pinova:
pinMode (LEDPins[i],Output);
Loop
I u području loop se na početku koristi i "for"-loop, tako da unosi ne trebate raditi za svaku pojedinačnu LED.
S naredbama:
digital Write (LEDPins[i],HIGH);
delay(100)
S naredbama:
10 LED dioda se spaja jedna za drugom na 100 ms na prethodno definiranu petlju. Promjena vrijednosti kašnjenja može definirati trajanje svijetljenja LED diode, a time i brzinu trčećeg svjetla.
LED diode isključuju se naredbom:
digital Write (LEDPins[i],LOW);
delay(0)
Zbog vrijednosti kašnjenja 0, sljedeća LED se odmah uključi kada se prethodna ugasi. Međutim, može se unijeti i bilo koja vrijednost za pauzu.
Međutim, budući da trčeće svjetlo ne bi trebalo raditi samo u jednom smjeru, slijed svijetljenja treba biti obrnut u sljedećem koraku. Budući da se vanjskom LED ne smije dva puta upravljati prilikom promjene smjera,, petlja potrebna za povratak uključuje samo LED pinove 8 (i = 8) do 1 (i> 0) i uklapa LED diode u obrnutom redoslijedu (i-- ).
LED diodama s vremenima odgode upravlja se prema istoj shemi kao i na putu prema gore.
3. Prijenos upravljačkog program na Arduino
Konačno, skica s kružnim gumbom i strelicom udesno može se prenijeti na Arduino ploču. Tijekom prijenosa, dvije LED RX i TX trepere na ploči, a zatim trčeće svjetlo počinje raditi.
Ako skica ima pogrešku, to će se prikazati odmah prilikom pokušaja prijenosa. Budući da se petlja neprestano ponavlja, trčeće svjetlo radi dok se napajanje na Arduino ploču ne isključi.
Svojim jednostavnim programskim primjerom pokušali smo pokazati nevjerojatan potencijal programabilnih mikroupravljača. Kako bi se pravdala naizgled bezgranična primjena aplikacije, Arduino ploče dostupne su u širokom rasponu izvedbi s različitim mogućnostima povezivanja. Dodatni dodatni moduli (shield) sa senzorima ili za upravljanje motorima ili eternetski shield lako i brzo proširuju funkcije. Bez složenog ožičenja to rezultira razvojnom pločom ili kompaktnim upravljačem. Hardver na taj način ispunjava sve zahtjeve za ciljano, a opet fleksibilno razvojno okruženje.
Elektroprojekti za početnike
Arduino ploče su idealne za ulazak u elektroniku i programiranje. Posebni početni kompleti omogućuju jednostavno stvaranje strujnih krugova i programiranja koda. Softver je tako jednostavan i fleksibilan da nije potrebno opsežno prethodno znanje.
Također postoji bezbroj prijedloga za projekte s Arduino pločama na internetu. Osim toga, zajednica Arduino s više od 28 milijuna članova rado će vam pomoći u posebnim pitanjima o Arduino softveru, pločama i senzorima
Platforma za učenje
Zbog jednostavnosti korištenja i velike zajednice programera, Arduino često služi kao platforma za obrazovne projekte koji olakšavaju učenje elektronike i programiranja. Zato mnoge škole već nude programerske tečajeve.
Vlastito stvoreni koncept učenja Arduino Education posebno je usmjeren prema školama, sveučilištima i centrima za obuku, a uz didaktički materijal pruža i različite projektne ideje.
Robotika
U međuvremenu, oni koji su odgovorni u tvrtkama također su prepoznali potencijal i često koriste Arduino za upravljače za robote temeljene na mikroupravljačima.
Zahvaljujući fleksibilnom programiranju, senzori i pokretači lako se mogu integrirati u kontrolu pokreta, percepcije okoliša i drugih funkcija. Projekti robotike sa sjedištem u Arduinu kreću se od jednostavnih linijskih tragača do složenijih autonomnih sustava.
Glazba i umjetnost
Uz pomoć Arduino ploča mogu se razviti jednostavni glazbeni instrumenti ili elektroničke komponente integrirane u postojeće instrumente, kao i stvoriti audio efekti ili zvučne instalacije za stvaranje novih zvučnih iskustava.
Umjetnici također koriste ploče za kinetičke skulpture i druge kreativne projekte, kao i interaktivne umjetničke instalacije u kojima se senzori i pokretači koriste za reagiranje na ambijentalne podražaje.
Internet stvari (IoT)
Arduino ploče mogu se kombinirati s različitim senzorima (poput temperature, vlage, senzora svjetla i pokreta) i komunikacijskih modula za stvaranje IoT projekata. Omogućuju prikupljanje podataka iz fizičkog svijeta i prijenosa putem interneta.
Nosiva elektronika
Zbog njihove kompaktne veličine, Arduino ploče su idealno prikladne za projekte nosive elektronike. Oni se mogu integrirati u odjeću, nakit ili druge prijenosne uređaje kako bi se stvorile personalizirani nosivi uređaji koje reagiraju na pokret, tlak ili temperaturu.