Reklaam

arduino trükkplaatViimati jätsin su maha seadnud Alustamine oma Arduino stardikomplektiga - draiverite installimine ning tahvli ja pordi seadistamineNiisiis, olete ostnud endale Arduino stardikomplekti ja võib-olla veel mõned juhuslikud lahedad komponendid - mis nüüd saab? Kuidas selle Arduino asja programmeerimisega tegelikult algust teha? Kuidas seda üles seada ... Loe rohkem oma Arduinoga, et töötada koos Maci või Windowsiga ning laadinud üles lihtsa testirakenduse, mis vilgutas pardal olevat LED-i. Täna selgitan ma teie üles laaditud koodi, Arduino tarkvara ülesehitust ja veel natuke tahvli enda elektrooniliste bittide kohta.

See artikkel on osa Arduino sarja sissejuhatusest. Teised sarja artiklid on seni:

  • Mis on Arduino ja mida saate sellega teha Mis on Arduino ja mida saate sellega teha?Arduino on tähelepanuväärne väike elektroonikaseadme, kuid kui te pole seda kunagi varem kasutanud, siis lihtsalt millised need täpselt on ja mida saate ühega teha? Loe rohkem ?
  • Mis on Arduino stardikomplekt ja mida see sisaldab? Mis on Arduino stardikomplektis? [MakeUseOf selgitab]Olen varem tutvustanud siin MakeUseOfil Arduino avatud lähtekoodiga riistvara, kuid selleks, et midagi sellest välja ehitada ja tegelikult tööle asuda, vajate enamat kui ainult tegelikku Arduinot. Arduino "stardikomplektid" on ... Loe rohkem
  • Rohkem lahedaid komponente, mida oma stardikomplektiga osta Veel 8 lahedat komponenti teie Arduino projektideleNiisiis, sa mõtled Arduino stardikomplekti hankimise peale, kuid mõtled, kas mõnest põhilisest LED-ist ja takistist piisab nädalavahetuse hõivamiseks? Ilmselt mitte. Siin on veel 8 ... Loe rohkem
  • Alustamine oma Arduino stardikomplektiga - draiverite installimine ning tahvli ja pordi seadistamine Alustamine oma Arduino stardikomplektiga - draiverite installimine ning tahvli ja pordi seadistamineNiisiis, olete ostnud endale Arduino stardikomplekti ja võib-olla veel mõned juhuslikud lahedad komponendid - mis nüüd saab? Kuidas selle Arduino asja programmeerimisega tegelikult algust teha? Kuidas seda üles seada ... Loe rohkem

Riistvara

Vaatame lähemalt, mida Arduino Uno trükkplaadi bittide osas omab.

Siin on laiendatud diagramm, millele viidatakse:

arduino trükkplaat
  • Ülaosas on 14 digitaalset sisend- / väljundtihvti (nummerdatud 0-13). Need on teie Arduino kõige mitmekülgsemad nööpnõelad ja võivad toimida kas sisendina või väljundina ja moodustavad teie projektide tuuma. Digitaalne tähendab, et signaal, mida need tihvtid saavad kirjutada või lugeda, on sisse või välja lülitatud.
  • 6 neist digitaalsetest tihvtidest, mis on tähistatud sildiga tilde ~ on võimelised tegema nn Impulsi laiuse modulatsioon. Ma ei ole elektriinsener, seega ei häbene ma ennast, selgitades selle taga olevat teadust, vaid teile ja mulle see tähendab, et suudame pakkuda erinevaid väljundtasemeid - näiteks LED-i tuhmuseks või mootori juhtimiseks erineval viisil kiirused.
  • Pin 13 on eriline selle poolest, et sellel on sisseehitatud LED. See on ainult mugavuse ja testimise eesmärkidel. Saate seda pardal olevat LED-i kasutada, nagu te tegite näiterakenduses Blink, lihtsalt väljundina pin 13-le - või saab seda kasutada tavalise I / O-pinina.
  • Paremal allservas on 6 analoogsisendit. Need loevad analoogandurite, näiteks valgusmõõturi või muutuva takisti väärtuse.
  • Analoogsisendi tihvtide kõrval vasakus servas on toitetapid. Ainsad, mille pärast peate tõesti muretsema, on maanduskontaktid (GND), 3,3 V ja 5 V elektriliinid.
  • Lõpuks on ainus Arduinost leitud lüliti lähtestamislüliti. See taaskäivitab mis tahes programmi, mis tal on mälus.
  • Arduinol on määratud mälumaht ja kui teie programm läheb liiga suureks, annab kompilaator teile tõrke.

Arduino programmi struktuur

Iga Arduino programm koosneb vähemalt kahest funktsioonist (kui te ei tea, mis see funktsioon on, lugege kindlasti minu programmeerimise algõpetus, 2. osa - funktsiooni- ja juhtkäsud Programmeerimise absoluutsed põhitõed algajatele (2. osa)Meie absoluutsete algajate programmeerimisjuhendi 2. osas kirjeldan funktsioonide põhitõdesid, tagasiväärtusi, silmuseid ja tingimusi. Enne selle käsitlemist veenduge, et olete läbi lugenud 1. osa, kus ma selgitasin ... Loe rohkem ja 1. osa, kus arutasime muutujaid Programmeerimise põhialused 101 - muutujad ja andmetüübidOlles tutvunud ja veidi rääkinud objektorienteeritud programmeerimisest enne ja kus selle nime teinud pärineb, arvasin, et on aeg minna läbi programmeerimise absoluutsed põhitõed mittespetsiifilises keeles tee. Selles ... Loe rohkem enne jätkamist).

Esimene neist on häälestusfunktsioon. See käivitatakse algselt - ainult üks kord - ja seda kasutatakse Arduino teatamiseks, mis on ühendatud ja kuhu, ning kõigi muutujate initsialiseerimiseks, mida te oma programmis vajate.

Teiseks on silmus. See on iga Arduino programmi tuum. Kui Arduino töötab, jookseb silmus pärast seadistusfunktsiooni lõppu läbi kõik koodi, siis tehke kogu asi uuesti - kuni kas toide on kadunud või lähtestamislüliti on pressitud. Aeg, mis kulub ühe täieliku silmuse täitmiseks, sõltub sisalduvast koodist. Võite kirjutada koodi, mis ütleb, et oodake 6 tundi, sel juhul ei kordu see ahel väga sageli.

Selle illustreerimiseks on toodud kiire olekuskeem:

arduino trükkplaat

Programmi Blink uurimine

Vaadake tagasi programmi Blink koodi ja tehke kindlaks seadistus- ja silmusfunktsioonid.

Siin on seadistus:

kehtetu seadistus () { // lähtestage digitaalne pin väljundina. // Pin 13-l on enamike Arduino tahvlitega ühendatud LED: pinMode (13, OUTPUT); }

Ridad, mis algavad tähega // on lihtsalt kommentaarid inimese lugejale koodi selgitamiseks ja neid ei laadita Arduinosse üles. Nii et selles konkreetses Arduino rakenduses on tegelikult ainult üks seadistuskoodi rida. See rida ütleb: “Seadista pin 13 väljundrežiimi”. 13, pidage meeles, on sisseehitatud LED.

Siis on silmus:

tühine silmus () { digitalWrite (13, HIGH); // lülitage LED sisse. viivitus (1000); // oota hetke. digitalWrite (13, LOW); // lülitage LED välja. viivitus (1000); // oota hetke. }

Iga koodirea lõpus olevad kommentaarid selgitavad nende funktsiooni üsna hästi. HIGH ja LOW tähistavad digitaalse väljundi olekut SISSE ja VÄLJA - meie puhul LED-i. Tegelikult võiksite ka koodi sisse või välja kirjutada, mõlemad on sünonüümid (nagu ka 0 ja 1). Viivitamine käsib Arduinol sel juhul natuke oodata 1000 millisekundit (või 1 sekund).

Lõpuks märkus siin kasutatud programmeerimiskeele kohta. Pange tähele, et nii häälestus- kui ka silmusfunktsioonidel on sõna tühine enne neid. See on eriline sõna mitte midagi, kuna funktsioon ei tagasta midagi kui seda kutsutakse - see lihtsalt käivitab selles sisalduva koodi. Jätkem nüüd nii, öeldes, et funktsiooni koodiplokk on ümbritsetud lokkis traksidega {} ja iga koodirida peab lõppema tähega; semikoolon.

Proovige põhiprogrammi kuidagi muuta, muutes täpsed viivitusväärtused millekski suuremaks või väiksemaks. Vaadake, kui väikeseks võite selle saada, enne kui vilkumine pole enam märgatav. Uurige välja, millist väärtust muuta, et see püsiks kauem või kauem eemal. Proovige lisada silmusfunktsiooni veel mõned digitalWrite ja viivituse avaldused, et luua keerukam vilkuv muster nagu SOS-i morse kood. Kui teil on helisignaal, proovige see ühendada ka nööpnõelte 13 ja GND-ga (vihje: punane juhe läheb 13-le, must maapinnale).

See on tänapäeva jaoks kõik. Järgmine kord lisame veel mõned LED-id ja kirjutame oma rakenduse nullist. Nagu ikka, on kommentaarid ja jagamised väga hinnatud. Ma ei kujuta ette, et teil oleks täna viidatud koodiga probleeme, kuid kui olete proovinud koodi pisut kohandada ja olete kui teil on vigu või ootamatut käitumist, postitage see julgelt kommentaaridesse ja vaatame, kas saame sellega hakkama koos.

Jamesil on tehisintellekti BSc ning ta on CompTIA A + ja Network + sertifikaadiga. Ta on MakeUseOfi juhtiv arendaja ja veedab oma vaba aega VR-i paintballi ja lauamänge mängides. Ta on lapsest peale arvutit ehitanud.