Reklāma
Šī ir nākamā daļa mūsu mācību Arduino sērijās, un šoreiz mēs? Mācīšos un lietošu Masīvi izgatavot nelielu Ziemassvētku eglīšu rotājumu ar dažādām mirgojošām secībām. Šis būtu ideāls projekts bērnu aizņemtībai, ja vēlaties iemācīt viņiem lodēšanu - vienkārši uzstādiet gaismas diodes uz kartes gabala, un jūs varat iegūt enerģiju no standarta 9 V akumulatora.
Tā ir arī galvenā mācība iesācēju Arduino programmēšanā, lai gan, ja jūs neplānojat to faktiski izmantot kā rotājumu, es noteikti iesaku to tomēr ieviest.
Piezīme: šī ir ļoti iesācēja līmeņa apmācība, un mēs noteikti uzvarējām? t, ka nav jāuztur jauns pamats - vai ne? s? tikai ierīce lietošanas jēdzienu mācīšanai Masīvi un Par cilpām tikt galā ar a liels skaits gaismas diožu (vai citas izvades ierīces).
Ja jums ir patvērums? t, tagad būtu piemērots laiks, lai sekotu līdzi citiem sērijas rakstiem:
- Kas ir Arduino un ko jūs ar to varat darīt? Kas ir Arduino un ko jūs ar to varat darīt?Arduino ir ievērojama maza elektronikas ierīce, taču, ja nekad to vēl nekad neesat izmantojis, tad tieši kādi tie ir, un ko jūs varat darīt ar vienu? Lasīt vairāk ?
- Kas ir Arduino sākuma komplekts un ko tas satur? Kas ir iekļauts Arduino sākuma komplektā? [MakeUseOf skaidrojumi]Es iepriekš esmu iepazīstinājis Arduino atvērtā koda aparatūru šeit vietnē MakeUseOf, taču, lai kaut ko izveidotu no tā un faktiski sāktu, jums ir nepieciešams vairāk nekā tikai faktiskais Arduino. Arduino "sākuma komplekti" ir ... Lasīt vairāk
- Vairāk atdzist komponentu, ko pirkt kopā ar savu sākuma komplektu Vēl 8 atdzist komponenti jūsu Arduino projektiemTātad, jūs domājat par Arduino sākuma komplekta iegādi, bet domājat, vai ar dažiem pamata gaismas diodēm un rezistoriem pietiks, lai jūs būtu aizņemts nedēļas nogalē? Visticamāk ne. Šeit ir vēl 8 ... Lasīt vairāk
- Darba sākšana ar Arduino sākuma komplektu? Draiveru instalēšana un paneļa un porta iestatīšana Darba sākšana ar Arduino sākuma komplektu - draiveru instalēšana un paneļa un porta iestatīšanaTātad, jūs esat sev iegādājies Arduino sākuma komplektu un, iespējams, arī dažus citus nejaušus lieliskus komponentus - ko tad tagad? Kā jūs patiesībā sākat šīs Arduino lietas programmēšanu? Kā jūs to iestatījāt ... Lasīt vairāk
- Frizēšana, bezmaksas rīks shēmu diagrammu zīmēšanai Fritzing - labākais rīks elektronisko projektu skicēšanai [Cross Platform]Neskatoties uz to, ka tas izklausās kā alkops, Fritzing patiesībā ir neticami daudz bezmaksas programmatūras, kuru varat izmantot, lai izveidotu ķēžu un komponentu diagrammas lietošanai ar ātrās prototipēšanas elektronikas plāksnēm, piemēram, fantastisko atvērtā koda Arduino ... Lasīt vairāk
- Tuvāk aplūkojiet Arduino lietotnes struktūru un mirkšķināšanas programmas piemēru Pirmie soļi ar Arduino: tuvāk aplūkojiet shēmas plati un programmas struktūruPagājušajā reizē es atstāju jūs iestatījis Arduino darbam ar Mac vai Windows un augšupielādējis vienkāršu testa lietotni, kas mirgoja iebūvētā gaismas diode. Šodien es paskaidrošu kodu ... Lasīt vairāk
Par šo projektu jūs? Vajadzēs vismaz 8 vai 9 gaismas diodes sarkanā vai zaļā krāsā, a rezistors katram no viņiem, a maizes dēlis un daži hookup vadi. Sākuma komplekts no Ooomlout, kuru nesen iegādājos pats un kurš ir parādīts šajā apmācībā, piedāvā izdevīgu cenas un vērtības attiecību, un tajā ir vairāk gaismas diožu un rezistoru nekā jūs? Jums kādreiz būs nepieciešams, kā arī, lai lietas būtu sakoptas, kā arī nāk ar glītu maizes dēli un Arduino lietu.
Šeit? s pēdējā lieta:
Un video par to darbībā.
Šeit? s ir skats uz elektroinstalāciju no Fritzing. Tā? Tas ir ļoti vienkārši - vienkārši savienojiet gaismas diožu pozitīvo vadu ar tapām 2-> neatkarīgi (līdz 13. tapai) un savienojiet negatīvās kājas ar zemi ar rezistoru. Vai man ir vērtība? šeit tiek izmantots 560 omi. Ka? s tas elektroinstalācijai.
Programmatūras pusē padomājiet par to, kā jūs varētu rakstīt visiem šiem koda gaismas diodēm. Jūs varētu rīkoties šādi:
int led1 = 2; // pirmā gaismas diode 2. tapā. int led2 = 3; // otrais uz 3. tapas. // etc etc void loop () {digitalWrite (led1, HIGH); kavēšanās (100); digitalWrite (led1, LOW); kavēšanās (100); digitalWrite (led2, HIGH); // utt. }
Jums vajadzētu redzēt, ka ar 9 gaismas diodēm tas ātri nogurdina. Atbilde slēpjas Masīvi, kas, ja jūs varat? t atcerieties mūsu Programmēšana 101 par pamata datu tipiem Datorprogrammēšanas pamati 101 - mainīgie un datu tipiIepazīstinājuši un nedaudz runājuši par objektorientētu programmēšanu pirms un kur tā vārdadiena nāk no, es domāju, ka ir pienācis laiks pāriet uz absolūtiem programmēšanas pamatiem, kas nav saistīti ar valodu veids. Viesnīcā ir arī: ... Lasīt vairāk - būtībā ir tikai saraksti.
Sintakse izskatās šādi (ievietojiet to kā pirmo rindiņu kodā):
int ledi [] = {2,3,4,5,6,7,8,9,10};
Kvadrātiekavas norāda, ka indikatori mainīgais būs Masīvs. Cirtaini bikšturi satur to pin numuru sarakstu, kurus mūsu masīvs turēs.
Tagad, lai izmantotu masīvu, mums tas jārisina pēc indeksa numura. indekss sākas ar 0, un tāpēc vienmēr būs par 1 mazāks nekā kopējais lietu skaits tajā (tātad ar 9 vienumiem pēdējam būtu indekss 8).
Jūs to uzrakstāt šādi:
gaismas diodes [0]
Kurš mūsu gadījumā atnest numuru 2, jo tas? s kas? s ar indeksu 0 mūsu masīvā.
Sekojat līdz šim? Lieliski. Tas vien nav? Lai gan mums ar to pietiek - mums ir vajadzīgs arī veids, kā atkārtot katru mūsu gaismas diožu masīva elementu. Šim nolūkam mēs izmantosim cilpai. Veicamā sintakse ir šāda:
for (sākotnējais mainīgais; nosacījums, kurā mēs atkārtojam vēlreiz; mainīt katru mainīgo uz mainīgo)
Piemēram:
par (int i = 0; i <9; i ++)
Kurš saka
- sāciet šo cilpu ar mainīgo, i, kuras vērtība ir nulle
- turpiniet cilpu tikai, kamēr es esmu mazāk par 9? (tātad: 0,1,2,3,4,5,6,7,8)
- katru reizi, pievieno 1 i (i ++ ir īss veids, kā pateikt i = i + 1)
Tātad būtībā cilpa tiks atkārtota tik reižu, cik mums ir gaismas diodes, un katru reizi? atkārtojot, mums būs mainīgais, i, ko mēs varam izmantot, kaut arī mums patīk.
Mēs? Izmantošu šo struktūru divreiz, lai sāktu ar. Kad uzstādīšanas funkcija atrodas iekšā, lai visas mūsu tapas ieslēgtu izejas režīmu, piemēram:
void setup () {for (int i = 0; i <9; i ++) {pinMode (led (i), OUTPUT); } }
Vai jūs varat redzēt, ko mēs tur izdarījām? Tā vietā, lai rakstītu 9 koda rindas, lai katru atsevišķo tapu deklarētu kā izvadi, mēs izveidojam “for” cilpu, kas atkārtojas 9 reizes, katru reizi iestatot citu tapu.
Tagad jums vajadzētu redzēt, kā mēs varētu izdarīt tieši to pašu galveno programmas cilpā, lai pēc kārtas ieslēgtu katru gaismas diodi:
tukšs cilpa () {par (int i = 0; i <9; i ++) {digitalWrite (gaismas diodes [i], AUGSTS); kavēšanās (100); digitalWrite (gaismas diodes [i], LOW); } }
Izmēģiniet to. Jūs varat no šejienes lejupielādējiet pilnu šodienas projekta kodu ja tu? d labāk to neierakstīt vēlreiz (lai gan es jūs to mudinu, jo tas palīdz mācību procesam).
Labi, tāpēc tagad mums ir diezgan garlaicīga apgaismojuma secība. Ļaujiet? s programma vēl viena. Tikai prieka pēc, ļaujiet? s padara to pilnīgi nejaušu. Nomainiet galveno cilpas kodu ar šo:
tukšs cilpa () { int randomLed = izlases veidā (0,8); digitalWrite (gaismas diodes [randomLed], HIGH); kavēšanās (50); randomLed = izlases veidā (0,8); digitalWrite (gaismas diodes [randomLed], LOW); }
Tā vietā, lai izmantotu cilni “par”, lai iterētu pa katru gaismas diodi, mēs tā vietā izvēlamies nejaušu skaitli no 0–9 un mirgojam.
Es to atstāšu šodienai, jo tagad jums vajadzētu būt apbruņotam ar pietiekamām zināšanām, lai ieprogrammētu visas jaunās secības un eksperimentētu ar cilpām. Lai pierādītu, cik tas viss ir viegli, es izaicināju savu sievu padomāt par secību, kādā viņa ir? Vai es vēlētos redzēt, un pēc tam saņēmu?viņai pašai to ieprogrammēt, ņemot vērā tikai kodu un nodarbības jūs? ve bija līdz šim. Viņa to izdomāja, tāpēc pārliecinieties, vai varat to pielīdzināt mājas darbiem!
Jautājumi, ieteikumi, problēmas - lūdzu, sazinieties ar komentāriem.
Džeimsam ir mākslīgā intelekta bakalaura grāds, un viņš ir sertificēts CompTIA A + un Network +. Viņš ir galvenais MakeUseOf izstrādātājs un brīvo laiku pavada, spēlējot VR peintbolu un galda spēles. Kopš mazotnes viņš būvēja datorus.