Što je Arduino? Početnički vodič za ploče, programiranje i projekte
Ako ste ikada željeli izgraditi robota, automatizirati svoj dom ili stvoriti vlastite elektroničke projekte, vjerojatno ste naišli na Arduino.
Ali što je to točno? Je li Arduino programski jezik? Mikrokontroler? Razvojna ploča? Ili nešto sasvim drugo?
Kratak odgovor je da je Arduino platforma otvorenog koda za elektroniku koja kombinira hardver i softver jednostavan za korištenje, što je čini jednim od najpopularnijih načina za učenje programiranja i elektronike.
Ovaj vodič objašnjava kako Arduino radi, zašto mnogi ljudi počinju s njim i što možete izgraditi s njim, čak i ako nikada niste napisali ni jednu liniju koda.
Što je Arduino?
Arduino je platforma otvorenog koda za elektroniku s dva dijela: pločom koju držite u ruci i softverom u kojem pišete kod.
Ploča je razvojna ploča mikrokontrolera. U središtu se nalazi mikrokontroler, mali čip koji istovremeno pokreće jedan program. Oko tog čipa, ploča dodaje sve što je čipu potrebno da bi vam bio koristan: USB priključak za napajanje i programiranje, regulator napona, gumb za resetiranje i redove pinova u koje možete utaknuti žice.
Softver je Arduino IDE, besplatan program koji instalirate na svoje računalo. Tamo pišete svoj kod, priključite ploču putem USB-a i pritisnete "upload". Nekoliko sekundi kasnije program se pokreće na ploči i nastavlja raditi svaki put kada ploča dobije napajanje, s računalom ili bez njega.
Arduino program se naziva sketch. Svaki sketch ima dvije funkcije:
void setup() {
// pokreće se jednom, kada se ploča uključi
}
void loop() {
// pokreće se iznova i iznova, zauvijek
}
To je cijeli model. Postavite stvari jednom, a zatim ponavljajte nešto zauvijek.
Biblioteke su unaprijed napisani kod koji obrađuje teške dijelove komunikacije s određenom komponentom. Umjesto da sami radite na vremenskoj sinkronizaciji podatkovnog protokola senzora temperature, instalirate njegovu biblioteku i pozovete readTemperature(). Postoje biblioteke za tisuće senzora, zaslona i modula, a većina ih je besplatna.
Otvoreni izvor znači da su sheme ploče i izvorni kod softvera javni. Svatko može izgraditi kompatibilnu ploču, zbog čega "Arduino" danas opisuje ekosustav daleko veći od ploča koje proizvodi sam Arduino.
Kako Arduino radi?
Arduino radi iste tri stvari u petlji, tisućama puta u sekundi:
- Senzor ili gumb mijenjaju stanje.
- Arduino očitava taj ulaz.
- Vaš kod odlučuje što će učiniti.
- Arduino kontrolira izlaz.
Svaki Arduino projekt, od treptajuće LED diode do vremenske stanice, je neka verzija te petlje. Ono što se mijenja je ono što priključite na ulaznu stranu i ono što priključite na izlaznu stranu.
| Ulaz | Što vaš kod provjerava | Izlaz |
|---|---|---|
| Gumb | Je li pritisnut? | Uključi LED |
| Senzor temperature | Je li iznad 28 °C? | Uključi ventilator |
| Senzor pokreta | Je li se nešto pomaknulo? | Oglasi zvučni signal |
| Senzor svjetlosti | Je li pao mrak? | Uključi lampu |
| Potenciometar | U kojem je smjeru okrenut? | Pomakni servo |
Pinovi su način na koji ploča doseže vanjski svijet. Digitalni pinovi očitavaju i zapisuju uključeno ili isključeno. Analogni pinovi očitavaju napon kao broj, pa senzor svjetlosti postaje vrijednost koju možete usporediti s pragom. PWM pinovi brzo uključuju i isključuju pin dovoljno brzo da djeluju kao među-napon, što je način na koji zatamnjujete LED diodu ili postavljate brzinu motora.
Svaka ploča objavljuje raspored pinova koji vam govori koji pinovi mogu što raditi. Evo jednog:
Jednom kada shvatite tu petlju, ostalo je odabir dijelova.
Što Arduino čini tako popularnim?
Jednostavan za učenje
Rezultat možete dobiti već prve večeri. Priključite ploču, otvorite primjer "Blink", pritisnete "upload" i LED dioda počinje treptati. Nema konfiguracije, nema operativnog sustava za instalaciju, nema alata za postavljanje.
Kod je C++, ali koristite mali, popustljiv dio toga. digitalWrite(13, HIGH) uključuje pin 13. Većina početničkih sketchova ima 20 redaka ili manje.
Kada nešto ne radi, netko je već imao vaš problem i objavio o tome. Dvadeset godina foruma, tutorijala i primjera koda udaljeno je samo jedno pretraživanje.
Pristupačan
Sposobna ploča košta manje od obroka za van. Početni komplet s pločom, breadboardom, jumper žicama, LED diodama, otpornicima i nekoliko senzora košta manje od udžbenika. Ako uništite ploču pogrešnim ožičenjem, zamijenite je i nastavite.
Ta cijena je razlog zašto je Arduino završio u toliko učionica. Škola može opremiti cijeli laboratorij za cijenu jednog laboratorijskog instrumenta.
Tisuće kompatibilnih komponenti
Raspored pinova Arduina te njegove I2C i SPI sabirnice postali su de facto standard, tako da gotovo svaka komponenta hobističke razine koju možete kupiti već radi s njim:
- Senzori za temperaturu, vlažnost, tlak, udaljenost, pokret, svjetlost, plin, struju i orijentaciju
- Zasloni od malih OLED-a do e-papirnih panela
- Motori, servo motori i stepper driveri
- Wi-Fi, Bluetooth, LoRa, GPS, RFID i Ethernet moduli
Većina dolazi s bibliotekom, primjerom sketch-a i dijagramom ožičenja. Konektori poput Qwiic idu dalje i potpuno uklanjaju ožičenje: senzori se spajaju u lanac preko jednog četverožilnog kabela koji nosi napajanje i I2C.
Ekosustav otvorenog koda
Otvoreni izvor je razlog postojanja svega navedenog. Budući da je platforma javna, proizvođači grade kompatibilne ploče, a programeri objavljuju biblioteke za vlastite dijelove, i za to im ne treba ničije dopuštenje. Kada kupite senzor, obično dobivate i biblioteku koju je netko napisao i održava besplatno.
Arduino naspram mikrokontrolera
Ova dva pojma se stalno miješaju, a razlika je jednostavna.
Mikrokontroler: čip.
Arduino: razvojna ploča izgrađena oko tog čipa.
Mikrokontroler je jedan integrirani krug. Da biste ga koristili samostalno, morate osigurati čisti regulirani napon, dodati kristal za njegov sat, spojiti programer da biste prenijeli kod na njega i izgraditi krug oko njega. To je projekt sam po sebi, prije nego što ste napisali bilo kakav kod.
Arduino ploča je taj isti čip sa svim okolnim radom već obavljenim za vas.
| Mikrokontroler | Arduino ploča | |
|---|---|---|
| Što je to | Čip | Ploča izgrađena oko čipa |
| Programiranje | Potreban je zaseban programator | USB kabel |
| Napajanje | Vi dizajnirate regulator | Na ploči |
| Sat | Vi dodajete kristal | Na ploči |
| Povezivanje | Lemljenje na nožicama čipa | Pin zaglavlja |
| Vrijeme do prvog treptaja | Sati | Minute |
| Cijena | Jeftinije po jedinici | Jeftinije po projektu |
Gole mikrokontrolere koristite kada dizajnirate proizvod i svaki cent i milimetar su bitni. Arduino ploču koristite kada želite nešto izgraditi ovog tjedna.
Što možete izgraditi s Arduinom?
Pametan dom
Kućni projekti su uobičajena početna točka, jer se petlja tako uredno preslikava na njih: očitajte sobu, odlučite nešto, uključite nešto.
- Monitor temperature i vlažnosti koji bilježi podatke na vaš telefon
- Senzor pokreta koji noću uključuje svjetla u hodniku
- Pametna svjetla koja prate raspored ili ambijentalnu svjetlost
- Sustav za zalijevanje biljaka koji očitava vlažnost tla
Vodootporna temperaturna sonda jedan je od najlakših prvih senzora, budući da očitava stvarni broj preko jedne podatkovne žice.
Robotika
Robotika je gdje izlazi postaju zanimljivi, jer ploča sada pomiče nešto fizičko.
- Robot koji izbjegava prepreke pomoću ultrazvučnog senzora udaljenosti
- Automobil koji prati liniju s reflektivnim senzorima
- Robotska ruka pogonjena servomotorima
- Pan-tilt nosač za kameru
Mali hobi servo motori su standardni prvi aktuator. Oni primaju jedan PWM signal i drže položaj, što je mnogo lakše kontrolirati od običnog DC motora.
Nadzor okoliša
- Vremenska stanica koja bilježi temperaturu, vlažnost i tlak
- Monitor kvalitete zraka u zatvorenom prostoru koji prati CO2 i VOC-e
- Mjerač kiše i vjetra
- Mjerač UV indeksa
Ovo su dobri drugi projekti. Ožičenje je jednostavno, a posao se prebacuje na pohranu podataka i njihovo korisno prikazivanje.
Prikazi
Kada vaš projekt ima nešto za reći, treba mu zaslon. Mali OLED zasloni su dobri za nekoliko redaka teksta. Za sve što ćete zapravo čitati izdaleka, e-papir je bolji izbor, jer drži sliku bez ikakvog napajanja i ostaje čitljiv na izravnoj sunčevoj svjetlosti.
E-papir je prikladan za nadzorne ploče, sobne zaslone, kalendare i satove, te sve što se napaja baterijama i ažurira nekoliko puta na sat, a ne nekoliko puta u sekundi. Naše ideje za projekte s e-papirnim zaslonom prolaze kroz petnaest njih.
Za više početnih točaka u svim ovim kategorijama, pogledajte 15 ideja za Arduino projekte za početnike i stvaratelje. Ako gradite s mlađim stvarateljima, zabavni Arduino projekti za djecu je blaži popis.
Koju Arduino ploču odabrati za početnike?
Postoje deseci ploča, a uspoređivanje svih njih je ono što početnike na kraju dovede do toga da ne kupe nijednu. Tri će pokriti gotovo sve.
Sveukupno najbolje: NULA Core
ATmega328P ploča s 32 KB flash memorije, 22 I/O pina (14 digitalnih i 8 analognih), USB-C, Qwiic konektorom i Li-ion baterijskim konektorom s ugrađenim punjačem, sve u dimenzijama 63 x 22 mm.
Pokreće isti 8-bitni čip za koji je napisan gotovo svaki Arduino tutorijal ikada, tako da primjeri koda koje pronađete na internetu rade bez izmjena. Dobivate USB-C umjesto stare B-tip utičnice, senzore koji se spajaju preko jednog Qwiic kabela i bateriju koju možete puniti s ploče.
Najbolje za učenje elektronike: Embedded Journey Kit
Sama ploča vas ne uči elektroniku. I dalje su vam potrebni breadboard, žice, otpornici, LED diode, nekoliko senzora i nešto što će vam reći što gdje spojiti.
Embedded Journey Kit je NULA Mini ESP32-C6, plus svi ti dijelovi, plus kompletan set obrađenih primjera u Arduinu i MicroPythonu. Radite kroz njih redoslijedom, a svaki dodaje komponentu i ideju.
Najbolje ako želite Wi-Fi: NULA Mini ESP32-C6
ESP32-C6 ploča u mnogo manjem formatu, s Wi-Fi 6, Bluetooth 5 Low Energy i 802.15.4 za Thread i Zigbee. Posljednji dio je važan ako želite da se vaš projekt pridruži Matter ili Zigbee pametnoj kućnoj mreži umjesto da komunicira s njom putem vašeg rutera.
Tehnički, to nije tradicionalna Arduino ploča. Podržava Arduino ekosustav dok dodaje bežičnu vezu koju klasične ploče nikada nisu imale.
Također je to ploča unutar Embedded Journey Kit-a, tako da vam ne trebaju obje.
Jedna praktična napomena: koristi CH340K USB-na-serijski čip, pa na sustavu Windows instalirajte CH340 driver prije prvog prijenosa.
Kako biste vidjeli kako se ovi uspoređuju s drugim opcijama, napisali smo najbolje Arduino kompatibilne ploče za stvaratelje.
Česte pogreške početnika
Gotovo svaki problem na koji početnik naiđe je jedan od ovih. Nijedan od njih nije vaša greška, i svi se mogu brzo riješiti.
Pogrešna ploča odabrana u IDE-u. Prijenosi ne uspijevaju, ili uspijevaju pa se ništa ne događa. Provjerite Tools > Board i provjerite odgovara li ploči koju držite u ruci. Ako vaše ploče nema na popisu, prvo instalirajte njezin paket ploče.
Zaborav na GND. Senzor treba i napajanje i zajedničku masu s pločom. Bez veze s masom očitava smeće, ili uopće ništa. Ako se komponenta ponaša nepredvidivo, provjerite masu prije nego što provjerite bilo što drugo.
Pogrešan port, ili uopće nema porta. Ako je Tools > Port prazan, vaše računalo ne vidi ploču. Obično je to nedostajući USB-na-serijski upravljački program, a ne neispravna ploča: ploče koje koriste CH340 ili CP2102 čipove trebaju instaliran upravljački program na sustavu Windows. Također može biti samo USB kabel za punjenje, koji prenosi samo napajanje, ali ne i podatke.
Nedostaje biblioteka. Primjer se kompajlira na tuđem računalu i izbacuje No such file or directory na vašem. Ta pogreška imenuje zaglavlje koje ne može pronaći. Instalirajte tu biblioteku iz Tools > Manage Libraries i ponovno kompajlirajte.
Napajanje motora s 5 V pina ploče. Servo ili motor troši mnogo više struje nego što ugrađeni regulator može osigurati. Ploča se prazni i resetira, obično usred pokreta, što izgleda točno kao programska greška. Dajte motorima vlastito napajanje i spojite samo masu i signalnu žicu natrag na ploču.
Serijski monitor s pogrešnom brzinom prijenosa (baud rate). Vaš sketch ispisuje na 115200, monitor je postavljen na 9600, i dobivate nečitljive simbole. Broj u Serial.begin() i broj u monitoru moraju se podudarati.
Zašto je Soldered dobro mjesto za početak učenja Arduina
Kupnja komponenti jednu po jednu funkcionira, ali je spor, a pola dijelova stiže bez dokumentacije. Većina početnika više postiže počinjući s pločama, senzorima i kompletima koji već rade zajedno i dolaze s primjerima koji se pokreću.
Sve što napravimo dokumentirano je na docs.soldered.com, s dijagramima ožičenja, bibliotekama i radnim primjerima koda za svaki proizvod. Naši senzori koriste Qwiic, tako da ih možete spojiti u lanac jednim kabelom umjesto da svaki ručno ožičite.
Ako počinjete od nule, jedan komplet pokriva sve:
To je NULA Mini ESP32-C6 s mini breadboardom, žicama, 13 LED dioda, otpornicima, gumbima, zujalicom i shift registrom, plus tri Qwiic senzora: 16x2 LCD, HC-SR04 senzor udaljenosti i SHTC3 senzor temperature i vlažnosti. Nema ničega drugog za kupiti kako biste prošli kroz svaki primjer u njemu.
Ako već imate ploču i radije biste sami sastavili dijelove, ova tri pokrivaju gotovo svaki početnički sklop:
Oba puta vas vode od prve trepćuće LED diode do projekta koji očitava senzore i prikazuje rezultate na zaslonu.
Kratka verzija
- Arduino je ploča mikrokontrolera plus besplatni softver, a petlja koju pokreće uvijek je ista: očitaj ulaz, odluči, postavi izlaz.
- Popularan je jer dobijete radni rezultat već prvog dana, ploče su jeftine, a za tisuće komponenti već postoje napisane biblioteke.
- Počnite s kompletom umjesto s pojedinačnim dijelovima i birajte projekte prema onome što stvarno želite u svojoj kući.
Često postavljana pitanja
Za što se koristi Arduino?
Očitavanje senzora i kontrola izlaza. U praksi to znači automatizaciju doma, robotiku, bilježenje podataka, nadzor okoliša, umjetničke instalacije, glazbene instrumente i prototipiranje elektronike za proizvod prije nego što se posvetite prilagođenoj ploči.
Je li Arduino dobar za početnike?
Da. To je najčešća ulazna točka u elektroniku, uglavnom zato što možete dobiti radni rezultat već prvog dana i zato što je svaki problem na koji ćete naići već negdje odgovoren.
Trebam li iskustvo u programiranju za korištenje Arduina?
Ne. Morat ćete naučiti što su varijabla, if izjava i petlja, što traje jedno popodne. Osim toga, većinu vremena provodite prilagođavajući primjere skica, a ne pišući kod od nule.
Je li Arduino programski jezik?
Ne, iako ljudi tako govore o tome. Arduino skice su C++ koje koriste Arduino biblioteku. Biblioteka je ono što ga čini kao da je vlastiti jezik, skrivajući registre mikrokontrolera iza funkcija poput digitalWrite() i analogRead().
Koja je razlika između Arduina i Raspberry Pi-a?
Arduino je ploča mikrokontrolera: pokreće jedan program, pokreće se odmah i dobar je u kontroli osjetljivoj na vrijeme. Raspberry Pi je malo računalo koje pokreće Linux: ima operativni sustav, pokreće mnoge programe odjednom i dobar je za kamere, umrežavanje i sve što zahtijeva stvarnu procesorsku snagu. Uspoređujemo oba s ESP32 u Arduino vs Raspberry Pi vs ESP32.
Koju Arduino ploču bih trebao kupiti prvu?
Ako želite jednu ploču, NULA Core. Ako učite elektroniku od nule i želite dijelove i lekcije s njom, Embedded Journey Kit.
Može li se Arduino koristiti za IoT projekte?
Da, s pločom koja ima ugrađenu bežičnu vezu. Klasične Arduino ploče trebaju zaseban Wi-Fi ili Ethernet modul. Ploče temeljene na ESP32 kao što su NULA Mini ESP32-C6 ili NULA DeepSleep ESP32-S3 imaju ugrađeni Wi-Fi i Bluetooth i još uvijek se programiraju iz Arduino IDE-a.
Je li Arduino besplatan za korištenje?
Softver je. Arduino IDE je besplatan, temeljne biblioteke su otvorenog koda, a gotovo svaka biblioteka treće strane je besplatna. Plaća se hardver.