Arduino savienojums un iestatīšana. Arduino pievienošana un programmēšana iesācējiem Arduino nepalaiž Windows 7

Vai mikrokontrolleru izpēte šķiet sarežģīta un nesaprotama? Pirms Arudino parādīšanās tas tiešām nebija viegli un prasīja noteiktu programmētāju un cita aprīkojuma komplektu.

Šis ir sava veida elektroniskais dizainers. Projekta sākotnējais mērķis ir ļaut cilvēkiem viegli apgūt elektronisko ierīču programmēšanu, vienlaikus minimāli veltot laiku elektroniskajai daļai.

Sarežģītu ķēžu montāžu un dēļu savienošanu var veikt bez lodāmura, bet ar džemperu palīdzību ar noņemamiem vīrišķajiem un sievišķajiem savienojumiem. Tādā veidā var savienot gan montējamos elementus, gan izplešanās plates, kuras Arduino leksikā sauc vienkārši par “Vairogiem”.

Kāds ir pirmais Arduino dēlis, ko iegādāties iesācējam?

Tas tiek uzskatīts par pamata un populārāko dēli. Šī tāfele ir kredītkartes lielumā. Diezgan liels. Lielākā daļa pārdošanā esošo vairogu tam lieliski der. Plāksnei ir ligzdas ārējo ierīču pievienošanai.

Vietējos veikalos 2017. gadā tā cena ir aptuveni 4-5 dolāri. Mūsdienu modeļos tā sirds ir Atmega328.

Arduino plates attēls un katras tapas funkciju skaidrojums, Arduino UNO pinout

Mikrokontrolleris uz šīs plates ir gara mikroshēma DIP28 iepakojumā, kas nozīmē, ka tam ir 28 kājas.

Nākamais populārākais dēlis maksā gandrīz divas reizes vairāk nekā iepriekšējais - 2-3 dolārus. Tā ir maksa. Pašreizējie dēļi ir būvēti uz tā paša Atmega328, funkcionāli ir līdzīgi UNO, atšķirības ir izmērā un risinājumā saskaņošanai ar USB, par to vēlāk. Vēl viena atšķirība ir tā, ka ierīču savienošanai ar dēli ir paredzēti tapas formas spraudņi.

Šīs plates tapu (kāju) skaits ir vienāds, taču var redzēt, ka mikrokontrolleris ir izgatavots kompaktākā TQFP32 iepakojumā, korpusam pievienoti ADC6 un ADC7, pārējās divas “papildus” kājas dublē barošanas kopni . Tā izmērs ir diezgan kompakts - apmēram jūsu īkšķa izmērs.

Trešā populārākā plate ir tā, ka tai nav USB pieslēgvietas savienošanai ar datoru, kā tiek izveidots savienojums, pastāstīšu nedaudz vēlāk.

Šis ir mazākais panelis no visiem pārskatītajiem, pretējā gadījumā tas ir līdzīgs iepriekšējiem diviem, un tā sirds joprojām ir Atmega328. Mēs neapskatīsim citus dēļus, jo šis ir raksts iesācējiem, un dēļu salīdzināšana ir atsevišķa raksta tēma.

Augšpusē ir USB-UART savienojuma shēma, “GRN” kontakts ir savienots ar mikrokontrollera atiestatīšanas ķēdi, to var izsaukt arī citādi, uzzināsiet vēlāk, kāpēc tas ir vajadzīgs.

Lai gan UNO ir lieliski piemērots prototipu veidošanai, Nano un Pro Mini ir lieliski piemēroti projekta pabeigšanai, jo tie aizņem maz vietas.

Kā savienot Arduino ar datoru?

Arduino Uno un Nano savienojas ar datoru, izmantojot USB. Tomēr USB portam nav aparatūras atbalsta; šeit tiek izmantots līmeņa pārveidošanas shēmas risinājums, ko parasti sauc no USB uz seriālo vai USB-UART (rs-232). Tajā pašā laikā mikrokontrollerī tiek iepludināts īpašs Arduino bootloader, kas ļauj mirgot caur šīm kopnēm.

Arduino Uno šo savienojumu ievieš mikrokontrollerī ar USB atbalstu - ATmega16U2 (AT16U2). Izrādās, ka uz tāfeles ir nepieciešams papildu mikrokontrolleris, lai mirgotu galvenā mikrokontrollera programmaparatūru.

Arduino Nano to īsteno FT232R mikroshēma vai tā analogs CH340. Šis nav mikrokontrolleris - tas ir līmeņa pārveidotājs, šis fakts atvieglo Arduino Nano salikšanu no nulles ar savām rokām.

Parasti draiveri tiek instalēti automātiski, kad pievienojat Arduino plati. Taču, kad iegādājos Arduino Nano ķīniešu kopiju, ierīce tika identificēta, bet tā nedarbojās, uz pārveidotāja bija apaļa uzlīme ar informāciju par izlaišanas datumu, nezinu vai tas tika darīts ar nolūku , bet kad nolobīju, ieraudzīju CH340 marķējumu.

Nekad iepriekš ar to nebiju saskāries un domāju, ka visi USB-UART pārveidotāji ir salikti uz FT232, bija jālejupielādē draiveri, tos ļoti viegli atrast, meklējot “Arduino ch340 drivers”. Pēc vienkāršas uzstādīšanas viss strādāja!

Mikrokontrolleri var darbināt arī caur to pašu USB portu, t.i. ja pievienosit to adapterim no mobilā tālruņa, jūsu sistēma darbosies.

Kas man jādara, ja manai platei nav USB?

Arduino Pro Mini plāksnei ir mazāki izmēri. Tas tika panākts, noņemot USB savienotāju programmaparatūrai un to pašu USB-UART pārveidotāju. Tāpēc tas ir jāiegādājas atsevišķi. Vienkāršākais pārveidotājs, kura pamatā ir CH340 (lētākais), CPL2102 un FT232R, maksā no 1 dolāra.

Pērkot, pievērsiet uzmanību tam, kādam spriegumam šis adapteris ir paredzēts. Pro mini ir pieejams 3,3 un 5 V versijās; pārveidotājiem bieži ir džemperis barošanas sprieguma pārslēgšanai.

Mirgojot Pro Mini programmaparatūru, tieši pirms tās palaišanas ir jānospiež RESET, taču pārveidotājos ar DTR tas nav nepieciešams, savienojuma shēma ir zemāk esošajā attēlā.

Tie ir savienoti ar īpašiem “Mama-Mama” (sieviete-sieviete) termināļiem.

Faktiski visus savienojumus var izveidot, izmantojot šādus spailes (Dupont), tie nāk abās pusēs ar rozetēm un ar spraudņiem, un vienā pusē ir kontaktligzda un otrā ir kontaktdakša.

Kā uzrakstīt programmas Arduino?

Lai strādātu ar skicēm (programmaparatūras nosaukums Arduino inženieru valodā), ir īpaša integrēta Arduino IDE izstrādes vide, kuru varat lejupielādēt bez maksas no oficiālās vietnes vai no jebkura tematiskā resursa; parasti nav problēmu. ar uzstādīšanu.

Šādi izskatās programmas interfeiss. Varat rakstīt programmas vienkāršotā C AVR valodā, kas īpaši izstrādāta Arduino, būtībā bibliotēku komplektā ar nosaukumu Wiring, kā arī tīrā C AVR. Kuru izmantošana vienkāršo kodu un paātrina tā darbību.

Loga augšpusē ir pazīstama izvēlne, kurā var atvērt failu, iestatījumus, izvēlēties plati, ar kuru strādājat (Uno, Nano un daudzi, daudzi citi) un arī atvērt projektus ar gatavu kodu piemēriem. Zemāk ir pogu komplekts darbam ar programmaparatūru; taustiņu piešķiršanu redzēsit zemāk esošajā attēlā.

Loga apakšā ir apgabals, kurā tiek parādīta informācija par projektu, koda statuss, programmaparatūra un kļūdu klātbūtne.

Arduino IDE programmēšanas pamati

Koda sākumā ir jādeklarē mainīgie un jāiekļauj papildu bibliotēkas, ja tādas ir, tas tiek darīts šādi:

#iekļaut biblioteka.h; // savienot bibliotēku ar nosaukumu “Biblioteka.h”

#define changenaya 1234; // Deklarējiet mainīgo ar vērtību 1234

Komanda Definēt ļauj kompilatoram izvēlēties paša mainīgā veidu, taču to var iestatīt manuāli, piemēram, veselu int vai peldošā komata pludiņu.

int led = 13; // izveidoja mainīgo “led” un piešķīra tam vērtību “13”

Programma var noteikt tapas stāvokli kā 1 vai 0. 1 ir loģiska vienība, ja kontakts 13 ir 1, tad tās fiziskās tapas spriegums būs vienāds ar mikrokontrollera barošanas spriegumu (Arduino UNO un Nano - 5 V)

Digitālais signāls tiek ierakstīts, izmantojot komandu digitalWrite (pin, value), piemēram:

digitalWrite(led, high); //ierakstiet vienu, lai tapa 13 (mēs to norādījām iepriekš) žurnālā. Vienības.

Kā jūs saprotat, porti tiek piekļūti saskaņā ar numerāciju uz tāfeles, kas atbilst numuram. Šeit ir piemērs, kas līdzīgs iepriekšējam kodam:

digitalWrite(13, augsts); // iestatiet 13. tapu uz vienu

Bieži lietotu laika aizkaves funkciju izsauc komanda delay(), kuras vērtība tiek norādīta milisekundēs, mikrosekundes tiek sasniegtas, izmantojot

kavēšanāsMikrosekundes() Aizkave(1000); //mikrokontrolleris gaidīs 1000 ms (1 sekunde)

Ievades un izvades porta iestatījumi ir norādīti funkcijā void setup() ar komandu:

pinMode(NOMERPORTA, OUTPUT/INPUT); // argumenti - mainīgā nosaukums vai porta numurs, ievade vai izvade, no kuras izvēlēties

Izpratne par pirmo Blink programmu

Kā sava veida “Sveika, pasaule” mikrokontrolleriem ir programma LED mirgošanai, apskatīsim tās kodu:

Sākumā ar pinMode komandu likām mikrokontrollerim piešķirt izejai portu ar LED. Jūs jau pamanījāt, ka kodā nav norādīta mainīgā “LED_BUILTIN” deklarācija, fakts ir tāds, ka Uno, Nano un citās platēs rūpnīcā pie 13. kontakta ir pievienota iebūvēta gaismas diode, kas ir pielodēta uz dēlis. Jūs to varat izmantot, lai parādītu savos projektos vai vienkārši pārbaudītu savas mirgojošās programmas.

Tālāk mēs iestatām tapu, pie kuras ir pielodēta gaismas diode, uz vienu (5 V), nākamā rinda liek MK pagaidīt 1 sekundi un pēc tam iestata LED_BUILTIN tapu uz nulli, nogaida sekundi un programma atkārtojas aplī, tāpēc kad LED_BUILTIN ir vienāds ar 1 - LED( un jebkura cita pieslēgvietai pievienotā slodze) ir ieslēgta, ja 0 ir izslēgta.

Mēs nolasām vērtību no analogā porta un izmantojam nolasītos datus

AVR Atmega328 mikrokontrolleram ir iebūvēts 10 bitu analogais-digitālais pārveidotājs. 10 bitu ADC ļauj nolasīt sprieguma vērtības no 0 līdz 5 voltiem ar soli 1/1024 no visa signāla amplitūdas svārstības (5 V).

Lai padarītu to skaidrāku, ņemsim vērā situāciju, pieņemsim, ka sprieguma vērtība analogajā ieejā ir 2,5 V, kas nozīmē, ka mikrokontrolleris nolasīs vērtību no tapas “512”, ja spriegums ir 0 - “0”, un ja 5 V - (1023). 1023 - jo skaitīšana sākas no 0, t.i. 0, 1, 2, 3 utt. kopā līdz 1023 - 1024 vērtībām.

Lūk, kā tas izskatās kodā, kā piemēru izmantojot standarta “analogInput” skici

int sensorPin = A0;

int ledPin = 13;

int sensorValue = 0;

pinMode(ledPin, OUTPUT);

sensorValue = analogRead(sensorPin);

digitalWrite(ledPin, HIGH);

kavēšanās(sensoraVērtība);

digitalWrite(ledPin, LOW);

kavēšanās(sensoraVērtība);

Mēs deklarējam mainīgos:

    Ledpin - mēs neatkarīgi piešķiram izvadei tapu ar iebūvētu LED un piešķiram tai individuālu nosaukumu;

    sensorPin - analogā ieeja, iestatīta atbilstoši marķējumam uz plates: A0, A1, A2 utt.;

    sensorValue - mainīgais vesela skaitļa nolasītās vērtības glabāšanai un turpmākam darbam ar to.

Kods darbojas šādi: sensorValue saglabā analogo vērtību, kas nolasīta no sensorPin (analogRead komanda). - šeit darbs ar analogo signālu beidzas, tad viss ir kā iepriekšējā piemērā.

Mēs ierakstām vienu uz ledPin, LED ieslēdzas un gaida laiku, kas vienāds ar sensorValue vērtību, t.i. no 0 līdz 1023 milisekundēm. Mēs izslēdzam LED un atkal gaidām šo laika periodu, pēc kura kods atkārtojas.

Tādējādi, novietojot potenciometru, mēs iestatām gaismas diodes mirgošanas frekvenci.

Kartes funkcija Arudino

Ne visas funkcijas izpildmehānismiem (nezinu nevienu) atbalsta “1023” kā argumentu, piemēram, servo ierobežo griešanās leņķis, t.i., uz servomotora pusi apgriezienu (180 grādiem) (pusapgriezienu). maksimālais funkcijas arguments ir “180”

Tagad par sintaksi: karte (vērtība, ko mēs tulkojam, minimālā ievades vērtība, maksimālā ievades vērtība, minimālā izvades vērtība, maksimālā izvades vērtība).

Kodā tas izskatās šādi:

(karte(analogRead(pot), 0, 1023, 0, 180));

Mēs nolasām vērtību no potenciometra (analogRead(pot)) no 0 līdz 1023, un izejā mēs iegūstam skaitļus no 0 līdz 180

Vērtību kartes vērtības:

Praksē mēs to attiecinām uz tā paša servo piedziņas koda darbību, apskatiet kodu no Arduino IDE, ja uzmanīgi izlasiet iepriekšējās sadaļas, tad tas neprasa nekādus paskaidrojumus.

Un savienojuma shēma.

Secinājumi Arduino ir ļoti ērts instruments, lai mācītos strādāt ar mikrokontrolleriem. Un, ja jūs izmantojat tīru C AVR vai, kā to dažreiz sauc par "Pure C", jūs ievērojami samazināsiet koda svaru, un vairāk no tā ietilps mikrokontrollera atmiņā, kā rezultātā jūs iegūsit izcilu rūpnīcas- izgatavots atkļūdošanas dēlis ar iespēju flash programmaparatūru, izmantojot USB.

Man patīk Arduino. Žēl, ka daudzi pieredzējuši mikrokontrolleru programmētāji to nepamatoti kritizē par pārāk vienkāršotu. Principā ir vienkāršota tikai valoda, bet neviens neliek to lietot, plus caur ICSP savienotāju var uzzibsnīt mikrokontrolleri un tur ielādēt sev vēlamo kodu, bez liekiem bootloaderiem.

Tiem, kas vēlas spēlēties ar elektroniku, piemēram, progresīvam dizainerim, tas ir lieliski piemērots, un pieredzējušiem programmētājiem, kā dēlis, kas neprasa montāžu, tas arī noderēs!

Papildinformāciju par Arduino un tā izmantošanas iespējām dažādās shēmās skatiet e-grāmatā - .

Instalējot Arduio IDE, automātiski jāinstalē draiveri, kas nepieciešami darbam ar oriģinālajām Arduino platēm. Bet viltība ir tāda, ka ķīniešu platēm ir lētāks USB interfeisa kontrolleris; darbam ar to ir nepieciešams īpašs draiveris. Ķīniešu kontrolieris nav sliktāks, tas ir tikai lētāks =)

Ja kāda iemesla dēļ neesat instalējis Arduino draiverus, varat tos instalēt manuāli no programmas mapes.
CH341 draiveri operētājsistēmai Windows var lejupielādēt, vai arī varat to meklēt Google tīklā.


Pēc tam pievienojiet Arduino datoram, pagaidiet, līdz Windows to atpazīst un atceras (pirmais savienojums).
P.S. Tiks parādīts logs, kas informēs, ka ierīce ir atpazīta un ir savienota ar COM portu ar noteiktu numuru. atšķiras no numura 1

Pēc noklusējuma operētājsistēmā Linux varat mirgot ķīniešu Arduinos bez papildu aprīkojuma. Bet sākumā nekas nedarbojas, un Arduino IDE rada kļūdu.
Lūk, lieta. Linux (manā gadījumā linux mint) nosaka Arduino kā ttyUSB* ierīci. Parasti tas ir ttyUSB0. To var uzzināt ar komandu dmesg terminālī.
Tas ir, sistēmā parādās interfeiss /dev/ttyUSB0. Bet, lai strādātu ar to, jums ir nepieciešamas piekļuves tiesības. Lasiet un rakstiet ierīcē /dev/ttyUSB0 ir root lietotājs un iezvanes grupas lietotāji. Labāk ir izvairīties no darba ar superlietotāja tiesībām, tāpēc jums vajadzētu pievienot savu lietotāju iezvanes grupai. To var izdarīt ar šādu komandu (ņemiet vērā, ka whoami komanda ir aizmugurējās pēdiņās)
sudo usermod -a -G izsaukums `whoami`
Pēc tam jums ir atkārtoti jāpiesakās. Pēc tam palaidiet Arduino IDE un izvēlnē “Tools-Port” atzīmējiet izvēles rūtiņu blakus /dev/ttyUSB0.

Paldies par informāciju Vlads Šemenkovs

Šajā rakstā mēs aplūkosim draiveru instalēšanu platēm, kuras izstrādājis Arduino un kurām ir standarta USB uz UART adapteri (kuriem ir noklusējuma draiveri Arduino IDE mapē), piemēram, ATmega16U2, FT232RL.

Ja jums ir tāfeles ķīniešu versija ar pārveidotāju uz CH340G lūdzu, izmantojiet šo rokasgrāmatu

Draivera instalēšana operētājsistēmas Windows vidē

Piemēram, mēs apskatīsim Arduino UNO draivera instalēšanu.

Ņemot vērā faktu, ka Arduino UNO un Arduino Mega plates izmanto tādas pašas mikroshēmas kā USB uz UART pārveidotāja mikroshēmas (Atmega 8U2 sākotnējās versijās, R3 versijās jau tiek izmantots 16U2), instalēšana notiks tādā pašā veidā. Līdzīgi viss notiks ar Arduino nano, lai gan nano izmanto FT232RL kā pārveidotāja mikroshēmu.

1. daļa. Automātiskā draivera instalēšana

Ja jūsu dators ir savienots ar internetu, visticamāk, draiveris tiks instalēts automātiski, un jums nav jālasa pārējā raksta daļa.

2. daļa. Manuāla draivera instalēšana

Tātad, pēc vides izpakošanas mēs savienojam Arduino plati ar datoru. Ja draiveri netiek instalēti automātiski, tiks parādīts šāds logs:

Neuztraucieties. Tā ir izplatīta parādība. Draiveris būs jāinstalē manuāli.

Dodieties uz Mans dators/Properties/Ierīču pārvaldnieks.

Veiciet dubultklikšķi uz “Nezināma ierīce”.

Noklikšķiniet uz "Atjaunināt draiveri".

Izvēlieties "Meklēt draiverus šajā datorā".

Mēs norādām direktoriju, kurā instalējāt Arduino IDE, vai drīzāk tā bērnu mapi “draiveri”. Atstājiet izvēles rūtiņu “Ietverot ligzdotās apakšmapes”.

Windows ugunsmūris ir gatavs kā vienmēr. Noklikšķiniet uz "Instalēt šo draiveri jebkurā gadījumā".

Gaidām kādu laiku. Tas arī viss, draiveri ir instalēti un mūsu dēlis ir gatavs lietošanai.

Pēc šo darbību veiksmīgas pabeigšanas atliek tikai atvērt IDE, atlasīt COM ports kurš izlēma par dēli, atlasiet pašu dēli no saraksta un ar galvu ienirt interesantajā Arduino pasaulē.

Šajā rakstā es nolēmu izveidot pilnīgu soli pa solim ceļvedi Arduino iesācējiem. Apskatīsim, kas ir Arduino, kas nepieciešams, lai sāktu mācīties, kur lejupielādēt un kā instalēt un konfigurēt programmēšanas vidi, kā tā darbojas un kā lietot programmēšanas valodu, un daudz ko citu, kas nepieciešams, lai izveidotu pilnvērtīgu sarežģītas ierīces, kuru pamatā ir šo mikrokontrolleru saime.

Šeit es mēģināšu dot saīsinātu minimumu, lai jūs saprastu principus darbam ar Arduino. Lai pilnīgāk iedziļināties programmējamo mikrokontrolleru pasaulē, pievērsiet uzmanību citām šīs vietnes sadaļām un rakstiem. Es atstāšu saites uz citiem šīs vietnes materiāliem, lai sīkāk izpētītu dažus aspektus.

Kas ir Arduino un kam tas paredzēts?

Arduino ir elektronisks konstrukcijas komplekts, kas ļauj ikvienam izveidot dažādas elektromehāniskās ierīces. Arduino sastāv no programmatūras un aparatūras. Programmatūras daļa ietver izstrādes vidi (programmaparatūras rakstīšanai un atkļūdošanai), daudzas gatavas un ērtas bibliotēkas un vienkāršotu programmēšanas valodu. Aparatūra ietver lielu mikrokontrolleru līniju un gatavus moduļus tiem. Pateicoties tam, darbs ar Arduino ir ļoti vienkāršs!

Ar Arduino palīdzību var apgūt programmēšanu, elektrotehniku ​​un mehāniku. Bet tas nav tikai izglītības konstruktors. Pamatojoties uz to, jūs varat izveidot patiešām noderīgas ierīces.
Sākot no vienkāršām mirgojošām gaismām, meteoroloģiskām stacijām, automatizācijas sistēmām un beidzot ar viedās mājas sistēmām, CNC iekārtām un bezpilota lidaparātiem. Iespējas neierobežo pat jūsu iztēle, jo īstenošanai ir milzīgs daudzums instrukciju un ideju.

Arduino sākuma komplekts

Lai sāktu apgūt Arduino, jāiegādājas pati mikrokontrollera plate un papildus detaļas. Vislabāk ir iegādāties Arduino sākuma komplektu, taču visu nepieciešamo varat izvēlēties pats. Iesaku izvēlēties komplektu, jo tas ir vienkāršāk un bieži vien lētāk. Šeit ir saites uz labākajiem komplektiem un atsevišķām daļām, kuras jums noteikti būs jāizpēta:

Pamata Arduino komplekts iesācējiem:Pirkt
Liels komplekts apmācībām un pirmajiem projektiem:Pirkt
Papildu sensoru un moduļu komplekts:Pirkt
Arduino Uno ir visvienkāršākais un ērtākais modelis no līnijas:Pirkt
Bezlodējamais maizes dēlis ērtai apguvei un prototipu veidošanai:Pirkt
Vadu komplekts ar ērtiem savienotājiem:Pirkt
LED komplekts:Pirkt
Rezistoru komplekts:Pirkt
Pogas:Pirkt
Potenciometri:Pirkt

Arduino IDE izstrādes vide

Lai rakstītu, atkļūdotu un lejupielādētu programmaparatūru, jums ir jālejupielādē un jāinstalē Arduino IDE. Šī ir ļoti vienkārša un ērta programma. Savā vietnē es jau aprakstīju izstrādes vides lejupielādes, instalēšanas un konfigurēšanas procesu. Tāpēc šeit es vienkārši atstāšu saites uz jaunāko programmas versiju un uz

Versija Windows Mac OS X Linux
1.8.2

Arduino programmēšanas valoda

Kad jūsu rokās ir mikrokontrollera plate un datorā ir instalēta izstrādes vide, varat sākt rakstīt pirmās skices (programmaparatūru). Lai to izdarītu, jums ir jāiepazīstas ar programmēšanas valodu.

Arduino programmēšana izmanto vienkāršotu C++ valodas versiju ar iepriekš definētām funkcijām. Tāpat kā citās C veida programmēšanas valodās, koda rakstīšanai ir vairāki noteikumi. Šeit ir visvienkāršākie:

  • Katram norādījumam ir jāseko semikolu (;)
  • Pirms funkcijas deklarēšanas ir jānorāda funkcijas atgrieztais datu tips vai anulējums, ja funkcija neatgriež vērtību.
  • Pirms mainīgā deklarēšanas ir jānorāda arī datu tips.
  • Komentāri ir norādīti: // Iekļauts un /* bloks */

Jūs varat uzzināt vairāk par datu veidiem, funkcijām, mainīgajiem, operatoriem un valodas konstrukcijām lapā, kas jums nav jāiegaumē un jāatceras visa šī informācija. Jūs vienmēr varat doties uz atsauces grāmatu un apskatīt konkrētas funkcijas sintaksi.

Visai Arduino programmaparatūrai ir jābūt vismaz 2 funkcijām. Tie ir setup () un loop ().

iestatīšanas funkcija

Lai viss izdotos, mums ir jāuzraksta skice. Liksim gaismas diodei iedegties pēc pogas nospiešanas un nodziest pēc nākamās nospiešanas. Šeit ir mūsu pirmā skice:

// mainīgie ar pievienoto ierīču tapām int switchPin = 8; int ledPin = 11; // mainīgie, lai saglabātu pogas stāvokli un LED Būla vērtību lastButton = LOW; Boolean currentButton = LOW; Būla ledOn = false; void setup() ( pinMode(switchPin, INPUT); pinMode(ledPin, OUTPUT); ) // funkcija Boolean debounse(Būla pēdējais) (būla pašreizējais = digitalRead(switchPin); if(pēdējais != strāva) ( aizkave () 5); strāva = digitalRead(switchPin); ) atgriešanās strāva; ) void loop() ( currentButton = debounse (pēdējā poga); if(lastButton == LOW && currentButton == HIGH) ( ledOn = !ledOn; ) pēdējā poga = currentButton ; digitalWrite(ledPin, ledOn);)

// mainīgie ar pievienoto ierīču tapām

int switchPin = 8 ;

int ledPin = 11;

// mainīgie, lai saglabātu pogas un LED stāvokli

Būla lastButton = LOW ;

Boolean currentButton = LOW ;

Būla ledOn = false ;

anulēt iestatīšanu() (

pinMode(switchPin, INPUT);

pinMode(ledPin, OUTPUT);

// atlaišanas funkcija

Būla debounse (būla pēdējais ) (

Būla strāva = digitalRead(switchPin);

if (pēdējais != pašreizējais ) (

kavēšanās(5);

strāva = ciparuRead(switchPin);

atgriešanās strāva;

void loop() (

currentButton = debounse(lastButton);

if (lastButton == LOW && currentButton == HIGH ) (

ledOn = ! ledOn;

lastButton = currentButton ;

digitalWrite(ledPin, ledOn);

Šajā skicē es izveidoju papildu atkāpšanās funkciju, lai nomāktu kontakta atlēcienu. Manā vietnē ir informācija par kontaktu atlēcienu. Noteikti pārbaudiet šo materiālu.

PWM Arduino

Impulsa platuma modulācija (PWM) ir sprieguma kontroles process, izmantojot signāla darba ciklu. Tas ir, izmantojot PWM, mēs varam vienmērīgi kontrolēt slodzi. Piemēram, jūs varat vienmērīgi mainīt gaismas diodes spilgtumu, taču šīs spilgtuma izmaiņas tiek iegūtas, nevis samazinot spriegumu, bet gan palielinot zemā signāla intervālus. PWM darbības princips ir parādīts šajā diagrammā:

Kad LED uzklājam PWM, tas ātri sāk iedegties un nodziest. Cilvēka acs to nevar redzēt, jo frekvence ir pārāk augsta. Bet, uzņemot video, jūs, visticamāk, redzēsiet mirkļus, kad LED nedeg. Tas notiks ar nosacījumu, ka kameras kadru ātrums nav PWM frekvences daudzkārtnis.

Arduino ir iebūvēts impulsa platuma modulators. PWM var izmantot tikai tām tapām, kuras atbalsta mikrokontrolleris. Piemēram, Arduino Uno un Nano ir 6 PWM tapas: tās ir tapas D3, D5, D6, D9, D10 un D11. Citos dēļos tapas var atšķirties. Jūs varat atrast jūs interesējošās dēļa aprakstu

Lai izmantotu PWM Arduino, ir funkcija, kas kā argumentus izmanto PIN numuru un PWM vērtību no 0 līdz 255. 0 ir 0% piepildījums ar augstu signālu, un 255 ir 100%. Kā piemēru uzrakstīsim vienkāršu skici. Liksim gaismas diodei iedegties vienmērīgi, pagaidiet vienu sekundi un tikpat vienmērīgi izdziest, un tā tālāk bezgalīgi. Šeit ir šīs funkcijas izmantošanas piemērs:

// LED ir savienots ar tapu 11 int ledPin = 11; void setup() ( pinMode(ledPin, OUTPUT); ) void loop() ( for (int i = 0; i< 255; i++) { analogWrite(ledPin, i); delay(5); } delay(1000); for (int i = 255; i >0; i--) ( analogWrite(ledPin, i); aizkave(5); ) )

// LED savienots ar 11. tapu

int ledPin = 11;

anulēt iestatīšanu() (

pinMode(ledPin, OUTPUT);

void loop() (

for (int i = 0 ; i< 255 ; i ++ ) {

analogWrite(ledPin, i);

kavēšanās(5);

kavēšanās (1000);

Šajā instrukcijā, piemēram, mēs apsvērsim darba sākšanu operētājsistēmā Windows. Microsoft operētājsistēmām (Windows 2000/Vista) atšķirības ir nelielas, galvenokārt tās attiecas uz ierīču pārvaldnieka cilņu nosaukumiem. Citās darbības vidēs, piemēram, Linux, FreeBSD, Mac OS X utt., iestatīšanas procedūra ievērojami atšķiras. Ja jums ir nepieciešams organizēt darbu ar šo programmatūru, mēs iesakām meklēt atbildes uz jautājumiem izstrādātāja galvenajā vietnē //www.arduino.cc.

Ņemsim Arduino Uno kā savienoto platformu. Atšķirība ar citiem dēļiem ir minimāla.

Kabelis komunikācijai ar datoru

Lai pārsūtītu datus no personālā datora uz Arduino, jāatrod atbilstošais kabelis. Kabelis netiek piegādāts kopā ar atsevišķiem dēļiem, tas ir iekļauts tikai Arduino sākuma komplektā, kas paredzēts praktizējošiem dizaineriem-programmētājiem.

Arduino U, Arduino Mvai 2560 ir savienoti ar kabeli ar USB tipa A spraudņiem. Šo kabeli bieži izmanto, lai pievienotu printeri vai skeneri.

Arduino Leonardo, Arduino Pienākas Savienojumam tiem ir B tipa mikro USB ligzda.

Arduino Nano, Freeduino Nano savienots, izmantojot mini USB tipa B ligzdu.

Savienot Freeduino MaxSerial Jums būs nepieciešams 9M-9F seriālā porta kabelis.

Ir problēma : Arduino IDE netiks startēts.

Līdzeklis.

Visticamāk, datorā ir instalēta neatbilstoša JRE (Java Runtime Environment), kas nepieciešama grafisko aplikāciju darbināšanai.

Atgriezieties pie Arduino IDE atkārtotas instalēšanas: šoreiz instalētājs sāks JRE iestatīšanas darbu.

Arduino dēļu savienošana ar datoru

Pēc veiksmīgas Arduino IDE palaišanas ir pienācis laiks saistīt kādu Arduino platformu ar datoru. Kā jūs jau zināt, Arduino dēļu savienošana ar datoru tiek veikta, izmantojot USB kabeli.

Savienojot Arduino konsoli ar datoru, iedegsies viena gaismas diode “ON”, bet otra “L” sāks mirgot. Tas nozīmē, ka strāva tiek piegādāta caur kabeli un mikrokontrolleris ir sācis izpildīt rūpnīcā iepriekš iestatīto Blink programmu.

Atliek tikai noskaidrot kādu COM porta numuru dators piešķīra mūsu Arduino platei? , kas ir svarīgi, lai Arduino IDE programmatūra pareizi darbotos ar jauno ierīci.

COM porta numuru var atrast cilnē “Ierīču pārvaldnieks”, “Porti (COM un LPT)”.

Windows sistēmās, visticamāk, mūsu Arduino Uno ar seriālo interfeisu tiks piešķirts viens no COM1 vai COM2 portiem. Arduino ar USB kontrolleri ievades ports būs COM4, ​​​​COM5, COM6 vai augstāks.

Linux sistēmās seriālais ports būs USB0 vai USB1.

“Ierīču pārvaldniekā” tika parādīta jauna Arduino ierīce - tas nozīmē, ka operētājsistēma atpazina mūsu plati, atrada tai piemērotu USB draiveri un piešķīra tā saskarnei numuru. Savienojot citu Arduino plati, tai tiks piešķirts cits porta numurs.

Ir problēma: Kad pievienojat Arduino plati datoram, tas netiek parādīts ierīču pārvaldniekā.

Līdzeklis:

  1. USB kabelis vai ports nav ievietots līdz galam vai ir bojāts.
  2. Šai Arduino platei nav draivera. Ja jums ir ķīniešu Arduino vai cita nezināma ražotāja, mēģiniet manuāli pārinstalēt USB draiveri.
  3. Bloķēja pretvīrusu programma.
  4. Arduino dēlis ir bojāts.

Atvērtajā Arduino IDE dodieties uz: Tools > Port > izvēlieties COM porta numuru - pasakiet programmai porta numuru, kuram ir pievienota Arduino mikroprocesora platforma.

Lai Arduino IDE programmaparatūras programmai nebūtu šaubu par to, ar ko tai jādarbojas, mēs norādām pievienotās plates veidu. Lai to izdarītu, dodieties uz izvēlni: Rīki > Tāfele > atlasiet sava Arduino dēļa veidu.

Ir problēma: Cilnē Port nav neviena COM porta.

Līdzeklis.

Acīmredzot savienojums starp Arduino ierīci un datoru ir bojāts. Atjaunojiet stabilu savienojumu ar datoru.

Vai arī nav vadītāja. To var lejupielādēt raksta beigās.

Kā pārbaudīt Arduino ierīces savienojumu

Visi caur COM portu saņemtie skaitliskie dati tiek izvadīti uz Port Monitor tajā pašā ērtajā grafiskajā vidē Arduino IDE. Tāpēc, noklikšķinot uz atbilstošās ikonas “Port Monitor” konsoles augšējā labajā stūrī vai atrodot atbilstošo vienumu izvēlnē Rīki, pēc mainīgajiem cipariem atvērtajā logā var redzēt, ka dati tiek pārsūtīti pa USB kabeli. , kas nozīmē, ka Arduino dēlis ir droši savienots.

Lūdzu, ņemiet vērā, ka Port Monitor loga apakšā tiek parādīta informācija par darbības ātrumu ar COM portu “19200 bodi” (19200 bps). Šis ātrums ir iestatīts pēc noklusējuma iepriekš instalētajā skicē uz Arduino plates. Šajā skicē ir rinda Serial.begin(19200), kurā var iestatīt jebkuru nepieciešamo datu pārraides ātrumu, taču tas ir iespējams tikai strādājot ar USB kabeli. Ja datu pārsūtīšana notiek, izmantojot Bluetooth radio kanālu, tad maiņas kurss ar COM portu ir jāiestata iepriekš, tieši tāds pats, kādu mēs izvēlamies, atkļūdojot Bluetooth moduli.

Ir problēma: Arduino IDE ir neticami lēns, pārvietojoties izvēlnēs.

Līdzeklis.

Ierīču pārvaldnieka cilnē Bluetooth Serial izslēdziet Bluetooth savienojumu ar mobilo tālruni. Visi ārējie savienojumi, izmantojot Bluetooth, ievērojami patērē virtuālo atmiņu.

Savienojums ir izveidots, izstrādes vide ir konfigurēta - tagad jūsu rokās ir labi funkcionējošs rīks jebkuru AVR sērijas mikrokontrolleru mirgošanai: ATtiny, ATmega, AT90S, AT90CAN, AT90PWM.

Arduino IDE izstrādes vidē ir daudz gatavu paraugu dažādiem uzdevumiem, taču, lai pārbaudītu plates reakciju uz mirgošanu, pietiek ar nelielām izmaiņām iepriekš instalētajā Blink programmā (uz tāfeles mirgo "L" LED).

Atvērtajā Blink skicē pietiek veikt izmaiņas delay (1000) rindā, noklikšķināt uz “Load” un noteikt izmaiņas Arduino plates darbībā.

Iestatot aizkavi (500), “L” gaismas diode mirgos divreiz biežāk ar pussekundes aizkavi.

Iestatot aizkavi (100) - LED “L” iedegsies un nodzisīs 10 reizes ātrāk nekā rūpnīcas iestatījums, tas ir, ik pēc 100 milisekundēm.

Ir problēma : ielādējot skici, parādījās kļūda, piemēram, “not in sync”.

Līdzeklis.

Tas nozīmē, ka operētājsistēma neatpazina pievienoto Arduino platformu. Atgriezieties pie pareizā COM porta numura un plates modeļa iestatīšanas izvēlnē Arduino IDE Tools.

Un visbeidzot, ja kādā tiešsaistes Ķīnas tirgū iegādājāties Arduino plati, ļoti bieži rodas problēmas, savienojot plati - tas vienkārši netiek atklāts. Lai atrisinātu šo problēmu, amatnieki izveidoja draiveri.

Pašdarināts saules paneļu izsekotājs, izmantojot Arduino