MouseKeyboard programmēšana Arduino. MouseKeyboard programmēšana Arduino servomotoru un pakāpju motoru bibliotēkas

10.09.2021

". Šodien mēs savienojam matricas tastatūru ar Arduino plati un arī apsveram interesantas shēmas ar viņu. Šādu tastatūru varat izgatavot pats no pogām un iespiedshēmas plates. Rakstā ir video instrukcijas, programmu saraksti, savienojumu diagrammas un nepieciešamie komponenti.

Lielākā daļa teksta satur programmas koda skaidrojumu, varat to lejupielādēt vai noskatīties videoklipu zem raksta.

Šādu tastatūru var izgatavot pats. Šim nolūkam jums būs nepieciešams PCB, 12 vai 16 parastās pogas un savienojošie vadi. Es izmantošu gatavo.

Kam paredzēta matricas tastatūra?

Piemēram, ņemsim parasto pogu. Kā jūs zināt, tas ir vienkāršākais elektromehāniskā ierīce. Lai to savienotu ar plati, jums ir jāizmanto nolaižamais rezistors, kā arī jāizmanto viens barošanas un zemējuma kontakts. Nospiežot šādu pogu, var veikt noteiktu darbību, piemēram, vadīt LED, dažādus diskus, mehānismus utt. Ko darīt, ja mums ir jāpievieno vairākas pogas? Tad jums būs jāizmanto vairāk kontaktu un lielāks vadu skaits, un jūs nevarēsiet iztikt bez maizes dēļa, kā arī jums būs jāizmanto vairāk rezistoru.

Tāpēc mēs izdomājām šādu tastatūru, lai vienkāršotu savienojumu vairāk pogas Šādas ierīces ir atrodamas visur - datoru klaviatūrās, kalkulatoros utt.

Tam jābūt savienotam ar dēli ar 8 tapām, katra no tām nolasa vērtības no noteiktām rindām un kolonnām. Tiem jābūt savienotiem ar digitālā paneļa tapām. Pieslēgšu, piemēram, kontaktiem no 2 līdz 9 ieskaitot. Nav vēlams pieskarties nullei un pirmajam, jo ​​tie ir paredzēti UART interfeisam (piemēram, Bluetooth moduļa pievienošanai). Racionālāk ir atstāt tos brīvus.

Tā izskatās visvairāk vienkārša ķēde izmantojot tastatūru. Lai ar to būtu ērtāk strādāt, tika uzrakstīta Tastatūras bibliotēka. Jūs varat lejupielādēt to, kā arī citas skices.

Kad esat to instalējis bibliotēkā, varat doties uz Arduino IDE (programma no Arduino vietnes) un apskatīt skices piemērus.

Uzziņai ņemsim vienkāršāko skici. Tas ļauj nolasīt vērtību no tastatūras, kad nospiežat noteiktu taustiņu un izvadāt tos uz portu. Šajā gadījumā tas ir datora porta monitors.

#iekļauts // savienojiet mūsu bibliotēku




{"2","5","8","0"},
{"3","6","9","#"},
("A", "B", "C", "D")
};




nederīgs iestatījums())(
Serial.begin(9600);
}
tukšuma cilpa ()

if (customKey)(
Serial.println(customKey);
}
}

Skice ir ļoti vienkārša. Ir vērts atzīmēt pirmās koda rindiņas. Pirmkārt, mēs savienojam bibliotēku, pēc tam norādām, cik rindu un kolonnu ir tastatūrai, un pēc tam mums ir pareizi jāsakārto taustiņu nosaukumi, lai būtu ērtāk strādāt.

Ja tas tiek izdarīts nepareizi, tad, piemēram, nospiežot ciparu 4, portā tiks izvadīts cipars 6 vai jebkurš cits simbols. To var noteikt empīriski, un rakstzīmes var sakārtot tā, kā tās atrodas uz tastatūras.

Funkcijā tukša iestatīšana norāda ātrumu seriālais savienojums ar porta monitoru 9600 bodi. Funkcija ir nepieciešama tikai moduļu barošanai. Funkcijā Tukšuma cilpa mēs pierakstām nosacījumu. Mainīgs Char tiek izmantots, lai saglabātu tikai vienu rakstzīmi, piemēram, 1, A vai 5, atkarībā no tā, kas ir piemērots situācijai. Ja prese ir reģistrēta, simbols tiek izvadīts porta monitorā, izmantojot funkciju Sērijas druka. Iekavās jānorāda, kurš mainīgais tiek izvadīts uz portu. Ja viss ir izdarīts pareizi, porta monitorā mēs saņemsim simbolu, uz kura tika noklikšķināts. Neaizmirstiet iestatīt datu pārraides ātrumu porta monitorā apakšējā labajā stūrī uz tādu pašu kā skicē.

Shēma ar displeju un matricas tastatūru

Parādīsim datus.

Es izmantoju displeju, kas ir savienots ar I2C moduli, kas atvieglo vadu pievienošanu. Lai strādātu ar displeju ar I2C kopni, jāinstalē cita bibliotēka. Jūs varat to lejupielādēt.

Tālāk jums jānorāda displeja izmērs. Piemērā izmantotajā displejā ir 16 rakstzīmes katrā no 2 rindām, ko es norādu. Funkcijā Nederīga iestatīšana Displejam ir jāpiegādā strāva un jāieslēdz fona apgaismojums. Tas tiek darīts, izmantojot divas funkcijas: LCD.sākt Un lcd.backlight.

#iekļauts // savienojiet mūsu bibliotēku
#iekļauts
LiquidCrystal_I2C lcd(0x27, 16, 2);
const baits ROWS = 4; //rindu skaits uz mūsu tastatūras
const baits COLS = 4; //kolonnu skaits mūsu tastatūrai
char hexaKeys = (
("S","4","7","*"), // šeit mēs ievietojam taustiņu nosaukumus, piemēram, tastatūras lietošanas ērtībai
("O", "5", "8", "0"),
("S", "6", "9", "#"),
("I", "B", "C", "D")
};
baitu rindaPins = (5, 4, 3, 2); //kurām tapām pievienojam līnijas vadību
baits colPins = (9, 8, 7, 6); //kurām tapām pievienojam kolonnas vadību
//inicializējiet klases NewKeypad instanci
Tastatūra pielāgota Tastatūra = Tastatūra(makeKeymap(heksaKeys), rowPins, colPins, ROWS, COLS);
nederīgs iestatījums())(
Serial.begin(9600);
lcd.begin(); // Inicializējiet ekrānu
lcd.backlight();
}
tukšuma cilpa ()
char customKey = customKeypad.getKey();
if (customKey)(
Serial.println(customKey);
lcd.setCursor(1,4); //iestatiet kursoru
lcd.print(customKey);
}
}

Funkcijā Voil Loop jums ir jāieraksta rindiņa pašā nosacījumā lcd.print lai parādītu datus. Un arī vispirms ir jāiestata kursora pozīcija. Iekavās ir 2 cipari: pirmais ir rakstzīmes numurs, bet otrais ir rindas numurs. Jāatceras, ka šis displejs rindas un kolonnas sāk skaitīt nevis no viena, bet no nulles. Tas ir, ir rindas ar 0 un 1, nevis 1 un 2, kā varētu šķist sākumā. Tad mēs ielādēsim kodu dēlī un redzēsim, kas notiks.

Tā kā displejs darbojas, izmantojot I2C saskarni, mēs to savienojam ar analogajām tapām. Mēs savienojam SDA un SCL izejas attiecīgi ar A4 un A5, un atlikušie divi jau ir jauda un zemējums.

Kā redzat, noklikšķinot uz jebkura simbola, mēs redzam tā attēlojumu displejā.

Lai dzēstu līniju, atcerieties kalkulatoru. Kad mums vajadzēja dzēst vērtību, mēs nospiedām atiestatīšanas pogu. Noklikšķināsim uz šīs pogas uz tāfeles, un mēs varam atkārtoti ierakstīt rakstzīmes.

Tastatūras pievienošana Arduino un darbības kontrole

Pēdējā diagramma nodarbībā ir noteiktas darbības veikšana, kad tiek nospiests konkrēts taustiņš. Tas ir savienojuma galvenais mērķis matricas tastatūra uz Arduino. Par šo tēmu būs divi atsevišķi raksti un video, kas aprakstīs sarežģītākas un interesantākas shēmas. Tagad iepazīsimies ar šo moduli un atcerēsimies, kā izveidot kodu, izmantojot to.

Mēģināsim ieslēgt vai izslēgt LED, nospiežot noteiktu taustiņu. Pievienojiet to diagrammai.

LED savienojums

Es izmantošu maizes dēli un rezistoru (vēlams no 150 līdz 220 omi). Es aizvēršu ķēdi ar diviem džemperiem, savienojot tos ar barošanas un zemējuma tapām uz Arduino plates.

Shēma darbosies šādi: nospiežot 1, LED iedegas, nospiežot 2, tas izslēdzas.

Piemērā redzamais LED ir savienots ar 8. tapu uz Arduino plates.

#iekļauts
const baits ROWS = 4; // Četras rindas
const baits COLS = 4; // Trīs kolonnas
char keys = ( // Definējiet taustiņu karti
("1","4","7","*"), // šeit mēs ievietojam taustiņu nosaukumus, piemēram, tastatūrā, lai atvieglotu lietošanu
{"2","5","8","0"},
{"3","6","9","#"},
("A", "B", "C", "D")
};
baitu rowPins = ( 5, 4, 3, 2 ) // Savienojiet tastatūru ROW0, ROW1, ROW2 un ROW3 ar šīm Arduino tapām.
baits colPins = ( 9, 8, 7, 6); // Savienojiet tastatūru COL0, COL1 un COL2 ar šīm Arduino tapām.
Tastatūra kpd = Tastatūra(makeKeymap(keys), rowPins, colPins, ROWS, COLS // Izveidojiet tastatūru).
#define ledpin 8
nederīgs iestatījums ()
{
pinMode(ledpin,OUTPUT);
Serial.begin(9600);
}
tukšuma cilpa ()
{
char taustiņš = kpd.getKey();
if(key) // Pārbaudiet, vai ir derīga atslēga.
{
slēdzis (atslēga)
{
gadījums "1":
digitalWrite(ledpin, HIGH);
pārtraukums;
gadījums "2":
digitalWrite(ledpin, LOW);
pārtraukums;
}
}
}

Apskatīsim skici.

Ņemsim pirmo nodarbības skici un vienkārši papildināsim to. Sākumā ar noderīgu funkciju Definējiet piešķiriet nosaukumu gaismas diodei, kas savienota ar 8. tapu ledpin. Funkcijā Nederīga iestatīšana norādiet signālu no LED kā izvadi.

Ja nebūtu bibliotēkas Tastatūra tastatūrai tas pats būtu jāraksta 8 tapām, ar kurām ir savienota tastatūra. Funkcijā tukša cilpa stāvokli. Noteikta taustiņa nospiešana tiek “pielīdzināta” mainīgā vērtībai taustiņu. Switch paziņojums salīdzina mainīgā vērtības taustiņu un “dod” noteiktas komandas atkarībā no šīs vērtības. Tas sastāv no diviem palīgoperatoriem Lieta Un Pārtraukt. Vienkārši sakot, ja tiek atrasta mainīgā vērtība, kas vienāda ar 1, darbība tiks veikta. Operators pārtraukums kalpo kā izejas komanda no paziņojuma Lieta.

Attiecīgi, nospiežot 1, gaismas diodei tiks piegādāts maksimālais spriegums un tas iedegsies. Nospiežot 2, tas neiedegas. Tas ir norādīts funkcijā Digitālā rakstīšana, kur iekavās dots mainīgā nosaukums un “norāde” uz to. Tādējādi varat rakstīt īpašas komandas katrai pogai un vadīt lielu skaitu gaismas diožu vai izveidot komandu, lai vienlaikus ieslēgtu visas gaismas diodes.

Šīs galvenās bibliotēkas ļauj Arduino dēļi Leonardo, Micro vai Due, kad tie ir savienoti ar datoru, tiek noteikti kā parasta pele un/vai tastatūra.

Piesardzības pasākumi, izmantojot peles un tastatūras bibliotēkas: Ja Mouse vai Keyborad bibliotēkas darbojas nepārtraukti, ierīces programmēšanas laikā var rasties grūtības. Tādas funkcijas kā Mouse.move() vai Keyboard.print() var pārvietot kursoru un signalizēt taustiņu nospiešanu uz pievienoto datoru, tāpēc tās vajadzētu izsaukt tikai tad, kad esat gatavs kontrolēt to darbību. Ieteicams izmantot kādu vadības sistēmu, kas ļauj izslēgt šādu funkcionalitāti, piemēram, atkarībā no slēdža stāvokļa vai signāla uz tapas, kuras stāvokli varat kontrolēt.

Pirms peles vai tastatūras bibliotēkas funkciju izmantošanas tieši ar datoru, vislabāk ir pārbaudīt to atgriešanas vērtības, izmantojot funkciju Serial.print(). Tādā veidā jūs varat pārbaudīt, vai nosūtītās vērtības ir pareizas. Lai iegūtu plašāku informāciju, skatiet tālāk redzamos piemērus darbam ar peles un tastatūras bibliotēkām.

Pele (peles bibliotēka)

Peles funkcijas ļauj Leonardo, Micro vai Due kontrolēt kursora kustību pievienotajā datorā. Kursora pozīcija vienmēr tiek atjaunināta attiecībā pret tā iepriekšējo pozīciju.

Tastatūra (tastatūras bibliotēka)

Tastatūras funkcijas ļauj Leonardo, Micro vai Due nosūtīt taustiņu nospiešanas signālus uz pievienoto datoru.

Piezīme: Tastatūras bibliotēka neļauj nosūtīt visas ASCII rakstzīmes, un jo īpaši tā neļauj sūtīt nedrukājamas rakstzīmes. Bibliotēka atbalsta arī modifikācijas taustiņu izmantošanu, kas, nospiežot vienlaikus ar citu taustiņu, maina tā darbību. Papildus informācija

par atbalstītajām atslēgām un to lietošanu.

  • Piemēri
  • KeybaordAndMouseControl: peles un tastatūras komandu demonstrēšana vienā programmā.

KeyboardMessage: nosūtiet teksta virkni, kad tiek nospiesta poga.

Šīs galvenās bibliotēkas ļauj pievienotajam datoram 32 u4 platēm vai Due un Zero platei parādīties kā vietējai pelei un/vai tastatūrai. Piesardzības vārds par peles un tastatūras bibliotēku izmantošanu

: ja peles vai tastatūras bibliotēka pastāvīgi darbojas, jūsu dēli būs grūti ieprogrammēt. Tādas funkcijas kā Mouse.move() un Keyboard.print() pārvietos kursoru vai nosūtīs taustiņsitienus uz pievienoto datoru, un tās jāizsauc tikai tad, kad esat gatavs ar tām rīkoties. Lai ieslēgtu šo funkcionalitāti, ieteicams izmantot vadības sistēmu, piemēram, fizisku slēdzi vai reaģēt tikai uz konkrētu ievadi, kuru varat kontrolēt.

Izmantojot peles vai tastatūras bibliotēku, iespējams, vislabāk ir vispirms pārbaudīt izvadi, izmantojot Serial.print(). Tādā veidā jūs varat būt pārliecināts, ka zināt, par kādām vērtībām tiek ziņots. Skatiet peles un tastatūras piemērus, lai uzzinātu, kā ar to rīkoties.

Pele

Peles funkcijas iespējo Leonardo, Micro vai Due, lai kontrolētu kursora kustību pievienotajā datorā. Atjauninot kursora pozīciju, tā vienmēr ir attiecībā pret kursora iepriekšējo atrašanās vietu.

Tastatūra

Tastatūras funkcijas ļauj Leonardo, Micro vai Due nosūtīt taustiņsitienus uz pievienoto datoru. Piezīme. Ne visas iespējamās ASCII rakstzīmes, īpaši tās, kas nedrukā, var nosūtīt, izmantojot tastatūras bibliotēku

. Bibliotēka atbalsta modifikācijas taustiņu izmantošanu. Modifikatoru taustiņi maina cita taustiņa darbību, ja tie tiek nospiesti vienlaikus. lai iegūtu papildinformāciju par atbalstītajām atslēgām un to lietošanu.

  • Piemēri
  • : parāda peles un tastatūras komandas vienā programmā.
  • : iziet pašreizējo lietotāju ar taustiņu komandām
  • : nolasa baitu no seriālā porta un nosūta atpakaļ taustiņu.

Līdz šim esam strādājuši tikai ar Arduino UNO. Jā, bet tas, ko es parādīšu šodien, nedarbojas ar Arduino UNO. Patiesībā tas, protams, ir iespējams, taču šajā gadījumā jums ir nepieciešams kaut ko piemānīt, un tas nav tik vienkārši. Ko tad darīt? Lūk, kas.

Papildus Arduino UNO ir arī daudzas citas Arduino versijas. Tas ietver Arduino Nano vai Mini, kad izmēram ir nozīme, un Arduino Mega, kad UNO vairs nav pietiekami daudz tapu un resursu un jums joprojām ir jāpievieno kilograms sensoru. Un, ja jums ļoti patīk UNO formas faktors, bet nav pietiekami daudz analogo tapu, tad Leonardo nāks palīgā.

Šodien mēs pievērsīsimies Leonardo. Atšķirība starp Leonardo un UNO ir ne tikai papildu analogajās tapās, bet arī arhitektūrā. Leonardo ir pieejams virtuālais seriālais ports. Ko tas mums dod? Vismaz 1. un 0. tapas, kas ir atbildīgas par savienojumu ar UNO datoru, paliek brīvas, un, atverot seriālo savienojumu, plate netiek atsāknēta. Ņemiet to vērā. Un galvenais trumpis ir tas, ka dators Leonardo uzskata par HID ierīci (Human interface device), kas nozīmē, ka Leonardo var izlikties par tastatūru vai peli. Šis ir īpašums, ko mēs izmantosim.

Fons

Man patīk spēlēt elektrisko ģitāru. Es bieži spēlēju programmā Guitar rig. Šī programma ir virtuāls ģitāras procesors, tas ir, tā apstrādā skaņu no ģitāras. Priekš kam tas viss? Spēlējot, jums ir jāpārslēdzas starp sākotnējiem iestatījumiem, bet rokas ir pilnas. Ir risinājums - šai programmai iegādāties kontrolieri, bet tas vairs netiek ražots, un tas maksā daudz. Kā būtu, ja pats uzbūvētu pedāli? Tas ir tas, kas no tā iznāca.

Mums vajadzēs

Arduino Leonardo vai tā analogi

Galvenais ir tas, ka tāfele ir definēta kā HID ierīce

Poga

Tas ir jūsu gaumes ziņā

Savienojošie vadi

Rāmis

Šeit ir vieta dizaina idejām. Nolēmu pārāk nemocīties un no diviem ar karsto līmi dāsni ieziestiem saplākšņa gabaliem uzbūvēju kaut ko līdzīgu pedālim. Ļaušanās ir tikai pareizi.

Pusi karaļvalsts karstajai līmei.

Viens no HID

Kā jau teicu, Leonardo var izlikties par tastatūru vai peli. Tas tiek darīts, izmantojot iebūvēto bibliotēku. Zemāk ir koda piemērs. Mēģiniet palaist to savā datorā. Drīzumā notiks dīvaina lieta.

// Pievienojiet bibliotēku, lai vadītu tastatūru #include "Keyboard.h" void setup() ( // Start Keyboard.begin(); delay(3000); // Atlasiet visu dokumentu Keyboard.press(KEY_LEFT_CTRL); Keyboard. press(" a"; Keyboard.releaseAll( // Izdzēst tekstu Keyboard.write(500) tastatūras vadīšana") ; delay(1000); // Atlasiet visu dokumentu Keyboard.press(KEY_LEFT_CTRL); Keyboard.press("a"); Keyboard.releaseAll(); // Uzrakstiet ziņojumu Keyboard.println("Ardievu !" ); delay(1000); // Atlasiet visu dokumentu Keyboard.press(KEY_LEFT_CTRL); delay(500); // Dzēst tekstu Keyboard.write(KEY_BACKSPACE); delay(500); Keyboard.releaseAll(); // Saglabāt dokumentu Keyboard.press(KEY_LEFT_CTRL) // Lai atvilktu visu ctrl + z vairākas reizes ) void loop() ( )

Nesteidzieties skriet un runāt par mašīnu sacelšanos. Tā tas bija paredzēts. Tagad izdomāsim, kā tas darbojas.

Tastatūra.nospiediet(poga) – šī komanda liek Leonardo nospiest taustiņu uz tastatūras. Arguments aizņem burtu vai īpašu atslēgas apzīmējumu. Piemēram, KEY_LEFT_CTRL ir kreisais Ctrl. Visus apzīmējumus var apskatīties.

Varat nospiest taustiņu kombinācijas. Lai to izdarītu, ierakstiet dažas koda rindiņas ar nepieciešamajiem taustiņiem. Piemēram, lai saglabātu tekstu, ir Ctrl + s kombinācija, Leonardo varēs arī saglabāt tekstu, ja palaižat šādu kodu:

Keyboard.press("s"); Keyboard.press(KEY_LEFT_CTRL);

Tastatūra.releaseAll() – komanda liek Leonardo atlaist atslēgas. Ņemiet vērā, ka iepriekšējā komanda Leonardo tikai liek nospiest taustiņu. Ja nenorādīsit Keyboard.releaseAll(), taustiņš tiks turpināts nospiests. Gluži kā realitātē. Mēģiniet atvērt teksta redaktors un turiet nospiestu taustiņu.

Tastatūra.println("Dažitekstu") – šī komanda ir atbildīga par teksta drukāšanu. Šeit viss ir ļoti skaidrs. Darbojas kā Serial.println.

Ir arī citas funkcijas, taču tās ir visvienkāršākās. Mums to ir pietiekami daudz, lai izgatavotu ģitāras pedāli. Ja kādam interesē, kas vēl ir šajā bibliotēkā vai līdzīgā pelei, tad var atvērt piemērus/USB un palasīt. Pārejam pie pedāļa montāžas.

Shēma

Jūs varat domāt par dizainu, un ierīces shēma ir ārkārtīgi vienkārša. Zemāk ir diagramma uz maizes dēļa.

Kods

// Savienot bibliotēku darbam ar Leonardo kā tastatūru #include "Keyboard.h" // Definēt pogas tapu #define BUTTON_PIN A0 // Izveidot mainīgo rādījumu nolasīšanai no pogas bool button = 0; void setup() ( // Atveriet savienojumu ar COM portu Serial.begin(9600); // Definējiet pogu kā ieeju ar pievilkšanas rezistoru // Kas ir uzvilkšanas rezistors un kāpēc tas ir nepieciešams, var lasiet šeit: // http://site /arduino/arduino185.php pinMode(BUTTON_PIN, INPUT_PULLUP ) void loop() ( // Lasīt rādījumus no pogas pogas = digitalRead(BUTTON_PIN); // Atcerieties, ka atbrīvotā stāvoklī pogas vērtība ir 1 if(!button) ( // Nosūtīt atslēgu uz Serial. Es nolēmu nosūtīt n // Dažiem taustiņiem ir īpaši simboli. // Piemēram, lai nosūtītu kreiso taustiņu Shift, jūs uzrakstiet šādu komandu - Keyboard.press(KEY_LEFT_SHIFT // Šeit ir norādīti citu taustiņu kodi // https://www.arduino.cc/en/Reference/KeyboardModifiers Keyboard.press("n"); Pagaidiet nelielu aizkavi(10) else ( // Kad poga ir atlaista, nosūtiet komandu, lai apturētu visu nospiešanu Keyboard.releaseAll();

Video

Video redzama ierīces pārbaude Microsoft Word un izmantojot to kā pedāli, lai pārslēgtu ģitāras Rig 5 sākotnējos iestatījumus. Lai to izdarītu, es izveidoju jaunu kontrolieri, iegaumēju taustiņu un iestatīju darbību.

Apakšējā līnija

Izrādās, ka ir arī citi Arduino, kas ir ne mazāk noderīgi un dažos gadījumos pat noderīgāki par UNO.

Izmantojot Leonardo kā tastatūru vai peli, jūs varat izveidot interesantas lietas. Piemēram, zibatmiņas disks 1. aprīlim, kas spiedīs taustiņus noteiktos intervālos. Šis sīkums sniegs jūsu mērķim daudz neaizmirstamu emociju. Tikai pšš, es to neteicu.

Ļoti bieži vienas un tās pašas koda daļas migrē no programmas uz programmu. Piemēram, kods darbam ar sensoru. Lai šis kods netiktu rakstīts katru reizi, tas tiek ievietots atsevišķi faili- bibliotēkas. Milzīgu daudzumu gatava koda jau ir uzrakstījuši citi cilvēki, un ar bibliotēku palīdzību jūs varat to viegli izmantot savās programmās.

Bibliotēku savienošana

Arduino IDE iekļautās bibliotēkas

Ir iekļautas daudzas bibliotēkas Arduino IDE. Kodam varat pievienot bibliotēku no izvēlnes Skice Notiek bibliotēku importēšana... Bibliotēkas nosaukums :

Pēc vienuma “Servo” atlasīšanas Arduino IDE kodā ievietos nepieciešamās rindas:

#iekļauts anulēt iestatīšanu() ( // instalācijas kods, izpildīts vienreiz) Void loop() ( // galvenais kods, kas tiek izpildīts cikliski pēc instalācijas koda }

Protams, ja zināt vajadzīgās bibliotēkas nosaukumu, skices pašā augšā varat vienkārši ierakstīt #include - rezultāts būs tāds pats.

Lai redzētu piemēru darbam ar bibliotēku, kas iekļauta Arduino IDE, jums ir jāizvēlas no izvēlnes Failu paraugi Bibliotēkas nosaukums Piemēra nosaukums

Trešo pušu bibliotēkas

Arduino bibliotēku patiešām ir daudz. Un tikai neliela daļa no tiem ir iekļauta Arduino IDE. Daudzas bibliotēkas var atrast vietnē GitHub.

Mēģināsim savam projektam pievienot bibliotēku darbam ar četrciparu indikatoru. Saite uz bibliotēku darbam ar to ir produkta apraksta lapā. Pārejot uz bibliotēkas lapu, jūs varat redzēt daudzus bibliotēkas failus un piemērus darbam ar to. Bet pagaidām mūs interesēs tikai poga Lejupielādēt ZIP :
Pēc noklikšķināšanas uz tā sāksies zip arhīva lejupielāde ar visiem bibliotēkas failiem. Šajā gadījumā tas būs QuadDisplay-master.zip fails. Bibliotēkas nosaukums var sastāvēt tikai no latīņu burtiem un cipariem, un nosaukums nevar sākties ar ciparu, tāpēc nekavējoties pārdēvēsim savu arhīvu. Tagad tā nosaukums būs QuadDisplay.zip.

Pēc arhīva lejupielādes jums jādodas uz Arduino IDE un jāimportē bibliotēka savā darba mapē Sketchbook/libraries, kurā jāietver visas trešo pušu bibliotēkas. To var izdarīt tieši no Arduino IDE izvēlnē Skice Notiek bibliotēku importēšana... Pievienot bibliotēku...:
Tiks atvērts dialoglodziņš, kurā jāizvēlas mūsu arhīvs QuadDisplay.zip un jānoklikšķina uz pogas Atvērt. Gatavs. Tagad kodam var pievienot bibliotēkas. Piemēri darbam ar bibliotēku ir pieejami izvēlnē Skicebook bibliotēku fails Bibliotēkas nosaukums Piemēra nosaukums

Arduino 1.6.7 un jaunākās versijās: Failu piemēri Bibliotēkas nosaukums Piemēra nosaukums

Bibliotēkas izveide

Parasti, veidojot bibliotēku, tiek izveidoti divi faili: galvenes fails un fails ar bibliotēkas kodu. Mēģināsim uzrakstīt bibliotēku, kas ļautu mums aprēķināt apļa laukumu. Izveidosim mapi direktorijā %Sketchbook%\Arduino\libraries ar mūsu bibliotēkas nosaukumu (nosaukums var sastāvēt tikai no latīņu burtiem un cipariem, un tas nevar sākties ar cipariem). Sauksim savu bibliotēku apliApgabals. Dosimies uz mapi, kuru izveidojām %Sketchbook%\Arduino\libraries\circleArea, un izveidosim divus failus:

    circleArea.h — galvenes fails

    circleArea.cpp — fails ar bibliotēkas kodu.

CircleArea.h kods būs šāds:

aplisArea.h #iekļauts #define PI 3.14 // divas zīmes aiz komata - pietiekama precizitāte. //Deklarējiet mūsu bibliotēkas funkciju, kurai viss tika sākts pludiņa aplisPlaukums(pludiņa rādiuss) ;

CircleArea.cpp kods būs šāds:

circleArea.cpp #iekļauts // noderīgi, mēs izmantosim ciparu veidus #iekļauts // mēs ņemsim funkciju pow() no šejienes #iekļauts // galvenes failā ir PI un funkcijas deklarācija //Ieviešam savu bibliotēkas funkciju, kurai viss tika uzsākts pludiņa aplisArea (peldēšanas rādiuss) ( atgriešanās PI* pow (rādiuss, 2 ) ;)

Bibliotēkas izmantošana skicē būtu šāda:

circleArea.ino #iekļaut anulēt iestatīšanu() ( // ievietojiet šeit savu iestatīšanas kodu, lai palaistu vienu reizi: Serial.begin(9600); ) Void loop() (// ievietojiet šeit savu galveno kodu, lai to palaistu atkārtoti:< 5 ; ++ i ) { Serial.print ("circle area with radius " ) ; Serial.print (i) ; Serial.print (" = " ) ; Serial.println (circleArea(i) ) ; } }