Arduinos Biblioteker

Fra Kommunikation-IT Holstebro HTX
Skift til: navigering, søgning

Denne beskrivelse er lavet ud fra Arduinos beskrivelse af biblioteker[1] på deres egen side.

Standard biblioteker

Det er en fordel IKKE at pille ved standard bibliotekerne.

Som standard ligger der en del biblioteker installeret sammen med Arduinos PC program som standard indstillinger.

Biblioteks-strukturen for Arduino

Tilføjelse af biblioteker

Man kan tilføje biblioteker (testet i version 1.6.4) ved at gå ind i "Sketch - Include Library - Manage Libraries...", hvor man kan finde en del biblioteker, som downloades fra nettet, eller hvis man har en zip-fil med et bibliotek, så kan man gå ind i "Sketch - Include Library - Add .ZIP Library..." - i begge tilfælde placeres biblioteket inde i den korrekte struktur og kan anvendes direkte.

Hvert bibliotek ligger i sin egen mappe, og navnet på biblioteket skal være det samme som den mappe det ligger inde i, og den mappestruktur der er inde i biblioteket angiver.

Som det er angivet på figuren her til højre, så ligger de biblioteker man selv ønsker at tilføje inde i Dokumenter\Arduino\libraries\, hvor der i dette eksempel kun er tilføjet et Keypad bibliotek.

Et bibliotek vil normalt være skrevet i C eller C++ og vil kunne lette tilgangen til et stykke hardware som et display eller et tastatur.

Anvendelse af biblioteker

Det letteste måde at anvende et bibliotek på er at man i IDE'et går ind i "Sketch" - "Library" og vælger det bibliotek man ønsker at tilføje. Dette vil give en linje som vist her:

#include <Keypad.h>

Til mange biblioteker er det ikke altid nok for at forstå hvordan man anvender bibilioteket, her vil de fleste biblioteker komme med et eller flere eksempler.

Har man lagt biblioteket rigtigt ind, så vil man kunne finde eksemplerne inde under "Fil" - "Eksempler" - "det relevante bibliotek".

Uautorisert måde at lægge biblioteker ind på

Hvis man har administratorrettigheder, så kan man tilføje biblioteker inde sammen med standard bibliotekerne. Denne metode anbefales ikke.

Steder at finde biblioteker

Der er mange biblioteker [2] på Arduinos hjemmeside.

Et andet sted hvor der ligger rigtigt meget er på githum.com[3]. Det kan være svært at navigere i stedet for at finde frem til relevante biblioteker, men man kan tit google sig frem ktil gode resultater ved at tilføje "github arduino library" til sin søgning efter noget hardware man ikke har kunnet finde på Arduinos side

At skrive sine biblioteker selv

Man kan også selv skrive og udvikle biblioteker[4], og hvis man syntes man har skrevet et godt bibliotek kan man også poste det f.x. i Arduinos forum[5] så andre får glæde af arbejdet.

Hvis man ønsker at skrive et bibliotek, så er det en god ide at kende strukturen i hvordan man skriver et bibliotek, da man skal skrive C++ kode, og man skal regne syntaksen i class-definitionen ud, som i sin grundlæggende struktur bliver beskrevet på Arduinos side[4]. Eksemplet her er dog meget simpelt, så hvis man vil ud i noget der er mere avanceret, så er det en god ide at kigge i andre lidt større eksempler, gerne fra Arduinos egen hjemmeside.

Som vist herunder, så indeholder et bibliotek flere elementer, og det kan gøres mere eller mindre avanceret. Her vises et eksempel på Keypad-biblioteket:
Oversigt over Keypad biblioteket
Oversigt over Keypad biblioteket

Der er en del ting der er værd at bemærke:

  • keypad mappen ligger i mappen libraries
  • De to filer keypad.cpp (C++ filen) og keypad.h (include-filen) skal hedde det samme som mappen
  • keywords.txt indeholder de ord der skal syntaksfarves når man anvender biblioteket
  • mappen examples indeholder som man kan se 7 forskellige eksempler på hvordan keypad kan bruges
  • i dette eksempel er der mappen utility, som indeholder en class-fil der anvendes inde i keypad

Ens eget bibliotek behøves ikke være så omfattende, men som minimum et eksempel der viser bruget af biblioteket, og som er skrevet så man kan se strukturen i hvordan man anvender biblioteket.

Referencer

  1. Beskrivelse af hvordan man arbejder generelt med biblioteker
  2. http://playground.arduino.cc/Main/LibraryList Liste over de forskellige biblioteker man kan hente fra Arduinos hjemmeside
  3. site til samarbejde omkring software
  4. 4,0 4,1 http://playground.arduino.cc/Code/Library Beskrivelse af hvordan biblioteker skal skrives
  5. Arduinos forum