Kako začeti z Arduinom: Vodnik za začetnike

Kako začeti z Arduinom: Vodnik za začetnike

Arduino je odprtokodna elektronska prototipna platforma in je ena izmed najbolj priljubljenih na svetu-z izjemo Raspberry Pi. Ko ste prodali več kot 3 milijone enot (in še veliko več v obliki naprav za kloniranje tretjih oseb): kaj je tako dobro in kaj lahko storite z eno?





Kaj je Arduino?

Arduino temelji na enostavni za uporabo, prilagodljivi, strojni in programski opremi. Ustvarjen je za umetnike, oblikovalce, inženirje, ljubitelje in vse, ki se najmanj zanimajo za programirano elektroniko.





Arduino zazna okolje z branjem podatkov z različnih gumbov, komponent in senzorjev. Lahko vplivajo na okolje z nadzorom LED, motorji , servomotorji, releji in še veliko več.





Arduino projekti so lahko samostojni ali pa komunicirajo s programsko opremo, ki se izvaja v računalniku ( Obravnavati je najbolj priljubljena programska oprema za to). Lahko se pogovarjajo z drugimi Arduinosi, Raspberry Pis, NodeMCU ali skoraj vsem drugim. Preberite našo primerjavo mikrokrmilnikov v vrednosti 5 USD za temeljito primerjavo razlik med temi mikrokrmilniki.

Morda se sprašujete, zakaj izbrati Arduino? Arduino resnično poenostavi postopek izdelave programabilnega elektronskega projekta, zaradi česar je odlična platforma za začetnike. Z lahkoto lahko začnete delati na enem brez izkušenj z elektroniko. Na voljo je na tisoče vadnic, ki segajo v težave, zato ste lahko prepričani v izziv, ko obvladate osnove.



Poleg enostavnosti Arduina je tudi poceni, za več platform in odprtokoden. Arduino Uno (najbolj priljubljen model) temelji na Atmelovih mikrokontrolerjih ATMEGA 16U2. Proizvaja se veliko različnih modelov, ki se razlikujejo po velikosti, moči in specifikacijah, zato si oglejte vse razlike v našem priročniku za nakup.

Načrti za odbore so objavljeni pod a Creative Commons licenco, zato lahko izkušeni ljubitelji in drugi proizvajalci izdelajo svojo različico Arduina, ki jo potencialno razširijo in izboljšajo (ali pa jo preprosto dokončno kopirajo, kar vodi do širjenja poceni Arduino plošč, ki jih najdemo danes).





Kaj lahko storite z Arduinom?

Arduino lahko naredi neverjetno veliko stvari. So možgani izbire za večino 3D tiskalnikov. Njihovi nizki stroški in enostavna uporaba pomenijo, da je na tisoče ustvarjalcev, oblikovalcev, hekerjev in ustvarjalcev ustvarilo neverjetne projekte. Tukaj je le nekaj projektov Arduino, ki smo jih naredili tukaj na MakeUseOf:

Kaj je znotraj Arduina?

Čeprav je na voljo veliko različnih vrst Arduino plošč, se ta priročnik osredotoča na Arduino uno model. To je najbolj priljubljena plošča Arduino. Kaj torej naredi to stvar kljukico? Tu so specifikacije:





  • Procesor: 16 MHz ATmega16U2
  • Flash pomnilnik: 32 KB
  • Oven: 2 KB
  • Delovna napetost: 5V
  • Vhodna napetost: 7-12V
  • Število analognih vhodov: 6
  • Število digitalnih V/I: 14 (od tega 6 modulov pulzne širine - PWM )

V primerjavi z namiznim računalnikom se lahko zdijo smeti, vendar ne pozabite, da je Arduino vgrajena naprava z veliko manj podatkov za obdelavo kot namizje. Je več kot sposoben za večino elektronskih projektov.

Druga čudovita lastnost Arduina je možnost uporabe tako imenovanih 'ščitov' ali dodatnih plošč. Čeprav ščitniki v tem priročniku ne bodo zajeti, so res lep način za razširitev funkcij in funkcionalnosti vašega Arduina.

Kaj potrebujete za ta priročnik

Spodaj boste našli nakupovalni seznam komponent, ki jih potrebujete za ta priročnik za začetnike. Vse te komponente naj bi stale manj kot 50 USD. Ta seznam bi moral zadostovati, da boste dobro razumeli osnovno elektroniko in imeli dovolj komponent za izdelavo nekaj zelo kul projektov s tem ali katerim koli drugim vodnikom Arduino. Če ne želite izbrati vsake komponente, lahko namesto tega razmislite o nakupu začetnega kompleta.

Če ne morete dobiti določene vrednosti upora, bo nekaj čim bližje običajno delovalo.

Pregled električnih komponent

Poglejmo, kaj točno so vse te komponente, kaj počnejo in kako izgledajo.

Ogledna plošča

Uporabljajo se za izdelavo prototipov elektronskih vezij in zagotavljajo začasen način povezovanja komponent. Omarice so plastični bloki z luknjami, v katere je mogoče vstaviti žice. Luknje so razporejene v vrstah, v skupinah po pet. Ko želite preurediti vezje, izvlecite žico ali del iz luknje in jo premaknite. Številne plošče vsebujejo dve ali štiri skupine lukenj, ki potekajo po dolžini plošče, ob straneh, in vse so povezane - te so običajno za distribucijo energije in so lahko označene z rdečo in modro črto.

Ogledne plošče so odlične za hitro izdelavo vezja. Za veliko vezje se lahko zelo zapletejo, cenejši modeli pa so lahko nezanesljivi, zato je vredno za dobrega porabiti nekaj več denarja.

LED

LED pomeni Svetleča dioda . So zelo poceni vir svetlobe in so lahko zelo svetli - še posebej, če so združeni skupaj. Lahko jih kupite v različnih barvah, se ne segrejejo in trajajo dlje časa. Morda imate LED -diode na televizorju, armaturni plošči avtomobila ali v žarnicah Philips Hue.

Vaš mikrokrmilnik Arduino ima tudi vgrajeno LED na pin 13, ki se pogosto uporablja za označevanje dejanja ali dogodka ali samo za testiranje.

Fotografski upor

Foto upor ( str hotocelica ali Od svetlobe odvisen upor ) omogoča, da vaš Arduino meri spremembe svetlobe. S tem lahko na primer vklopite računalnik, ko je svetloba.

Taktilno stikalo

kako popraviti pokvarjena vrata USB

Taktilno stikalo je v bistvu gumb. S pritiskom na to bo vezje zaključeno in (običajno) spremenjeno z 0V na +5V. Arduinos lahko zazna to spremembo in se ustrezno odzove. Te so pogosto trenutni - kar pomeni, da so 'pritisnjeni' le, če jih držite s prstom. Ko jih spustite, se bodo vrnili v privzeto stanje ('ne pritisnjeno' ali izklopljeno).

Piezo zvočnik

Piezo zvočnik je majhen zvočnik, ki proizvaja zvok iz električnih signalov. Pogosto so ostri in kositrni in nič ne slišijo kot pravi govornik. Kljub temu so zelo poceni in jih je enostavno programirati. Naša igra Buzz Wire uporablja eno za igranje Monty Python 'Leteči cirkus' .

Upor

Upor omejuje pretok električne energije. So zelo poceni komponente in so ena izmed amaterskih in profesionalnih elektronskih vezij. Skoraj vedno so potrebni za zaščito komponent pred preobremenitvijo. Potrebni so tudi za preprečitev kratkega stika, če se Arduino +5V poveže naravnost v maso. Skratka: zelo priročno in absolutno bistveno.

Mostične žice

Mostične žice se uporabljajo za ustvarjanje začasnih povezav med komponentami na vaši plošči.

Nastavitev vašega Arduina

Preden se lotite katerega koli projekta, se morate Arduino pogovoriti z računalnikom. To vam omogoča, da napišete in sestavite kodo, ki jo bo Arduino lahko izvedel, in omogočite, da vaš Arduino deluje skupaj z računalnikom.

Namestitev programskega paketa Arduino v sistemu Windows

Odpravite se do Spletno mesto Arduino in prenesite različico programske opreme Arduino, ki ustreza vaši različici sistema Windows. Ko prenesete, sledite navodilom za namestitev Arduina Celostno razvojno okolje (TUKAJ).

Namestitev vključuje gonilnike, zato bi morali teoretično iti takoj. Če iz nekega razloga to ne uspe, poskusite ročno namestiti gonilnike:

  • Priključite ploščo in počakajte, da Windows zažene postopek namestitve gonilnika. Po nekaj trenutkih bo proces kljub največjim prizadevanjem propadel.
  • Kliknite na Meni Start > Nadzorna plošča .
  • Pomaknite se do Sistem in varnost > Sistem . Ko je okno sistema odprto, odprite Upravitelj naprav .
  • Spodaj Pristanišča (COM & LPT), bi morali videti odprta vrata z imenom Arduino UNO (COMxx) .
  • Desni klik na Arduino UNO (COMxx) > Posodobite programsko opremo gonilnika .
  • Izberite Poiščite programsko opremo Driver v mojem računalniku .
  • Pomaknite se do in izberite datoteko gonilnika Uno z imenom ArduinoUNO.inf , ki se nahaja v Vozniki mapo za prenos programske opreme Arduino.

Windows bo od tam dokončal namestitev gonilnika.

Namestitev programskega paketa Arduino na Mac OS

Prenesite programsko opremo Arduino za Mac iz Spletno mesto Arduino . Izvlecite vsebino datoteke .zip datoteko in zaženite aplikacijo. Lahko ga kopirate v mapo z aplikacijami, vendar se bo iz vaše datoteke dobro izvajal namizju ali prenosi mape. Za Arduino UNO vam ni treba namestiti dodatnih gonilnikov.

Namestitev programske opreme Arduino na paket Ubuntu/Linux

Namesti gcc-avr in avr-libc :

sudo apt-get install gcc-avr avr-libc

Če še nimate openjdk-6-jre, namestite in konfigurirajte tudi to:

sudo apt-get install openjdk-6-jre
sudo update-alternatives --config java

Izberite pravilno JRE če imate nameščenih več.

Pojdite na Spletno mesto Arduino in prenesite programsko opremo Arduino za Linux. Ti lahko širjenje in ga zaženite z naslednjim ukazom:

tar xzvf arduino-x.x.x-linux64.tgz
cd arduino-1.0.1
./arduino

Ne glede na to, kateri operacijski sistem uporabljate, zgornja navodila predvidevajo, da imate originalno ploščo Arduino Uno z blagovno znamko. Če ste kupili klona, ​​boste skoraj zagotovo potrebovali gonilnike drugih proizvajalcev, preden bo plošča prepoznana prek USB -ja.

Zagon programske opreme Arduino

Zdaj, ko je programska oprema nameščena in vaš Arduino nastavljen, preverimo, ali vse deluje. Najlažji način za to je uporaba vzorčne aplikacije 'Blink'.

Odprite programsko opremo Arduino tako, da dvokliknete aplikacijo Arduino ( ./arduino v Linuxu ). Prepričajte se, da je plošča povezana z računalnikom, nato odprite LED utripa primer skice: mapa > Primeri > 1. Osnove > Utripaj . Koda za aplikacijo bi morala biti odprta:

Če želite naložiti to kodo na svoj Arduino, izberite vnos v Orodja > Odbor meni, ki ustreza vašemu modelu - Arduino uno v tem primeru.

Izberite serijsko napravo svoje plošče iz Orodja > Serijska vrata meni. V sistemu Windows bo verjetno tako COM3 ali višje. V Macu ali Linuxu bi to moralo biti nekaj /dev/tty.usbmodem v.

Na koncu kliknite na Naloži gumb v zgornjem levem kotu vašega okolja. Počakajte nekaj sekund in videli boste RX in TX Lučke LED na Arduinu utripajo. Če je nalaganje uspešno, se v vrstici stanja prikaže sporočilo »Končano nalaganje«.

Nekaj ​​sekund po končanem nalaganju bi morali videti datoteko pin 13 LED na plošči začne utripati. Čestitamo! Arduino imate zagnan.

Začetni projekti

Zdaj, ko poznate osnove, poglejmo nekaj začetniških projektov.

Vzorčno kodo Arduino ste že uporabljali za utripanje vgrajene LED diode. Ta projekt bo utripal zunanjo LED z uporabo plošče. Tukaj je vezje:

Priključite dolgo nogo LED (pozitivno nogo, imenovano anoda ) do a 220 ohmski upor nato pa v digitalno nožica 7 . Povežite kratko nogo (negativno nogo, imenovano katoda ) neposredno na tla (katero koli od vrat Arduino z GND na vaši izbiri). To je preprosto vezje. Arduino lahko digitalno upravlja ta pin. Vklop zatiča bo prižgal LED, izklop pa LED. Upor je potreben za zaščito LED pred prevelikim tokom - brez njega bo zgorel.

Tukaj je koda, ki jo potrebujete:

void setup() {
// put your setup code here, to run once:
pinMode(7, OUTPUT); // configure the pin as an output
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(7, HIGH); // turn LED on
delay(1000); // wait 1 second
digitalWrite(7, LOW); // turn LED off
delay(1000); // wait one second
}

Ta koda naredi več stvari:

void setup (): To zažene Arduino vsakič, ko se zažene. Tu lahko konfigurirate spremenljivke in vse, kar vaš Arduino potrebuje za zagon.

pinMode (7, OUTPUT): To pove Arduinu, naj uporabi ta pin kot izhod, brez te vrstice Arduino ne bi vedel, kaj naj naredi z vsakim zatičem. To je treba konfigurirati samo enkrat na pin, konfigurirati pa morate le nožice, ki jih nameravate uporabljati.

void loop (): Vsaka koda v tej zanki se vedno znova zažene, dokler se Arduino ne izklopi. To lahko naredi večje projekte bolj zapletene, vendar deluje preprosto za preproste projekte.

digitalWrite (7, VISOKO): To se uporablja za nastavitev zatiča VISOKO ali NIZKA - VKLOPLJENO ali IZKLOPLJENO . Tako kot stikalo za luči sveti LED, ko je zatič VISOK. Ko je nožica NIZKA, LED ne sveti. Znotraj oklepajev morate določiti nekaj dodatnih informacij, da bo to delovalo pravilno. Dodatne informacije so znane kot parametri ali argumenti.

Prva (7) je številka pin. Če ste na primer LED priklopili na drug pin, bi to spremenili s sedem na drugo številko. Drugi parameter mora biti VISOKO ali NIZKA , ki določa, ali naj se LED vklopi ali izklopi.

zakasnitev (1000): Arduino pove, naj počaka na določen čas v milisekundah. 1000 milisekund je enaka eni sekundi, zato bo Arduino čakal na sekundo.

Ko je LED vklopljen za eno sekundo, Arduino zažene isto kodo, le da LED ugasne in počaka še sekundo. Ko je ta postopek končan, se zanka znova zažene in LED se ponovno vklopi.

Izziv: Poskusite prilagoditi časovni zamik med vklopom in izklopom LED. Kaj opazujete? Kaj se zgodi, če zakasnitev nastavite na zelo majhno število, na primer eno ali dve? Ali lahko spremenite kodo in vezje, da utripa dva LED?

Dodajanje gumba

Zdaj, ko LED deluje, dodamo gumb v vezje:

Gumb povežite tako, da premosti kanal na sredini mize. Povežite zgoraj desno nogo do Pin 4 . Povežite spodaj desno nogo do a 10k ohm upor in nato na tla . Povežite spodaj levo nogo do 5V .

Morda se sprašujete, zakaj preprost gumb potrebuje upor. To služi dvema namenoma. Je potegnite navzdol upor - veže pin na ozemljitev. To zagotavlja, da niso zaznane napačne vrednosti, in preprečuje Arduino razmišljanje pritisnili ste gumb, ko tega niste storili. Drugi namen tega upora je kot omejevalnik toka. Brez tega bi 5V šel neposredno v zemljo čarobni dim bi bil izpuščen in vaš Arduino bi umrl. To je znano kot kratek stik, zato uporaba upora preprečuje, da bi se to zgodilo.

Ko gumb ni pritisnjen, Arduino zazna tla ( nožica 4 > upor > tla ). Ko pritisnete gumb, je 5V priključeno na maso. Arduino pin 4 lahko zazna to spremembo, saj se je pin 4 zdaj spremenil iz tal na 5V;

Tukaj je koda:

boolean buttonOn = false; // store the button state
void setup() {
// put your setup code here, to run once:
pinMode(7, OUTPUT); // configure the LED as an output
pinMode(4, INPUT); // configure the button as an input
}
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(4)) {
delay(25);
if(digitalRead(4)) {
// if button was pressed (and was not a spurious signal)
if(buttonOn)
// toggle button state
buttonOn = false;
else
buttonOn = true;
delay(500); // wait 0.5s -- don't run the code multiple times
}
}
if(buttonOn)
digitalWrite(7, LOW); // turn LED off
else
digitalWrite(7, HIGH); // turn LED on
}

Ta koda temelji na tem, kar ste se naučili v prejšnjem razdelku. Gumb strojne opreme, ki ste ga uporabili, je a trenutni dejanje. To pomeni, da bo delovalo le, če ga držite pritisnjenega. Alternativa je a zapiranje dejanje. To je tako kot vaša stikala za luč ali vtičnico, za vklop pritisnite enkrat, za izklop pa še enkrat. Na srečo je mogoče v kodi izvesti vezenje zapiranja. Evo, kaj naredi dodatna koda:

boolean buttonOn = false: Ta spremenljivka se uporablja za shranjevanje stanja gumba - ON ali OFF, HIGH ali LOW. Privzeta vrednost je false.

pinMode (4, VHOD): Podobno kot koda, ki se uporablja za LED, ta vrstica pove Arduinu, da ste priključili vhod (vaš gumb) na pin 4.

če (digitalRead (4)): Na podoben način kot digitalWrite () , digitalRead () se uporablja za branje stanja zatiča. Vnesti mu morate številko PIN (4, za vaš gumb).

Ko pritisnete gumb, Arduino počaka 25 ms in znova preveri gumb. To je znano kot a odpoved programske opreme . To zagotavlja, da je Arduino pritisnil na gumb, res je bil pritisk na gumb in ne hrup. Tega vam ni treba storiti in v večini primerov bodo stvari delovale brez tega. To je boljša praksa.

Če je Arduino prepričan, da ste res pritisnili gumb, potem spremeni vrednost buttonOn spremenljivka. To preklopi stanje:

ButtonOn drži: Nastavi na false.

ButtonOn je napačno: Nastavite na true.

Nazadnje se LED izklopi glede na stanje, shranjeno v buttonOn .

Senzor svetlobe

Preidimo na napreden projekt. Ta projekt bo uporabil a Od svetlobe odvisen upor (LDR) za merjenje količine razpoložljive svetlobe. Arduino bo nato računalniku povedal uporabna sporočila o trenutni ravni svetlobe.

kako posneti zaslon snapchat, ne da bi vedeli za leto 2021

Tukaj je vezje:

Ker so LDR vrsta upora, ni pomembno, v katero smer so postavljeni - nimajo polarnosti. Poveži se 5V na eni strani LDR. Priključite drugo stran na tla prek a 1k ohm upor. To stran povežite tudi z analogni vhod 0 .

Ta upor deluje tako kot v prejšnjih projektih. Potreben je analogni pin, saj so LDR analogne naprave, ti zatiči pa vsebujejo posebno vezje za natančno branje analogne strojne opreme.

Tukaj je koda:

int light = 0; // store the current light value
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); //configure serial to talk to computer
}
void loop() {
// put your main code here, to run repeatedly:
light = analogRead(A0); // read and save value from LDR

//tell computer the light level
if(light <100) {
Serial.println('It is quite light!');
}
else if(light > 100 && light <400) {
Serial.println('It is average light!');
}
else {
Serial.println('It is pretty dark!');
}
delay(500); // don't spam the computer!
}

Ta koda naredi nekaj novih stvari:

Serial.begin (9600): To pove Arduinu, da želite komunicirati prek serijske hitrosti pri 9600. Arduino bo za to pripravil vse potrebno. Stopnja ni tako pomembna, vendar morata vaš Arduino in računalnik uporabljati isto.

analogRead (A0): To se uporablja za branje vrednosti, ki prihaja iz LDR. Nižja vrednost pomeni, da je na voljo več svetlobe.

Serial.println (): To se uporablja za pisanje besedila v serijski vmesnik.

Enostavno če stavek pošilja v računalnik različne nize (besedilo), odvisno od razpoložljive svetlobe.

Naložite to kodo in priključite kabel USB (tako bo komuniciral Arduino in od kod prihaja napajanje). Odprite serijski monitor ( Zgoraj desno > Serijski monitor ), Vsaka 0,5 sekunde bi morala biti prikazana vaša sporočila.

Kaj opazujete? Kaj se zgodi, če pokrijete LDR ali nanj osvetlite močno svetlobo? Ali lahko spremenite kodo, da natisnete vrednost LDR preko zaporedja?

Ustvari nekaj hrupa

Ta projekt uporablja zvočnik Piezo za ustvarjanje zvokov. Tukaj je vezje:

Opazite kaj znanega? To vezje je skoraj popolnoma enako projektu LED. Piezo so zelo enostavne komponente - oddajajo zvok, ko dobijo električni signal. Povežite pozitivno noga na digitalno nožica 9 prek a 220 ohm upor. Povežite negativno nogo do tla .

Tukaj je koda, za ta projekt je zelo preprosta:

void setup() {
// put your setup code here, to run once:
pinMode(9, OUTPUT); // configure piezo as output
}
void loop() {
// put your main code here, to run repeatedly:
tone(9, 1000); // make piezo buzz
delay(1000); // wait 1s
noTone(9); // stop sound
delay(1000); // wait 1s
}

Tu je le nekaj novih kodnih funkcij:

ton (9, 1000): Tako piezo ustvari zvok. Za to sta potrebna dva argumenta. Prvi je pin, ki ga je treba uporabiti, drugi pa frekvenca tona.

noTone (9): To preneha proizvajati zvok na priloženem zatiču.

Poskusite spremeniti to kodo, da ustvarite drugačno frekvenco. Spremenite zakasnitev na 1 ms - kaj opazite?

Kam iti Od tu

Kot lahko vidite, je Arduino preprost način za vstop v elektroniko in programsko opremo. To je eden najboljših mikrokrmilnikov za začetnike. Upajmo, da ste videli, da je preprosto ustvariti preproste elektronske projekte z Arduinom. Ko razumete osnovne, lahko zgradite veliko bolj zapletene projekte:

  • Ustvarite božične okraske
  • Arduino Shields za nadvlado vašega projekta
  • Z Arduinom zgradite svojo igro pong
  • Arduino povežite z internetom
  • Ustvarite sistem avtomatizacije doma s svojim Arduinom

Kateri Arduino imate v lasti? Ali imate radi kakšne zabavne projekte? Za več informacij si oglejte, kako izboljšati kodiranje Arduino s kodo VS in PlatformIO.

Deliti Deliti Cvrkutati E-naslov 15 ukazov ukaznega poziva Windows (CMD), ki jih morate poznati

Ukazni poziv je še vedno močno orodje Windows. Tu so najbolj uporabni ukazi CMD, ki jih mora poznati vsak uporabnik sistema Windows.

Preberite Naprej
Sorodne teme
  • DIY
  • Arduino
  • Elektronika
O avtorju Joe Coburn(136 objavljenih člankov)

Joe je diplomiral iz računalništva na Univerzi v Lincolnu v Veliki Britaniji. Je poklicni razvijalec programske opreme in ko ne leti z brezpilotnimi letali ali ne piše glasbe, ga pogosto najdejo pri fotografiranju ali ustvarjanju videoposnetkov.

Več od Joea Coburna

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, če se želite naročiti
Kategorija Diy