Oglas

arduino vezjeZadnjič sem te zapustil postavil Uvod v računalnik za zagon Arduino - Namestitev gonilnikov in nastavitev plošče in vratTorej, kupili ste si starševski komplet Arduino in morda še kakšne naključne kul komponente - kaj zdaj? Kako pravzaprav začnete s programiranjem te Arduinove stvari? Kako jo nastavite ... Preberi več vaš Arduino za delo z Mac ali Windows in je naložil preprosto testno aplikacijo, ki je utripala LED na vozilu. Danes bom razložil kodo, ki ste jo prenesli, strukturo programske opreme Arduino in malo več o elektronskih bitih na sami plošči.

Ta članek je del uvoda v serijo Arduino. Drugi članki v seriji do zdaj so:

  • Kaj je Arduino in kaj lahko narediš z njim Kaj je Arduino in kaj lahko storite z njim?Arduino je izjemna majhna elektronska naprava, če pa še nikoli niste uporabljali, kaj točno so, in kaj lahko storite z eno? Preberi več ?
  • Kaj je Arduino zagon in kaj vsebuje? Kaj je vključeno v zagon Arduino? [MakeUseOf pojasnjuje]Že prej sem na MakeUseOf predstavil strojno opremo z odprto kodo Arduino, vendar boste potrebovali več kot le dejanski Arduino, da iz tega nekaj sestavite in dejansko začnete. Arduino "zaganjalni kompleti" so ... Preberi več
  • Bolj kul sestavne dele, ki jih lahko kupite skupaj s svojim zaganjalnikom Še več kul komponent za vaše Arduino projekteTorej razmišljate, da bi dobili komplet za zagon Arduino, a se sprašujete, ali bo nekaj osnovnih LED in uporov dovolj, da vas zasedejo za vikend? Verjetno ne. Tu je še 8 ... Preberi več
  • Uvod v računalnik za zagon Arduino - Namestitev gonilnikov in nastavitev plošče in vrat Uvod v računalnik za zagon Arduino - Namestitev gonilnikov in nastavitev plošče in vratTorej, kupili ste si starševski komplet Arduino in morda še kakšne naključne kul komponente - kaj zdaj? Kako pravzaprav začnete s programiranjem te Arduinove stvari? Kako jo nastavite ... Preberi več

Strojna oprema

Oglejmo si natančneje, kaj ima Arduino Uno glede bitov na vezju.

Tukaj je razširjeni diagram, ki se nanaša na:

arduino vezje
  • Na vrhu je 14 digitalnih vhodno / izhodnih zatičev (oštevilčenih 0-13). To so najbolj vsestranski zatiči vašega Arduinoja in lahko delujejo kot vhodni ali izhodni in bodo jedro vaših projektov. Digitalno pomeni, da bo signal, ki ga ti zatiči lahko pišejo ali berejo, vklopljen ali izklopljen.
  • 6 tistih digitalnih zatičev, ki so označeni z znakom tilde ~ so sposobni storiti, kar se imenuje Modulacija širine impulza. Nisem inženir elektrotehnike, zato se ne bom osramotil z razlago znanosti, ki se skriva za tem, ampak ti in jaz to pomeni, da lahko zagotovimo vrsto izhodnih stopenj - na primer zatemnitev LED-diod ali vožnjo motorja pri različnih hitrosti.
  • Pin 13 je poseben po tem, da ima vgrajeno LED. To je zaradi praktičnosti in testiranja resnično. Tako LED na vozilu, kot ste ga naredili v aplikaciji Blink, lahko uporabite tako, da preprosto izstavite na pin 13 - ali pa se lahko uporablja kot standardni vhodno / izhodni pin.
  • Spodaj desno je 6 analognih vhodnih zatičev. Ti bodo prebrali vrednost analognih senzorjev, kot so merilniki svetlobe ali spremenljivi upori.
  • Spodaj levo poleg analognih vhodnih zatičev so napajalni zatiči. Edino, za kar morate resnično skrbeti, so ozemljitveni zatiči (GND), 3,3 V in 5 V daljnovodi.
  • Končno je edino stikalo, ki ga najdemo na Arduinu, stikalo za ponastavitev. To bo znova zagnalo program, ki ga ima v pomnilniku.
  • Arduino ima nastavljeno količino pomnilnika in če bo vaš program prevelik, vam bo prevajalnik dal napako.

Struktura programa Arduino

Vsak program Arduino ima vsaj dve funkciji (če ne veste, kaj je funkcija, ne pozabite prebrati mojega osnovna navodila za programiranje, 2. del - funkcijski in kontrolni stavki Absolutne osnove programiranja za začetnike (2. del)V drugem delu našega absolutnega vodnika za programiranje za začetnike bom opisal osnove funkcij, povratne vrednosti, zanke in pogoje. Prepričajte se, da ste prebrali 1. del, preden ste se ga lotili, kjer sem pojasnil ... Preberi več , in 1. del, kjer smo razpravljali o spremenljivkah Osnove računalniškega programiranja 101 - spremenljivke in tipi podatkovPreden smo se predstavili in pogovorili o objektno usmerjenem programiranju pred in kje njegovega soimenjaka izhaja, sem mislil, da je čas, da preberemo absolutne osnove programiranja v jezikovni specifiki način. Ta izjemni ... Preberi več pred nadaljevanjem).

Prva je funkcija nastavitve. Ta se sproži na začetku - samo enkrat - in se uporablja, da Arduinu pove, kaj je povezano in kje, kot tudi inicializira vse spremenljivke, ki jih morda potrebujete v vašem programu.

Druga je zanka. To je jedro vsakega programa Arduino. Ko se Arduino zažene, po zaključku funkcije nastavitve bo zanka potekala skozi vse kodo, nato vse naredite znova - dokler se ne izgubi ali napajanje ali pa se ustavi stikalo za ponastavitev stisnjeno. Čas, potreben za dokončanje ene polne zanke, je odvisen od kode, ki jo vsebuje. Lahko napišete neko kodo, ki pravi "počakajte 6 ur"; v tem primeru se zanka ne bo ponavljala zelo pogosto.

Tu je kratki diagram stanja za ponazoritev:

arduino vezje

Preučitev programa Blink

Oglejte si programsko kodo Blink in določite funkcije nastavitve in zanke.

Tukaj je nastavitev:

nična namestitev () { // inicializirajte digitalni pin kot izhod. // Pin 13 ima na večini Arduino plošč priključen LED: pinMode (13, OUTPUT); }

Črte, ki se začnejo z // so preprosto komentarji, ki razlagajo kodo človeškemu bralcu, in se ne naložijo v Arduino. Torej v tej Arduinovi aplikaciji obstaja samo ena vrstica nastavitvene kode. V tej vrstici piše "Nastavite pin 13 v izhodni način". 13, ne pozabite, je vgrajena LED.

Potem je tu zanka:

void loop () { digitalWrite (13, HIGH); // vklopite LED. zamuda (1000); // počakajte sekundo. digitalWrite (13, NIZKA); // izklopite LED. zamuda (1000); // počakajte sekundo. }

Komentarji na koncu vsake vrstice kode dokaj dobro razložijo njihovo delovanje. HIGH in LOW se nanašata na stanje ON in OFF digitalnega izhoda - v našem primeru LED. Prav tako lahko v kodo vpišete tudi VKLOP ali IZKLOP, oba sta sinonimna (tako kot 0 in 1 tudi). Zamuda pove Arduinu, naj počaka malo, v tem primeru 1000 milisekund (ali 1 sekundo).

Za konec še opombo o uporabljenem programskem jeziku. Opazite, da imata tako funkcija nastavitve kot zanke besedo nična pred njimi. To je posebna beseda za nič, ker funkcija ne vrne nič ko se pokliče - preprosto zažene kodo, ki jo vsebuje. Za zdaj naj pustimo to pri besedi, da je blok kode funkcije zaprt s kodranimi naramnicami {} in da se mora vsaka vrstica kode končati z; polpilec.

Poskusite nekako spremeniti osnovni program tako, da natančne vrednosti zamude spremenite v nekaj večjega ali manjšega. Oglejte si, kako majhno ga lahko spravite, preden utripanje ne bo več opazno. Ugotovite, katero vrednost spremeniti, če želite ostati dlje časa ali ostati dlje. Poskusite dodati nekaj več digitalnih zapisov in stavkov z zamikom v funkcijo zanke, da ustvarite bolj zapleten utripajoči vzorec, kot je morseova koda za SOS. Če imate brenčalo, ga poskusite povezati z zatiči 13 in GND (namig: rdeča žica gre na 13, črna na tla).

To je vse za danes. Ko bomo naslednjič dodali še nekaj svetlečih diod in sami napisali lastno aplikacijo. Kot vedno so bili komentarji in delitve zelo cenjeni. Ne morem si predstavljati, da bi imeli kakršne koli težave s prej omenjeno kodo, toda če ste poskušali kodo nekoliko prilagoditi in ste naletite na napake ali nepričakovano vedenje, nam jih brez objave pošljite v komentarje in videli bomo, ali bomo z njimi lahko sodelovali skupaj.

James ima doktorat iz področja umetne inteligence in ima certifikat CompTIA A + in Network +. Je vodilni razvijalec MakeUseOf in svoj prosti čas preživlja z igranjem VR paintball in družabnih iger. Z računalniki gradi že od malih nog.