Prispevki Arduino, 3DSVET Wikipedija

Kaj je Arduino?

Kaj je Arduino

Kazalo

Uvod

Arduino je odprtokodna (open-source) elektronska naprava (mikrokrmilnik na matični plošči), ki je zasnovana tako, da je postopek uporabe le te čim bolj preprost. Arduino je ekosistem, je platforma. Pod odprtokodni mislim, da so dizajnerji ploščic (Interaction design institute Ivrea) dovolili vpogled elektronskih načrtov in dovolili drugim izdelovalcem strojne opreme izdelovati in prodajati svoje izdelke, ki pa so kompatibilni z originalom.

Arduino-open-source-TED

Strojno opremo sestavljajo 8-bitni mikrokontroler Atmel AVR ali 32-bitni Atmel ARM. Programska oprema je sestavljena iz standardnega programskega jezikaprevajalnika in zagonskega nalagalnika, ki se izvaja na mikrokrmilniku. Razvojne plošče so praviloma že sestavljene (plug and play) in prepravljene za uporabo.

Arduino: zgodovina in filozofija

 

Arduino je čarobna napravica, ki je spremenila svet elektronike in programiranja za veliko ljudi. Z njo lahko ustvarjaš čudovite projekte, ki združujejo umetnost, znanost in tehnologijo. V tem poglavju ti bomo predstavili zgodovino in filozofijo.

Uradni začetek sega v leto 2005, ko so štirje prijatelji – Massimo Banzi, David Cuartielles, Tom Igoe in Gianluca Martino – želeli ustvariti nekaj enostavnega za uporabo za študente in ustvarjalce. Njihov cilj je bil, da bi elektroniko in programiranje približali vsem, ne glede na njihovo predznanje. Zato so ustvarili  majhno, poceni in enostavno uporabljivo ploščo z mikrokontrolerjem.

Mikrokontroler je srce Arduino plošče. To je mali čip, ki mu lahko s programiranjem naročiš, kaj naj stori. Tako lahko s ploščo nadzoruješ luči, motorčke, senzorje in še veliko več. Arduino je odprt projekt, kar pomeni, da so njegova zasnova, programi in načrti na voljo za vse, ki bi jih želeli uporabiti ali izboljšati.

Filozofija temelji na ideji, da mora biti učenje zabavno in dostopno. Projekt spodbuja radovednost, ustvarjalnost in sodelovanje med ljudmi po vsem svetu. Zato lahko na internetu najdeš ogromno brezplačnih vodičev, knjižnic in projektov, ki so jih ustvarili drugi navdušenci.

Prvi Arduino UNO

Osnova logika uporabe

Osnova logika uporabe elektronske ploščice kot je Arduino je v tem, da je univerzalno uporabna rešitev. V središču imamo mikroprocesor, ki izvaja naš program in glede na vhodne veličine nekaj izvaja na izhodnem delu. Klasični vhodi in izhodi so lahko digitalni (binarni) ali pa analogni (zvezni: 0 – 5V). Vhodne podatke lahko dobimo preko podatkovnega protokola (I2C, serial USB, SPI, 1-wire). Mogoče vhodnih podatkov niti nimamo, ampak jih računamo sami. Skratka možnosti je neomejeno. Mi kot uporabnik definiramo kaj bomo s platformo počeli. Smiselno je tudi poudariti, da svoj projekt lahko vseskozi spreminjamo/nadgrajujemo glede na potrebe. Dodajamo nove senzorje, nove module, nove načina prikaza podatkov, lahko dodamo WiFi možnost komunikacije, …

In vse to za zelo nizko ceno. Ravno ta cenovna dostopnost in fleksibilnost sta pripomogla k eksploziji uporabe. V osnovi je bila platforma narejena prav za nezahtevnega uporabnika. Za nekoga, ki ne pozna sveta elektronike in programiranja. Za nekoga, ki bo Arduino prvič videl in bo po parih minutah že nalagal prve primere programa in prižigal LED diode in releje.

Arduino plošče: različne vrste in njihove značilnosti

Arduino plošče so kot čarobne škatlice, ki ti pomagajo pri ustvarjanju razburljivih elektronskih projektov. Obstaja veliko različnih vrst Arduino plošč, ki so primerne za različne potrebe in nivoje znanja. V tem poglavju ti bomo predstavili nekaj priljubljenih vrst Arduino plošč in njihove posebne značilnosti.

  • Arduino Uno:

    To je najbolj znana in najpogosteje uporabljena Arduino plošča. Je odlična za začetnike, ker je enostavna za uporabo in ima veliko digitalnih in analognih vhodov/izhodov (pini). Arduino Uno uporablja ATmega328P mikrokontroler in ima 14 digitalnih pinov ter 6 analognih pinov.
  • Arduino Nano:

    Ta majhna plošča je kot manjša različica Arduino Unota. Zaradi svoje kompaktne velikosti je odlična za vgradnjo v manjše projekte ali kjer je prostor omejen. Arduino Nano uporablja isti mikrokontroler kot Uno (ATmega328P) in ima enako število pinov, vendar v manjši obliki.

  • Arduino Mega:

    Mega je velik, močan brat Arduino Unota. Ta plošča ima veliko več digitalnih in analognih vhodov/izhodov ter večji pomnilnik, kar omogoča bolj zapletene projekte. Arduino Mega uporablja ATmega2560 mikrokontroler in ima 54 digitalnih pinov ter 16 analognih pinov.

  • Arduino Leonardo:

    Leonardo je zanimiva plošča, ki uporablja ATmega32U4 mikrokontroler. Ta mikrokontroler ima vgrajeno USB komunikacijo, kar pomeni, da lahko Leonardo neposredno komunicira z računalnikom in se uporablja kot miška, tipkovnica ali igralni plošček. Leonardo ima 20 digitalnih pinov in 12 analognih pinov.

  • Arduino Pro Mini:

    Pro Mini je zelo majhna in preprosta plošča, ki je namenjena naprednejšim uporabnikom, ki želijo integrirati Arduino v svoje projekte z minimalno velikostjo in težo. Arduino Pro Mini uporablja ATmega328P mikrokontroler in ima 14 digitalnih pinov ter 6 analognih pinov.

  • Arduino Due:

    Due je prva Arduino plošča, ki temelji na 32-bitnem ARM Cortex-M3 mikrokontrolerju. To pomeni, da je hitrejša in zmogljivejša od drugih Arduino plošč, ki temeljijo na 8-bitnih mikrokontrolerjih. Arduino Due ima 54 digitalnih pinov, 12 analognih vhodov, 2 analognih izhodov in druge napredne funkcije, kot so CAN in DAC.

  • Arduino Yún:

    Yún je posebna Arduino plošča, ki združuje ATmega32U4 mikrokontroler in Linux-poganjan sistem na čipu (SoC). To omogoča povezovanje z internetom in omogoča, da Arduino Yún komunicira z omrežji, spletom in drugimi napravami. Poleg tega ima 20 digitalnih pinov in 12 analognih pinov.

  • Arduino Lilypad:

    Lilypad je zasnovan posebej za nosljive tehnologije in elektroniko, ki se všije v oblačila. Ta krožna plošča je lahka, tanka in ima prevleko iz negorljivega materiala. Arduino Lilypad temelji na ATmega328P mikrokontrolerju in ima 14 digitalnih pinov ter 6 analognih pinov.

  • Arduino MKR serija:

    MKR serija vključuje več plošč z različnimi funkcijami, kot so povezljivost z internetom stvari (IoT), LoRa, GSM, NB-IoT in drugimi brezžičnimi tehnologijami. MKR plošče so zasnovane za napredne uporabnike in imajo kompaktno obliko ter zmogljivejše mikrokontrolerje ARM Cortex-M0+.

  • Arduino Portenta: Portenta je družina Arduino plošč, zasnovanih za profesionalne in industrijske aplikacije. Portenta plošče temeljijo na zmogljivih mikrokontrolerjih, kot so ARM Cortex-M7 in Cortex-M4, in vključujejo napredne funkcije, kot so dvojni jedri, Ethernet, WiFi, Bluetooth in kriptografski čipi.

Aružina Arduino krmilnikov

Arduino UNO glavni sestavni deli

Arduino UNO glavni sestavni deli

1.  Reset tipka – S pritiskom na tipko resetiramo mikrokrmilnik. Program se začne izvajati od začetka. Če imamo v programu neko vrsto inicializacije, ki se izvede samo ob zagonu in recimo resetira komunikacijo in vse postavi na začetno stanje, je reset tipka lahko zelo uporabna.

2.  AREF – Okrajšava za “Analog Reference”. Na ta pin pripeljemo zunanjo napetost, ki bo služila kot referenčna napetost za AD pretvornik. Z njo definiramo zgornjo mejo meritve napetosti analogne vhoda.

3.  GND – Pin na katerega je pripeljan najnižji napetostni nivo 0Vdc. Na ploščici jih imamo več.

4.  Digitalni vhodi/izhodi –  Pine 0 – 13 lahko uporabimo za vhode ali izhode. Izbiro definiramo v programu.

5.  PWM – Pini z dodatno oznako (~) nam s pomočjo programa lahko proizvedejo PWM signal. Torej impulze spremenljive dolžine kar je za porabnike lahko videti kot analogni izhod. Na tak načil lahko simuliramo analogni izhod, ki ga Arduino UNO nima.

6.  USB konektor – USB povezavo uporabljamo za napajanje in nalaganje programa. Med delovanjem lahko služi tudi kot prenos podatkov med računalnikom in mikrokrmilnikom, če smo tako sprogramirali.

7.  TX/RX – LED-ici ki utripata, ko imamo prenos podatkov. Utripata recimo, ko nalagamo program.

8.  ATmega mikrokrmilnik –  Mikrokrmilnik. Glavni del platforme. V njem je program.

9.  LED za indikacijo napajanja

10. Napetostni regulator – Kot že samo ime pove, regulator skrbi, da ima platforma stabilno napetost 5Vdc ne glede na vhodno napetost. Seveda ima regulator svoje omejitve in na njega lahko praviloma priklopimo 7-12Vdc. Prav tako je omejitev toka, ki lahko teče skozi regulator.

11. DC napajalni konektor – Preko njega na platformo pripeljemo zunanje napajanje (7-12Vdc)

12. 3.3V Pin – Na tem pini lahko dostopamo do 3.3Vdc napetosti, ki jo platforma prav tako preko napetostnega regulatorja proizvede sama. Običajno jo uporabimo za napajanje senzorjev ali naprav, ki delujejo samo na tem napetostnem nivoju in bi jih klasičnih 5Vdc uničilo.

13. 5V Pin –  Na tem pini lahko dostopamo do 5Vdc napetosti.

14. GND – Pin na katerega je pripeljan najnižji napetostni nivo 0Vdc. Na ploščici jih imamo več.

15. Analogni pini –  Sem lahko pripeljemo zunanje napetosti, ki jih želimo meriti. To so običajno napetosti, ki jih dobimo iz raznih senzorjev.

Integrirano vezje

Verjetno ste že slišali za izraz elektronsko integrirano vezje (IC). To je v bistvu mali računalnik, ki nekaj preračunava. Včasih je bilo za njegovo uporabo potrebno precej predznanja. Tako znanja elektronike, kot programskega predznanja. Verjetno je bilo potrebno tudi znanje same izdelave elektronske ploščice (torej jedkanje in razvijanje). Z Arduino platformo so naredili napravo, kjer to predznanje ni več nujno potrebno. NAredili so modularni sistem. Podobno LEGO kockam. Moduli so že narejeni, uporabnih jih po potrebi izbere, poveže z vezicami in osmisli s programom. Krmilnik je osnovni modul in je pripravljenen za uporabo. Za začetek ne potrebuje ničesar dodatnega. Se še vedno sprašujete kaj je Arduino?

Arduino UNO pinout

Programska oprema Arduino IDE

Skupaj s samim Ardiuno krmilnikom so pripravili tudi progmasko okolje Arduino IDE in v njega že v startu naložili osnovne programe, ki jih lahko naložimo in testiramo. Sedaj že legendarni projekt je “Blink”. Gre za preprost primer programa s pomočjo katerega utipa LED dioda. In da. Prav zato ima vsak recimo Arduino MEGA ali Arduino UNO že vgrajeno LED diodo, ki jo uporabimo ravno za ta prvi program. Ste vedeli, da omenjena krmilnika že iz tovarne pridete z prednaloženim “blink” programom? Smo že povedali da je Arduino IDE brezplačna programska oprema? Brezplačna za prenos iz interneta in uporabo.

Arduino IDE 2.0

Digitalni in analogni vhodi in izhodi

Arduino plošče ponujajo digitalne in analogni vhode/izhode (I/O) za povezovanje z različnimi elektronskimi komponentami, kot so LED diode, senzorji, motorji in gumbi. Razumevanje, kako delujejo digitalni in analogni I/O, je ključnega pomena za uspešno izvajanje projektov z Arduino ploščami. V tem poglavju bomo razložili razlike med digitalnimi in analognimi I/O ter kako jih uporabljati.

Digitalni vhodi/izhodi:

Digitalni I/O omogočajo komunikacijo z dvema stanjema: VKLOP (ON) in IZKLOP (OFF), ki se lahko nanašata na visoko napetost (HIGH) oziroma nizko napetost (LOW). Na primer, lahko uporabite digitalni izhod za vklop ali izklop LED diode ali za nadzor motorja z relejem. Prav tako lahko digitalni vhod uporabite za branje stanja stikala (pritisnjen ali sproščen) ali senzorja, ki daje digitalni signal.

Pri programiranju Arduino plošče lahko digitalne pine nastavite kot vhode ali izhode s funkcijo pinMode(). Če želite prebrati stanje digitalnega pina, uporabite funkcijo digitalRead(), in če želite nastaviti stanje digitalnega pina, uporabite funkcijo digitalWrite().

Analogni vhodi/izhodi:

Analogni I/O omogočajo branje ali nastavljanje vrednosti z več napetostnimi nivoji, ne samo z VKLOP/IZKLOP. Analogni vhodi so koristni za branje vrednosti iz senzorjev, ki dajejo različne napetosti glede na zaznane pogoje, kot so temperaturni senzorji ali senzorji svetlobe. Arduino plošče običajno uporabljajo 10-bitni analogno-digitalni pretvornik (ADC) za branje analognih vrednosti, kar omogoča ločljivost 1024 nivojev napetosti (od 0 do 1023).

Za branje analognih vrednosti uporabite funkcijo analogRead(), ki vrne celoštevilsko vrednost med 0 in 1023, sorazmerno z napetostjo na analognem pinu. Nekatere Arduino plošče, kot je Arduino Due, ponujajo tudi analogni izhod z digitalno-analognim pretvornikom (DAC), kar omogoča nastavljanje napetosti na izhodu, ne samo VKLOP/IZKLOP.

Analogni izhod lahko dosežete tudi z uporabo funkcije analogWrite() na digitalnih pinih, ki podpirajo pulzno širinsko modulacijo (PWM). PWM omogoča simulacijo analognih vrednosti z ustvarjanjem pulzov z različnimi dolžinami, kar povzroči povprečno napetost, ki je sorazmerna z želeno analognim vrednostjo. To lahko uporabite za nadzor svetlosti LED diod, hitrosti motorjev in drugih aplikacij, kjer je potrebna analogni izhod.

Pri uporabi analognih vhodov/izhodov je pomembno vedeti, da so napetostne omejitve odvisne od Arduino plošče, ki jo uporabljate. Večina Arduino plošč deluje na 5 V, kar pomeni, da so analogni vhodi in PWM izhodi običajno omejeni na napetostni razpon med 0 V in 5 V. Nekatere plošče, kot je Arduino Due, delujejo na 3,3 V, zato je treba biti pozoren na napetostne omejitve pri povezovanju komponent.

Pomembno je tudi, da se zavedate, da analogni vhodi niso namenjeni merjenju izjemno hitrih signalov. ADC na Arduino ploščah ima omejeno hitrost vzorčenja in morda ne bo sposoben natančno zaznati hitro spreminjajočih se signalov, kot so zvočni ali video signali.

Zdaj, ko razumete osnove digitalnih in analognih vhodov/izhodov ter njihovo uporabo, lahko začnete raziskovati, kako uporabljati različne elektronske komponente in senzorje v vaših Arduino projektih. V naslednjih poglavjih bomo podrobneje obravnavali različne komponente, ki jih lahko uporabite skupaj z Arduino ploščami, ter kako jih integrirati v svoje projekte.

Kaj sploh lahko sprogramiramo z Arduino krmilnikom?

Ko se lotimo programiranja z Arduino krmilnikom, se odprejo neskončne možnosti ustvarjanja in izvajanja različnih funkcij. Arduino krmilnik je sposoben upravljati številne naprave in senzorje, kar nam omogoča, da ustvarimo inovativne projekte v različnih področjih. Spodaj si bomo ogledali nekaj primerov tega, kaj vse lahko dosežemo s programiranjem Arduino krmilnika.

– Avtomatizacija

Arduino krmilnik je odlično orodje za avtomatizacijo različnih sistemov. S programiranjem Arduina lahko nadzorujemo luči, ogrevanje, prezračevanje, varnostne sisteme in še več. Na primer, lahko ustvarimo pametno hišo, kjer Arduino samodejno upravlja različne naprave glede na določene parametre, kot so čas, gibanje ali temperatura. Avtomatizacija omogoča večjo učinkovitost, udobje ter prihranek energije in stroškov.

– Internet stvari (IoT)

Arduino je ključni element pri razvoju sistemov za internet stvari. S programiranjem Arduina lahko povežemo različne naprave in senzorje v omrežje, kar omogoča prenos podatkov ter izvajanje inteligentnih funkcionalnosti. Na primer, lahko ustvarimo sistem za spremljanje okoljskih parametrov, kjer Arduino zbiranje podatkov s senzorjev in jih pošilja na spletni strežnik. To nam omogoča, da spremljamo in analiziramo podatke na daljavo ter sprejemamo ustrezne ukrepe.

– Robotika

Arduino krmilnik se pogosto uporablja v projektih robotike. S programiranjem Arduina lahko nadzorujemo gibanje robotov, zaznavanje okolice in interakcijo z okolico. Na primer, lahko ustvarimo avtonomnega robota, ki sledi črti, se izogne oviram ali celo opravlja določene naloge. Arduino nam omogoča, da prilagajamo vedenje robota glede na različne senzorske podatke, kar omogoča inteligentno delovanje.

– Meritve in nadzor

Arduino krmilnik je odlično orodje za merjenje in nadzor različnih parametrov. S programiranjem Arduina lahko ustvarimo naprave, ki merijo temperaturo, vlago, svetlost, zvok in še več. Na primer, lahko ustvarimo vremensko postajo, ki meri temperaturo, vlago in hitrost vetra ter prikazuje podatke na zaslonu. Arduino nam omogoča tudi nadzorovanje in upravljanje naprav, kot so motorji, ventili ali pogoni.

– Umetnost in kreativnost

Arduino krmilnik je priljubljen tudi med ustvarjalci in umetniki. S programiranjem Arduina lahko ustvarimo interaktivne umetniške instalacije, zvočne in svetlobne efekte ter animacije. Na primer, lahko ustvarimo interaktivno svetlobno instalacijo, ki reagira na gibanje obiskovalcev. Arduino nam omogoča, da vnesemo interaktivnost in dinamičnost v umetniška dela ter ustvarimo edinstvene izkušnje.

Arduino krmilnik je izjemno prilagodljivo orodje, ki omogoča programiranje in nadzor številnih naprav in sistemov. Z ustrezno programsko kodo lahko dosežemo avtomatizacijo, razvoj sistemov za internet stvari, robotiko, meritve in nadzor ter ustvarjalne umetniške projekte. Možnosti so skoraj neomejene, saj lahko Arduino prilagajamo glede na svoje potrebe in cilje. S programiranjem Arduina lahko uresničimo svoje ideje in inovativne projekte ter se poglobimo v svet vgrajenih sistemov.

Kaj lahko naredi Arduino

Arduino periferija

Slej ko prej bomo na svoj Arduino začeli priklapljati razne dodatke. Razna stikala, tipke, upore, LED diode, klasične releje, SSR releje, senzorje, prikazovalnike. Tem se reče periferija in služijo kot nadgradnja osnovnega elektronskega vezja. Sicer lahko posežemo po klasičnih elementih, lahko pa dodajamo module, kjer je potrebna samo povezave preko vezic. Dandanes je možno kupiti tudi najbolj preproste module kot so recimo modul z eno samo LED diodo. Se še vedno sprašujete kaj je Arduino? 🙂

Arduino Komplet

Koliko stane Arduino krmilnik?

No. Tukaj pridemo do zanimivega dela. Da bi kupili par Arduino krmilnikov, nekaj preriferije in nekaj modulov, nam ne bo potrebno prodati ledvice. Najpreprostejši pri samih proizvajalcih stanejo par €. Ko pridejo do nas, so še vedno lahko pod 20€. To pa je cena, ki si jo danes večina brez težav privošči.

In kje naj dobim ta Arduino?

No. Ravno zato imamo www.3dsvet.eu. Spletna trgovina je nastala iz lastne potrebe. Ko sam iščeš in naročaš material ugotoviš, da je ali drag in hitro dostopen ali pa poceni in je nanj potrebno čakati več kot mesec dni. www.3dsvet.eu rešuje to težavo. Zelo hitro lahko pridemo do želenega materiala po zelo dostopnih cenah. Možen je celo osebni prevzem za tiste, ki se jim res mudi ali pa ne želijo imeti opravka s pošto Slovenije. Kar jih čisto razumem. 🙂

Sklep

Arduino mikrokrmilnik je nepogrešljiv pri razvoju vgrajenih sistemov. Njegova prilagodljivost, enostavnost uporabe, široka skupnost razvijalcev ter razširljivost omogočajo ustvarjanje inovativnih projektov v različnih panogah. Z Arduinom je mogoče avtomatizirati procese, ustvariti inteligentne sisteme in biti del razvoja internet stvari. Ne glede na vaše potrebe in cilje, je Arduino odlična izbira za razvoj vgrajenih sistemov.

 

ključne besede:
Arduino, zgodovina, filozofija, logika uporabe, različne vrste Arduino plošč, Arduino Uno, Arduino Nano, Arduino Mega, Arduino Leonardo, Arduino Pro Mini, Arduino Due, Arduino Yún, Arduino Lilypad, Arduino MKR serija, integrirano vezje, programska oprema Arduino IDE, digitalni vhodi, digitalni izhodi, PWM, analogni vhodi, analogni izhodi, IoT, Arduino periferija, cenovna dostopnost