Opprett et objektsporingssystem: Bruke innebygde Arduino-biblioteker

Opprett et nytt bildegalleri Wordpress.com (Juni 2019).

$config[ads_text] not found
Anonim

Opprett et objektsporingssystem: Bruke innebygde Arduino-biblioteker


Slik bruker du de innfødte Arduino-bibliotekene, hvordan du oppretter et tilpasset bibliotek, og genererer rammen som skal brukes i løpet av denne prosjektserien.

Innholdsfortegnelse:

  1. Bruke innfødte biblioteker
  2. Skriv et tilpasset bibliotek
  3. Ramme for prosjektserie

Bruke innfødte biblioteker

Standard Arduino IDE leveres med en rekke eksempelskisser og biblioteker. Bruke innfødte biblioteker gir brukeren tilgang til forhåndsbakede funksjoner og metoder som er utformet for å forenkle grensesnittet med mer komplekse eksterne enheter som Ethernet-kommunikasjon, musfunksjonalitet, SPI-kommunikasjon etc. For å implementere et gitt bibliotek, er alt som kreves # inkludere preprosessor-direktiv etterfulgt av filnavnet på biblioteket du ønsker å bruke. Her er et eksempel:

 #include "ExampleLibraryName.h" // preprocessor directive void Setup() { pinMode(13, OUTPUT); // Set Pin 13 as Output } void loop() { digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level) delay(100); // wait for a second digitalWrite(13, LOW); // turn the LED off by making the voltage LOW delay(100); } 

Kodestykket ovenfor viser bare syntaksen som kreves for å implementere et bibliotek med navnet "ExampleLibraryName.h" og kaller faktisk ingen metoder eller funksjoner fra det fiktive biblioteket.

Et bibliotek består av 2 deler: en headerfil og en kildefil. Overskriftsfilen (betegnet av * .h-utvidelsen) er en hovedsakelig en liste over alle funksjoner og metoder som er definert i kildefilen. En headerfil kan referere til andre biblioteker ved å inkludere preprocessor-direktiver som i kodestykket ovenfor. Kildefilen er hvor metodene eller funksjonene faktisk er kodet. Kilden og topptekstfilene kan skrives i C eller C ++ da Arduino sketch compiler (avr-gcc) fungerer med C og C ++-språkene. For en opplæring om å skrive et C ++-bibliotek kan du se The Arduino Guide. Neste avsnitt vil dekke skrive et bibliotek ved hjelp av den forenklede Arduino-syntaksen.

Skrive et egendefinert bibliotek

Følgende eksempel er litt som å svømme en flue med en murstein: metodikken langt overgår behovet, men for enkle eksempler blir det jobben gjort. Jeg vil skrive en skisse for å blinke en LED: Slå på for X-tid og deretter av for Y-tiden. Følgende kode vil gjøre dette:

 void setup() // initialize function { pinMode(13, OUTPUT); // define pin 13 as an output. } void loop() // main loop { digitalWrite(13, HIGH); // turn the LED ON delay(100); // wait for 100ms digitalWrite(13, LOW); // turn the LED OFF delay(100); // wait for 100ms } 

Det anses å være god praksis å ikke utføre kode i hovedløkken direkte. For å endre den forrige kodebiten for å overholde denne konvensjonen må du åpne en andre fane. Se på forskjellene mellom kodestykket nedenfor og sammenlign dem med en over. Som du vil legge merke til, er den kjørbare koden i den andre koden og den filen er referert i preprosessor-direktivet øverst i hovedfilen.

 /************* Main File *************/ #include "BlinkLibraryTest.C" // PREPROCESSOR DIRECTIVE void setup() { pinMode(13, OUTPUT); // initialize digital pin 13 as an output. } void loop() // main loop { BlinkPattern(); // function being called } 

 /************* Source File *************/ #include "Arduino.h" // PREPROCESSOR DIRECTIVE referencing Arduino library for sketch syntax void BlinkPattern() // function being called in main file { digitalWrite(13, HIGH); // turn the LED ON delay(100); // wait for 100ms digitalWrite(13, LOW); // turn the LED OFF delay(100); // wait for 100ms } 

For større programmer kan en headerfil brukes til å opprette et samlet punkt for kildefiler og andre preprocessor-direktiver. Bildet under viser et rudimentært flytdiagram over samspillet mellom en headerfil, kildefiler og en hovedfil.