Reklāma

arduino shēmaPēdējo reizi es tevi pametu izveidojuši 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 jūsu Arduino darbam ar Mac vai Windows un augšupielādējot vienkāršu testa lietotni, kas mirgoja iebūvētā gaismas diode. Šodien es izskaidrošu jūsu augšupielādēto kodu, Arduino programmatūras struktūru un nedaudz vairāk par paša paneļa elektroniskajiem bitiem.

Šis raksts ir daļa no ievada Arduino sērijā. Pārējie sērijas līdz šim raksti ir:

  • 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?
    instagram viewer
    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 foršu komponentu, ko iegādāties 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

Aparatūra

Apskatīsim tuvāk Arduino Uno iespējas attiecībā uz bitiem shēmas plates.

Šeit ir palielināta diagramma, kas attiecas uz:

arduino shēma
  • Augšpusē ir 14 digitālās ieejas / izejas tapas (numurētas no 0 līdz 13). Šīs ir visdaudzpusīgākās tapas jūsu Arduino un var darboties gan kā ieejas, gan kā izejas, un veidos jūsu projektu kodolu. Digitāls nozīmē, ka signāls, ko šie spraudītes var rakstīt vai lasīt, būs ieslēgts vai izslēgts.
  • 6 no tām digitālajām tapām, kuras apzīmē ar tildes zīmi ~ ir spējīgi darīt to, ko sauc Impulsa platuma modulācija. Es neesmu elektromehāniķis, tāpēc nelikšu sevi apgrūtināt, izskaidrojot zinātni, bet tas jums un man tas nozīmē, ka mēs varam nodrošināt dažādu izlaides līmeņu diapazonu - piemēram, gaismas diodes tuvināšanu vai motora vadīšanu mainīgā ātrumā ātrumi.
  • 13. piespraude ir īpaša ar to, ka tajā ir iebūvēts gaismas diode. Tas ir ērtībai un tikai testēšanas nolūkiem. Jūs varat izmantot šo iebūvēto gaismas diodi, kā to darījāt lietotnē Blink, vienkārši izejot uz 13. tapu - vai arī to var izmantot kā standarta I / O tapu.
  • Apakšējā labajā pusē ir 6 analogās ieejas tapas. Tie nolasa analogo sensoru, piemēram, gaismas skaitītāja vai mainīgo rezistoru, vērtību.
  • Kreisajā apakšējā stūrī blakus analogās ieejas tapām ir strāvas piespraudes. Vienīgie, par kuriem jums patiešām jāuztraucas, ir zemējuma tapas (GND), 3,3 V un 5 V elektrolīnijas.
  • Visbeidzot, vienīgais Arduino atrastais slēdzis ir atiestatīšanas slēdzis. Tādējādi tiks restartēta jebkura programma, kas tai ir atmiņā.
  • Arduino ir noteikts atmiņas apjoms, un, ja jūsu programma ir pārāk liela, kompilators jums parādīs kļūdu.

Arduino programmas struktūra

Katru Arduino programmu veido vismaz divas funkcijas (ja nezināt, kāda ir šī funkcija, noteikti izlasiet manu programmēšanas pamata apmācība, 2. daļa - funkciju un vadības paziņojumi Programmēšanas absolūtie pamati iesācējiem (2. daļa)Mūsu absolūtā programmēšanas rokasgrāmata iesācējiem 2. daļā es apskatīšu funkciju pamatus, atgriešanās vērtības, cilpas un nosacījumus. Pārliecinieties, ka esat lasījis 1. daļu, pirms pievērsties šai problēmai, kur es paskaidroju ... Lasīt vairāk , un 1. daļa, kur mēs apspriedām mainīgos 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 pirms turpināt).

Pirmais ir iestatīšanas funkcija. Tas tiek palaists sākotnēji - tikai vienreiz - un tiek izmantots, lai pastāstītu Arduino, kas ir savienots un kur, kā arī inicializējot visus mainīgos, kas jums varētu būt nepieciešami jūsu programmā.

Otrais ir cilpa. Tas ir katras Arduino programmas kodols. Kad Arduino darbojas, pēc iestatīšanas funkcijas pabeigšanas cilpa darbosies cauri visiem kodu, tad dariet visu vēlreiz - līdz vai nu strāva tiek zaudēta, vai arī nav atiestatīšanas slēdzis nospiests. Laiks, kas nepieciešams vienas pilnas cilpas aizpildīšanai, ir atkarīgs no ietvertā koda. Jūs varat uzrakstīt kodu, kurā teikts “pagaidiet 6 stundas”. Šajā gadījumā cilpa neatkārtosies ļoti bieži.

Tālāk ir sniegta ātra stāvokļa diagramma, kas ilustrē:

arduino shēma

Programmas Blink pārbaude

Atskatieties uz programmas Blink kodu un noskaidrojiet iestatīšanas un cilpas funkcijas.

Iestatīšana ir šāda:

Nederīga iestatīšana () { // inicializē digitālo tapu kā izvadi. // 13. tapai ir gaismas diode, kas savienota ar lielāko daļu Arduino plātņu: pinMode (13, OUTPUT); }

Līnijas, kas sākas ar // ir vienkārši komentāri, lai izskaidrotu kodu lasītājam, un tie netiek augšupielādēti Arduino. Tātad šajā konkrētajā Arduino lietotnē ir tikai viena iestatīšanas koda rinda. Šī rinda saka: “Iestatīt tapu 13 izejas režīmā”. 13, atcerieties, ir iebūvētais gaismas diode.

Tad ir cilpa:

tukšs cilpa () { digitalWrite (13, HIGH); // ieslēdziet gaismas diodi. kavēšanās (1000); // pagaidi sekundi. digitalWrite (13, LOW); // izslēdziet gaismas diodi. kavēšanās (1000); // pagaidi sekundi. }

Komentāri katras koda rindiņas beigās diezgan labi izskaidro to darbību. HIGH un LOW norāda uz digitālās izvades ieslēgšanas un izslēgšanas stāvokli - mūsu gadījumā LED. Arī kodā jūs faktiski varētu rakstīt ieslēgtu vai izslēgtu, abi ir sinonīmi (tāpat kā 0 un 1). Kavēšanās stāsta Arduino, lai šajā gadījumā nedaudz pagaidītu 1000 milisekundes (vai 1 sekunde).

Visbeidzot, piezīme par šeit izmantoto programmēšanas valodu. Ievērojiet, ka vārds ir gan iestatīšanas, gan cilpas funkcijām tukšums pirms viņiem. Šis ir īpašs vārds neko, jo funkcija neko neatdod kad to sauc - tas vienkārši palaiž tajā ietverto kodu. Pagaidām atstāsim to pie tā, sakot, ka funkcijas koda bloks ir norobežots ar cirtainiem lencēm {} un katrai koda rindai ir jābeidzas ar a; semikols.

Mēģiniet kaut kā mainīt pamatprogrammu, mainot precīzās aizkaves vērtības uz kaut ko lielāku vai mazāku. Skatiet, cik mazs tas jums var būt, pirms mirgošana vairs nav pamanāma. Izdomājiet, kuru vērtību mainīt, lai iegūtu to ilgāk vai ilgāk. Mēģiniet cilnes funkcijai pievienot vēl dažus digitalWrite un aizkaves paziņojumus, lai izveidotu sarežģītāku mirgojošu modeli, piemēram, morzes kods SOS. Ja jums ir skaņas signāls, mēģiniet to savienot arī ar tapām 13 un GND (norāde: sarkanais vads iet uz 13, melns - uz zemi).

Tas viss šodien. Nākamreiz mēs pievienosim vēl dažus gaismas diodes un rakstīsim paši savu programmu no nulles. Kā jau jebkad, komentāri un dalība tika novērtēti ļoti atzinīgi. Es nevaru iedomāties, ka jums būtu kādas problēmas ar šodien minēto kodu, bet, ja esat mēģinājis nedaudz pielāgot kodu un rodas kļūdas vai neparedzēta rīcība, jūtieties brīvi to ievietot komentāros un mēs redzēsim, vai mēs spēsim to izskatīt kopā.

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.